Files
solutions_season_unearthed/missions/M8_5.py

53 lines
1.7 KiB
Python
Raw Normal View History

2025-09-10 13:38:07 +00:00
from pybricks.hubs import PrimeHub
from pybricks.pupdevices import Motor, ColorSensor, UltrasonicSensor, ForceSensor
from pybricks.parameters import Button, Color, Direction, Port, Side, Stop
from pybricks.robotics import DriveBase
from pybricks.tools import wait, StopWatch
from pybricks.tools import run_task, multitask
hub = PrimeHub()
left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE)
right_motor = Motor(Port.B)
left_arm = Motor(Port.C, Direction.COUNTERCLOCKWISE)
right_arm = Motor(Port.D)
drive_base = DriveBase(left_motor, right_motor, wheel_diameter=68.8, axle_track=180)
drive_base.settings(600,500,300,200)
drive_base.use_gyro(True)
async def main():
2025-10-22 00:07:04 +00:00
#Setup for mission
2025-09-10 13:38:07 +00:00
left_arm.run_angle(1000, 300)
right_arm.run_angle(1000,500)
await drive_base.straight(320)
2025-10-22 00:07:04 +00:00
# Solve "Silo"
2025-09-10 13:38:07 +00:00
await right_arm.run_angle(5000,-500, Stop.HOLD)
await right_arm.run_angle(5000,500, Stop.HOLD)
await right_arm.run_angle(5000,-500, Stop.HOLD)
await right_arm.run_angle(5000,500, Stop.HOLD)
await right_arm.run_angle(5000,-500, Stop.HOLD)
2025-10-22 00:07:04 +00:00
#Get to next mission
2025-09-10 13:38:07 +00:00
await drive_base.turn(-20)
2025-10-04 00:53:13 +00:00
await drive_base.straight(277)
2025-09-10 13:38:07 +00:00
await drive_base.turn(20)
2025-10-04 00:53:13 +00:00
await drive_base.straight(65)
2025-10-22 00:07:04 +00:00
#Solve "Who Lived Here?"
2025-09-10 13:38:07 +00:00
await drive_base.turn(-30)
2025-10-04 00:53:13 +00:00
right_arm.run_angle(70,500)
2025-10-22 00:07:04 +00:00
#Get to next mission
2025-09-10 13:38:07 +00:00
await drive_base.turn(45)
2025-10-22 00:07:04 +00:00
await drive_base.straight(-145)
2025-09-10 13:38:07 +00:00
await drive_base.turn(-60)
await drive_base.straight(90)
2025-10-22 00:07:04 +00:00
#Solve "What's on Sale?"
2025-09-10 13:38:07 +00:00
await left_arm.run_angle(1000,-450)
await drive_base.straight(-145)
await left_arm.run_angle(1000,450)
await drive_base.straight(10)
2025-10-22 00:07:04 +00:00
#Return to home
2025-09-10 13:38:07 +00:00
await drive_base.turn(35)
2025-10-04 00:53:13 +00:00
await drive_base.straight(-600)
2025-09-10 13:38:07 +00:00
run_task(main())