如何使用堆栈或队列解决迷宫问题?

时间:2014-12-12 20:40:56

标签: python stack queue maze myro

我正在使用一个自由编写的机器人来导航自制的迷宫(一旦我将功能运行起来,我会改进,我在视频中使用的只是用于测试目的。)

Maze

我最初试图让机器人仅在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

我正在使用上面代码的不同变体。我只想在队列或堆栈中实现转弯,我不知道该怎么做。

由于

0 个答案:

没有答案