我正在使用带有Python语言的Myro库。我有一些奇怪的结果。
我的想法是调用getObstacle传感器。
left = getObstacle(0)
center = getObstacle(1)
right = getObstacle(2)
只要中心障碍物传感器小于或等于4500,我希望机器人向前移动。
如果机器人上的右侧障碍物传感器读数高于左侧障碍物传感器,我希望它向左转。
否则右转。
以下是我在youtube上的尝试
我将提交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)
有什么方法可以改进我的代码吗?我希望它在正确的时间左右转。
我应该完全使用不同的逻辑吗?任何帮助,将不胜感激。