diff --git a/infinity_loop.py b/infinity_loop.py new file mode 100644 index 0000000..0206734 --- /dev/null +++ b/infinity_loop.py @@ -0,0 +1,88 @@ +from time import sleep +import robot + +POWER = 70 + +TURN_T = 0.079 # 10 degrees +DRIVE_T = 0.22 # 10 centimeter + +RIGHT_WHEEL_OFFSET = 4 + +CLOCKWISE_OFFSET = 0.82 + +def loop(arlo): + arlo.go_diff(POWER, (POWER + RIGHT_WHEEL_OFFSET) / 10, 1, 1) + sleep(DRIVE_T * 10) + arlo.stop() + + arlo.go_diff(POWER / 10, POWER + RIGHT_WHEEL_OFFSET, 1, 1) + sleep(DRIVE_T * 10) + arlo.stop() + +def clockwise_square(arlo): + arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 0, 1) + sleep(TURN_T * 0.5) + arlo.stop() + sleep(0.5) + + for _ in range(4): + # Driving forward + arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 1) + sleep(DRIVE_T * 10) + arlo.stop() + + sleep(1) + + # Turning 90 degrees + arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 0) + sleep(TURN_T * 10 * CLOCKWISE_OFFSET) + arlo.stop() + sleep(0.2) + arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 0, 1) + sleep(TURN_T) + arlo.stop() + + + sleep(1) + +def counter_square(arlo): + arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 0, 1) + sleep(TURN_T * 0.5) + arlo.stop() + sleep(0.5) + + for _ in range(4): + # Driving forward + arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 1) + sleep(DRIVE_T * 10) + arlo.stop() + + sleep(0.5) + + # Turning 90 degrees + arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 0, 1) + sleep(TURN_T * 10) + arlo.stop() + sleep(0.2) + arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 0) + sleep(TURN_T) + arlo.stop() + + sleep(0.5) + +def main(): + # Initializes the robot and runs the + arlo = robot.Robot() + + direction = int(input("clockwise (1)/counter (2):")) + + try: + loop(arlo) + + except KeyboardInterrupt: + arlo.stop() + + +if __name__ == "__main__": + + main()