我正在使用一个自由编写的机器人来导航自制的迷宫(一旦我将功能运行起来,我会改进,我在视频中使用的只是用于测试目的。)
我最初试图让机器人仅在getObstacle传感器上左右移动。我遇到了麻烦..它不会像我想要的那样左转或右转。所以我正在考虑使用堆栈或队列。
我想告诉机器人
if(getObstacle(1) <=6000): # once sensor reaches 6000, it will stop doing the command
forward(1,0) # will move forward as long as getObstacle(1) is less than 6000
然后,一旦检测到第一个障碍物,向左转并前进
然后一旦检测到另一个障碍物,请右转。
我基本上想要绘制迷宫的左右转弯并告诉涂鸦者何时事先转弯。
所以当它第一次感觉到墙壁时=向左转......然后前进
当它第二次感觉到墙壁时=右转......然后前进。
如何将此代码实现到堆栈或队列中?
我现在的代码完全基于传感器,而且不可靠。
这是我正在使用的一个例子:
def main():
setIRPower(135)
while True:
left = getObstacle(0)
center = getObstacle(1)
right = getObstacle(2)
# 2 feet per 1 second at 1 speed
if (center <= 6000):
forward(0.5, 0.3)
elif (center >= 6000 and right > left): #if right sensor detects value higher than left
turnLeft(1, .55) #left turn
else:
turnRight(1, .55) #otherwise, turn right
我正在使用上面代码的不同变体。我只想在队列或堆栈中实现转弯,我不知道该怎么做。
由于