# -*- 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)
