Abstract
Scaling up the software system on service robots significantly increases the maintenance burden of developers and the risk of resource contention of the computer embedded with robots. As a result, developers spend much time on configuring, deploying, and monitoring the robot software system; robots utilize significant computer resources when all software processes are running. We propose Rorg, a Linux container-based scheme to manage, schedule, and monitor software components on service robots. Although Linux container is already widely-used in cloud environments, this technique is challenging to efficiently adopt in service robot systems due to the unique characteristics of service robots — multi-purpose systems with resource limitations and high performance requirements. To pave the way of Linux containers on service robots in an efficient manner, we propose a programmable container management interface and a resource time-sharing mechanism incorporated with the robot operating system (ROS). Rorg allows the developers to pack software into self-contained images and runs them in isolated environments using Linux containers; it also allows the robot to turn on and off software components on demand to avoid resource contention. We evaluate Rorg with a long-term autonomous tour guide robot: It manages 41 software components on the robot and relieved our maintenance burden, and it also reduces CPU by 45.5% and memory usage by 16.5% on average.
Continue reading