Files
Roboteksperimentarium/square.py
NikolajDanger f3928da22d
2022-09-07 13:46:37 +02:00

83 lines
1.7 KiB
Python

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.96
def clockwise_square(arlo):
arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 0)
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:
if direction == 1:
clockwise_square(arlo)
else:
counter_square(arlo)
except KeyboardInterrupt:
arlo.stop()
if __name__ == "__main__":
main()