【发布时间】:2017-07-05 22:21:11
【问题描述】:
我正在尝试寻找一种方法来使用 Python (EV3DEV) 为 Lego Mindstorms ev3 编写寻路算法。
我可以使用以下传感器: -触碰 -陀螺仪 -超声波 -颜色
我希望它穿过一条可能撞到墙壁的“走廊”,它必须向左或向右转(取决于是否有空间)。 我将如何使用传感器来确定它应该向左还是向右? (而不是最终倒退)
【问题讨论】:
我正在尝试寻找一种方法来使用 Python (EV3DEV) 为 Lego Mindstorms ev3 编写寻路算法。
我可以使用以下传感器: -触碰 -陀螺仪 -超声波 -颜色
我希望它穿过一条可能撞到墙壁的“走廊”,它必须向左或向右转(取决于是否有空间)。 我将如何使用传感器来确定它应该向左还是向右? (而不是最终倒退)
【问题讨论】:
根据您机器人上剩余的端口数量,我会将您的机器人配置为以下。这是我将如何进行算法的高级示例
while True:
if touch_pressed:
drive backwards
if right_ultra1 and right ultra2 clear:
turnRight()
else:
turnLeft()
drive_forward
基本上,机器人会向前行驶,直到撞上物体。然后它倒退到刚好可以转弯而不会撞到墙上。接下来,它检查传感器。由于传感器的位置尽可能靠近机器人的长度,因此可以估计通道的狭窄程度。如果两个传感器读取任意大的值,则通道足够宽,否则通道不够宽。转弯后/如果未按下传感器,则向前行驶。希望这会有所帮助!
【讨论】: