Python nxt 头脑风暴连接问题



我想通过USB使用Python 3连接到乐高Mindstorms NXT机器人,但是当我尝试连接时,我遇到了BrickNotFoundError。

这是我尝试运行的脚本:

#!/usr/bin/env python
import nxt.locator
from nxt.motor import *
#nxt.locator.make_config()
def spin_around(b):
m_left = Motor(b, PORT_B)
m_left.turn(100, 360)
m_right = Motor(b, PORT_C)
m_right.turn(-100, 360)
b = nxt.locator.find_one_brick(debug = True)
#spin_around(b)

在Windows 3.6的python上运行它,在Windows 10中,使用通过USB电缆连接到计算机的NXT机器人,给出以下堆栈跟踪:

Host: AB:CD:EF:GH:IJ:KL Name: BRUCE Strict: True
USB: True BT: False Fantom: True FUSB: False FBT: True
Fantom module unavailable, not searching there
Traceback (most recent call last):
File "C:UsersGeorgeDownloadsnxtexamplesspin.py", line 14, in <module>
b = nxt.locator.find_one_brick(debug = True)
File "C:UsersGeorgeAppDataLocalProgramsPythonPython36-32libsite-packagesnxtlocator.py", line 138, in find_one_brick
raise BrickNotFoundError
nxt.locator.BrickNotFoundError

我已经下载了pyusb和usblib,并且已经解决了几个涉及找不到USB模块的错误。但是,机器人显然已连接到计算机,因为乐高NXT官方软件可以成功识别和编程机器人。

我不知道下一步该怎么做。欢迎有关如何解决此错误的任何建议...

您必须导入nxt.usbsock而不是nxt.locator并且必须导入nxt。 代码将如下所示:

import nxt
import nxt.usbsock
from nxt.motor import *
#nxt.locator.make_config()
def spin_around(b):
m_left = Motor(b, PORT_B)
m_left.turn(100, 360)
m_right = Motor(b, PORT_C)
m_right.turn(-100, 360)
b = nxt.locator.find_one_brick(debug = True)

最新更新