Python 脚本连接到 NAO 机器人

标签 python nao-robot

我项目的目标是对 NAO 机器人进行编程,以使用神经网络检测和识别机器人。我在 MatLab 中使用神经网络对对象进行分类,我正在编写脚本以通过 Python 中的 NAO 机器人捕获图像。我拥有所有必要的导入(来自 naoqi 的 ALProxy、来自 PIL 的图像、随机、时间、操作系统、系统、cv2 和 vision_definitions),并在 python 代码中为每个代理(postureProxy、motionProxy、speechProxy)配置了 ip 和端口、anspeechProxy、sprecogProxy、memoryProxy 和 photoCaptureProxy)。

try:
    photoCaptureProxy = ALProxy("ALPhotoCapture", ip, port)
    #this was done for each proxy listed above
except Exception, error:
    print("Connection error: ", error)

如果我遇到任何连接问题,我会打印出错误,我确实做到了。我收到了如下错误通知:

RuntimeERror('\tALBroker::createBroker\n\tCannot connect to tcp://ip:port',))

我知道因为涉及到 TCP,所以计算机和 NAO 机器人之间的有线连接出了点问题。是否有解决此问题的方法?

下面是一段较大的代码:

ip = "192.168.208.254"
port = 9559

#ALProxy setups
try:
   postureProxy = ALProxy("ALRobotPosture", ip, port)
   motionProxy = ALProxy("ALMotion", ip, port)
   speechProxy = ALProxy("ALTextToSpeech", ip, port)
   anspeechProxy = ALProxy("ALAnimatedSpeech", ip, port)
   sprecogProxy = ALProxy("ALSpeechRecognition", ip, port)
   memoryProxy = ALProxy("ALMemory", ip, port)
   photoCaptureProxy = ALProxy("ALPhotoCapture", ip, port)
except Exception, error:
   print("Connection error: ", error)

resolution = vision_definitions.kVGA
colorSpace = vision_definitions.kYUVColorSpace
fps = 30

最佳答案

看起来你的 ip 变量的值是“ip”而不是你的机器人的实际 IP 地址;港口也一样。端口变量应为 9559(除非您使用的是虚拟机器人)。

如果没有,您可能想要显示更大的代码片段。

(编辑,现在有一个更大的片段)

当我尝试该代码时,我得到了一些东西

Cannot connect to tcp://192.168.208.254:9559

所以您显示的错误消息似乎与代码不匹配(或者发生了一些奇怪的事情 - 也许您使用的是旧版本的 python SDK,它以不同的方式显示错误消息)。

您的计算机可能与机器人不在同一个网络上 - 只需在命令行中 ping 该 IP 地址,或使用网络浏览器打开它即可。

关于Python 脚本连接到 NAO 机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51502607/

相关文章:

python - 停止在 nao 机器人上运行的 Python 脚本触摸他的头

树莓派 3 上的 Python SDK 安装指南

python - 删除工作表后无法保存工作簿 - openpyxl

Python 中的curl 等价物,用于从文件中发布数据以供温和的库使用

python - 如何从数据库生成每日/每周/每月/每年汇总值

linux - 小辣椒机器人之旅-智能导航

python - 如何解决python中的同余系统?

Python 将列表 reshape 为多维列表

c++ - 使用自定义 makefile 在 Nao 机器人上编译模块

geometry - 相机和识别的 "object"之间的距离