Wednesday, April 15, 2015

Rapyuta: The RoboEarth Cloud Engine

Motivation:

Robots begin to move from factories into household environment. However the key bottleneck for household robots is the computing power. This paper introduces an open source PaaS framework, Rapyuta that is designed superficially for robotic applications, which employ the cloud to solve such challenge.

Key points:
·                     One obvious solution to the computing power limit of household robotic is to employ cloud computing. However, existing platform either is not designed for robotic applications (Google App Engine), or does not take full advantage of cloud computing (DAvinCi). Rapyuta solves many reaming challenges of cloud robotics and provides advanced features such as elastic computing and peer collaborating. .
·                     The architecture of the system consists of four components, user that is the interface for users, LoadBalancer which is for allocating containers for each machine, Distributer that distribute the incoming connections for the robots and Network which provides the whole platform.
·                     The Network essentially has two major components, a Master Task Set, which is the main controller task that monitor and maintains command data structure connecting several Endpoints. Endpoints use RPC protocol to communicate with the master task set and provides interface for connections to robots and other external environment. Ends points can as well communicates with each other via Ports.
·                      The communication is divided into two categories, internal communication protocol that handles communications within the system that is down by RPC and UNIX socket, and external communication protocol which is between robot and Rapyuta via JSON messages.

Tradeoffs:

  • The EndPoint design is suitable for household users with multiply sets of robots, and is highly scalable.
  • The computing environment especially the re_comm_core is visionary.
  • The offloading of all computation to the cloud may fail due to network or server failure.
  • Despite of the API key for users, there is no more security guarantee for the platform.
  • The performance testing only consider the network latency; other crucial factors such as computation latency is not discussed in the paper.

Thoughts:


  • In the introduction mention the architecture would enable robots to benefit from the experience of other robots, however detailed implementation is not clarified in the paper.
  • The paper specifically mention it uses JSON string to handle big binary messages, however the author does not talk about reason why he chooses JSON over native java serializable.
  • Load balancing, and offloading choice are not discussed in the paper. 

1 comment:

  1. Very good analysis. I was hoping to see more discussion about point #1 as well.

    ReplyDelete