Update competition_codes/state/sunprarie_state_main.py

Code optimization and additions to 1st run.
This commit is contained in:
2025-12-24 16:34:38 +00:00
parent a902f29952
commit 5a5b6d2d16

View File

@@ -50,6 +50,9 @@ async def monitor_distance():
# Small delay to prevent overwhelming the sensor
await wait(50)
def set_default_speed():
drive_base.settings(600, 500, 300, 200)
"""
Run#1
- Removed forge and who lived here part
@@ -58,11 +61,16 @@ Run#1
"""
async def Run1():
await left_arm.run_until_stalled(1500 ,duty_limit=15)
# Fast approach to near-stall position
await left_arm.run_angle(2000, 180) # Fast movement upward
# Gentle stall detection (shorter distance = faster)
await left_arm.run_until_stalled(1500, duty_limit=15)
left_arm.reset_angle(0)
await solve_whats_on_sale()
await solve_silo()
# return to base
await drive_base.straight(-90)
#await drive_base.turn(-100)
@@ -94,14 +102,14 @@ async def solve_silo():
await drive_base.turn(42)
await drive_base.straight(90)
SPEED = 10000 # speed in degree per second
SWING_ANGLE = 80 # the angle!
# Repeat this motion 4 times
for _ in range(4):
await right_arm.run_angle(SPEED,SWING_ANGLE, Stop.COAST) # Swing up
await right_arm.run_angle(SPEED,(-1 * SWING_ANGLE),Stop.COAST) # Swing down
await right_arm.run_angle(10000,-80, Stop.HOLD)
await right_arm.run_angle(10000,80, Stop.HOLD)
await right_arm.run_angle(10000,-80, Stop.HOLD)
await right_arm.run_angle(10000,80, Stop.HOLD)
await right_arm.run_angle(10000,-80, Stop.HOLD)
await right_arm.run_angle(10000,80, Stop.HOLD)
await right_arm.run_angle(10000,-80, Stop.HOLD)
right_arm.run_angle(4000,60, Stop.HOLD)
@@ -319,7 +327,16 @@ async def solve_site_mark_2():
await wait(50)
await right_arm.run_angle(50, 50)
async def Run10(): # experiment with ferris wheel for Site Markings
await drive_base.straight(680)
drive_base.settings(150, 750, 50, 750)
await drive_base.turn(-45)
await drive_base.straight(200)
set_default_speed()
await drive_base.straight(-100)
await drive_base.turn(45)
drive_base.stop()
# Function to classify color based on HSV
def detect_color(h, s, v, reflected):
@@ -371,7 +388,7 @@ async def main():
await Run5()
elif color == "Purple":
print('Running Mission 6')
await Run6_7()
await Run10()
elif color == "Light_Blue":
print("Running Mission 2_1")
await Run2_1()
@@ -379,4 +396,4 @@ async def main():
print(f"Unknown color detected (Hue: {h}, Sat: {s}, Val: {v})")
await wait(10)
# Run the main function
run_task(main())
run_task(main())