The control architecture of autonomous robots can be developed by programming and integrating multiple software components that individually control separate behaviors. This approach requires additional mechanisms to coordinate their concurrent execution. This paper presents a programming method for such components that has been designed to facilitate their coordinated execution. Each component is programmed as a module that controls a separate robot behavior together with a set of functions for execution management. The details of this proposal are formulated in the form of a ROS-based software library called \textit{behaviorlib}. This solution has been used to program general behavior controllers that have been successfully reused to build multiple applications in aerial robotics.
翻译:自主机器人的控制结构可以通过编程和整合多个软件组件来开发,这些组件可以单独控制不同的行为。 这种方法需要额外的机制来协调它们同时执行。 本文为这些组件提供了一个编程方法, 目的是便利其协调执行。 每个组件都编程成一个模块, 控制单独的机器人行为, 以及一套执行管理功能。 本提案的细节以基于 ROS 的软件库( 名为\ textit{ behavorlib}) 的形式制定。 此解决方案已被用于编程通用行为控制器, 这些控制器已被成功再利用, 用于在航空机器人中建立多个应用程序 。