Rapyuta

A Cloud Robotics Platform

User Tools

Site Tools


introduction

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
introduction [2014/06/03 15:53]
gajan
introduction [2014/06/03 17:05] (current)
gajan [Next Steps]
Line 6: Line 6:
 Some of the details such as authentication and message types are skipped here to keep the introduction simple. Please see the [[communication_protocol|Communication Protocol]], [[Developer Resources | Developer Resources]],​ and the Tutorial sections for a more complete explanation. ​ Some of the details such as authentication and message types are skipped here to keep the introduction simple. Please see the [[communication_protocol|Communication Protocol]], [[Developer Resources | Developer Resources]],​ and the Tutorial sections for a more complete explanation. ​
  
-==Computing Environments== +====Computing Environments==== 
-Computing Environments are implemented using [[http://​lxc.sourceforge.net/​|Linux Containers (LXC)]] providing a secure, lightweight virtual machine to execute 3rd party code. In the current setup each container is a full fledged [[http://​www.ros.org/​wiki/​|ROS]] environment with its own [[http://​www.ros.org/​wiki/​Master|ROS master]]. The user, which can be a human or a robot, can launch [http://​www.ros.org/​wiki/​Nodes ROS nodes] and set [[http://​www.ros.org/​wiki/​Parameter%20Server|parameters]].+Computing Environments are implemented using [[http://​lxc.sourceforge.net/​|Linux Containers (LXC)]] providing a secure, lightweight virtual machine to execute 3rd party code. In the current setup each container is a full fledged [[http://​www.ros.org/​wiki/​|ROS]] environment with its own [[http://​www.ros.org/​wiki/​Master|ROS master]]. The user, which can be a human or a robot, can launch ​[[http://​www.ros.org/​wiki/​Nodes|ROS nodes]] and set [[http://​www.ros.org/​wiki/​Parameter%20Server|parameters]].
  
 Our example robot can create a container for itself using the following message (type CC) Our example robot can create a container for itself using the following message (type CC)
Line 23: Line 23:
 </​code>​ </​code>​
  
-[[File:​lxc-roomba.jpg|center|600px|thumb|Computing Environments are implemented using Linux Containers (LXC) providing a secure, lightweight virtual machines. Container Task Sets control the launching and shutting down of the LXCs. Container Task Sets receive their commands from the Master Task Set.]]+{{ :​lxc-roomba.jpg |}} 
 +Computing Environments are implemented using Linux Containers (LXC) providing a secure, lightweight virtual machines. Container Task Sets control the launching and shutting down of the LXCs. Container Task Sets receive their commands from the Master Task Set.
  
-== Environment Endpoint ==+==== Environment Endpoint ​====
 An Environment Endpoint is where the messages enter and leave the Linux Containers. The interface that gets exposed outside of the container has to be explicitly mentioned. An Environment Endpoint is where the messages enter and leave the Linux Containers. The interface that gets exposed outside of the container has to be explicitly mentioned.
  
Line 39: Line 40:
 </​code>​ </​code>​
  
-==Robot Endpoint== +====Robot Endpoint==== 
-A Robot endpoint is where messages to/from the robot enter/leave the Rapyuta. Robots and Robot Endpoint connect with each other using the [http://​en.wikipedia.org/​wiki/​Websocket WebSockets protocol]. Rapyuta'​s WebSockets based protocol allows various tyes of messages: [http://​en.wikipedia.org/​wiki/​JSON JSON] encoded messages (simliar to rosbridge), serialized ROS messages, or binary blobs. For binary blobs a converter has to be registered on the cloud side which converts the binary data into the standard message format used inside Rapyuta. +A Robot endpoint is where messages to/from the robot enter/leave the Rapyuta. Robots and Robot Endpoint connect with each other using the [[http://​en.wikipedia.org/​wiki/​Websocket|WebSockets protocol]]. Rapyuta'​s WebSockets based protocol allows various tyes of messages: ​[[http://​en.wikipedia.org/​wiki/​JSON|JSON]] encoded messages (simliar to rosbridge), serialized ROS messages, or binary blobs. For binary blobs a converter has to be registered on the cloud side which converts the binary data into the standard message format used inside Rapyuta. 
-[[File:​external-roomba.jpg|center|600px|thumb|Robots and Robot Endpoint connect using the WebSockets protocol, allowing for a bi directional,​ full duplex communication.]]+ 
 +{{ :​external-roomba.jpg |}} 
 +Robots and Robot Endpoint connect using the WebSockets protocol, allowing for a bi directional,​ full duplex communication.
  
 Our sample robot has to add an interface on Robot Endpont in order to send its pose messages to the cloud. This is done using the following message (type CN) Our sample robot has to add an interface on Robot Endpont in order to send its pose messages to the cloud. This is done using the following message (type CN)
Line 53: Line 56:
 </​code>​ </​code>​
  
-==Internal Communication==+====Internal Communication====
 All endpoints (Environment & Robot) can communication with each other to realize different topologies. With a Robot Endpoint and Environment Endpoint talking you can connect a Robot to a container, with Environment Endpoints you can connect containers and finally with only Robot endpoints you can connect robots together. ​ All endpoints (Environment & Robot) can communication with each other to realize different topologies. With a Robot Endpoint and Environment Endpoint talking you can connect a Robot to a container, with Environment Endpoints you can connect containers and finally with only Robot endpoints you can connect robots together. ​
  
Line 64: Line 67:
 </​code>​ </​code>​
  
-[[File:​roomba_all.jpg|center|600px|thumb]]+{{ :​roomba_all.jpg |}}
  
-==Next Steps== +====Next Steps==== 
-* If you want to just go ahead and try Rapyuta, visit [[Installation|Installation]] +  * If you want to just go ahead and try Rapyuta, visit [[Install|Install]] 
-* If you want to dive in deeper, visit [[Developer Resources | Developer Resources]].+  * If you want to dive in deeper, visit [[Developer Resources | Developer Resources]].
  
introduction.1401803634.txt.gz · Last modified: 2014/06/03 15:53 by gajan