私は落書きロボットを使用しており、Python でコードを書いています。障害物を見つけたら止めさせようとしている
そこで、左側の障害物センサー、中央の障害物センサー、右側の障害物センサーの変数を作成しました。
left = getObstacle(0)
center = getObstacle(1)
right = getObstacle(2)
次にif文
if (left < 6400 & center < 6400 & right < 6400):
forward(1,1)
else:
stop()
基本的には、センサーの読み取り値が 6400 未満の場合は前進し、それ以外の場合は停止するという考え方です。この機能を使って scribbler をテストしているsenses
ときに、ロボットをオブジェクトに近づけると、約 6400 と表示されることに気付きました。
ここに私がmain()
コードのために持っているものがあります
def main():
while True:
left = getObstacle(0)
center = getObstacle(1)
right = getObstacle(2)
lir = getIR(0)
rir = getIR(1)
if (left < 6400 & center < 6400 & right < 6400):
forward(1,1)
else:
stop()
ロボットが応答しないのはなぜですか? Python コードをシェルに挿入してもエラーは表示されませんが、ロボットでは何も起こりません。
編集:
いくつかのコードの変更。これまでのところ、ロボットは動きますが、止まりません。私の if ステートメントと else ステートメントは間違っていますか?
center = getObstacle(1)
def main():
if (center < 5400):
forward(0.5)
else:
stop()