Python SDK入門(2)——NAOを歩かせて話す

4236 ワード

Python SDK入門(2)——NAOを歩かせて話す
 1.NAOを剛化する
  • NAOのstiffnessの値を0以外に設定しない限り、
  • は移動しません.
  • これを行うには、ALMotionProxy::setStiffnesses()を呼び出して設定すれば簡単です.
    from naoqi import ALProxy
    motion = ALProxy("ALMotion", "nao.local", 9559)
    motion.setStiffnesses("Body", 1.0)
  • です.
    2.NAOを移動させる
    NAOを移動させるには、ALMotionProxy::moveInit()関数(NAOを適切な姿勢にする)を使用し、ALMotionProxy::moveTo()を呼び出す必要があります.
    from naoqi import ALProxy
    motion = ALProxy("ALMotion", "nao.local", 9559)
    motion.moveInit()
    motion.moveTo(0.5, 0, 0)

    3.NAOを同時に話して歩かせる
    作成した各エージェントには「post」という属性があり、バックグラウンドで多くの方法を呼び出すことができます.
    これはロボットが同時に多くのことをするのに役立ちます.
    from naoqi import ALProxy
    motion = ALProxy("ALMotion", "nao.local", 9559)
    tts = ALProxy("ALTextToSpeech", "nao.local", 9559)
    motion.moveInit()
    motion.post.moveTo(0.5, 0, 0)
    tts.say("I'm walking")

    もちろん、タスクの終了を待つ必要がある場合は、ALProxyの待機メソッドを使用して、送信メソッド(the post usage)で返されるタスクIDを使用します.
    from naoqi import ALProxy
    motion = ALProxy("ALMotion", "nao.local", 9559)
    motion.moveInit()
    id = motion.post.moveTo(0.5, 0, 0)
    motion.wait(id, 0)

    完全なプログラム
    from naoqi import ALProxy
    import argparse
    
    motion = ALProxy("ALMotion", "192.168.1.114", 9559)         #NAO     
    tts = ALProxy("ALTextToSpeech", "192.168.1.114", 9559)      #NAO     
    posture = ALProxy("ALRobotPosture", "192.168.1.114", 9559)  #NAO     
    
    #    NAO
    motion.wakeUp()
    
    # NAO  
    posture.goToPosture("StandInit", 0.5)
    
    #    
    motion.setStiffnesses("Body", 1.0)
    
    #   
    motion.moveInit()
    
    # NAO   1 ,      ID id
    id = motion.post.moveTo(1, 0, 0)
    
    tts.say("I'm walking")
    
    #  id    ,   wait()  
    motion.wait(id, 0)
    
    tts.say("I will not walk anymore")
    
    # NAO  
    motion.rest()