Priority and Synchronization Support for ROS
Yukihiro Saito, Takuya Azumi, Shinpei Kato, Nobuhiko Nishio
- 发表年份
- 2016
- 引用次数
- 35
摘要
Robot Operating System (ROS) is a software component framework developed for robot applications. It provides a rich set of software libraries and tools to construct robot components, including implementation of many popular perception, planning, and control algorithms. The state of the art in ROS, however, does not fundamentally support priority and synchronization among tasks, so-called nodes in ROS. Therefore, ROS may not be appropriate as a platform of real-time multi-tasking environments, despite the fact that most robot applications are multi-tasking and running under real-time constraints. In this paper, we explore real-time performance of ROS. We present a priority-based message transmission mechanism to reduce the execution time and time variance of high-priority ROS nodes. We also present a synchronization mechanism to harmonize multiple ROS nodes running at different frequencies. The presented mechanisms can be both used with legacy ROS applications without modification. Experiments using an autonomous driving system show a 62.3% reduction in a worst-case execution time and indicate that time differences between nodes are guaranteed below a constant time. In addition, the total CPU utilization is saved by up to about 10%.
关键词
相关论文
Statistical Learning Theory
Yuhai Wu, Vladimir Vapnik
1999
Artificial intelligence: a modern approach
1995
Applied Nonlinear Control
Jean-Jacques Slotine, Weiping Li
1991
A new optimizer using particle swarm theory
R.C. Eberhart, James Kennedy
2002