Towards reliable and scalable robot communication

Andreea Lutac, Natalia Chechina, Gerardo Aragon-Camarasa, Phil Trinder
2016 Proceedings of the 15th International Workshop on Erlang - Erlang 2016  
The Robot Operating System (ROS) is the de facto standard platform for modern robots. However, communication between ROS nodes has scalability and reliability issues in practice. In this paper, we investigate whether Erlang's lightweight concurrency and reliability mechanisms have the potential to address these issues. The basis of the investigation is a pair of simple but typical robotic control applications, namely two face-trackers: one using ROS publish/subscribe messaging, and the other a
more » ... espoke Erlang communication framework. We report experiments that compare five key aspects of the ROS and Erlang face trackers. We find that Erlang communication scales better, supporting at least 3.5 times more active processes (700 processes) than its ROS-based counterpart (200 nodes) while consuming half of the memory. However, while both face tracking prototypes exhibit similar detection accuracy and transmission latencies with 10 or fewer workers, Erlang exhibits a continuous increase in the total time taken to process a frame as more agents are added, and we identify the cause. A reliability study shows that while both ROS and Erlang restart failed computations, the Erlang processes restart 1000-1500 times faster than ROS nodes, reducing robot component downtime and mitigating the impact of the failures.
doi:10.1145/2975969.2975971 dblp:conf/erlang/LutacCAT16 fatcat:yh2onkzpnngarpos3fvkfflaoi