Last article of our series dedicated to autonomous exploration using mobile robots. This final episode describes the implementation of the autonomous frontier-based exploration method, as well as the results obtained in both simulated and real environments.
Algorithm test environments
In order to implement the frontier-based method, three environments with different specificities were considered:
The reference method: explore_lite
To implement the frontier-based exploration algorithm presented in the previous article, the explore_lite open source (ROS package) software was used and enhanced to improve autonomous exploration performance. The aim of this article is to present some of the implemented modifications and then, to compare the algorithm with the reference one.
Modifications of explore_lite by Awabot Intelligence team
The Awabot Intelligence team has modified explore_lite in order to make it both more functional and more efficient. In particular: :
- the cost function
In the explore_lite package, the cost function was originally calculated using the following equation:
C(ƒ) = λ1distance(ƒ) – λ2size(ƒ)
Unlike the equation presented in the previous article, the above equation does not depend on the orientation of the robot relative to the frontier. Therefore, the orientation estimate has been added to the explore_lite software.
C(ƒ) = λ1distance(ƒ) – λ2size(ƒ) + λ3orientation(ƒ)
- the stop criterion
In the explore_lite package, exploration is complete when all frontiers have been visited. However, at the end of the exploration, some frontiers seem unexplored and do not allow the robot to discover a new area of the environment: the robot will then waste time and resources to go and detect these frontiers without however obtaining any additional information.
Here, the robot detects three more frontiers while the map built can be considered complete.
To improve exploration efficiency while obtaining the most complete map possible, a second stop criterion based on the map completeness rate has been added. If the card is 97% covered, as determined through testing, then the exploration is over.
It should be noted that this stop criterion is valid only in simulation. In reality, the reality map is not accessible since the environment is unknown.
Frontier-based exploration algorithm: simulation results
Explore_lite were tested, before and after modifications, on the three environments presented above, with TurtleBot 3 Burger robot. The information of exploration time, distance traveled and completeness were used as evaluation criteria.
In addition, the efficiency metric was defined by the area explored over the exploration time.
The table above shows that for the three test environments, the modified algorithm is more efficient than the reference algorithm, since the robot explores more surface in less time.
The following video shows the stand-alone exploration solution in the Bookstore environment:
- Right: Gazebo software – real robot environment
- Left: RViz visualization tool – map built by the robot
Here is the map obtained through autonomous exploration compared to the ground-truth map:
Note that the map obtained with autonomous exploration is complete, despite a less precise border on the reality map.
Results in a real environment
After the autonomous exploration simulation solution was validated, it was tested in a real environment, in the Awabot offices. The robot explored the 70 square meters environment in 6 minutes and 30 seconds and covered a distance of 53 meters. The map obtained is complete but less precise than the maps obtained in simulation.
Map obtained with autonomous exploration in the offices of Awabot