Robust Navigation for Mobile Robots Run-time adaptation to improve the robustness in dynamic obstacle avoidance a Literature Study
by Jasper Wijkhuizen/
Research in robotics is already going on for a long time. Robots in structures environments like factories or warehouses are used to improve the productivity . These robots are traditionally very good at solving one particular problem and are used for that problem only. However, nowadays there is a demand for robots in more complex situations, where the robots need to solve multiple different problems in unexpected situations. Service robots in stores and clean robots in offices and houses need to solve the following challenges: navigation, obstacle avoidance, and human-robot interaction . Stores and offices are environments that are a lot less structured, sometimes even partly or entirely unknown in advance, and can be shared with humans. This brings many new and unexpected situations the robot has to encounter, which are a lot more challenging to solve. The navigation for mobile robot navigation is researched intensively, and much effort is put in making navigation more robust on the component level. However, since the situations become more complex, robustness on the component level is possibly not sufficient anymore. De Lemos et al.  states: ”In addition to the ever-increasing complexity, software systems must become more versatile, flexible, resilient, dependable, energy-efficient, recoverable, customizable, configurable, and self-optimizing by adapting to changes that may occur in their operational contexts, environments and system requirements”. To be able to operate in multiple environments and situations, robots need many different sensors, actuators, and algorithms, increasing the system variability. Due to the increasing level of variability, the change of malfunctions is increasing as well. According to Murphy , the main reason for failure lies in the control system of the robot. To make these complex systems more robust at system level, a lot of research is done in self-adaptive systems. Robotic systems, which use self-adaptation, are able to react at run-time to changes in the environment and in the system itself by re-configuring their control architecture.