2

Python 言語で Myro ライブラリを使用しています。私はいくつかの奇妙な結果を得ました。

私のアイデアは、getObstacle センサーを呼び出すことでした。

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

中央の障害物センサーが 4500 以下である限り、ロボットを前進させたい。

ロボットの右側の障害物センサーの読み取り値が左側の障害物センサーの読み取り値よりも高い場合は、左に曲がるようにします。

それ以外は右折。

これがYouTubeでの私の試みです

試行 1

試行 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)

コードを改善する方法はありますか? 正しいタイミングで左右に曲がってほしい。

まったく別のロジックを使用する必要がありますか? どんな助けでも大歓迎です。

4

0 に答える 0