SoftBank Robotics documentation What's new in NAOqi 2.5?

Joint control Tutorial: The Pose Init

NAOqi Motion - Overview | API | Tutorial


This tutorial explains how to use joint control API in the context of the SoftBank Robotics definition of the “NAO initial position” known as Stand Init.


Please refer to the section: Python SDK - Installation Guide for any troubleshooting linked to python.

#! /usr/bin/env python
# -*- encoding: UTF-8 -*-

"""Example: PoseInit - Small example to make Nao go to an initial position."""

import qi
import argparse
import sys

def main(session):
    PoseInit: Small example to make Nao go to an initial position.
    # Get the services ALMotion & ALRobotPosture.

    motion_service = session.service("ALMotion")
    posture_service = session.service("ALRobotPosture")

    # Wake up robot

    # Send robot to Stand Init
    posture_service.goToPosture("StandInit", 0.5)

    # Go to rest position

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--ip", type=str, default="",
                        help="Robot IP address. On robot or Local Naoqi: use ''.")
    parser.add_argument("--port", type=int, default=9559,
                        help="Naoqi port number")

    args = parser.parse_args()
    session = qi.Session()
        session.connect("tcp://" + args.ip + ":" + str(args.port))
    except RuntimeError:
        print ("Can't connect to Naoqi at ip \"" + args.ip + "\" on port " + str(args.port) +".\n"
               "Please check your script arguments. Run with -h option for help.")