  Many robotic tasks require heavy computation, which can easily exceed the
robot's onboard computer capability. A promising solution to address this
challenge is outsourcing the computation to the cloud. However, exploiting the
potential of cloud resources in robotic software is difficult, because it
involves complex code modification and extensive (re)configuration procedures.
Moreover, quality of service (QoS) such as timeliness, which is critical to
robot's behavior, have to be considered. In this paper, we propose a
transparent and QoS-aware software framework called Cloudroid for cloud robotic
applications. This framework supports direct deployment of existing robotic
software packages to the cloud, transparently transforming them into
Internet-accessible cloud services. And with the automatically generated
service stubs, robotic applications can outsource their computation to the
cloud without any code modification. Furthermore, the robot and the cloud can
cooperate to maintain the specific QoS property such as request response time,
even in a highly dynamic and resource-competitive environment. We evaluated
Cloudroid based on a group of typical robotic scenarios and a set of software
packages widely adopted in real-world robot practices. Results show that
robot's capability can be enhanced significantly without code modification and
specific QoS objectives can be guaranteed. In certain tasks, the "cloud +
robot" setup shows improved performance in orders of magnitude compared with
the robot native setup.
