Rorg: Service Robot Software Management with Linux Containers
Shengye Wang, Xiao Liu, Jishen Zhao, Henrik I. Christensen
Abstract
Scaling up the software system on service robots increases the maintenance burden of developers and the risk of resource contention of the computer embedded on robots. As a result, developers spend much time on configuring, deploying, and monitoring the robot software system; robots may utilize significant computer resources when all software processes are running. We present Rorg, a Linux container-based scheme to manage, schedule, and monitor software components on service robots. Although Linux containers are already widely-used in cloud environments, this technique is challenging to efficiently adopt in service robot systems due to multi-tasking, resource constraints and performance requirements. To pave the way of Linux containers on service robots in an efficient manner, we present a programmable container management interface and a resource time-sharing mechanism incorporated with the Robot Operating System (ROS). Rorg allows 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 load by 45.5% and memory usage by 16.5% on average.
BibTeX
@inproceedings{icra2019_rorgservicerobot,
title = {Rorg: Service Robot Software Management with Linux Containers},
author = {Shengye Wang and Xiao Liu and Jishen Zhao and Henrik I. Christensen},
booktitle = {ICRA 2019},
year = {2019}
}