【问题标题】:Error in python code in ChoregrapheChoregraphe中的python代码错误
【发布时间】:2016-10-06 17:04:33
【问题描述】:

今天我在我的新笔记本上启动了 Choregraphe,我发现了一个我还没有看到的错误。代码运行良好。

代码如下:

import sys
import time
from naoqi import ALProxy

def main(robotIP):

    PORT = 5058

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

    motionProxy.setStiffnesses("Head", 1.0)

    names = "HeadPitch"
    angleLists = 0.349
    timeLists = 1.0
    isAbsolute = True
    motionProxy.angleInterpolation(names,angleLists,timeLists,isAbsolute)

    time.sleep(1.0)

    motionProxy.setStiffnesses("Head",0.0)

if __name__ == "__main__":
    robotIP = "192.168.0.20"
    main(robotIP)

此代码应按角度移动头部间距。是的,它奏效了。问题是:为什么代码向我显示此错误?

用户类评估失败并出现错误:1

我尝试重新输入代码或尝试在代码开头按“ENTER”(有时在 C# 上有效)但没有任何效果。

有人可以给我一个建议吗?

【问题讨论】:

  • 你能发布完整的回溯吗?
  • 当然... "[ERROR] behavior.box :FMBox::createPythonModule:0 _Behavior__lastUploadedChoregrapheBehaviorbehavior_1289339480__root__Headpitch_2:用户类评估失败,错误为: 1"
  • 我建议您删除掩盖真正错误的 try/except 块。或至少print "Error was: "+str(e) 否则您将丢失错误消息。
  • 尝试了同样的错误
  • 当然可以,但我需要回溯。

标签: python error-handling robot nao-robot


【解决方案1】:

你可以通过9559更改端口。另外,还有一个新的naoqi代码,我给你举个例子:

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

import qi
import sys
import argparse



def main(session):
    motionProxy = session.service("ALMotion")

    motionProxy.setStiffnesses("Head", 1.0)

    names = "HeadPitch"
    angleLists = 0.349
    timeLists = 1.0
    isAbsolute = True
    motionProxy.angleInterpolation(names,angleLists,timeLists,isAbsolute)

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

    args = parser.parse_args()
    session = qi.Session()
    try:
        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.")
        sys.exit(1)
    main(session)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 2018-04-09
    相关资源
    最近更新 更多