Author :
Mohanarajah, Gajamohan ; Hunziker, Dominique ; D´Andrea, Raffaello ; Waibel, Markus
Author_Institution :
Inst. of Dynamic Syst. & Control (IDSC), ETH Zurich, Zurich, Switzerland
Abstract :
In this paper, we present the design and implementation of Rapyuta, an open-source cloud robotics platform. Rapyuta helps robots to offload heavy computation by providing secured customizable computing environments in the cloud. The computing environments also allow the robots to easily access the RoboEarth knowledge repository. Furthermore, these computing environments are tightly interconnected, paving the way for deployment of robotic teams. We also describe three typical use cases, some benchmarking and performance results, and two proof-of-concept demonstrations. Note to Practitioners - Rapyuta allows to outsource some or all of a robot´s onboard computational processes to a commercial data center. Its main difference to other, similar frameworks like the Google App Engine is that it is specifically tailored towards multiprocess high-bandwidth robotics applications/middlewares and provides a well-documented open-source implementation that can be modified to cover a large variety of robotic scenarios. Rapyuta supports the outsourcing of almost all of the current 3000+ ROS packages out of the box and is easily extensible to other robotic middleware. A pre-installed Amazon Machine Image (AMI) is provided that allows to launch Rapyuta in any of Amazon´s data center within minutes. Once launched, robots can authenticate themselves to Rapyuta, create one or more secured computational environments in the cloud and launch the desired nodes/processes. The computing environments can also be arbitrarily connected to build parallel computing architectures on the fly. The WebSocket-based communication protocol, which provides synchronous and asynchronous communication mechanisms, allows not only ROS based robots, but also browsers and mobiles phones to connect to the ecosystem. Rapyuta´s computing environments are private, secure, and optimized for data throughput. However, its performance is in large part determined by the latency and quality of the network connection - nd the performance of the data center. Optimizing performance under these constraints is typically highly application-specific. The paper illustrates an example of performance optimization in a collaborative real-time 3-D mapping application. Other target applications include collaborative 3-D mapping, task/grasp planning, object recognition, localization, and teleoperation, among others.
Keywords :
cloud computing; middleware; parallel processing; programming environments; public domain software; robot programming; software packages; AMI; Amazon Machine Image; Amazon data center; Google App Engine; ROS based robots; ROS packages outsourcing; Rapyuta; RoboEarth knowledge repository; WebSocket-based communication protocol; asynchronous communication mechanisms; benchmarking; browsers; collaborative real-time 3D mapping application; commercial data center; data throughput; ecosystem; mobiles phones; multiprocess high-bandwidth robotics; network connection latency; network connection quality; object recognition; open-source cloud robotics platform; parallel computing architectures; performance optimization; proof-of-concept demonstrations; robot onboard computational processes; robotic middleware; robotic teams deployment; secured customizable computing environments; task/grasp planning; use cases; Cloud computing; Containers; Data structures; Open source software; Protocols; Robots; Cloud robotics; cloud-based mapping; networked robots; platform-as-a-service (PaaS);