✨
This commit is contained in:
@ -8,19 +8,23 @@ RIGHT_WHEEL_OFFSET = 5
|
|||||||
def careful_forward(drive_time, arlo):
|
def careful_forward(drive_time, arlo):
|
||||||
start = time.time()
|
start = time.time()
|
||||||
end = start + drive_time
|
end = start + drive_time
|
||||||
|
turning = None
|
||||||
while time.time() < end:
|
while time.time() < end:
|
||||||
forward_dist = arlo.read_front_ping_sensor()
|
forward_dist = arlo.read_front_ping_sensor()
|
||||||
right_dist = arlo.read_right_ping_sensor()
|
right_dist = arlo.read_right_ping_sensor()
|
||||||
left_dist = arlo.read_left_ping_sensor()
|
left_dist = arlo.read_left_ping_sensor()
|
||||||
if forward_dist > 600 and all(x > 200 for x in [right_dist, left_dist]):
|
if forward_dist > 600 and all(x > 200 for x in [right_dist, left_dist]):
|
||||||
print("not blocked")
|
print("not blocked")
|
||||||
|
turning = None
|
||||||
arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 1)
|
arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 1)
|
||||||
else:
|
else:
|
||||||
print("blocked")
|
print("blocked")
|
||||||
if forward_dist > 600 and right_dist > 200:
|
if turning == "R" or (forward_dist > 600 and right_dist > 200 and turning is None):
|
||||||
arlo.go_diff(POWER, POWER, 1, 0)
|
arlo.go_diff(POWER, POWER, 1, 0)
|
||||||
|
turning = "R"
|
||||||
else:
|
else:
|
||||||
arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 0, 1)
|
arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 0, 1)
|
||||||
|
turning = "L"
|
||||||
|
|
||||||
time.sleep(0.01)
|
time.sleep(0.01)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user