Overview | API
ALNavigation API allows the user to perform safe displacements when using the robot.
The robot cannot yet avoid obstacles, but it is able to move cautiously, stopping as soon as an obstacle enters its security zone.
Pepper may also use the ALNavigation API in several modes:
While moving, the robot tries to detect obstacles in its move direction, using all its sensors.
While moving, the robot tries to detect obstacles in its move direction, using all its sensors.
The most straightforward way to start using ALNavigation is:
# -*- encoding: UTF-8 -*-
import argparse
from naoqi import ALProxy
def main(robotIP, PORT = 9559):
navigationProxy = ALProxy("ALNavigation", robotIP, PORT)
motionProxy = ALProxy("ALMotion", robotIP, PORT)
postureProxy = ALProxy("ALRobotPosture", robotIP, PORT)
# Wake up robot
motionProxy.wakeUp()
# Send robot to Stand Init
postureProxy.goToPosture("StandInit", 0.5)
# No specific move config.
motionProxy.moveTo(1.0, 0.0, 0.0)
motionProxy.moveTo(1.0, 0.0, 0.0, [])
# To do 6 cm steps instead of 4 cm.
motionProxy.moveTo(1.0, 0.0, 0.0, [["MaxStepX", "0.06"]])
# Will stop at 0.5m (FRAME_ROBOT) instead of 0.4m away from the obstacle.
navigationProxy.setSecurityDistance(0.5)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--ip", type=str, default="127.0.0.1",
help="Robot ip address")
parser.add_argument("--port", type=int, default=9559,
help="Robot port number")
args = parser.parse_args()
main(args.ip, args.port)
Enter search terms or a module, class or function name.