2014-04-17 1 views
0

NAO 로봇을 프로그래밍하려고하는데 현재 익숙해지기 위해 Python에서 일부 작은 스크립트를 테스트 중입니다. 내가 시험하고있는 스크립트는 로봇이 머리를 원하는 위치로 옮기게하고 Aldebaran 웹 사이트 here에 주어진다.NAOP 로봇에 Python과 함께 ALProxy를 사용하는 데 문제가 있습니다.

  • 내가 내 스크립트가 완벽하게 실행하지만 난 다시 실행하려고 할 때이 오류가 처음 실행할 때 ALProxy 모듈은 한 번만 즉 일을 할 수있는 것 같습니다 그러나 해당 스크립트에 2 문제가 있습니다 : Could not create proxy to ALMotion Error was: ALNetwork::getModuleByName failed to get module ALMotion http://ben.local:9559
  • 작동하면 NAO의 머리는 angles 목록에 지정된 것과 관계없이 [0,0] 위치로 돌아갑니다.

내 문제가 NAO 모듈과 관련이 있는지 또는 어떻게 파이썬을 사용하는지 알 수 없습니다. 이 그대로 작동해야하므로이 스크립트는 ... 알데바란 문서에

편집 :

`# -*- encoding: UTF-8 -*- 

import sys 
from naoqi import ALProxy 
import time 

def main(robotIP): 
    PORT = 9559 

    try: 
     motionProxy = ALProxy("ALMotion", robotIP, PORT) 
    except Exception,e: 
     print "Could not create proxy to ALMotion" 
     print "Error was: ",e 
     sys.exit(1) 

    motionProxy.setStiffnesses("Head", 1.0) 

    # Example showing how to set angles, using a fraction of max speed 
    names = ["HeadYaw", "HeadPitch"] 
    angles = [0.2, -0.2] 
    fractionMaxSpeed = 0.2 
    motionProxy.setAngles(names, angles, fractionMaxSpeed) 

    time.sleep(3.0) 
    motionProxy.setStiffnesses("Head", 0.0) 


if __name__ == "__main__": 
    robotIp = "ben.local" #"ben.local" 
    #robotIp = "11.11.11.153" #"ben.local" 
    #robotIp = "11.11.11.31" #"ben.local" 

    if len(sys.argv) <= 1: 
     print "Usage python almotion_setangles.py robotIP (optional default: %s)" % robotIp#127.0.0.1)" 
    else: 
     robotIp = sys.argv[1] 

    main(robotIp)` 

답변

0

robotIP이 로봇의 IP를 가지고 있는지 확인하고 로봇이 동일한 네트워크 컴퓨터에 연결되어 .

http://ben.local:9559

컴퓨터

+0

내 NAO 내 노트북에 직접 연결을 의미합니다. IP 주소를 여러 번 확인했는데 올바른 것입니다. 또한이 스크립트가 왜 한 번만 작동하는지 또는 왜 내 입력을 고려하지 않는지 설명하지 않습니다. – user3419556

+0

저는 로봇에서 Aldebaran의 스크립트를 여러 번 실행했으며 완벽하게 작동합니다. 스크립트에서 어떤 수정을 했습니까? 코드를 게시 할 수 있습니까? 다른 스크립트로 시도 했습니까? – Manuel

+0

지연되어서 죄송합니다. 여기 내 코드가있다. 내가 무엇이 잘못되었는지 보려고했기 때문에 Aldebaran의 코드와 약간 다릅니다 : – user3419556