Nao in the cloud

20
04.06.2013 NAO TECH DAY @ ALDEBARAN ROBOTICS NAO IN THE CLOUD FLORIAN JOHANNßEN [email protected] 1

description

Many teams in the world are working on the topic Cloud Robotics. This talk introduce you how to connect the Nao robot with the cloud to share knowledge about objects, plans and environments with other robots. With this approach it is possible, that heterogeneous robots can exchange executable robot apps among eachother. The RoboEarth webservice will be used to store robotic-specific information. Robots are able to share knowledge via RoboEarth. So Robots are not longer on their own - they can benefit from the experience other robots.

Transcript of Nao in the cloud

Page 1: Nao in the cloud

04.06.2013 NAO TECH DAY @ ALDEBARAN ROBOTICS

NAO IN THE CLOUD

FLORIAN JOHANNßEN

[email protected]

1

Page 2: Nao in the cloud

Outline

Motivation

Cloud Robotics

Related Work

Current Research

Conclusion

Motivation Cloud Robotics Related Work Current Research Conclusion

2

Page 3: Nao in the cloud

Motivation

Humans learn from each other via the Internet

Robots are limited by

Costs

Hardware resources

Local knowledge

Why don‘t robots use the Internet as well?

Robots are WIFI-enabled

Robots have high-level interfaces

3

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 4: Nao in the cloud

Cloud Robotics = Cloud Computing + Robotics

Knowledge sharing

Object descriptions

Plans

Environments

Outsourcing

Speech & object recognition

Reasoning

Cloud Robotics 4

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 5: Nao in the cloud

Origin of cloud-enabled robots 5

The idea was originated by the University of Tokyo

Remote-brained robots by Masayuki Inaba (1993) [1]

Mechanical animals using the remote-brained approach

(1994) [2]

A remote-brained full-body humanoid… (1997) [3]

A Platform for Robotics Research Based on the Remote-

Brained Robot Approach (2000) [4]

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 6: Nao in the cloud

Advantages and Opportunities 6

Improvement of the learning mechanism

Robots benefit from the experiences of others

Robots are able to share executable plans

Handling of tasks in unknown environments

Robots are able to perform more generic challenges

Offload compute-intensive tasks

Massively-parallel computation on demand

Building of lighter, cheaper and smarter robots

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 7: Nao in the cloud

Knowledge sharing for robots 7

RoboEarth Knowledge Database by [5]

Eindhoven University of Technology

Philips Innovation Services

University of Stuttgart

Swiss Federal Institute of Technology Zurich

University of Zaragoza

Technical University Munich

RobotShare by [6]

University of Utah

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 8: Nao in the cloud

Outsourcing heavy tasks

Rapyuta: The RoboEarth cloud engine by [7]

The RoboEarth team

DaVinCi by [8]

Agency for Science, Technology and Research Singapore

Cloud-Based robot grasping with the Google object

recognition engine by Google [9]

Smartphone Robot Romo by Romotive [10]

8

Motivation Cloud Robotics Related Work Current Research Conclusion

99 $

Page 9: Nao in the cloud

Current Research 9

Sharing executable plans among several Nao robots

[12]

[11]

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 10: Nao in the cloud

10

[13]

RoboEarth Motivation Cloud Robotics Related Work Current Research Conclusion

Page 11: Nao in the cloud

Architecture

11

Ubuntu

ROS

KnowRob

CRAM-Core RoboEarth

Nao

Wrapper

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 12: Nao in the cloud

Abstract Plan

12

[14]

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 13: Nao in the cloud

KnowRob - Request 13

re_download_action_recipe(‘serve a drink’, robot: ‘MyRobot’, Recipe),

re_generate_cpl_plan(Recipe, CplPlan).

( d e f - t o p - l e v e l - p l a n s e r v e - a - d r i n k ( ) ( wi t h - d e s i g n a t o r s ( ( b o t t l e 1 ( o b j e c t ‘ ( ( name b o t t l e 1 ) ( type d r i n k i n g - b o t t l e ) ) ) ) ( bed1 ( o b j e c t ‘ ( ( name bed1 ) ( type b e d p i e c e - o f - f u r n i t u r e ) ) ) ) ...

[15]

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 14: Nao in the cloud

Architecture 14

[13]

[12]

Ubuntu

ROS

KnowRob

CRAM -Core RoboEarth

Nao

Wapper

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 15: Nao in the cloud

Development of an interface between Nao and

RoboEarth via the ROS-middleware

Interface 15

[16]

[13]

[15]

(def-top-level-plan grasp-bottle () (with-designators

((fridge (object '((type fridge))))

(bottle-loc (location `((inside ,fridge))))

(bottle (object `((type bottle) (at ,bottle-loc)))))

(setf fridge (perceive-object fridge))

(achieve `(object-in-hand ,bottle :right))))

...

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 16: Nao in the cloud

Scenario 16

Solving a task which the Nao hasn´t performed before

Scanning the RoboEarth Database for the task

Translating an abstract plan to a CRAM plan

Nao downloads the executable plan via KnowRob

Solving the task

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 17: Nao in the cloud

Technical challenges 17

How to connect Nao with the cloud?

Is it possible that heterogeneous robots are able to share executable plans?

Different capabilities

Which kind of abstraction layer?

Latency problems

Without their wireless connection to the cloud, robots become brainless

Security problems

Would you store information about your patients in a cloud for robots ?

What happens if the cloud is hacked?

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 18: Nao in the cloud

Conclusion 18

Cloud Robotics = Cloud Computing + Robotics

Knowledge sharing among heterogeneous robots

Offloading heavy tasks

Many projects are working on this topic

Opportunities

Improvement of the learning mechanism

Robots are able to share executable plans

Massively-parallel computation on demand

Nao in the Cloud

Middleware ROS

CRAM Plan Language

KnowRob

Motivation Cloud Robotics Related Work Current Research Conclusion

Page 19: Nao in the cloud

References

1. Inaba, Masayuki. Remote Brained Robots. Tokio, 1993

2. Inaba M., Kagami, S., Ishikawa, T., Kanehiro, F., Takeda, K., Inoue, H., Vision-based adaptive and interactive behaviors in mechanical animals using the remote-brained approach. Tokyo, 1994

3. Inaba M., Ninomiya, T., Hoshino, Y., Nagasaka, K., Kagami, S., Inoue, H. A remote-brained full-body humanoid with multisensor imaging system of binocular viewer, ears, wrist force and tactile sensor suit, 1997

4. Inaba M., Kagami S., Kanehiro F., Hoshino Y., Inoue H. A Platform for Robotics Research Based on the Remote-Brained Robot Approach

5. Zweigle, Molengraft, Andrea, Häussermann. RoboEarth – connecting Robots worldwide.Eindhoven, 2009

6. Fan, Xiuyi, und Thomas C. Henderson. RobotShare: A Google for Robots. 2007

7. D. Hunziker, M. Gajamohan, M. Waibel, and R. D’Andrea. Rapyuta: The RoboEarth Cloud Engine. 2013

8. Enti, V.R.; Liu Bingbing; Wu Xiaojun; Baskaran, K.; Foong Foo Kong;Kumar, A.S.; Kang Dee Meng; Goh Wai Kit. DAvinCi: A cloud computing framework for service robots. 2010

9. Ben Kehoe, Akihiro Matsukawa, Sal Candido, James Kuffner, and Ken Goldberg.. Cloud-Based Robot Grasping with the Google Object Recognition Engine. 2013

10. http://romotive.com/images/romo-frontal.png

11. http://www.roboearth.org/

12. http://asep-championship.com/wp-content/uploads/2011/11/NAO-4_cutout.png

13. D. Marco, M. Tenorth, K. Häussermann, O. Zweigle, P. Levi. RoboEarth Action Recipe Execution. 2011

14. M. Tenorth, A. Perzylo, R. Lafrenz and M. Beetz. The RoboEarth language: Representing and Exchanging Knowledge about Actions, Objects, and Environments, 2012

15. M. Beetz, L. Mösenlechner, M. Tenort. CRAM -- A Cognitive Robot Abstract Machine for Everyday Manipulation in Human Environments

16. http://ros.org/doc/groovy/api/nao_driver/html/classnao__driver_1_1nao__driver__naoqi_1_1NaoNode.html

19

Page 20: Nao in the cloud

THANK YOU FOR

YOUR ATTENTION I´LL BE HAPPY TO ANSWER

ANY QUESTIONS!