REEM, the autonomous explorer

A recently developed feature for the REEM humanoid robots is autonomous exploration.

The exploration system enables the robot to move around an unknown environment and create a map of the place without human intervention. Once the map has been created, REEM is able to localize itself in the map and navigate to any reachable goal.

How does it work?

The exploration module receives the map from the SLAM (Simultaneous Localization and Mapping) algorithm, checks which places in the map it can reach by inflating the obstacles and detects frontiers (boundaries between the known and the unknown part of the map).

By moving to frontiers, the robot will end up exploring the available space [fusion_builder_container hundred_percent=”yes” overflow=”visible”][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][Yamauchi97]. However, rather than moving just to the nearest frontier cell in the grid (map), nearby cells are clustered and a cost function is evaluated to choose the best destination (taking into account cluster size, distance from current position, among others). The re-evaluation of the goal position is done several times per second, since that reduces exploration time [AQH13].

The code also implements blacklisting of unreachable positions, to avoid the robot getting stuck.

[Yamauchi97] Brian Yamauchi. A Frontier-Based Approach for Autonomous Exploration.[AQH13] Francesco Amigoni, Alberto Quattrini Li, Dirk Holz. Evaluating the Impact of Perception and Decision Timing on Autonomous Robotic Exploration.

Integration with the robot

The exploration process can be started and paused at any time, via an action interface. Additionally, other nodes can continue sending goals to move_base (path planning module): the exploration will pause until the goal is completed and resume from there (this allows semi-autonomous exploration, with an operator providing some guidance).

Several options (such as the inflation radius or the smallest area to leave unexplored) can be changed on the fly using the dynamic reconfigure interface. Moreover, the inner workings of the exploration module can be explored through visualizations in RViz. When used with a REEM humanoid service robot, a graphical user interface for Android and support for virtual obstacles is also available.

Code is now available at: https://github.com/pal-robotics/pal_2dnav

Siegfried-A Gevatter.[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

Related articles
SAFE-LY Project: Improving Patient Safety with Healthcare Robotics
Read More

SAFE-LY Project: Improving Patient Safety with Healthcare Robotics

The healthcare sector is increasingly recognising the importance of robotics in enhancing patient safety and care. With the global healthcare…
PROCARED blog by PAL Robotics
Read More

PRO-CARED pilots: robot ARI as education robot helping students with Catalan language

Integrating robots into education brings a number of potential benefits to the sector, such as enhancing the learning experience for…
Banner for the European Robotics Forum (ERF) 2024 event, highlighting the theme 'Let's talk about collaboration' set against a dark blue background. The event is scheduled from 13-15 March in Rimini, Italy, with the logo of EU Robotics and a decorative pattern of stars in varying sizes and colors. Text also mentions PAL as the gold sponsor of the event.
Read More

European Robotics Forum – ERF2024

The most prominent conference in the European robotics community, the European Robotics Forum, is back for its 15th edition, taking…