So what is Cloud Robotics ?
"Cloud Robotics" - As a new approach to robotics that takes advantage of the Internet as a resource for massively parallel computation and sharing of vast data resources.
- James Kuffner , Google IO 2010
Cloud Robotics recognizes the wide availability of networking, incorporates elements of open-source, open-access, and crowdsourcing to greatly extend earlier concepts of "Online Robots" and "Networked Robots".
Steve Cousins of Willow Garage aptly summarized the idea: "No robot is an island."
What if robots and automation systems were not limited by onboard computation, memory, or programming?
RoboEarth is a World Wide Web for Robots
- A giant network and database
- Repository where robots can share information and learn
- Autonomous learning
Putting together the puzzle
Language
How to represent?
What to share?
KnowRob Ontology:
OWL-based semantic representation
How to Execute?
Object Models
Environment Maps
Action Recipes
CRAM: Cognitive Robotics
abstract machine
Neo: [aiming at an helicopter] Can you fly that thing?
Trinity: Not yet. [picks the phone, calls Tank]
Trinity: Tank, I need a pilot program for a B-212 helicopter.
[Tank loads the program in Trinity's brain]
Trinity: [to Neo] Let's go.
How to Reason?
KnowRob: Knowledge
Processing Framework
Storage
Computation
The RoboEarth Cloud Engine - Rapyuta
- Distributed
- Hadoop- HBase
- Sesame Server
- OWL Repos
- Web Interface
- Humans
- Robos
How do i Do this ?
I need to process this task
Me too
What's in it for YOU ?
Why RoboEarth ?
Usage
The Challenge
Single or Multiple Machines
Turtlebot: Internet Edition
- One master node + ROSCore
- Multiple Robot Nodes
- Multiple Boxes for Computing Environmens
- Config file & rce-ros client
- Custom VPN Style Hybrid Networking
- Map Reduce
- Collaboration
- Public Cloud Style CLI
(Our Little Wall-E)
ASUS USB-N53 (35$)
ASUS XTion PRO (~200 $)
Odroid U2 (90$)
connectivity ~ 90 MBPS
Task: ETH Zurich office, Amazon Ireland server, map it in real time!
Put Today to Use
Join our mailing list : groups.google.com/d/forum/rapyuta
WiKi : www.rapyuta.org
- Open source - Github
- Easy setup
- Your Infrastructure, Public Clouds
- Public AMI, Multiple Configurations
Wiki and Community
- rapyuta.org/Install
- rapyuta.org/EC2_Public_AMI
Fork Us : github.com/IDSCETHZurich/rce
Contribue back to the Open Source Community - hackreward.com
DevZone
Building Blocks
- Almost Entirely In Python
- Perspective Broker Views, Groups, Auth, Control Instructions
- Twisted RPC for data intensive tasks
- Custom Code for LXC Automation (At some point we would move to standard wrappers / Docker)
- C/C++ bindings
- JavaScript
Communication
Diving In
External
- Web Sockets
- Asynchronous / Mobile networks
- DataRate
Internal
Twisted
- Administrative Perspective Broker
- Data Intensive - Twisted RPC (Master NOT Involved)
The Apponomy
- Standard ROS (Fuerte, Groovy)
- You could code in C/C++,Python , Java, Perl , Whatever YOU Love
- Minimal to No Changes to your code , It just works
- Add a simple JSON config file describing the layout, user groups, connects and interfaces , think of join-the-dots
Master
Think of the Puppet Master or Conductor at the Opera
- balance load
- manage users and groups
- control other components
- only one master
Computing Environment
- add remove nodes
- sandboxes and fully controllable, throttle able
- Lightweight
- upstart
- Networking configurations
Environment Process
- One per environment
- Add remove nodes
- add remove interfaces
So what really is Going on ?
Robot Process
- Manages connections to robots
- Multiple per node
- Basic Computation
Container Process
- Create destroy computing environments
- Superuser privilege
- One per computing node
Building Castles in the Sky - Rapyuta
About Me
Dhananjay Sathe
- dhananjaysathe@gmail.com
- twitter: @d_sathe
- github : dhananjaysathe
- facebook : dhananjaysathe
Core developer of the Cloud Engine
Love hacking and developing opensource projects
Love the outdoors
-Dhananjay Sathe