Rorg: Service Robot Software Management with Linux Containers

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