diff --git a/rally.py b/rally.py index d8757ea..2b3f1c1 100644 --- a/rally.py +++ b/rally.py @@ -42,6 +42,7 @@ def careful_forward(drive_time, arlo): start = time.time() end = start + drive_time turning = None + hit_something = False while time.time() < end: forward_dist = arlo.read_front_ping_sensor() right_dist = arlo.read_right_ping_sensor() @@ -52,6 +53,7 @@ def careful_forward(drive_time, arlo): arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 1) else: print("blocked") + hit_something = True if turning == "R" or (forward_dist > 600 and right_dist > 200 and turning is None): arlo.go_diff(POWER, POWER, 1, 0) turning = "R" @@ -61,6 +63,8 @@ def careful_forward(drive_time, arlo): time.sleep(0.01) + return hit_something + def main(): landmark_order = LANDMARKS + [ LANDMARKS[0] @@ -105,7 +109,8 @@ def main(): time.sleep((abs(angle) * TURN_T * CLOCKWISE_OFFSET)/1000) noah.stop() - careful_forward((drive_distance * DRIVE_T)/1000, noah) + if not careful_forward((drive_distance * DRIVE_T)/1000, noah): + break if __name__ == "__main__": main()