ALNavigation¶
Overview | API Navigation | API Exploration
What it does¶
ALNavigation API allows the user to perform safe displacements when using the robot.
NAO
NAO cannot yet avoid obstacles, but he is able to move cautiously, stopping as soon as an obstacle enters its security zone.
Pepper only
Pepper may also use the ALNavigation API in several modes:
- Obstacle avoidance with the
ALNavigationProxy::navigateTo
method; - Safe trajectory execution with the
ALNavigationProxy::moveAlong
method. - Finding free space (to perform a show for example)
ALNavigationProxy::findFreeZone
- Unknown environment exploration and localization.
How it works¶
Obstacle avoidance¶
Pepper only
While moving, the robot tries to detect obstacles in its move direction, using all its sensors.
Safety map¶
Pepper only
The safety map is used for motion safety, local navigation, and free zone APIs.
This map is built from merging data coming from all the sensors able to help, such as 3D camera, laser, sonar, etc.
Potential obstacles may stay in memory even when they are not directly seen anymore. This long term memory may keep obstacle up to 15 seconds.
Exploration and Localization¶
Pepper only
Pepper is able to:
- Explore autonomously an unknown environment;
- Build a map of this environment;
- Localize himself and navigate inside this map.
The process of simultaneously localizing himself and mapping an unknown environment is known as SLAM. During exploration, Pepper uses his odometry and laser sensors to perform SLAM.
Once Pepper is done exploring, the map can be retrieved as a 2D image.