我想通过USB连接到一个使用Python3的乐高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 10中的python 3.6上运行此程序,并使用通过USB电缆连接到计算机的NXT Robot,会产生以下堆栈跟踪:
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:\Users\George\Downloads\nxt\examples\spin.py", line 14, in <module>
b = nxt.locator.find_one_brick(debug = True)
File "C:\Users\George\AppData\Local\Programs\Python\Python36-32\lib\site-packages\nxt\locator.py", line 138, in find_one_brick
raise BrickNotFoundError
nxt.locator.BrickNotFoundError我已经下载了pyusb & usblib,并且已经解决了几个关于找不到usb模块的错误。然而,机器人显然是连接到计算机上的,因为官方的乐高NXT软件可以成功地识别和编程机器人。
我不知道下一步该做什么。欢迎对如何解决此错误提出任何建议...
发布于 2018-09-27 01:48:07
您必须导入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)https://stackoverflow.com/questions/51603286
复制相似问题