如何让机器人导航迷宫?

时间:2014-12-11 21:35:17

标签: python robotics maze robot myro

我正在使用带有Python语言的Myro库。我有一些奇怪的结果。

我的想法是调用getObstacle传感器。

left = getObstacle(0)
center = getObstacle(1)
right = getObstacle(2)

只要中心障碍物传感器小于或等于4500,我希望机器人向前移动。

如果机器人上的右侧障碍物传感器读数高于左侧障碍物传感器,我希望它向左转。

否则右转。

以下是我在youtube上的尝试

Attempt 1

Attempt 2

我将提交3种不同的代码变体

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 <= 4500):
            forward(0.5, 0.2)   
            wait(0.4)   
        elif (right > left):
            turnLeft(1, .45) 
        else:
            turnRight(1, .45)



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 <= 4500):
            forward(0.5, 0.2)   
            wait(0.3)   

        elif(right > center and left):
            turnLeft(1, .45) 
        elif(left > center and right):
            turnRight(1, .45)

我正在使用的最新版本

def main():
    setForwardness(1)
    setIRPower(135)
    while True: 
        left = getObstacle(0)
        center = getObstacle(1)
        right = getObstacle(2)
        if (center <= 5000 and left <= 5000 and right <= 5000):
            forward(0.5, 0.2)
            wait(.3)
        elif(right>left):
            turnLeft(1, 0.45)
        else:
            turnRight(1, 0.45)

有什么方法可以改进我的代码吗?我希望它在正确的时间左右转。

我应该完全使用不同的逻辑吗?任何帮助,将不胜感激。

0 个答案:

没有答案