Behavior coordination for self-adaptive robots using constraint-based configuration

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.

[1]  Fredrik Heintz,et al.  DyKnow: A dynamically reconfigurable stream reasoning framework as an extension to the robot operating system , 2016, 2016 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR).

[2]  Stanley J. Rosenschein,et al.  An architecture for adaptive intelligent systems , 1996 .

[3]  Alessandro Saffiotti,et al.  The uses of fuzzy logic in autonomous robot navigation , 1997, Soft Comput..

[4]  Eleni Stroulia,et al.  Functional representation and reasoning for reflective systems , 1995, Appl. Artif. Intell..

[5]  Peter van Beek,et al.  Backtracking Search Algorithms , 2006, Handbook of Constraint Programming.

[6]  Toby Walsh,et al.  Handbook of Constraint Programming (Foundations of Artificial Intelligence) , 2006 .

[7]  Martin Molina,et al.  Programming Robot Behaviors with Execution Management Functions , 2021, ArXiv.

[8]  Pascual Campoy Cervera,et al.  A Multi-Layered Component-Based Approach for the Development of Aerial Robotic Systems: The Aerostack Framework , 2017, J. Intell. Robotic Syst..

[9]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[10]  Claudio Rossi,et al.  Meta-control and Self-Awareness for the UX-1 Autonomous Underwater Robot , 2019, ROBOT.

[11]  Oussama Khatib,et al.  Springer Handbook of Robotics , 2007, Springer Handbooks.

[12]  Edward P. K. Tsang,et al.  Foundations of constraint satisfaction , 1993, Computation in cognitive science.

[13]  Daniel Diaz,et al.  Using Constraint Programming to Manage Configurations in Self-Adaptive Systems , 2012, Computer.

[14]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[15]  Sebastian VanSyckel,et al.  A survey on engineering approaches for self-adaptive systems , 2015, Pervasive Mob. Comput..

[16]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[17]  Bradley R. Schmerl,et al.  Software Engineering for Self-Adaptive Systems: A Second Research Roadmap , 2010, Software Engineering for Self-Adaptive Systems.

[18]  P. Maes How to Do the Right Thing , 1989 .

[19]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[20]  Minas Liarokapis,et al.  Reconfigurable, Adaptive, Lightweight Grasping Mechanisms for Aerial Robotic Platforms , 2020, 2020 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR).

[21]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[22]  C. H. Corbato,et al.  MROS: runtime adaptation for robot control architectures , 2020, Adv. Robotics.

[23]  Ronald C. Arkin,et al.  An Behavior-based Robotics , 1998 .

[24]  Romain Rouvoy,et al.  Using constraint-based optimization and variability to support continuous self-adaptation , 2012, SAC '12.

[25]  Hriday Bavle,et al.  An execution control method for the Aerostack aerial robotics framework , 2019, Frontiers of Information Technology & Electronic Engineering.

[26]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[27]  丁连芬 术语“configuration——定型”解读 , 2002 .

[28]  Paolo Pirjanian,et al.  Behavior Coordination Mechanisms - State-of-the-art , 1999 .

[29]  Rodney A. Brooks,et al.  A Robust Layered Control Syste For A Mobile Robot , 2022 .

[30]  Robert James Firby,et al.  Adaptive execution in complex dynamic worlds , 1989 .

[31]  Hriday Bavle,et al.  Building the executive system of autonomous aerial robots using the Aerostack open-source framework , 2020 .

[32]  Alan K. Mackworth On Reading Sketch Maps , 1977, IJCAI.

[33]  Oskar von Stryk,et al.  Human-robot collaborative high-level control with application to rescue robotics , 2016, 2016 IEEE International Conference on Robotics and Automation (ICRA).

[34]  Matthew Crosby,et al.  SkiROS—A skill-based robot control platform on top of ROS , 2017 .