Autonomous robots may be able to adapt their behavior in response to changes in the environment. This is useful, for example, to efficiently handle limited resources or to respond appropriately to unexpected events such as faults. The architecture of a self-adaptive robot is complex because it should include automatic mechanisms to dynamically configure the elements that control robot behaviors. To facilitate the construction of this type of architectures, it is useful to have general solutions in the form of software tools that may be applicable to different robotic systems. This paper presents an original algorithm to dynamically configure the control architecture, which is applicable to the development of self-adaptive autonomous robots. This algorithm uses a constraint-based configuration approach to decide which basic robot behaviors should be activated in response to both reactive and deliberative events. The algorithm uses specific search heuristics and initialization procedures to achieve the performance required by robotic systems. The solution has been implemented as a software development tool called Behavior Coordinator CBC (Constraint-Based Configuration), which is based on ROS and open source, available to the general public. This tool has been successfully used for building multiple applications of autonomous aerial robots.
翻译:自主机器人可能能够根据环境的变化调整自身行为。 例如, 这对于高效处理有限资源或适当应对意外事件( 如断层)非常有用。 自适应机器人的结构复杂, 因为它应该包含动态配置控制机器人行为要素的自动机制。 为了便利构建这种类型的建筑, 有必要以软件工具的形式提供一般性解决方案, 可能适用于不同的机器人系统。 本文展示了一种原始算法, 动态配置控制结构, 适用于开发自适应自主机器人。 这种算法使用基于约束的配置法, 来决定应对反应性和审议性事件应激活哪些基本机器人行为。 算法使用特定的搜索超常和初始化程序来达到机器人系统所要求的性能。 解决方案已经作为一种软件开发工具实施, 称为Behavior CBC (Cstraint-Base配置), 它以ROS 和开放源为基础, 可供公众使用。 该工具已被成功用于构建自动航空机器人的多种应用 。