{'fraction_non_alphanumeric': 0.015424164524421594, 'fraction_numerical': 0.0, 'mean_word_length': 5.514644351464435, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Autonomous Mobile Robot Navigation in Indoor Environments: Mapping, Localization, and Planning

Developing an autonomous indoor mobile robot navigation system from scratch is very difficult and it takes a long time. It requires a series of complex tasks such as handling given sensor inputs, calculating all the information needed for autonomous navigation, and controlling actuators required for movement. In this paper, an autonomous navigation system for indoor mobile robots is introduced mainly based on open source provided by the robot operating system. The presented system is capable of autonomously navigating an unstructured indoor environment avoiding collision with static or dynamic objects. To this end, the system consists of three main modules: mapping, localization, and planning. The mapping module builds a global map for an unknown environment by means of a simultaneous localization and mapping algorithm based on laser scanner data. The localization module estimates the mobile robot’s pose within the prebuilt map by way of an adaptive Monte Carlo localization approach. The planning module builds a local cost map for collision avoidance, generates collision-free trajectories to reach a goal pose based on the cost map, and produces control commands to follow the trajectories. The presented system has been tested not only in simulation environments built in the Gazebo simulator but also in real environments utilizing the Jackal mobile robot, to validate its performance for autonomous navigation including collision avoidance.