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.