BrickPi 电机转动但不移动机器人
BrickPi motors rev but don't move robot
我正在 Raspberry Pi 上玩 BrickPi。
我正在使用 Python 来控制四轮驱动机器人。默认程序允许您实时控制它。但我试图创建一个程序,为机器人提供一条固定路线,即 move forwards 3 seconds then stop
通过使用代码:
def fwd():
BrickPi.MotorSpeed[fl] = speed
BrickPi.MotorSpeed[fr] = speed
BrickPi.MotorSpeed[bl] = -speed
BrickPi.MotorSpeed[br] = -speed
BrickPiUpdateValues()
def stop():
BrickPi.MotorSpeed[fl] = 0
BrickPi.MotorSpeed[fr] = 0
BrickPi.MotorSpeed[bl] = 0
BrickPi.MotorSpeed[br] = 0
BrickPiUpdateValues()
fwd()
time.sleep(4)
stop()
但它只是加速了一秒钟然后立即停止......
我在代码的其他地方设置并分配了电机。并且速度设置为200.
库的文档没有帮助。
我该如何进行这项工作?
But it just revs up for like a second then instantly stops... I have the motors setup and assigned elsewhere in the code. And speed is set to 200.
看起来应该 运行 全力以赴,然后停止。 The BrickPi 固件有一项安全功能,如果它每隔几秒没有收到 Raspberry Pi 的消息,就会关闭电机。您可能希望将代码更改为如下内容:
fwd()
ot = time.time()
while(time.time() - ot < 4): #running while loop for 3 seconds
BrickPiUpdateValues() # Ask BrickPi to update values for sensors/motors
time.sleep(.1)
stop()
第四行的循环每 100 毫秒调用一次代码(更新 BrickPi)并保持电机运行并 运行ning。
你可以看到我们的代码示例 running LEGO Mindstorms motors with the Raspberry Pi here。
希望对您有所帮助!
我正在 Raspberry Pi 上玩 BrickPi。
我正在使用 Python 来控制四轮驱动机器人。默认程序允许您实时控制它。但我试图创建一个程序,为机器人提供一条固定路线,即 move forwards 3 seconds then stop
通过使用代码:
def fwd():
BrickPi.MotorSpeed[fl] = speed
BrickPi.MotorSpeed[fr] = speed
BrickPi.MotorSpeed[bl] = -speed
BrickPi.MotorSpeed[br] = -speed
BrickPiUpdateValues()
def stop():
BrickPi.MotorSpeed[fl] = 0
BrickPi.MotorSpeed[fr] = 0
BrickPi.MotorSpeed[bl] = 0
BrickPi.MotorSpeed[br] = 0
BrickPiUpdateValues()
fwd()
time.sleep(4)
stop()
但它只是加速了一秒钟然后立即停止...... 我在代码的其他地方设置并分配了电机。并且速度设置为200.
库的文档没有帮助。
我该如何进行这项工作?
But it just revs up for like a second then instantly stops... I have the motors setup and assigned elsewhere in the code. And speed is set to 200.
看起来应该 运行 全力以赴,然后停止。 The BrickPi 固件有一项安全功能,如果它每隔几秒没有收到 Raspberry Pi 的消息,就会关闭电机。您可能希望将代码更改为如下内容:
fwd()
ot = time.time()
while(time.time() - ot < 4): #running while loop for 3 seconds
BrickPiUpdateValues() # Ask BrickPi to update values for sensors/motors
time.sleep(.1)
stop()
第四行的循环每 100 毫秒调用一次代码(更新 BrickPi)并保持电机运行并 运行ning。
你可以看到我们的代码示例 running LEGO Mindstorms motors with the Raspberry Pi here。
希望对您有所帮助!