TY - JOUR
T1 - Real-time control architecture based on Xenomai using ROS packages for a service robot
AU - Delgado, Raimarius
AU - You, Bum Jae
AU - Choi, Byoung Wook
N1 - Publisher Copyright:
© 2019
PY - 2019/5
Y1 - 2019/5
N2 - This paper proposes a real-time (RT) control architecture based on Xenomai, an RT embedded Linux, to control a service robot along with non-real-time (NRT) robot operating system (ROS) packages. Most software, including device drivers and ROS, are developed to operate under the standard Linux kernel that does not provide RT guarantees. Standard Linux system calls in an RT context stimulates mode switching, resulting in non-deterministic responses and stability problems such as priority inversion and kernel panic. This paper overcomes such issues through a communication interface between RT and NRT tasks, termed cross-domain datagram protocol. The proposed architecture supports priority-based scheduling of multiple tasks while exposing an interface compatible with the original ROS packages. Moreover, it enables standard device driver operation inside RT tasks without developing RT device drivers that requires significant amount of development time. Feasibility is proven by implementation on a Raspberry Pi 3, a low-cost open embedded hardware platform, and conducted various experiments to analyze its performance and applied it to a service robot using ROS navigation packages. The results indicate that the proposed architecture can effectively provide an RT environment without stability issues when utilizing ROS packages and standard device drivers.
AB - This paper proposes a real-time (RT) control architecture based on Xenomai, an RT embedded Linux, to control a service robot along with non-real-time (NRT) robot operating system (ROS) packages. Most software, including device drivers and ROS, are developed to operate under the standard Linux kernel that does not provide RT guarantees. Standard Linux system calls in an RT context stimulates mode switching, resulting in non-deterministic responses and stability problems such as priority inversion and kernel panic. This paper overcomes such issues through a communication interface between RT and NRT tasks, termed cross-domain datagram protocol. The proposed architecture supports priority-based scheduling of multiple tasks while exposing an interface compatible with the original ROS packages. Moreover, it enables standard device driver operation inside RT tasks without developing RT device drivers that requires significant amount of development time. Feasibility is proven by implementation on a Raspberry Pi 3, a low-cost open embedded hardware platform, and conducted various experiments to analyze its performance and applied it to a service robot using ROS navigation packages. The results indicate that the proposed architecture can effectively provide an RT environment without stability issues when utilizing ROS packages and standard device drivers.
KW - Cross-domain datagram protocol
KW - Real-time control architecture
KW - Robot operating system
KW - Service mobile robots
KW - Xenomai
UR - http://www.scopus.com/inward/record.url?scp=85060513751&partnerID=8YFLogxK
U2 - 10.1016/j.jss.2019.01.052
DO - 10.1016/j.jss.2019.01.052
M3 - Article
AN - SCOPUS:85060513751
SN - 0164-1212
VL - 151
SP - 8
EP - 19
JO - Journal of Systems and Software
JF - Journal of Systems and Software
ER -