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.
Mapping and Localization¶
Pepper only
Pepper is able to:
- Map his environment;
- Localize himself and navigate inside a mapped environment.
The process of simultaneously localizing himself and mapping an unknown environment is known as SLAM. When mapping his environment, Pepper uses his odometry, laser sensors and cameras to perform SLAM.
To map an unknown environment, Pepper must move around. This can be done through autonomous exploration or manually, following developer commands.
Once Pepper is done mapping, the map can be retrieved as a 2D image.