From 7e1d310e245b4460393737bcd683dc379e694285 Mon Sep 17 00:00:00 2001 From: Vickram <31kapoov@elmbrookstudents.org> Date: Fri, 31 Oct 2025 00:29:07 +0000 Subject: [PATCH 01/55] New rishi code --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 35 +++++---------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index c48de0b..cebadd0 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -140,35 +140,16 @@ async def Run4(): # From Send_Over_Final.py # Add Rishi's code here async def Run5(): - await drive_base.straight(519) - await left_arm.run_angle(-10000, 300) - await left_arm.run_angle(10000, 600) - await drive_base.straight(160) - await drive_base.turn(-30) - await drive_base.straight(50) - await right_arm.run_angle(3000, 3000) - await drive_base.straight(-150) - await drive_base.turn(120) - await drive_base.straight(25) - await right_arm.run_angle(10000, -3000) - await drive_base.straight(-110) - await drive_base.turn(-43) - await right_arm.run_angle(10000, -3000) - await drive_base.straight(295) - await right_arm.run_angle(10000, 9000) - await drive_base.straight(-65) - await drive_base.turn(45) - await drive_base.straight(175) - await drive_base.turn(24.5) + await drive_base.straight(600) await drive_base.straight(-100) - await right_arm.run_angle(10000, -8500) + await drive_base.straight(150) + await drive_base.turn(60) await drive_base.straight(100) - await right_arm.run_angle(10000, 3500) - await drive_base.turn(-30) - await drive_base.straight(-300) - await drive_base.turn(-80) - await drive_base.straight(-700) - + await drive_base.turn(-86) + await drive_base.straight(120) + await drive_base.turn(-45) + await drive_base.straight(-200) + await drive_base.turn(75) # Add - Adi's code here async def Run6(): From a65ad1470cafcfb2245d1cf6ab1f58a769c74b23 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Fri, 31 Oct 2025 16:09:41 +0000 Subject: [PATCH 02/55] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 5187815..3567d58 100644 --- a/README.md +++ b/README.md @@ -94,12 +94,12 @@ Repository ### Color Start System | Color | Mission | |-------|-----------| -| Green 🟩 | Run 1 | -| Purple 🟪 | Run 2 | -| Red 🟥| Run 3 | -| Yellow 🟨| Run 4 | -| Blue 🟦| Run 5 | -| Orange 🟧| Run 6 | +| ```Green 🟩 ```| Run 1 | +| ```Purple 🟪 ```| Run 2 | +| ```Red 🟥 ```| Run 3 | +| ```Yellow 🟨 ```| Run 4 | +| ```Blue 🟦 ```| Run 5 | +| ```Orange 🟧 ```| Run 6 | --- From 3a457218125534f324bd6e62bd203513fb3cf608 Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Tue, 4 Nov 2025 01:10:02 +0000 Subject: [PATCH 03/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 58 +++++++++------------ 1 file changed, 25 insertions(+), 33 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index c48de0b..ac36537 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -21,7 +21,7 @@ drive_base = DriveBase(left_motor, right_motor, WHEEL_DIAMETER, AXLE_TRACK) drive_base.settings(600, 500, 300, 200) drive_base.use_gyro(True) -WALL_DISTANCE = 300 # mm +WALL_DISTANCE = 200 # mm async def drive_forward(): """Drive forward continuously using DriveBase.""" @@ -61,15 +61,9 @@ async def Run1(): # From M8_5.py right_arm.run_angle(50, 500) await drive_base.turn(45) await drive_base.straight(-145) - await drive_base.turn(-60) - await drive_base.straight(90) - await left_arm.run_angle(1000, 450) - await drive_base.straight(-145) - await left_arm.run_angle(1000, -450) - await drive_base.straight(10) - await drive_base.turn(35) - await drive_base.straight(-600) - + await drive_base.turn(-30) + await drive_base.straight(-700) + async def Run2(): # From Heavy_lifting_final.py await drive_base.straight(200) await drive_base.turn(-20) @@ -105,39 +99,37 @@ async def Run3(): # tip the scale.py await drive_base.turn(40) # turning right await left_arm.run_angle(410,-400) #lift a little bit await drive_base.straight(80) - await drive_base.turn(-41) #ma din din din dun 67 41 21 69 + await drive_base.turn(-41) #ma din din din dun 67 41 21 await drive_base.straight(900) async def Run4(): # From Send_Over_Final.py - #Get to mission - await drive_base.straight(920) - await drive_base.turn(-90,Stop.HOLD) - await drive_base.straight(65) - #Solve mission + right_arm.run_angle(800,800) + await drive_base.straight(170) + await drive_base.turn(-90) + + await drive_base.straight(270) + await drive_base.turn(59) + await drive_base.straight(202) + await drive_base.turn(2) + await right_arm.run_angle(350,-800) + await right_arm.run_angle(800,800) + await drive_base.straight(-20) + await drive_base.straight(-35) + await drive_base.turn(-60) + await drive_base.straight(342) + await drive_base.turn(-89) + await drive_base.straight(75) # Tralelo Tralala shark with blue shoes drive_base.turn(-10) - await left_arm.run_angle(10000, 4000) - #Get to Red Start + await left_arm.run_angle(1000,-4000) await drive_base.straight(-110) await drive_base.turn(90) - # while True: - # distance_mm = await lazer_ranger.distance() - # print('distancing...',distance_mm) - - # if distance_mm < 300: - # drive_base.stop - # break - # else: - # drive_base.straight(300) - # print('running...') - # await wait(10) + await multitask( drive_forward(), monitor_distance() ) - - # Add Rishi's code here async def Run5(): await drive_base.straight(519) @@ -159,9 +151,9 @@ async def Run5(): await drive_base.straight(-65) await drive_base.turn(45) await drive_base.straight(175) - await drive_base.turn(24.5) + await drive_base.turn(26) await drive_base.straight(-100) - await right_arm.run_angle(10000, -8500) + await right_arm.run_angle(10000, -9000) await drive_base.straight(100) await right_arm.run_angle(10000, 3500) await drive_base.turn(-30) From 9cdd9886e3b164658fa02e219cc84471a481d205 Mon Sep 17 00:00:00 2001 From: Rishikesh Lolapu <31lolapr@elmbrookstudents.org> Date: Tue, 4 Nov 2025 01:15:50 +0000 Subject: [PATCH 04/55] Update codes_for_scrimmage/hazmat/HazmatCodeChanges.py --- .../hazmat/HazmatCodeChanges.py | 59 ++++++++++--------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/codes_for_scrimmage/hazmat/HazmatCodeChanges.py b/codes_for_scrimmage/hazmat/HazmatCodeChanges.py index c48de0b..36efc37 100644 --- a/codes_for_scrimmage/hazmat/HazmatCodeChanges.py +++ b/codes_for_scrimmage/hazmat/HazmatCodeChanges.py @@ -140,40 +140,41 @@ async def Run4(): # From Send_Over_Final.py # Add Rishi's code here async def Run5(): - await drive_base.straight(519) - await left_arm.run_angle(-10000, 300) - await left_arm.run_angle(10000, 600) - await drive_base.straight(160) - await drive_base.turn(-30) - await drive_base.straight(50) - await right_arm.run_angle(3000, 3000) - await drive_base.straight(-150) - await drive_base.turn(120) - await drive_base.straight(25) - await right_arm.run_angle(10000, -3000) - await drive_base.straight(-110) - await drive_base.turn(-43) - await right_arm.run_angle(10000, -3000) - await drive_base.straight(295) - await right_arm.run_angle(10000, 9000) - await drive_base.straight(-65) - await drive_base.turn(45) - await drive_base.straight(175) - await drive_base.turn(24.5) - await drive_base.straight(-100) - await right_arm.run_angle(10000, -8500) + await drive_base.straight(700) + await drive_base.turn(-18) await drive_base.straight(100) - await right_arm.run_angle(10000, 3500) - await drive_base.turn(-30) - await drive_base.straight(-300) - await drive_base.turn(-80) - await drive_base.straight(-700) + await drive_base.straight(-205) + await drive_base.turn(63) + await drive_base.straight(125) + await arm_motor.run_angle(1000, -1200) + await drive_base.straight(84) + await arm_motor.run_angle(300, 1200) + await drive_base.straight(-875) # Add - Adi's code here async def Run6(): - await drive_base.straight(750) - await drive_base.straight(-650) + await drive_base.straight(500) + await right_arm.run_angle(300,500) + await drive_base.straight(-75) + await right_arm.run_angle(300, -900) + await drive_base.straight(-350) + await wait(1000) + await drive_base.straight(800) + await drive_base.straight(-200) + await drive_base.turn(-15) + await drive_base.straight(350) + await drive_base.turn(-94) + await drive_base.straight(-80) + await left_arm.run_angle(500, 900) + await drive_base.straight(50) + await drive_base.turn(-10) + await drive_base.straight(50) + await left_arm.run_angle(700, -200) + await drive_base.turn(30) + await drive_base.straight(-60) + await drive_base.turn(80) + await drive_base.straight(-900) # Function to classify color based on HSV From 401033b1856dcb34cab47d70beb1a4a6defd538e Mon Sep 17 00:00:00 2001 From: Rishikesh Lolapu <31lolapr@elmbrookstudents.org> Date: Tue, 4 Nov 2025 01:18:44 +0000 Subject: [PATCH 05/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 61 ++++++++++----------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index ac36537..ae79328 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -132,41 +132,40 @@ async def Run4(): # From Send_Over_Final.py # Add Rishi's code here async def Run5(): - await drive_base.straight(519) - await left_arm.run_angle(-10000, 300) - await left_arm.run_angle(10000, 600) - await drive_base.straight(160) - await drive_base.turn(-30) - await drive_base.straight(50) - await right_arm.run_angle(3000, 3000) - await drive_base.straight(-150) - await drive_base.turn(120) - await drive_base.straight(25) - await right_arm.run_angle(10000, -3000) - await drive_base.straight(-110) - await drive_base.turn(-43) - await right_arm.run_angle(10000, -3000) - await drive_base.straight(295) - await right_arm.run_angle(10000, 9000) - await drive_base.straight(-65) - await drive_base.turn(45) - await drive_base.straight(175) - await drive_base.turn(26) - await drive_base.straight(-100) - await right_arm.run_angle(10000, -9000) + await drive_base.straight(700) + await drive_base.turn(-18) await drive_base.straight(100) - await right_arm.run_angle(10000, 3500) - await drive_base.turn(-30) - await drive_base.straight(-300) - await drive_base.turn(-80) - await drive_base.straight(-700) - + await drive_base.straight(-205) + await drive_base.turn(63) + await drive_base.straight(125) + await arm_motor.run_angle(1000, -1200) + await drive_base.straight(84) + await arm_motor.run_angle(300, 1200) + await drive_base.straight(-875) # Add - Adi's code here async def Run6(): - await drive_base.straight(750) - await drive_base.straight(-650) - + await drive_base.straight(500) + await right_arm.run_angle(300,500) + await drive_base.straight(-75) + await right_arm.run_angle(300, -900) + await drive_base.straight(-350) + await wait(1000) + await drive_base.straight(800) + await drive_base.straight(-200) + await drive_base.turn(-15) + await drive_base.straight(350) + await drive_base.turn(-94) + await drive_base.straight(-80) + await left_arm.run_angle(500, 900) + await drive_base.straight(50) + await drive_base.turn(-10) + await drive_base.straight(50) + await left_arm.run_angle(700, -200) + await drive_base.turn(30) + await drive_base.straight(-60) + await drive_base.turn(80) + await drive_base.straight(-900) # Function to classify color based on HSV def detect_color(h, s, v, reflected): From 3b81a3ff2bb65738738cb6c1b099539f9fc9b591 Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Tue, 4 Nov 2025 02:57:00 +0000 Subject: [PATCH 06/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 54 ++++++++++----------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index ae79328..6037463 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -45,24 +45,35 @@ async def monitor_distance(): # New Section async def Run1(): # From M8_5.py - left_arm.run_angle(1000, -300) - right_arm.run_angle(1000, 500) + left_arm.run_angle(1000, 300) + right_arm.run_angle(1000,500) await drive_base.straight(320) - 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) + + 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) + await drive_base.turn(-20) await drive_base.straight(277) await drive_base.turn(20) await drive_base.straight(65) + await drive_base.turn(-30) - right_arm.run_angle(50, 500) + right_arm.run_angle(70,500) await drive_base.turn(45) await drive_base.straight(-145) - await drive_base.turn(-30) - await drive_base.straight(-700) + await drive_base.turn(-60) + await drive_base.straight(90) + await left_arm.run_angle(1000,-450) + await drive_base.straight(-150) + await left_arm.run_angle(1000,450) + await drive_base.straight(27.67) #turns back to solve market place + await drive_base.turn(90) #Will solve market place + await drive_base.straight(-450) + await drive_base.turn(70) + await drive_base.straight(600) async def Run2(): # From Heavy_lifting_final.py await drive_base.straight(200) @@ -104,27 +115,16 @@ async def Run3(): # tip the scale.py async def Run4(): # From Send_Over_Final.py - right_arm.run_angle(800,800) - await drive_base.straight(170) - await drive_base.turn(-90) - await drive_base.straight(270) - await drive_base.turn(59) - await drive_base.straight(202) - await drive_base.turn(2) - await right_arm.run_angle(350,-800) - await right_arm.run_angle(800,800) - await drive_base.straight(-20) - await drive_base.straight(-35) - await drive_base.turn(-60) - await drive_base.straight(342) - await drive_base.turn(-89) - await drive_base.straight(75) # Tralelo Tralala shark with blue shoes + await drive_base.straight(920) + await drive_base.turn(-90,Stop.HOLD) + await drive_base.straight(65) + #Solve drive_base.turn(-10) - await left_arm.run_angle(1000,-4000) + await left_arm.run_angle(10000,-4000) await drive_base.straight(-110) await drive_base.turn(90) - + await multitask( drive_forward(), monitor_distance() From 0c7633d92dd3470c281db4bcdd60e48a1b123d89 Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Tue, 4 Nov 2025 18:21:26 +0000 Subject: [PATCH 07/55] Update missions/M8_5.py --- missions/M8_5.py | 61 +++++++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/missions/M8_5.py b/missions/M8_5.py index 95ecc9e..c91d27a 100644 --- a/missions/M8_5.py +++ b/missions/M8_5.py @@ -19,31 +19,44 @@ drive_base.settings(600,500,300,200) drive_base.use_gyro(True) async def main(): - left_arm.run_angle(1000, 300) - right_arm.run_angle(1000,500) - await drive_base.straight(320) + + right_arm.run_angle(1000,450) + left_arm.run_angle(500,-80) + await drive_base.straight(200) - 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) + await drive_base.turn(-40) + await drive_base.straight(325) + await left_arm.run_angle(500,80) - await drive_base.turn(-20) - await drive_base.straight(277) - await drive_base.turn(20) - await drive_base.straight(65) + await drive_base.straight(-100) + await drive_base.straight(50) + await left_arm.run_angle(500,-170) + + await drive_base.straight(-270) + await drive_base.turn(40) + await drive_base.straight(135) + left_arm.run_angle(1000,-670) + + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + right_arm.run_angle(5000,450, Stop.HOLD) + + await drive_base.turn(-35) + await drive_base.straight(300) + await drive_base.turn(63) + await drive_base.straight(170) + + await drive_base.turn(-80) + await drive_base.straight(87) + await drive_base.turn(-15) + + await drive_base.straight(-120) + await drive_base.turn(-100) + await drive_base.straight(300) + await drive_base.turn(-45) + await drive_base.straight(500) - await drive_base.turn(-30) - right_arm.run_angle(50,500) - await drive_base.turn(45) - await drive_base.straight(-145) - await drive_base.turn(-60) - await drive_base.straight(90) - await left_arm.run_angle(1000,-450) - await drive_base.straight(-145) - await left_arm.run_angle(1000,450) - await drive_base.straight(10) - await drive_base.turn(35) - await drive_base.straight(-600) run_task(main()) \ No newline at end of file From debbc4e4d0abc2cd6709f8799a8102553bd9ddaa Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 00:03:03 +0000 Subject: [PATCH 08/55] Delete missions/Set2.py --- missions/Set2.py | 50 ------------------------------------------------ 1 file changed, 50 deletions(-) delete mode 100644 missions/Set2.py diff --git a/missions/Set2.py b/missions/Set2.py deleted file mode 100644 index 9298da3..0000000 --- a/missions/Set2.py +++ /dev/null @@ -1,50 +0,0 @@ -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, run_task, multitask - -hub = PrimeHub() - -# Initialize both motors. In this example, the motor on the -# left must turn counterclockwise to make the robot go forward. -left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE) -right_motor = Motor(Port.B) - -arm_motor = Motor(Port.D, Direction.CLOCKWISE) -arm_motor_left= Motor(Port.C, Direction.CLOCKWISE) -# Initialize the drive base. In this example, the wheel diameter is 56mm. -# The distance between the two wheel-ground contact points is 112mm. -drive_base = DriveBase(left_motor, right_motor, wheel_diameter=68.8, axle_track=180) - -print('The default settings are: ' + str(drive_base.settings())) -drive_base.settings(300,1000,300,750) -# Optionally, uncomment the line below to use the gyro for improved accuracy. -drive_base.use_gyro(True) - -async def main(): - await drive_base.straight(519) - await arm_motor_left.run_angle(-10000, 300) - await arm_motor_left.run_angle(10000, 600) - await drive_base.straight(160) - await drive_base.turn(-30) - await drive_base.straight(50) - await arm_motor.run_angle(3000, 3000) - await drive_base.straight(-150) - await drive_base.turn(135) - await drive_base.straight(50) - await arm_motor.run_angle(10000, -3000) - await drive_base.straight(-100) - await drive_base.turn(-54) - await arm_motor.run_angle(10000, -3000) - await drive_base.straight(250) - await drive_base.turn(-5) - await arm_motor.run_angle(10000, 7000) - await drive_base.straight(-50) - await drive_base.turn(68) - await arm_motor.run_angle(10000, -6000) - await drive_base.straight(200) - await arm_motor.run_angle(10000, 4000) - await drive_base.turn(-40) - await arm_motor.run_angle(10000, 7000) -run_task(main()) \ No newline at end of file From b91e701f4c7bbb710d9f4d82fa5275e3a098e1ed Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 00:03:28 +0000 Subject: [PATCH 09/55] Upload files to "missions" from risshi ramdom ahhhh repo --- missions/Rishi.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 missions/Rishi.py diff --git a/missions/Rishi.py b/missions/Rishi.py new file mode 100644 index 0000000..7d84ee2 --- /dev/null +++ b/missions/Rishi.py @@ -0,0 +1,42 @@ +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, run_task, multitask + +hub = PrimeHub() + +# Initialize both motors. In this example, the motor on the +# left must turn counterclockwise to make the robot go forward. +left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE) +right_motor = Motor(Port.B) + +arm_motor = Motor(Port.D, Direction.CLOCKWISE) +arm_motor_left= Motor(Port.C, Direction.CLOCKWISE) +# Initialize the drive base. In this example, the wheel diameter is 56mm. +# The distance between the two wheel-ground contact points is 112mm. +drive_base = DriveBase(left_motor, right_motor, wheel_diameter=68.8, axle_track=180) + +print('The default settings are: ' + str(drive_base.settings())) +drive_base.settings(300,1000,300,750) +# Optionally, uncomment the line below to use the gyro for improved accuracy. +drive_base.use_gyro(True) + +async def main(): + await drive_base.straight(519) + await arm_motor_left.run_angle(-10000, 300) + await arm_motor_left.run_angle(10000, 600) + await drive_base.straight(160) + await drive_base.turn(-30) + await drive_base.straight(50) + await arm_motor.run_angle(3000, 3000) + await drive_base.straight(-150) + await drive_base.turn(135) + await drive_base.straight(50) + await arm_motor.run_angle(10000, -3000) + await drive_base.straight(-100) + await drive_base.turn(-54) + await arm_motor.run_angle(10000, -3000) + await drive_base.straight(200) + await arm_motor.run_angle(10000, 10000) +run_task(main()) \ No newline at end of file From 14bc8d291a1db58569f55faac5b32f9c248f5e75 Mon Sep 17 00:00:00 2001 From: Rishikesh Lolapu <31lolapr@elmbrookstudents.org> Date: Thu, 6 Nov 2025 00:58:52 +0000 Subject: [PATCH 10/55] Add missions/Hypo.py --- missions/Hypo.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 missions/Hypo.py diff --git a/missions/Hypo.py b/missions/Hypo.py new file mode 100644 index 0000000..47064db --- /dev/null +++ b/missions/Hypo.py @@ -0,0 +1,37 @@ +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, run_task, multitask + +hub = PrimeHub() + +# Initialize both motors. In this example, the motor on the +# left must turn counterclockwise to make the robot go forward. +left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE) +right_motor = Motor(Port.B) + +arm_motor = Motor(Port.D, Direction.CLOCKWISE) +arm_motor_left= Motor(Port.C, Direction.CLOCKWISE) +# Initialize the drive base. In this example, the wheel diameter is 56mm. +# The distance between the two wheel-ground contact points is 112mm. +drive_base = DriveBase(left_motor, right_motor, wheel_diameter=68.8, axle_track=180) + +print('The default settings are: ' + str(drive_base.settings())) +drive_base.settings(300,1000,300,750) +# Optionally, uncomment the line below to use the gyro for improved accuracy. +drive_base.use_gyro(True) + +async def main(): + await drive_base.straight(700) + await drive_base.turn(-17) + await drive_base.straight(100) + await drive_base.straight(-205) + await drive_base.turn(62) + await drive_base.straight(125) + await arm_motor.run_angle(1000, -1200) + await drive_base.straight(87) + await arm_motor.run_angle(300, 1200) + await drive_base.straight(-875) + +run_task(main()) \ No newline at end of file From 9a573c4eb23ba189732b272dbaa91a888f85e45f Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:03:46 +0000 Subject: [PATCH 11/55] Delete missions/Bautism.py --- missions/Bautism.py | 45 --------------------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 missions/Bautism.py diff --git a/missions/Bautism.py b/missions/Bautism.py deleted file mode 100644 index aeb80c2..0000000 --- a/missions/Bautism.py +++ /dev/null @@ -1,45 +0,0 @@ -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, run_task - -hub = PrimeHub() - -# Initialize both motors. In this example, the motor on the -# left must turn counterclockwise to make the robot go forward. -left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE) -right_motor = Motor(Port.B) - -arm_motor = Motor(Port.D, Direction.CLOCKWISE) -arm_motor_left= Motor(Port.C, Direction.CLOCKWISE) -# Initialize the drive base. In this example, the wheel diameter is 56mm. -# The distance between the two wheel-ground contact points is 112mm. -drive_base = DriveBase(left_motor, right_motor, wheel_diameter=68.8, axle_track=180) - -print('The default settings are: ' + str(drive_base.settings())) -drive_base.settings(300,1000,300,750) -# Optionally, uncomment the line below to use the gyro for improved accuracy. -drive_base.use_gyro(True) - -async def main(): - await drive_base.straight(519) - await arm_motor_left.run_angle(300, -100) - await arm_motor_left.run_angle(300, 500) - await drive_base.straight(180) - await drive_base.turn(-37) - await drive_base.straight(50) - await arm_motor.run_angle(300, -400) - await drive_base.straight(-150) - await drive_base.turn(135) - await drive_base.straight(50) - await arm_motor.run_angle(300, 400) - await drive_base.straight(-75) - await arm_motor.run_angle(300, 300) - await drive_base.turn(-50) - await drive_base.straight(162) - await arm_motor.run_angle(100, -200) - await drive_base.straight(30) - await arm_motor.run_angle(50,-500) - -run_task(main()) \ No newline at end of file From 5f0ffea7bc9ca8eb09784e8659e449265445a9fb Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:04:31 +0000 Subject: [PATCH 12/55] Delete missions/Boat_mission.py --- missions/Boat_mission.py | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 missions/Boat_mission.py diff --git a/missions/Boat_mission.py b/missions/Boat_mission.py deleted file mode 100644 index 6d87949..0000000 --- a/missions/Boat_mission.py +++ /dev/null @@ -1,27 +0,0 @@ -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(880,850,700,700) - -drive_base.use_gyro(True) - -first_run = True - -async def main(): - await drive_base.straight(750) - await drive_base.straight(-650) - -run_task(main()) \ No newline at end of file From d056255994b21babf56a566b8375dd85374f5295 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:04:37 +0000 Subject: [PATCH 13/55] Delete missions/Boat.py --- missions/Boat.py | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 missions/Boat.py diff --git a/missions/Boat.py b/missions/Boat.py deleted file mode 100644 index bb42eb7..0000000 --- a/missions/Boat.py +++ /dev/null @@ -1,27 +0,0 @@ -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(550,700,100,100) - -drive_base.use_gyro(True) - -first_run = False - -async def main(): - await drive_base.straight(750) - await drive_base.straight(-650) - -run_task(main()) \ No newline at end of file From eea26150f9ae54ff85caaf8f4b69a1a20eebd79c Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:05:24 +0000 Subject: [PATCH 14/55] Upload files to "missions" --- missions/Boat.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 missions/Boat.py diff --git a/missions/Boat.py b/missions/Boat.py new file mode 100644 index 0000000..bb42eb7 --- /dev/null +++ b/missions/Boat.py @@ -0,0 +1,27 @@ +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(550,700,100,100) + +drive_base.use_gyro(True) + +first_run = False + +async def main(): + await drive_base.straight(750) + await drive_base.straight(-650) + +run_task(main()) \ No newline at end of file From b97dcf6837097277fb3f360bc7111245246235a2 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:05:57 +0000 Subject: [PATCH 15/55] Delete missions/Heavy lifting.py --- missions/Heavy lifting.py | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 missions/Heavy lifting.py diff --git a/missions/Heavy lifting.py b/missions/Heavy lifting.py deleted file mode 100644 index 643e47d..0000000 --- a/missions/Heavy lifting.py +++ /dev/null @@ -1,37 +0,0 @@ -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(): - await right_arm.run_angle(2000,1000) - - await drive_base.straight(200) - await drive_base.turn(-20) - await drive_base.straight(525) - await drive_base.turn(60) - await drive_base.straight(30) - - await right_arm.run_angle(2000,-1000) - await drive_base.straight(30) - await right_arm.run_angle(3000,1000) - await drive_base.straight(-60) - - await drive_base.turn(-60) - await drive_base.straight(-525) - await drive_base.turn(20) - await drive_base.straight(-200) - From 6c6b7f1f02ecadbf5c7fba3792c8ca7121897590 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:06:05 +0000 Subject: [PATCH 16/55] Delete missions/Heavy_lifting_final.py --- missions/Heavy_lifting_final.py | 36 --------------------------------- 1 file changed, 36 deletions(-) delete mode 100644 missions/Heavy_lifting_final.py diff --git a/missions/Heavy_lifting_final.py b/missions/Heavy_lifting_final.py deleted file mode 100644 index 5a9dd1d..0000000 --- a/missions/Heavy_lifting_final.py +++ /dev/null @@ -1,36 +0,0 @@ -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(): - #Get to mission - await drive_base.straight(200) - await drive_base.turn(-20) - await drive_base.straight(525) - await drive_base.turn(60) - #Solve mission - await drive_base.straight(50) - await right_arm.run_angle(2000,1000) - await drive_base.straight(-50) - await drive_base.turn(45) - await drive_base.straight(50) - await right_arm.run_angle(350,-1000) - #Return home - await drive_base.straight(-100) - await drive_base.turn(-100) - await drive_base.straight(-600) -run_task(main()) \ No newline at end of file From 9ca07a36a85212810bc05427473762f5b1d420e2 Mon Sep 17 00:00:00 2001 From: Rishikesh Lolapu <31lolapr@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:06:09 +0000 Subject: [PATCH 17/55] Update missions/Boat.py --- missions/Boat.py | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/missions/Boat.py b/missions/Boat.py index bb42eb7..47064db 100644 --- a/missions/Boat.py +++ b/missions/Boat.py @@ -2,26 +2,36 @@ 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 +from pybricks.tools import wait, StopWatch, run_task, multitask hub = PrimeHub() +# Initialize both motors. In this example, the motor on the +# left must turn counterclockwise to make the robot go forward. left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE) right_motor = Motor(Port.B) -left_arm = Motor(Port.C, Direction.COUNTERCLOCKWISE) -right_arm = Motor(Port.D) +arm_motor = Motor(Port.D, Direction.CLOCKWISE) +arm_motor_left= Motor(Port.C, Direction.CLOCKWISE) +# Initialize the drive base. In this example, the wheel diameter is 56mm. +# The distance between the two wheel-ground contact points is 112mm. drive_base = DriveBase(left_motor, right_motor, wheel_diameter=68.8, axle_track=180) -drive_base.settings(550,700,100,100) - +print('The default settings are: ' + str(drive_base.settings())) +drive_base.settings(300,1000,300,750) +# Optionally, uncomment the line below to use the gyro for improved accuracy. drive_base.use_gyro(True) -first_run = False - async def main(): - await drive_base.straight(750) - await drive_base.straight(-650) - + await drive_base.straight(700) + await drive_base.turn(-17) + await drive_base.straight(100) + await drive_base.straight(-205) + await drive_base.turn(62) + await drive_base.straight(125) + await arm_motor.run_angle(1000, -1200) + await drive_base.straight(87) + await arm_motor.run_angle(300, 1200) + await drive_base.straight(-875) + run_task(main()) \ No newline at end of file From 4b7491637d3b2bab7f572c7d01cd2740f2db40b5 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:06:20 +0000 Subject: [PATCH 18/55] Delete missions/Lift.py --- missions/Lift.py | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 missions/Lift.py diff --git a/missions/Lift.py b/missions/Lift.py deleted file mode 100644 index a5e1773..0000000 --- a/missions/Lift.py +++ /dev/null @@ -1,34 +0,0 @@ -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(): - await drive_base.straight(200) - await drive_base.turn(-20) - await drive_base.straight(525) - await drive_base.turn(60) - - await drive_base.straight(50) - await right_arm.run_angle(2000,1000) - await drive_base.straight(-50) - await drive_base.turn(45) - await drive_base.straight(50) - await right_arm.run_angle(350,-1000) - - await drive_base.turn(-100) - await drive_base.straight(-600) -run_task(main()) \ No newline at end of file From 439aca673f687ce32b73b3ca1ba127653f2ac10b Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:06:28 +0000 Subject: [PATCH 19/55] Delete missions/Lift2.py --- missions/Lift2.py | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 missions/Lift2.py diff --git a/missions/Lift2.py b/missions/Lift2.py deleted file mode 100644 index a5e1773..0000000 --- a/missions/Lift2.py +++ /dev/null @@ -1,34 +0,0 @@ -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(): - await drive_base.straight(200) - await drive_base.turn(-20) - await drive_base.straight(525) - await drive_base.turn(60) - - await drive_base.straight(50) - await right_arm.run_angle(2000,1000) - await drive_base.straight(-50) - await drive_base.turn(45) - await drive_base.straight(50) - await right_arm.run_angle(350,-1000) - - await drive_base.turn(-100) - await drive_base.straight(-600) -run_task(main()) \ No newline at end of file From b1f378eae72d53111b1a02036ac40410fb2e9e2b Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:06:43 +0000 Subject: [PATCH 20/55] Delete missions/Sand Mission.py --- missions/Sand Mission.py | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 missions/Sand Mission.py diff --git a/missions/Sand Mission.py b/missions/Sand Mission.py deleted file mode 100644 index 368ba5c..0000000 --- a/missions/Sand Mission.py +++ /dev/null @@ -1,29 +0,0 @@ -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(400,500,100,100) - -drive_base.use_gyro(True) - - -async def main(): - await drive_base.straight(500) - await right_arm.run_angle(300,100) - await drive_base.straight(-100) - await right_arm.run_angle(300,-100) - await drive_base.straight(-350) - -run_task(main()) \ No newline at end of file From 73553b0964fbc2f089e13df847f1ca3a11995ff5 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:07:19 +0000 Subject: [PATCH 21/55] Delete missions/Send_Over.py --- missions/Send_Over.py | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 missions/Send_Over.py diff --git a/missions/Send_Over.py b/missions/Send_Over.py deleted file mode 100644 index 61e2d37..0000000 --- a/missions/Send_Over.py +++ /dev/null @@ -1,31 +0,0 @@ -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(): - - await drive_base.straight(915) - await drive_base.turn(-90) - await drive_base.straight(60) - await left_arm.run_angle(10000,-4000) - await drive_base.straight(-90) - await drive_base.turn(80) - await drive_base.straight(2000) - -run_task(main()) \ No newline at end of file From 8d4b296331517aafcf6dae11c7ff7705a79405e5 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:08:04 +0000 Subject: [PATCH 22/55] Delete missions/mission_09_old.py --- missions/mission_09_old.py | 44 -------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 missions/mission_09_old.py diff --git a/missions/mission_09_old.py b/missions/mission_09_old.py deleted file mode 100644 index ffdf445..0000000 --- a/missions/mission_09_old.py +++ /dev/null @@ -1,44 +0,0 @@ -# ---JOHANNES--- -# THIS CODE IS NOT USED ANYMORE AND SHOULD NOT BE USED!!!!!! -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 - -hub = PrimeHub() - -# Initialize both motors. In this example, the motor on the -# left must turn counterclockwise to make the robot go forward. -left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE) -right_motor = Motor(Port.B) - -arm_motor = Motor(Port.E, Direction.CLOCKWISE) -arm_motor.run_angle(299,90, Stop.HOLD) -# Initialize the drive base. In this example, the wheel diameter is 56mm. -# The distance between the two wheel-ground contact points is 112mm. -drive_base = DriveBase(left_motor, right_motor, wheel_diameter=54, axle_track=140) - -print('The default settings are: ' + str(drive_base.settings())) -drive_base.settings(100,1000,166,750) -# Optionally, uncomment the line below to use the gyro for improved accuracy. -drive_base.use_gyro(True) - -async def solveM9(): - print("Solving Mission 9") - await drive_base.turn(45) - await drive_base.straight(260) - await arm_motor.run_angle(500,-500, Stop.HOLD) - await drive_base.straight(-40) - await drive_base.turn(92) - await drive_base.straight(-120) - await drive_base.straight(220) - await arm_motor.run_angle(500,100, Stop.HOLD) - await drive_base.turn(-50) - await drive_base.straight(-600) -async def main(): - await drive_base.straight(50) - print("Hello, Robot is starting to run.") - await solveM9() - -run_task(main()) \ No newline at end of file From a690350d1d042eef906624a594583eff8fc5c3a7 Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:08:31 +0000 Subject: [PATCH 23/55] Update missions/Send_Over_Final.py --- missions/Send_Over_Final.py | 45 ++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/missions/Send_Over_Final.py b/missions/Send_Over_Final.py index db9a179..61a1f33 100644 --- a/missions/Send_Over_Final.py +++ b/missions/Send_Over_Final.py @@ -19,28 +19,41 @@ drive_base = DriveBase(left_motor, right_motor, wheel_diameter=68.8, axle_track= drive_base.settings(600,500,300,200) drive_base.use_gyro(True) +WALL_DISTANCE = 200 # mm + +async def drive_forward(): + """Drive forward continuously using DriveBase.""" + drive_base.drive(400, 0) + + +async def monitor_distance(): + """Monitor ultrasonic sensor and stop when wall is detected.""" + while True: + distance = await lazer_ranger.distance() + print('Distancing...',distance) + + if distance < WALL_DISTANCE: + # Stop the drivebase + await drive_base.stop + print(f"Wall detected at {distance}mm!") + break + + # Small delay to prevent overwhelming the sensor + await wait(50) + async def main(): - #Get to mission - await drive_base.straight(920) + await drive_base.straight(-920) await drive_base.turn(-90,Stop.HOLD) await drive_base.straight(65) - #Solve mission + #Solve drive_base.turn(-10) await left_arm.run_angle(10000,-4000) - #Get to Red Start await drive_base.straight(-110) await drive_base.turn(90) - await drive_base.straight(500) - while True: - distance_mm = await lazer_ranger.distance() - print('distancing...',distance_mm) - - if distance_mm < 300: - drive_base.stop - break - else: - drive_base.straight(300) - print('running...') - await wait(10) +await multitask( + drive_forward(), + monitor_distance() + ) + run_task(main()) \ No newline at end of file From e92404394566d4e4df363a5595c442f418ee31ab Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:11:00 +0000 Subject: [PATCH 24/55] Upload files to "utils/tests" --- utils/tests/colorsensortest.py | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 utils/tests/colorsensortest.py diff --git a/utils/tests/colorsensortest.py b/utils/tests/colorsensortest.py new file mode 100644 index 0000000..b01d0d9 --- /dev/null +++ b/utils/tests/colorsensortest.py @@ -0,0 +1,45 @@ +from pybricks.pupdevices import Motor, ColorSensor, UltrasonicSensor, ForceSensor +from pybricks.parameters import Button, Color, Direction, Port, Side, Stop +from pybricks.tools import run_task, multitask +from pybricks.tools import wait, StopWatch +from pybricks.robotics import DriveBase +from pybricks.hubs import PrimeHub + +# Initialize hub and devices +hub = PrimeHub() + +color_sensor = ColorSensor(Port.F) + +# Color Settings +# https://docs.pybricks.com/en/latest/parameters/color.html +print("Default Detected Colors:", color_sensor.detectable_colors()) + +# Custom color Hue, Saturation, Brightness value for Lego bricks +Color.MAGENTA = Color(300,100,100) +Color.VIOLET = Color(277,68,32) +Color.BLUE = Color(240,100,100) +Color.CYAN = Color(180,100,100) + +LEGO_BRICKS_COLOR = [ + Color.BLUE, + Color.GREEN, + Color.WHITE, + Color.RED, + Color.YELLOW, + Color.MAGENTA, + Color.VIOLET, + Color.NONE +] +#Update Detectable colors +color_sensor.detectable_colors(LEGO_BRICKS_COLOR) +print(f'Yellow:{Color.YELLOW} : {Color.YELLOW.h}, {Color.YELLOW.s}, {Color.YELLOW.v}') +print("Updated Detected Colors:", color_sensor.detectable_colors()) +async def main(): + while True: + color_reflected_percent = await color_sensor.reflection() + print(color_reflected_percent) + + if color_reflected_percent > 1: # Make sure we actually have color reflections before checking for color + color_detected = await color_sensor.color() + print(f'Detected color:{color_detected} : {color_detected.h}, {color_detected.s}, {color_detected.v}') +run_task(main()) \ No newline at end of file From 9061eef3115e4cd8d5bfc82d5eba2b4d2c76f46c Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:12:19 +0000 Subject: [PATCH 25/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 65 +++++++++++++-------- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index c48de0b..00c3fa3 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -21,7 +21,7 @@ drive_base = DriveBase(left_motor, right_motor, WHEEL_DIAMETER, AXLE_TRACK) drive_base.settings(600, 500, 300, 200) drive_base.use_gyro(True) -WALL_DISTANCE = 300 # mm +WALL_DISTANCE = 200 # mm async def drive_forward(): """Drive forward continuously using DriveBase.""" @@ -45,30 +45,45 @@ async def monitor_distance(): # New Section async def Run1(): # From M8_5.py - left_arm.run_angle(1000, -300) - right_arm.run_angle(1000, 500) - await drive_base.straight(320) - 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) - await drive_base.turn(-20) - await drive_base.straight(277) - await drive_base.turn(20) - await drive_base.straight(65) - await drive_base.turn(-30) - right_arm.run_angle(50, 500) - await drive_base.turn(45) - await drive_base.straight(-145) - await drive_base.turn(-60) - await drive_base.straight(90) - await left_arm.run_angle(1000, 450) - await drive_base.straight(-145) - await left_arm.run_angle(1000, -450) - await drive_base.straight(10) - await drive_base.turn(35) - await drive_base.straight(-600) + right_arm.run_angle(1000,450) + left_arm.run_angle(500,-80) + await drive_base.straight(200) + + await drive_base.turn(-40) + await drive_base.straight(325) + await left_arm.run_angle(500,80) + + await drive_base.straight(-100) + await drive_base.straight(50) + await left_arm.run_angle(500,-170) + + await drive_base.straight(-270) + await drive_base.turn(40) + await drive_base.straight(135) + left_arm.run_angle(1000,-670) + + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + right_arm.run_angle(5000,450, Stop.HOLD) + + await drive_base.turn(-35) + await drive_base.straight(300) + await drive_base.turn(63) + await drive_base.straight(170) + + await drive_base.turn(-80) + await drive_base.straight(87) + await drive_base.turn(-15) + + await drive_base.straight(-120) + await drive_base.turn(-100) + await drive_base.straight(300) + await drive_base.turn(-45) + await drive_base.straight(500) + async def Run2(): # From Heavy_lifting_final.py await drive_base.straight(200) From 074703af1aadfa180dd42a09ee169ab81d60a07d Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:24:37 +0000 Subject: [PATCH 26/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 62 ++++++++++++--------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index 6037463..6d22efd 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -45,35 +45,45 @@ async def monitor_distance(): # New Section async def Run1(): # From M8_5.py - left_arm.run_angle(1000, 300) - right_arm.run_angle(1000,500) - await drive_base.straight(320) + right_arm.run_angle(1000,450) + left_arm.run_angle(500,-80) + await drive_base.straight(200) - 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) + await drive_base.turn(-40) + await drive_base.straight(325) + await left_arm.run_angle(500,80) - await drive_base.turn(-20) - await drive_base.straight(277) - await drive_base.turn(20) - await drive_base.straight(65) + await drive_base.straight(-100) + await drive_base.straight(50) + await left_arm.run_angle(500,-170) + + await drive_base.straight(-270) + await drive_base.turn(40) + await drive_base.straight(135) + left_arm.run_angle(1000,-670) + + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + right_arm.run_angle(5000,450, Stop.HOLD) + + await drive_base.turn(-35) + await drive_base.straight(300) + await drive_base.turn(63) + await drive_base.straight(170) + + await drive_base.turn(-80) + await drive_base.straight(87) + await drive_base.turn(-15) + + await drive_base.straight(-120) + await drive_base.turn(-100) + await drive_base.straight(300) + await drive_base.turn(-45) + await drive_base.straight(500) - await drive_base.turn(-30) - right_arm.run_angle(70,500) - await drive_base.turn(45) - await drive_base.straight(-145) - await drive_base.turn(-60) - await drive_base.straight(90) - await left_arm.run_angle(1000,-450) - await drive_base.straight(-150) - await left_arm.run_angle(1000,450) - await drive_base.straight(27.67) #turns back to solve market place - await drive_base.turn(90) #Will solve market place - await drive_base.straight(-450) - await drive_base.turn(70) - await drive_base.straight(600) async def Run2(): # From Heavy_lifting_final.py await drive_base.straight(200) From 214ea1c22e0aa876f32872ea06611de5d74d1af9 Mon Sep 17 00:00:00 2001 From: Rishikesh Lolapu <31lolapr@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:24:47 +0000 Subject: [PATCH 27/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 259 +++++++++++++++++--- 1 file changed, 223 insertions(+), 36 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index 6d22efd..a868844 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -45,45 +45,35 @@ async def monitor_distance(): # New Section async def Run1(): # From M8_5.py - right_arm.run_angle(1000,450) - left_arm.run_angle(500,-80) - await drive_base.straight(200) + left_arm.run_angle(1000, 300) + right_arm.run_angle(1000,500) + await drive_base.straight(320) - await drive_base.turn(-40) - await drive_base.straight(325) - await left_arm.run_angle(500,80) + 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) - await drive_base.straight(-100) - await drive_base.straight(50) - await left_arm.run_angle(500,-170) - - await drive_base.straight(-270) - await drive_base.turn(40) - await drive_base.straight(135) - left_arm.run_angle(1000,-670) - - await right_arm.run_angle(5000,-450, Stop.HOLD) - await right_arm.run_angle(5000,450, Stop.HOLD) - await right_arm.run_angle(5000,-450, Stop.HOLD) - await right_arm.run_angle(5000,450, Stop.HOLD) - await right_arm.run_angle(5000,-450, Stop.HOLD) - right_arm.run_angle(5000,450, Stop.HOLD) - - await drive_base.turn(-35) - await drive_base.straight(300) - await drive_base.turn(63) - await drive_base.straight(170) - - await drive_base.turn(-80) - await drive_base.straight(87) - await drive_base.turn(-15) - - await drive_base.straight(-120) - await drive_base.turn(-100) - await drive_base.straight(300) - await drive_base.turn(-45) - await drive_base.straight(500) + await drive_base.turn(-20) + await drive_base.straight(277) + await drive_base.turn(20) + await drive_base.straight(65) + await drive_base.turn(-30) + right_arm.run_angle(70,500) + await drive_base.turn(45) + await drive_base.straight(-145) + await drive_base.turn(-60) + await drive_base.straight(90) + await left_arm.run_angle(1000,-450) + await drive_base.straight(-150) + await left_arm.run_angle(1000,450) + await drive_base.straight(27.67) #turns back to solve market place + await drive_base.turn(90) #Will solve market place + await drive_base.straight(-450) + await drive_base.turn(70) + await drive_base.straight(600) async def Run2(): # From Heavy_lifting_final.py await drive_base.straight(200) @@ -153,6 +143,153 @@ async def Run5(): await arm_motor.run_angle(300, 1200) await drive_base.straight(-875) +# Add - Adi's code here +async def Run6(): +from pybricks.pupdevices import Motor, ColorSensor, UltrasonicSensor, ForceSensor +from pybricks.parameters import Button, Color, Direction, Port, Side, Stop +from pybricks.tools import run_task, multitask +from pybricks.tools import wait, StopWatch +from pybricks.robotics import DriveBase +from pybricks.hubs import PrimeHub + +# Initialize hub and devices +hub = PrimeHub() +left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE) +right_motor = Motor(Port.B) +left_arm = Motor(Port.C) +right_arm = Motor(Port.D) +lazer_ranger = UltrasonicSensor(Port.E) +color_sensor = ColorSensor(Port.F) + +# DriveBase configuration +WHEEL_DIAMETER = 68.8 # mm (adjust for your wheels) +AXLE_TRACK = 180 # mm (distance between wheels) +drive_base = DriveBase(left_motor, right_motor, WHEEL_DIAMETER, AXLE_TRACK) +drive_base.settings(600, 500, 300, 200) +drive_base.use_gyro(True) + +WALL_DISTANCE = 200 # mm + +async def drive_forward(): + """Drive forward continuously using DriveBase.""" + drive_base.drive(400, 0) + + +async def monitor_distance(): + """Monitor ultrasonic sensor and stop when wall is detected.""" + while True: + distance = await lazer_ranger.distance() + print('Distancing...',distance) + + if distance < WALL_DISTANCE: + # Stop the drivebase + await drive_base.stop + print(f"Wall detected at {distance}mm!") + break + + # Small delay to prevent overwhelming the sensor + await wait(50) + +# New Section +async def Run1(): # From M8_5.py + left_arm.run_angle(1000, 300) + right_arm.run_angle(1000,500) + await drive_base.straight(320) + + 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) + + await drive_base.turn(-20) + await drive_base.straight(277) + await drive_base.turn(20) + await drive_base.straight(65) + + await drive_base.turn(-30) + right_arm.run_angle(70,500) + await drive_base.turn(45) + await drive_base.straight(-145) + await drive_base.turn(-60) + await drive_base.straight(90) + await left_arm.run_angle(1000,-450) + await drive_base.straight(-150) + await left_arm.run_angle(1000,450) + await drive_base.straight(27.67) #turns back to solve market place + await drive_base.turn(90) #Will solve market place + await drive_base.straight(-450) + await drive_base.turn(70) + await drive_base.straight(600) + +async def Run2(): # From Heavy_lifting_final.py + await drive_base.straight(200) + await drive_base.turn(-20) + await drive_base.straight(536) + await drive_base.turn(60, Stop.HOLD) + await drive_base.straight(30) + await right_arm.run_angle(5000, 2900) + await drive_base.straight(40) + await right_arm.run_angle(5000, -4000) + await drive_base.straight(-60) + await drive_base.turn(-60) + await drive_base.straight(-670) + + +async def Run3(): # tip the scale.py + left_arm.run_angle(600,-200) + right_arm.run_angle(500,200) + await drive_base.straight(70) + + await drive_base.turn(-70) + await drive_base.straight(900) + await drive_base.turn(115) + + await drive_base.straight(75) + await drive_base.straight(33) + await right_arm.run_angle(500,-250) + await right_arm.run_angle(500,250) + await drive_base.turn(66) + await drive_base.straight(7) + + await left_arm.run_angle(560,390) #going down + print('turning now...') + await drive_base.turn(40) # turning right + await left_arm.run_angle(410,-400) #lift a little bit + await drive_base.straight(80) + await drive_base.turn(-41) #ma din din din dun 67 41 21 + await drive_base.straight(900) + + +async def Run4(): # From Send_Over_Final.py + + await drive_base.straight(920) + await drive_base.turn(-90,Stop.HOLD) + await drive_base.straight(65) + #Solve + drive_base.turn(-10) + await left_arm.run_angle(10000,-4000) + await drive_base.straight(-110) + await drive_base.turn(90) + + await multitask( + drive_forward(), + monitor_distance() + ) + +# Add Rishi's code here +async def Run5(): + await drive_base.straight(700) + await drive_base.turn(-18) + await drive_base.straight(100) + await drive_base.straight(-205) + await drive_base.turn(63) + await drive_base.straight(125) + await right_arm.run_angle(1000, -1200) + await drive_base.straight(84) + await right_arm.run_angle(300, 1200) + await drive_base.straight(-875) + # Add - Adi's code here async def Run6(): await drive_base.straight(500) @@ -197,6 +334,56 @@ def detect_color(h, s, v, reflected): return "Unknown" +async def main(): + while True: + h, s, v = await color_sensor.hsv() + reflected = await color_sensor.reflection() + color = detect_color(h, s, v, reflected) + + if color == "Red": + print('Running Mission 3') + await Run3() #red + elif color == "Orange": + print('Running Mission 6') + await Run6() #orange + elif color == "Yellow": + print('Running Mission 4') + await Run4() #yellow + elif color == "Green": + print('Running Mission 1') + await Run1() #green - vertically + elif color == "Blue": + print('Running Mission 5') + await Run5() #blue - vertically + elif color == "Purple": + print('Running Mission 2') + await Run2() #purple - vertically + else: + print(f"Unknown color detected (Hue: {h}, Sat: {s}, Val: {v})") + await wait(10) +# Run the main function +run_task(main()) + +# Function to classify color based on HSV +def detect_color(h, s, v, reflected): + if reflected > 4: + if h < 4 or h > 350: # red + return "Red" + elif 3 < h < 40 and s > 70: # orange + return "Orange" + elif 47 < h < 56: # yellow + return "Yellow" + elif 70 < h < 160: # green - do it vertically not horizontally for accuracy + return "Green" + elif 210 < h < 225: # blue - do it vertically not horizontally for accuracy + return "Blue" + elif 260 < h < 350: # purple + return "Purple" + else: + return "Unknown" + return "Unknown" + + async def main(): while True: h, s, v = await color_sensor.hsv() From 69745c053f7bc48d1a7589841d43dc32069cd575 Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:26:47 +0000 Subject: [PATCH 28/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 62 ++++++++++++--------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index a868844..daad2b2 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -192,35 +192,45 @@ async def monitor_distance(): # New Section async def Run1(): # From M8_5.py - left_arm.run_angle(1000, 300) - right_arm.run_angle(1000,500) - await drive_base.straight(320) + right_arm.run_angle(1000,450) + left_arm.run_angle(500,-80) + await drive_base.straight(200) - 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) + await drive_base.turn(-40) + await drive_base.straight(325) + await left_arm.run_angle(500,80) - await drive_base.turn(-20) - await drive_base.straight(277) - await drive_base.turn(20) - await drive_base.straight(65) + await drive_base.straight(-100) + await drive_base.straight(50) + await left_arm.run_angle(500,-170) + + await drive_base.straight(-270) + await drive_base.turn(40) + await drive_base.straight(135) + left_arm.run_angle(1000,-670) + + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + right_arm.run_angle(5000,450, Stop.HOLD) + + await drive_base.turn(-35) + await drive_base.straight(300) + await drive_base.turn(63) + await drive_base.straight(170) + + await drive_base.turn(-80) + await drive_base.straight(87) + await drive_base.turn(-15) + + await drive_base.straight(-120) + await drive_base.turn(-100) + await drive_base.straight(300) + await drive_base.turn(-45) + await drive_base.straight(500) - await drive_base.turn(-30) - right_arm.run_angle(70,500) - await drive_base.turn(45) - await drive_base.straight(-145) - await drive_base.turn(-60) - await drive_base.straight(90) - await left_arm.run_angle(1000,-450) - await drive_base.straight(-150) - await left_arm.run_angle(1000,450) - await drive_base.straight(27.67) #turns back to solve market place - await drive_base.turn(90) #Will solve market place - await drive_base.straight(-450) - await drive_base.turn(70) - await drive_base.straight(600) async def Run2(): # From Heavy_lifting_final.py await drive_base.straight(200) From 411f46d55ea774fd52d1f819d613e27042023fe7 Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:36:51 +0000 Subject: [PATCH 29/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 249 -------------------- 1 file changed, 249 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index daad2b2..6e785c7 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -145,256 +145,7 @@ async def Run5(): # Add - Adi's code here async def Run6(): -from pybricks.pupdevices import Motor, ColorSensor, UltrasonicSensor, ForceSensor -from pybricks.parameters import Button, Color, Direction, Port, Side, Stop -from pybricks.tools import run_task, multitask -from pybricks.tools import wait, StopWatch -from pybricks.robotics import DriveBase -from pybricks.hubs import PrimeHub -# Initialize hub and devices -hub = PrimeHub() -left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE) -right_motor = Motor(Port.B) -left_arm = Motor(Port.C) -right_arm = Motor(Port.D) -lazer_ranger = UltrasonicSensor(Port.E) -color_sensor = ColorSensor(Port.F) - -# DriveBase configuration -WHEEL_DIAMETER = 68.8 # mm (adjust for your wheels) -AXLE_TRACK = 180 # mm (distance between wheels) -drive_base = DriveBase(left_motor, right_motor, WHEEL_DIAMETER, AXLE_TRACK) -drive_base.settings(600, 500, 300, 200) -drive_base.use_gyro(True) - -WALL_DISTANCE = 200 # mm - -async def drive_forward(): - """Drive forward continuously using DriveBase.""" - drive_base.drive(400, 0) - - -async def monitor_distance(): - """Monitor ultrasonic sensor and stop when wall is detected.""" - while True: - distance = await lazer_ranger.distance() - print('Distancing...',distance) - - if distance < WALL_DISTANCE: - # Stop the drivebase - await drive_base.stop - print(f"Wall detected at {distance}mm!") - break - - # Small delay to prevent overwhelming the sensor - await wait(50) - -# New Section -async def Run1(): # From M8_5.py - right_arm.run_angle(1000,450) - left_arm.run_angle(500,-80) - await drive_base.straight(200) - - await drive_base.turn(-40) - await drive_base.straight(325) - await left_arm.run_angle(500,80) - - await drive_base.straight(-100) - await drive_base.straight(50) - await left_arm.run_angle(500,-170) - - await drive_base.straight(-270) - await drive_base.turn(40) - await drive_base.straight(135) - left_arm.run_angle(1000,-670) - - await right_arm.run_angle(5000,-450, Stop.HOLD) - await right_arm.run_angle(5000,450, Stop.HOLD) - await right_arm.run_angle(5000,-450, Stop.HOLD) - await right_arm.run_angle(5000,450, Stop.HOLD) - await right_arm.run_angle(5000,-450, Stop.HOLD) - right_arm.run_angle(5000,450, Stop.HOLD) - - await drive_base.turn(-35) - await drive_base.straight(300) - await drive_base.turn(63) - await drive_base.straight(170) - - await drive_base.turn(-80) - await drive_base.straight(87) - await drive_base.turn(-15) - - await drive_base.straight(-120) - await drive_base.turn(-100) - await drive_base.straight(300) - await drive_base.turn(-45) - await drive_base.straight(500) - - -async def Run2(): # From Heavy_lifting_final.py - await drive_base.straight(200) - await drive_base.turn(-20) - await drive_base.straight(536) - await drive_base.turn(60, Stop.HOLD) - await drive_base.straight(30) - await right_arm.run_angle(5000, 2900) - await drive_base.straight(40) - await right_arm.run_angle(5000, -4000) - await drive_base.straight(-60) - await drive_base.turn(-60) - await drive_base.straight(-670) - - -async def Run3(): # tip the scale.py - left_arm.run_angle(600,-200) - right_arm.run_angle(500,200) - await drive_base.straight(70) - - await drive_base.turn(-70) - await drive_base.straight(900) - await drive_base.turn(115) - - await drive_base.straight(75) - await drive_base.straight(33) - await right_arm.run_angle(500,-250) - await right_arm.run_angle(500,250) - await drive_base.turn(66) - await drive_base.straight(7) - - await left_arm.run_angle(560,390) #going down - print('turning now...') - await drive_base.turn(40) # turning right - await left_arm.run_angle(410,-400) #lift a little bit - await drive_base.straight(80) - await drive_base.turn(-41) #ma din din din dun 67 41 21 - await drive_base.straight(900) - - -async def Run4(): # From Send_Over_Final.py - - await drive_base.straight(920) - await drive_base.turn(-90,Stop.HOLD) - await drive_base.straight(65) - #Solve - drive_base.turn(-10) - await left_arm.run_angle(10000,-4000) - await drive_base.straight(-110) - await drive_base.turn(90) - - await multitask( - drive_forward(), - monitor_distance() - ) - -# Add Rishi's code here -async def Run5(): - await drive_base.straight(700) - await drive_base.turn(-18) - await drive_base.straight(100) - await drive_base.straight(-205) - await drive_base.turn(63) - await drive_base.straight(125) - await right_arm.run_angle(1000, -1200) - await drive_base.straight(84) - await right_arm.run_angle(300, 1200) - await drive_base.straight(-875) - -# Add - Adi's code here -async def Run6(): - await drive_base.straight(500) - await right_arm.run_angle(300,500) - await drive_base.straight(-75) - await right_arm.run_angle(300, -900) - await drive_base.straight(-350) - await wait(1000) - await drive_base.straight(800) - await drive_base.straight(-200) - await drive_base.turn(-15) - await drive_base.straight(350) - await drive_base.turn(-94) - await drive_base.straight(-80) - await left_arm.run_angle(500, 900) - await drive_base.straight(50) - await drive_base.turn(-10) - await drive_base.straight(50) - await left_arm.run_angle(700, -200) - await drive_base.turn(30) - await drive_base.straight(-60) - await drive_base.turn(80) - await drive_base.straight(-900) - -# Function to classify color based on HSV -def detect_color(h, s, v, reflected): - if reflected > 4: - if h < 4 or h > 350: # red - return "Red" - elif 3 < h < 40 and s > 70: # orange - return "Orange" - elif 47 < h < 56: # yellow - return "Yellow" - elif 70 < h < 160: # green - do it vertically not horizontally for accuracy - return "Green" - elif 210 < h < 225: # blue - do it vertically not horizontally for accuracy - return "Blue" - elif 260 < h < 350: # purple - return "Purple" - else: - return "Unknown" - return "Unknown" - - -async def main(): - while True: - h, s, v = await color_sensor.hsv() - reflected = await color_sensor.reflection() - color = detect_color(h, s, v, reflected) - - if color == "Red": - print('Running Mission 3') - await Run3() #red - elif color == "Orange": - print('Running Mission 6') - await Run6() #orange - elif color == "Yellow": - print('Running Mission 4') - await Run4() #yellow - elif color == "Green": - print('Running Mission 1') - await Run1() #green - vertically - elif color == "Blue": - print('Running Mission 5') - await Run5() #blue - vertically - elif color == "Purple": - print('Running Mission 2') - await Run2() #purple - vertically - else: - print(f"Unknown color detected (Hue: {h}, Sat: {s}, Val: {v})") - await wait(10) -# Run the main function -run_task(main()) - -# Function to classify color based on HSV -def detect_color(h, s, v, reflected): - if reflected > 4: - if h < 4 or h > 350: # red - return "Red" - elif 3 < h < 40 and s > 70: # orange - return "Orange" - elif 47 < h < 56: # yellow - return "Yellow" - elif 70 < h < 160: # green - do it vertically not horizontally for accuracy - return "Green" - elif 210 < h < 225: # blue - do it vertically not horizontally for accuracy - return "Blue" - elif 260 < h < 350: # purple - return "Purple" - else: - return "Unknown" - return "Unknown" - - -async def main(): while True: h, s, v = await color_sensor.hsv() reflected = await color_sensor.reflection() From acc44dac2257966bf8706e77aea4c6e2a9d5e8b0 Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:44:09 +0000 Subject: [PATCH 30/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 83 ++++++++++++++------- 1 file changed, 57 insertions(+), 26 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index 6e785c7..3e1ead0 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -45,35 +45,45 @@ async def monitor_distance(): # New Section async def Run1(): # From M8_5.py - left_arm.run_angle(1000, 300) - right_arm.run_angle(1000,500) - await drive_base.straight(320) + right_arm.run_angle(1000,450) + left_arm.run_angle(500,-80) + await drive_base.straight(200) - 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) + await drive_base.turn(-40) + await drive_base.straight(325) + await left_arm.run_angle(500,80) - await drive_base.turn(-20) - await drive_base.straight(277) - await drive_base.turn(20) - await drive_base.straight(65) + await drive_base.straight(-100) + await drive_base.straight(50) + await left_arm.run_angle(500,-170) + + await drive_base.straight(-270) + await drive_base.turn(40) + await drive_base.straight(135) + left_arm.run_angle(1000,-670) + + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + right_arm.run_angle(5000,450, Stop.HOLD) + + await drive_base.turn(-35) + await drive_base.straight(300) + await drive_base.turn(63) + await drive_base.straight(170) + + await drive_base.turn(-80) + await drive_base.straight(87) + await drive_base.turn(-15) + + await drive_base.straight(-120) + await drive_base.turn(-100) + await drive_base.straight(300) + await drive_base.turn(-45) + await drive_base.straight(500) - await drive_base.turn(-30) - right_arm.run_angle(70,500) - await drive_base.turn(45) - await drive_base.straight(-145) - await drive_base.turn(-60) - await drive_base.straight(90) - await left_arm.run_angle(1000,-450) - await drive_base.straight(-150) - await left_arm.run_angle(1000,450) - await drive_base.straight(27.67) #turns back to solve market place - await drive_base.turn(90) #Will solve market place - await drive_base.straight(-450) - await drive_base.turn(70) - await drive_base.straight(600) async def Run2(): # From Heavy_lifting_final.py await drive_base.straight(200) @@ -145,7 +155,28 @@ async def Run5(): # Add - Adi's code here async def Run6(): + await drive_base.stop +# Function to classify color based on HSV +def detect_color(h, s, v, reflected): + if reflected > 4: + if h < 4 or h > 350: # red + return "Red" + elif 3 < h < 40 and s > 70: # orange + return "Orange" + elif 47 < h < 56: # yellow + return "Yellow" + elif 70 < h < 160: # green - do it vertically not horizontally for accuracy + return "Green" + elif 210 < h < 225: # blue - do it vertically not horizontally for accuracy + return "Blue" + elif 260 < h < 350: # purple + return "Purple" + else: + return "Unknown" + return "Unknown" + +async def main(): while True: h, s, v = await color_sensor.hsv() reflected = await color_sensor.reflection() From 16e96693cc0fb136a682b95d0dc815650e4faf3a Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:47:54 +0000 Subject: [PATCH 31/55] Update utils/tests/colorsensortest.py --- utils/tests/colorsensortest.py | 44 ++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/utils/tests/colorsensortest.py b/utils/tests/colorsensortest.py index b01d0d9..3d5a8d9 100644 --- a/utils/tests/colorsensortest.py +++ b/utils/tests/colorsensortest.py @@ -15,11 +15,10 @@ color_sensor = ColorSensor(Port.F) print("Default Detected Colors:", color_sensor.detectable_colors()) # Custom color Hue, Saturation, Brightness value for Lego bricks -Color.MAGENTA = Color(300,100,100) -Color.VIOLET = Color(277,68,32) +Color.MAGENTA = Color(315,100,60) Color.BLUE = Color(240,100,100) Color.CYAN = Color(180,100,100) - +Color.RED = Color(350, 100, 100) LEGO_BRICKS_COLOR = [ Color.BLUE, Color.GREEN, @@ -27,19 +26,44 @@ LEGO_BRICKS_COLOR = [ Color.RED, Color.YELLOW, Color.MAGENTA, - Color.VIOLET, Color.NONE ] +magenta_counter = 0 +stable_color = None +real_color = None #Update Detectable colors color_sensor.detectable_colors(LEGO_BRICKS_COLOR) print(f'Yellow:{Color.YELLOW} : {Color.YELLOW.h}, {Color.YELLOW.s}, {Color.YELLOW.v}') print("Updated Detected Colors:", color_sensor.detectable_colors()) -async def main(): +async def main(): while True: + global magenta_counter, stable_color, real_color color_reflected_percent = await color_sensor.reflection() - print(color_reflected_percent) - - if color_reflected_percent > 1: # Make sure we actually have color reflections before checking for color - color_detected = await color_sensor.color() - print(f'Detected color:{color_detected} : {color_detected.h}, {color_detected.s}, {color_detected.v}') + print("Reflection: ", color_reflected_percent) + if color_reflected_percent > 15: + color_detected = await color_sensor.color() + + if color_detected == Color.MAGENTA: + magenta_counter += 1 + else: + magenta_counter = 0 + stable_color = color_detected + + # Only accept magenta if it's been stable for a while - usually triggers before other colors so we gotta do this :| + if magenta_counter > 10: + stable_color = Color.MAGENTA + if stable_color != Color.MAGENTA: + stable_color = await color_sensor.color() + + real_color = stable_color + #if(color_detected != Color.NONE): + # return + + print("Magenta counter: ", magenta_counter) + if real_color is not None: + print(f'Detected color: {real_color} : {real_color.h}, {real_color.s}, {real_color.v}') + else: + print("No valid color detected yet.") + await wait(50) + run_task(main()) \ No newline at end of file From a50b0cd1d76136a8e65c87e21847e8823bd4d24a Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:50:26 +0000 Subject: [PATCH 32/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index 3e1ead0..3413435 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -46,21 +46,21 @@ async def monitor_distance(): # New Section async def Run1(): # From M8_5.py right_arm.run_angle(1000,450) - left_arm.run_angle(500,-80) + left_arm.run_angle(500,80) await drive_base.straight(200) await drive_base.turn(-40) await drive_base.straight(325) - await left_arm.run_angle(500,80) + await left_arm.run_angle(500,-80) await drive_base.straight(-100) await drive_base.straight(50) - await left_arm.run_angle(500,-170) + await left_arm.run_angle(500,170) await drive_base.straight(-270) await drive_base.turn(40) await drive_base.straight(135) - left_arm.run_angle(1000,-670) + left_arm.run_angle(1000,670) await right_arm.run_angle(5000,-450, Stop.HOLD) await right_arm.run_angle(5000,450, Stop.HOLD) From 974f87c4c49828766ac18f2dd5f8e6e19b16efe7 Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Thu, 6 Nov 2025 01:53:13 +0000 Subject: [PATCH 33/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 22 ++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index 3413435..63a05cf 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -155,7 +155,27 @@ async def Run5(): # Add - Adi's code here async def Run6(): - await drive_base.stop + await drive_base.straight(500) + await right_arm.run_angle(300,500) + await drive_base.straight(-75) + await right_arm.run_angle(300, -900) + await drive_base.straight(-350) + await wait(1000) + await drive_base.straight(800) + await drive_base.straight(-200) + await drive_base.turn(-15) + await drive_base.straight(350) + await drive_base.turn(-94) + await drive_base.straight(-80) + await left_arm.run_angle(500, 900) + await drive_base.straight(50) + await drive_base.turn(-10) + await drive_base.straight(50) + await left_arm.run_angle(700, -200) + await drive_base.turn(30) + await drive_base.straight(-60) + await drive_base.turn(80) + await drive_base.straight(-900) # Function to classify color based on HSV def detect_color(h, s, v, reflected): if reflected > 4: From ff6100a964cf08067bf37e5763fdbd8f15d9a6d5 Mon Sep 17 00:00:00 2001 From: Parthiv <31vadlap@elmbrookstudents.org> Date: Fri, 7 Nov 2025 22:52:30 +0000 Subject: [PATCH 34/55] changed values to make it work. --- missions/tip the scale.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/missions/tip the scale.py b/missions/tip the scale.py index 3a4264e..344aa05 100644 --- a/missions/tip the scale.py +++ b/missions/tip the scale.py @@ -24,15 +24,15 @@ async def main(): right_arm.run_angle(500,200) await drive_base.straight(70) - await drive_base.turn(-70) + await drive_base.turn(-65) await drive_base.straight(900) - await drive_base.turn(115) + await drive_base.turn(110) await drive_base.straight(75) - await drive_base.straight(33) - await right_arm.run_angle(500,-250) + + await right_arm.run_angle(700,-250) await right_arm.run_angle(500,250) - await drive_base.turn(66) + await drive_base.turn(54) await drive_base.straight(7) await left_arm.run_angle(560,-390) #going down @@ -41,8 +41,8 @@ async def main(): await left_arm.run_angle(-410,-400) #lift a little bit await drive_base.turn(-46.5) #ma din din din dun - await drive_base.turn(-40) + await drive_base.turn(25) await drive_base.straight(900) + run_task(main()) - From 0c4335993af154cf6ec9f0c8213dc15f83d2095b Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Fri, 7 Nov 2025 23:12:43 +0000 Subject: [PATCH 35/55] Update missions/tip the scale.py --- missions/tip the scale.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/missions/tip the scale.py b/missions/tip the scale.py index 344aa05..bc1f5ab 100644 --- a/missions/tip the scale.py +++ b/missions/tip the scale.py @@ -24,7 +24,7 @@ async def main(): right_arm.run_angle(500,200) await drive_base.straight(70) - await drive_base.turn(-65) + await drive_base.turn(-70) await drive_base.straight(900) await drive_base.turn(110) From 6e82f4d476f5d99f29d1d8892fd5ff3f3efcd841 Mon Sep 17 00:00:00 2001 From: Vickram <31kapoov@elmbrookstudents.org> Date: Fri, 7 Nov 2025 23:12:55 +0000 Subject: [PATCH 36/55] Add missions/New_MapReveal/New_MapReveal_Mineshaft.py Rishi's updated code --- .../New_MapReveal/New_MapReveal_Mineshaft.py | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 missions/New_MapReveal/New_MapReveal_Mineshaft.py diff --git a/missions/New_MapReveal/New_MapReveal_Mineshaft.py b/missions/New_MapReveal/New_MapReveal_Mineshaft.py new file mode 100644 index 0000000..2113b9b --- /dev/null +++ b/missions/New_MapReveal/New_MapReveal_Mineshaft.py @@ -0,0 +1,38 @@ +from pybricks.pupdevices import Motor, ColorSensor, UltrasonicSensor, ForceSensor +from pybricks.parameters import Button, Color, Direction, Port, Side, Stop +from pybricks.tools import run_task, multitask +from pybricks.tools import wait, StopWatch +from pybricks.robotics import DriveBase +from pybricks.hubs import PrimeHub + +# Initialize hub and devices +hub = PrimeHub() +left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE) +right_motor = Motor(Port.B) +left_arm = Motor(Port.C) +right_arm = Motor(Port.D) +lazer_ranger = UltrasonicSensor(Port.E) +color_sensor = ColorSensor(Port.F) + +# DriveBase configuration +WHEEL_DIAMETER = 68.8 # mm (adjust for your wheels) +AXLE_TRACK = 180 # mm (distance between wheels) +drive_base = DriveBase(left_motor, right_motor, WHEEL_DIAMETER, AXLE_TRACK) +drive_base.settings(600, 500, 300, 200) +drive_base.use_gyro(True) + +WALL_DISTANCE = 200 # mm + +async def main(): + await drive_base.straight(700) + await drive_base.turn(-20) + await drive_base.straight(110) + await drive_base.straight(-220) + await drive_base.turn(63) + await drive_base.straight(130) + await right_arm.run_angle(1000, -1200) + await drive_base.straight(84) + await right_arm.run_angle(300, 1200) + await drive_base.straight(-875) + +run_task(main()) \ No newline at end of file From c7801d17c02fb0bbf5acecde55e75ef74c3bc9ae Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Fri, 7 Nov 2025 23:14:24 +0000 Subject: [PATCH 37/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index 63a05cf..26f4a3d 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -143,14 +143,14 @@ async def Run4(): # From Send_Over_Final.py # Add Rishi's code here async def Run5(): await drive_base.straight(700) - await drive_base.turn(-18) - await drive_base.straight(100) - await drive_base.straight(-205) + await drive_base.turn(-20) + await drive_base.straight(110) + await drive_base.straight(-220) await drive_base.turn(63) - await drive_base.straight(125) - await arm_motor.run_angle(1000, -1200) + await drive_base.straight(130) + await right_arm.run_angle(1000, -1200) await drive_base.straight(84) - await arm_motor.run_angle(300, 1200) + await right_arm.run_angle(300, 1200) await drive_base.straight(-875) # Add - Adi's code here From 2d614c0e381ebefc99efa272a3ec8ee172c5f6ce Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Sat, 8 Nov 2025 22:25:56 +0000 Subject: [PATCH 38/55] Update LINEUPS.md well now we have 5 missions? --- LINEUPS.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/LINEUPS.md b/LINEUPS.md index c9a8d30..72ee538 100644 --- a/LINEUPS.md +++ b/LINEUPS.md @@ -2,14 +2,12 @@ ## These are the line-up positions for the robot game for various missions. -- Mission Run #1 (Mission #1) [Right/Blue Home] - The left yellow part of the right arm attachment is positioned with its right edge on the 5th thin line from the left. Note that this is NOT positioned from the back of the robot. +- Mission Run #1 (Run #1) [Right/Blue Home] - The left yellow part of the right arm attachment is positioned with its right edge on the 5th thin line from the left. Note that this is NOT positioned from the back of the robot. -- Mission Run #2 (Send Over) [Right/Blue Home] - The robot should be lined up on the vertical edge of the left home. The robot's right side should be positioned on the 1st thin line from the top. Note that the 0th line is the one that is not part of the curve. +- Mission Run #2 (Tip the scales) [Right/Blue Home] - The middle of the left edge of the robot should be positioned on the 2nd thick line from the left. -- Mission Run #3 (Sand mission) [Right/Blue Home] - The robot should be lined up on the vertical edge of the left home. The robot's left side should be positioned on the 1/2th thin line from the bottom. +- Mission Run #3 (Send Over) [Right/Blue Home] - The robot should be lined up on the vertical edge of the right home. The robot's right edge should be positioned on the 1st thin line from the top. Note that the 0th line is the one that is in the inner curve. -- Mission Run #4 (Boat mission) [Left/Red Home] - The robot should be lined up on the vertical edge of the left home. The robot's right side should be positioned on the 2nd thick line from the bottom. +- Mission Run #4 (Run #4) [Left/Red Home] - The robot's left edge should be positioned on the 2nd thin line from the left. -- Mission Run #5 (Bautism) [Left/Red Home] - The robot's left edge should be positioned at the 1st thick, 2nd thin line from the left. - -- Mission Run #6 (Not-so-heavy Lifting) [Right/Blue Home] - The robot's right edge should be positioned at the 1st thick from the right. \ No newline at end of file +- Mission Run #5 (Boat mission) [Left/Red Home] - There are two alignments for this. When sending off the robot for part 1, the robot should be facing the right home. It's right edge should be positioned at the very bottom edge of the board. Once it completes the pulling part, once it comes back begin part 2. For part 2, the middle of the robot's right side should be positioned in the middle of the 3rd thick and the 3rd thick, 1st thin lines. \ No newline at end of file From c3c875e80ea0ecb54a50be349950bad6905c27c1 Mon Sep 17 00:00:00 2001 From: alkadienePhoton Date: Sat, 8 Nov 2025 17:50:29 -0600 Subject: [PATCH 39/55] Merging with actual stuff fixed --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 41 --------------------- 1 file changed, 41 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index df2bab9..59de9f3 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -46,10 +46,6 @@ async def monitor_distance(): # New Section async def Run1(): # From M8_5.py right_arm.run_angle(1000,450) -<<<<<<< HEAD - left_arm.run_angle(500,80) - await drive_base.straight(200) -======= left_arm.run_angle(500,-80) await drive_base.straight(200) @@ -88,43 +84,6 @@ async def Run1(): # From M8_5.py await drive_base.turn(-45) await drive_base.straight(500) ->>>>>>> Johannes_Dev - - await drive_base.turn(-40) - await drive_base.straight(325) - await left_arm.run_angle(500,-80) - - await drive_base.straight(-100) - await drive_base.straight(50) - await left_arm.run_angle(500,170) - - await drive_base.straight(-270) - await drive_base.turn(40) - await drive_base.straight(135) - left_arm.run_angle(1000,670) - - await right_arm.run_angle(5000,-450, Stop.HOLD) - await right_arm.run_angle(5000,450, Stop.HOLD) - await right_arm.run_angle(5000,-450, Stop.HOLD) - await right_arm.run_angle(5000,450, Stop.HOLD) - await right_arm.run_angle(5000,-450, Stop.HOLD) - right_arm.run_angle(5000,450, Stop.HOLD) - - await drive_base.turn(-35) - await drive_base.straight(300) - await drive_base.turn(63) - await drive_base.straight(170) - - await drive_base.turn(-80) - await drive_base.straight(87) - await drive_base.turn(-15) - - await drive_base.straight(-120) - await drive_base.turn(-100) - await drive_base.straight(300) - await drive_base.turn(-45) - await drive_base.straight(500) - async def Run2(): # From Heavy_lifting_final.py await drive_base.straight(200) From 9cdb70dd80ecdc289422364380f879bf3a83cd07 Mon Sep 17 00:00:00 2001 From: alkadienePhoton Date: Sat, 8 Nov 2025 17:51:13 -0600 Subject: [PATCH 40/55] Merging with actual stuff fixed #2 --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index 59de9f3..79f3692 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -142,7 +142,6 @@ async def Run4(): # From Send_Over_Final.py # Add Rishi's code here async def Run5(): -<<<<<<< HEAD await drive_base.straight(600) await drive_base.straight(-100) await drive_base.straight(150) @@ -153,18 +152,6 @@ async def Run5(): await drive_base.turn(-45) await drive_base.straight(-200) await drive_base.turn(75) -======= - await drive_base.straight(700) - await drive_base.turn(-20) - await drive_base.straight(110) - await drive_base.straight(-220) - await drive_base.turn(63) - await drive_base.straight(130) - await right_arm.run_angle(1000, -1200) - await drive_base.straight(84) - await right_arm.run_angle(300, 1200) - await drive_base.straight(-875) ->>>>>>> 2d614c0e381ebefc99efa272a3ec8ee172c5f6ce # Add - Adi's code here async def Run6(): From 3b22d28e98edba99797a712e69a5fc73cb9da73e Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Sun, 9 Nov 2025 01:12:56 +0000 Subject: [PATCH 41/55] Update LINEUPS.md --- LINEUPS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LINEUPS.md b/LINEUPS.md index 72ee538..de269d3 100644 --- a/LINEUPS.md +++ b/LINEUPS.md @@ -8,6 +8,6 @@ - Mission Run #3 (Send Over) [Right/Blue Home] - The robot should be lined up on the vertical edge of the right home. The robot's right edge should be positioned on the 1st thin line from the top. Note that the 0th line is the one that is in the inner curve. -- Mission Run #4 (Run #4) [Left/Red Home] - The robot's left edge should be positioned on the 2nd thin line from the left. +- Mission Run #4 (Run #4) [Left/Red Home] - The robot's left edge should be positioned on the 2nd thick line from the left. - Mission Run #5 (Boat mission) [Left/Red Home] - There are two alignments for this. When sending off the robot for part 1, the robot should be facing the right home. It's right edge should be positioned at the very bottom edge of the board. Once it completes the pulling part, once it comes back begin part 2. For part 2, the middle of the robot's right side should be positioned in the middle of the 3rd thick and the 3rd thick, 1st thin lines. \ No newline at end of file From 30a5392e568ed0f890e76b77f70b89047d29e885 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Sun, 9 Nov 2025 01:20:19 +0000 Subject: [PATCH 42/55] Update LINEUPS.md --- LINEUPS.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/LINEUPS.md b/LINEUPS.md index de269d3..ece7496 100644 --- a/LINEUPS.md +++ b/LINEUPS.md @@ -4,10 +4,12 @@ - Mission Run #1 (Run #1) [Right/Blue Home] - The left yellow part of the right arm attachment is positioned with its right edge on the 5th thin line from the left. Note that this is NOT positioned from the back of the robot. +Alt text + - Mission Run #2 (Tip the scales) [Right/Blue Home] - The middle of the left edge of the robot should be positioned on the 2nd thick line from the left. - Mission Run #3 (Send Over) [Right/Blue Home] - The robot should be lined up on the vertical edge of the right home. The robot's right edge should be positioned on the 1st thin line from the top. Note that the 0th line is the one that is in the inner curve. - Mission Run #4 (Run #4) [Left/Red Home] - The robot's left edge should be positioned on the 2nd thick line from the left. -- Mission Run #5 (Boat mission) [Left/Red Home] - There are two alignments for this. When sending off the robot for part 1, the robot should be facing the right home. It's right edge should be positioned at the very bottom edge of the board. Once it completes the pulling part, once it comes back begin part 2. For part 2, the middle of the robot's right side should be positioned in the middle of the 3rd thick and the 3rd thick, 1st thin lines. \ No newline at end of file +- Mission Run #5 (Boat mission) [Left/Red Home] - There are two alignments for this. When sending off the robot for part 1, the robot should be facing the right home. It's right edge should be positioned at the very bottom edge of the board. Once it completes the pulling part, once it comes back begin part 2. For part 2, the middle of the robot's right side should be positioned in the middle of the 3rd thick and the 3rd thick, 1st thin lines from the top. For both runs the robot should be facing the blue home. \ No newline at end of file From 31f482f57629a100f9a5d602634bbbdbd0aa5e51 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Sun, 9 Nov 2025 01:52:54 +0000 Subject: [PATCH 43/55] Update LINEUPS.md --- LINEUPS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LINEUPS.md b/LINEUPS.md index ece7496..3ba5981 100644 --- a/LINEUPS.md +++ b/LINEUPS.md @@ -2,7 +2,7 @@ ## These are the line-up positions for the robot game for various missions. -- Mission Run #1 (Run #1) [Right/Blue Home] - The left yellow part of the right arm attachment is positioned with its right edge on the 5th thin line from the left. Note that this is NOT positioned from the back of the robot. +- Mission Run #1 (Run #1) [Right/Blue Home] - The left yellow part of the right arm attachment is positioned with its right edge on the 5th thin line from the left. Note that this is NOT positioned from the back of the robot. Also, when counting these lines, make sure you count from the inside curve, not the outside. Alt text From a8d8f5c8e0cd3ebabeb6a14d8ba329e82e10b2b5 Mon Sep 17 00:00:00 2001 From: Parthiv <31vadlap@elmbrookstudents.org> Date: Sun, 9 Nov 2025 22:03:29 +0000 Subject: [PATCH 44/55] Update missions/tip the scale.py --- missions/tip the scale.py | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/missions/tip the scale.py b/missions/tip the scale.py index bc1f5ab..5a0af2e 100644 --- a/missions/tip the scale.py +++ b/missions/tip the scale.py @@ -20,29 +20,18 @@ drive_base.settings(600,500,300,200) drive_base.use_gyro(True) async def main(): - left_arm.run_angle(600,200) - right_arm.run_angle(500,200) - await drive_base.straight(70) - - await drive_base.turn(-70) - await drive_base.straight(900) - await drive_base.turn(110) - - await drive_base.straight(75) - await right_arm.run_angle(700,-250) - await right_arm.run_angle(500,250) - await drive_base.turn(54) - await drive_base.straight(7) - - await left_arm.run_angle(560,-390) #going down - print('turning now...') - await drive_base.turn(40) # turning right - await left_arm.run_angle(-410,-400) #lift a little bit - - await drive_base.turn(-46.5) #ma din din din dun - await drive_base.turn(25) - await drive_base.straight(900) + right_arm.run_angle(500,400) + await drive_base.straight(800) + await drive_base.turn(90) + await drive_base.straight(88) + await right_arm.run_angle(100,-300) + await right_arm.run_angle(400,400) + await drive_base.straight(-100) + await drive_base.turn(90) + await drive_base.straight(800) + drive_base.brake() + run_task(main()) From 1ee90ac2e17da82ae855ba85a5d37d71c57c2903 Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Sun, 9 Nov 2025 22:16:39 +0000 Subject: [PATCH 45/55] Update missions/M8_5.py --- missions/M8_5.py | 60 ++++++++++++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/missions/M8_5.py b/missions/M8_5.py index 95ecc9e..7b81ba5 100644 --- a/missions/M8_5.py +++ b/missions/M8_5.py @@ -19,31 +19,47 @@ drive_base.settings(600,500,300,200) drive_base.use_gyro(True) async def main(): - left_arm.run_angle(1000, 300) - right_arm.run_angle(1000,500) - await drive_base.straight(320) + + right_arm.run_angle(1000,450) + left_arm.run_angle(500,-90) + await drive_base.straight(200) - 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) + await drive_base.turn(-40) + await drive_base.straight(325) + await left_arm.run_angle(500,90) + await drive_base.straight(-100) + await drive_base.straight(50) + await left_arm.run_angle(500,-180) + + await drive_base.straight(-90) + left_arm.run_angle(500,180) await drive_base.turn(-20) - await drive_base.straight(277) - await drive_base.turn(20) - await drive_base.straight(65) + await drive_base.turn(15) - await drive_base.turn(-30) - right_arm.run_angle(50,500) + await drive_base.straight(-173) await drive_base.turn(45) - await drive_base.straight(-145) - await drive_base.turn(-60) - await drive_base.straight(90) - await left_arm.run_angle(1000,-450) - await drive_base.straight(-145) - await left_arm.run_angle(1000,450) - await drive_base.straight(10) - await drive_base.turn(35) - await drive_base.straight(-600) + await drive_base.straight(120) + left_arm.run_angle(1000,-670) + + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + right_arm.run_angle(5000,450, Stop.HOLD) + + await drive_base.turn(-35) + await drive_base.straight(297) + await drive_base.turn(63) + await drive_base.straight(170) + + await drive_base.turn(-80) + await drive_base.straight(87) + await drive_base.turn(-15) + + await drive_base.straight(-90) + await drive_base.turn(-100) + await drive_base.arc(-500,None,600) + run_task(main()) \ No newline at end of file From d2738e26154198af83fa8e5820a403b63bb5c483 Mon Sep 17 00:00:00 2001 From: Johannes <31liwaj@elmbrookstudents.org> Date: Sun, 9 Nov 2025 22:26:09 +0000 Subject: [PATCH 46/55] Update codes_for_scrimmage/hazmat/mainhazmatUPD.py --- codes_for_scrimmage/hazmat/mainhazmatUPD.py | 27 ++++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/codes_for_scrimmage/hazmat/mainhazmatUPD.py b/codes_for_scrimmage/hazmat/mainhazmatUPD.py index 79f3692..d23f655 100644 --- a/codes_for_scrimmage/hazmat/mainhazmatUPD.py +++ b/codes_for_scrimmage/hazmat/mainhazmatUPD.py @@ -45,21 +45,27 @@ async def monitor_distance(): # New Section async def Run1(): # From M8_5.py + right_arm.run_angle(1000,450) - left_arm.run_angle(500,-80) + left_arm.run_angle(500,-90) await drive_base.straight(200) await drive_base.turn(-40) await drive_base.straight(325) - await left_arm.run_angle(500,80) + await left_arm.run_angle(500,90) await drive_base.straight(-100) await drive_base.straight(50) - await left_arm.run_angle(500,-170) + await left_arm.run_angle(500,-180) - await drive_base.straight(-270) - await drive_base.turn(40) - await drive_base.straight(135) + await drive_base.straight(-90) + left_arm.run_angle(500,180) + await drive_base.turn(-20) + await drive_base.turn(15) + + await drive_base.straight(-173) + await drive_base.turn(45) + await drive_base.straight(120) left_arm.run_angle(1000,-670) await right_arm.run_angle(5000,-450, Stop.HOLD) @@ -70,7 +76,7 @@ async def Run1(): # From M8_5.py right_arm.run_angle(5000,450, Stop.HOLD) await drive_base.turn(-35) - await drive_base.straight(300) + await drive_base.straight(297) await drive_base.turn(63) await drive_base.straight(170) @@ -78,12 +84,9 @@ async def Run1(): # From M8_5.py await drive_base.straight(87) await drive_base.turn(-15) - await drive_base.straight(-120) + await drive_base.straight(-90) await drive_base.turn(-100) - await drive_base.straight(300) - await drive_base.turn(-45) - await drive_base.straight(500) - + await drive_base.arc(-500,None,600) async def Run2(): # From Heavy_lifting_final.py await drive_base.straight(200) From 1c0896cbeb0169225fe8a174af259f27d9ab57bf Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Wed, 12 Nov 2025 00:31:22 +0000 Subject: [PATCH 47/55] Add utils/FINAL_STARTER_BLANK_CODE.py ayaan is SO ANNOYING BRO --- utils/FINAL_STARTER_BLANK_CODE.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 utils/FINAL_STARTER_BLANK_CODE.py diff --git a/utils/FINAL_STARTER_BLANK_CODE.py b/utils/FINAL_STARTER_BLANK_CODE.py new file mode 100644 index 0000000..56d98b6 --- /dev/null +++ b/utils/FINAL_STARTER_BLANK_CODE.py @@ -0,0 +1,29 @@ +from pybricks.pupdevices import Motor, ColorSensor, UltrasonicSensor, ForceSensor +from pybricks.parameters import Button, Color, Direction, Port, Side, Stop +from pybricks.tools import run_task, multitask +from pybricks.tools import wait, StopWatch +from pybricks.robotics import DriveBase +from pybricks.hubs import PrimeHub + +# Initialize hub and devices +hub = PrimeHub() +left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE) +right_motor = Motor(Port.B) +left_arm = Motor(Port.C) + +right_arm = Motor(Port.D) +lazer_ranger = UltrasonicSensor(Port.E) +color_sensor = ColorSensor(Port.F) +# DriveBase configuration +WHEEL_DIAMETER = 68.8 # mm +AXLE_TRACK = 180 # mm +drive_base = DriveBase(left_motor, right_motor, WHEEL_DIAMETER, AXLE_TRACK) +drive_base.settings(600, 500, 300, 200) +drive_base.use_gyro(True) + +WALL_DISTANCE = 200 # mm + +async def main: + # Your code goes here + +run_task(main()) \ No newline at end of file From 19f79b91d17bc64674a9095e0c73dfde0be7891c Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Wed, 12 Nov 2025 00:37:21 +0000 Subject: [PATCH 48/55] Update utils/FINAL_STARTER_BLANK_CODE.py --- utils/FINAL_STARTER_BLANK_CODE.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/FINAL_STARTER_BLANK_CODE.py b/utils/FINAL_STARTER_BLANK_CODE.py index 56d98b6..4afe3d7 100644 --- a/utils/FINAL_STARTER_BLANK_CODE.py +++ b/utils/FINAL_STARTER_BLANK_CODE.py @@ -23,7 +23,7 @@ drive_base.use_gyro(True) WALL_DISTANCE = 200 # mm -async def main: +async def main(): # Your code goes here run_task(main()) \ No newline at end of file From 10960a8473503868da7e6baa869e34dd2565ba2f Mon Sep 17 00:00:00 2001 From: Rishikesh Lolapu <31lolapr@elmbrookstudents.org> Date: Wed, 12 Nov 2025 01:06:33 +0000 Subject: [PATCH 49/55] Add codes_for_scrimmage/regional-final/Final_combined.py --- .../regional-final/Final_combined.py | 221 ++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 codes_for_scrimmage/regional-final/Final_combined.py diff --git a/codes_for_scrimmage/regional-final/Final_combined.py b/codes_for_scrimmage/regional-final/Final_combined.py new file mode 100644 index 0000000..976ce7b --- /dev/null +++ b/codes_for_scrimmage/regional-final/Final_combined.py @@ -0,0 +1,221 @@ +from pybricks.pupdevices import Motor, ColorSensor, UltrasonicSensor, ForceSensor +from pybricks.parameters import Button, Color, Direction, Port, Side, Stop +from pybricks.tools import run_task, multitask +from pybricks.tools import wait, StopWatch +from pybricks.robotics import DriveBase +from pybricks.hubs import PrimeHub + +# Initialize hub and devices +hub = PrimeHub() +left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE) +right_motor = Motor(Port.B) +left_arm = Motor(Port.C) +right_arm = Motor(Port.D) +lazer_ranger = UltrasonicSensor(Port.E) +color_sensor = ColorSensor(Port.F) + +# DriveBase configuration +WHEEL_DIAMETER = 68.8 # mm (adjust for your wheels) +AXLE_TRACK = 180 # mm (distance between wheels) +drive_base = DriveBase(left_motor, right_motor, WHEEL_DIAMETER, AXLE_TRACK) +drive_base.settings(600, 500, 300, 200) +drive_base.use_gyro(True) + +WALL_DISTANCE = 300 # mm + +async def drive_forward(): + """Drive forward continuously using DriveBase.""" + drive_base.drive(400, 0) + + +async def monitor_distance(): + """Monitor ultrasonic sensor and stop when wall is detected.""" + while True: + distance = await lazer_ranger.distance() + print('Distancing...',distance) + + if distance < WALL_DISTANCE: + # Stop the drivebase + await drive_base.stop + print(f"Wall detected at {distance}mm!") + break + + # Small delay to prevent overwhelming the sensor + await wait(50) + +# New Section +async def Run1(): # From M8_5.py + right_arm.run_angle(1000,450) + left_arm.run_angle(500,90) + await drive_base.straight(200) + + await drive_base.turn(-40) + await drive_base.straight(325) + await left_arm.run_angle(500,-90) + + await drive_base.straight(-100) + await drive_base.straight(50) + await left_arm.run_angle(500,180) + + await drive_base.straight(-90) + left_arm.run_angle(500,-180) + await drive_base.turn(-20) + await drive_base.turn(15) + + await drive_base.straight(-173) + await drive_base.turn(45) + await drive_base.straight(120) + left_arm.run_angle(1000,670) + + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + await right_arm.run_angle(5000,450, Stop.HOLD) + await right_arm.run_angle(5000,-450, Stop.HOLD) + right_arm.run_angle(5000,450, Stop.HOLD) + + await drive_base.turn(-35) + await drive_base.straight(297) + await drive_base.turn(63) + await drive_base.straight(170) + + await drive_base.turn(-80) + await drive_base.straight(87) + await drive_base.turn(-15) + + await drive_base.straight(-90) + await drive_base.turn(-100) + await drive_base.arc(-500,None,600) + + +async def Run2(): # From Heavy_lifting_final.py + await drive_base.straight(200) + await drive_base.turn(-20) + await drive_base.straight(536) + await drive_base.turn(60, Stop.HOLD) + await drive_base.straight(30) + await right_arm.run_angle(5000, 2900) + await drive_base.straight(40) + await right_arm.run_angle(5000, -4000) + await drive_base.straight(-60) + await drive_base.turn(-60) + await drive_base.straight(-670) + + +async def Run3(): # tip the scale.py + right_arm.run_angle(500,400) + await drive_base.straight(800) + await drive_base.turn(90) + await drive_base.straight(86) + await right_arm.run_angle(800,-600) + await right_arm.run_angle(900,800) + + await drive_base.straight(-100) + await drive_base.turn(90) + await drive_base.straight(800) + drive_base.brake() + + +async def Run4(): # From Send_Over_Final.py + + await drive_base.straight(920) + await drive_base.turn(-90,Stop.HOLD) + await drive_base.straight(65) + #Solve + drive_base.turn(-10) + await left_arm.run_angle(10000,-4000) + await drive_base.straight(-110) + await drive_base.turn(90) + + await multitask( + drive_forward(), + monitor_distance() + ) + +# Add Rishi's code here +async def Run5(): + await drive_base.straight(700) + await drive_base.turn(-20) + await drive_base.straight(110) + await drive_base.straight(-210) + await drive_base.turn(63) + await drive_base.straight(130) + await right_arm.run_angle(1000, -1200) + await drive_base.straight(84) + await right_arm.run_angle(300, 1200) + await drive_base.straight(-875) + +# Add - Adi's code here +async def Run6(): + await drive_base.straight(500) + await right_arm.run_angle(300,500) + await drive_base.straight(-75) + await right_arm.run_angle(300, -900) + await drive_base.straight(-350) + await wait(1000) + await drive_base.straight(800) + await drive_base.straight(-200) + await drive_base.turn(-15) + await drive_base.straight(350) + await drive_base.turn(-100) + await drive_base.straight(-80) + await left_arm.run_angle(500, -900) + await drive_base.straight(50) + await drive_base.straight(50) + await left_arm.run_angle(700, 250) + await drive_base.turn(30) + await drive_base.straight(-60) + await drive_base.turn(80) + await drive_base.straight(-900) + + + +# Function to classify color based on HSV +def detect_color(h, s, v, reflected): + if reflected > 4: + if h < 4 or h > 350: # red + return "Red" + elif 3 < h < 40 and s > 70: # orange + return "Orange" + elif 47 < h < 56: # yellow + return "Yellow" + elif 70 < h < 160: # green - do it vertically not horizontally for accuracy + return "Green" + elif 210 < h < 225: # blue - do it vertically not horizontally for accuracy + return "Blue" + elif 260 < h < 350: # purple + return "Purple" + else: + return "Unknown" + return "Unknown" + + +async def main(): + while True: + h, s, v = await color_sensor.hsv() + reflected = await color_sensor.reflection() + color = detect_color(h, s, v, reflected) + + if color == "Red": + print('Running Mission 3') + await Run3() #red + elif color == "Orange": + print('Running Mission 6') + await Run6() #orange + elif color == "Yellow": + print('Running Mission 4') + await Run4() #yellow + elif color == "Green": + print('Running Mission 1') + await Run1() #green - vertically + elif color == "Blue": + print('Running Mission 5') + await Run5() #blue - vertically + elif color == "Purple": + print('Running Mission 2') + await Run2() #purple - vertically + else: + print(f"Unknown color detected (Hue: {h}, Sat: {s}, Val: {v})") + await wait(10) +# Run the main function +run_task(main()) \ No newline at end of file From 6d54f9c2d70f4a8ef3b57720348bfe8b7b5a123d Mon Sep 17 00:00:00 2001 From: alkadienePhoton Date: Tue, 11 Nov 2025 19:10:21 -0600 Subject: [PATCH 50/55] Fixed conflicts --- commit-graph.html | 132 +++++++++++++++++++++++++++++++++++++++++ commit-graphnew.html | 136 +++++++++++++++++++++++++++++++++++++++++++ graph.txt | 112 +++++++++++++++++++++++++++++++++++ 3 files changed, 380 insertions(+) create mode 100644 commit-graph.html create mode 100644 commit-graphnew.html create mode 100644 graph.txt diff --git a/commit-graph.html b/commit-graph.html new file mode 100644 index 0000000..4770fe1 --- /dev/null +++ b/commit-graph.html @@ -0,0 +1,132 @@ + + + + + + +stdin + + + + + +
+*   d3294bc (HEAD -> main, tag: TwistScrimmageRelease, origin/main) SCRIMMAGE MERGE!!!
+|\  
+| * d66aecd (origin/dev, origin/HEAD, dev) Update README.md
+| * bbdf0d0 Shortened fun sounds
+| *   a2ed2c4 Merge pull request 'arcmyx-dev' (#14) from arcmyx-dev into dev
+| |\  
+| | * dd0070d (origin/arcmyx-dev) Update twist_scrimmage.py
+| | * 9a06677 Added comments. Good luck for scrimmage y'all!!!
+| | * 11e89c6 THE FINAL THINGY
+| * | 52214be Update final/4main.py
+| * | 4540269 Update final/4main.py
+| * | 785c955 Update final/4main.py
+| * | b6cffc6 Update final/4main
+| * | 870dce3 Merge pull request 'arcmyx-dev' (#13) from arcmyx-dev into dev
+| |\| 
+| | * bb76258 Update final/main4emaj.py
+| | * 75e64da Update final/main4emaj.py
+| | * 8ea7cd5 Update final/main4emaj.py
+* | | 5ba2811 Merge pull request 'Updated LICENSE and README' (#12) from dev into main
+|\| | 
+| * | dd4fb8b Switched to GPLv3
+| * | ee099d9 Switched to GPL v3
+| * | 489add5 Removed emojis
+* | | 387e00b Merge branch 'dev'
+|\| | 
+| * | 28e5bea Updated README file with some formatting help from AI
+* | | 3fdd6ae Merge to main for Scrimmage
+|\| | 
+| * | 1e612e2 (tag: Scrimmage-Twist) Updated license information
+| * |   4456a5a Merge pull request 'Johannes_Dev' (#9) from Johannes_Dev into dev
+| |\ \  
+| | * | 08e0b9a (origin/Johannes_Dev) Delete missions/Lift2.py
+| | * | 4533f95 Add stuff from Johannes accidental fork
+| * | |   ec74531 Merge pull request 'Vickram_dev_' (#8) from Vickram_dev_ into dev
+| |\ \ \  
+| * \ \ \   62b76d4 Merge pull request 'Add missions/tip the scale.py' (#4) from ayaan_dev into dev
+| |\ \ \ \  
+| | * | | | 8008daf (origin/ayaan_dev) Add missions/tip the scale.py
+| * | | | |   cba5cfc Merge pull request 'Update utils/combine_runs.py' (#5) from Vickram_dev_ into dev
+| |\ \ \ \ \  
+| * \ \ \ \ \   3349e7f Merge pull request 'Rishi_dev' (#7) from Rishi_dev into dev
+| |\ \ \ \ \ \  
+| | * | | | | | 4b765b0 (origin/Rishi_dev) Update missions/M8_5.py
+| | * | | | | | 2eca0d7 Initial commit
+| |/ / / / / /  
+| * | / / / / 8949003 Mission 9 not in use
+| | |/ / / /  
+| |/| | | |   
+| * | | | | 6931731 Update LINEUPS.md
+| * | | | | d172c70 THIS CODE IS OUTDATED!!! DO NOT USE!!!
+| * | | | | efcc011 Initial Commit
+| * | | | |   28bb3fa Merge pull request 'Pull from Vickram to dev' (#2) from Vickram_dev_ into dev
+| |\ \ \ \ \  
+| * \ \ \ \ \   7ba2453 Merge pull request 'Pull from Johannes_Dev to dev' (#3) from Johannes_Dev into dev
+| |\ \ \ \ \ \  
+| | | |_|_|/ /  
+| | |/| | | |   
+| | * | | | | 7eeead7 Sand Mission
+| | * | | | | e817650 Send Over
+| | * | | | | c4aa954 Boat mission
+* | | | | | | ee0b8eb Update README.md
+* | | | | | |   a745ed8 Merge pull request 'WIP - Test Merge ( dev to main )' (#1) from dev into main
+|\ \ \ \ \ \ \  
+| | | | | | | | * 7e2dc0b (origin/Vickram_dev_) Update final/main5.py
+| | | | | | | | * 29bd9f0 Update final/main5.py
+| | | | | | | | * a3b04d3 Add final/main5.py
+| | | | | | | | * 2d9eb49 Update final/main4.py
+| | | | | | | | * 42090ea Update final/main4.py
+| | | | | | | | * f7072a6 Update final/main4.py
+| | | | | | | |/  
+| | | | | | | * 3f37e7e Update final/main4.py
+| | | | | | | * a3e7be2 Update final/main4.py
+| | | | | | | * c2204e7 Update final/main4.py
+| | | | | | | * 0664a61 Add final/main4.py
+| | | | | | | * 227619d Add final/3main.py
+| | | | | | | * 684447c Add final/2main.py
+| | | | | | |/  
+| | | | | | * 95d7c0c Add final/1main.py
+| | | | | | * 7e0c3d2 Delete Final Combined Codes
+| | | | | | * f190d38 Add Final Combined Codes
+| | | | | | * cd21a73 Delete missions/main.py
+| | | | | | * 0fa1019 Upload files to "missions"
+| | | | | |/  
+| | | | | * bb89e01 Update utils/combine_runs.py
+| | | | |/  
+| | | | * c690ae4 Update members/Vickram.txt
+| | | |/  
+| | |/|   
+| | * | d309b00 '{Johannes}'
+| | * | 37fb0a6 Add members/Ayaan.txt
+| | * | e895fd1 Add members/Vickram.txt
+| | * | 70e09fb Add members/Carlos.txt
+| | |/  
+| | * d017d13 Update members/atharv.txt
+| | * 6199a9c Atharv - added my About Me
+| | * 72547c5 Fixed grammar
+| | * 5d57a3a Initial commit
+| | * 5c7e2e9 Uploaded files from Bitbucket
+| | * e36e3d0 Delete Send_Over.py
+| | * a35d599 Delete M8_5.py
+| | * 6dedb0a Uploaded files from Bitbucket
+| | * be5350d Update README.md
+| | * 2412f2c Uploaded files from Bitbucket
+| | * 125f1df Uploaded files from Bitbucket
+| | * 3ddaf7e Uploaded files from Bitbucket
+| | * 2629845 Test new
+| | * fdbc180 Test
+| |/  
+| * ce4f984 Created new branch
+| * 7a0d651 Test commit
+|/  
+* 0d0e977 Initial commit
+
+ + diff --git a/commit-graphnew.html b/commit-graphnew.html new file mode 100644 index 0000000..ee955e9 --- /dev/null +++ b/commit-graphnew.html @@ -0,0 +1,136 @@ + + + + + + + COMMIT GRAPH + + + + +
+*   d3294bc  (HEAD -> main, tag: TwistScrimmageRelease, origin/main) SCRIMMAGE MERGE!!! [Atharv]
+|\  
+| * d66aecd  (origin/dev, origin/HEAD, dev) Update README.md [Atharv]
+| * bbdf0d0  Shortened fun sounds [Atharv]
+| *   a2ed2c4  Merge pull request 'atharv-dev' (#14) from atharv-dev into dev [Atharv]
+| |\  
+| | * dd0070d  (origin/atharv-dev) Update twist_scrimmage.py [Atharv]
+| | * 9a06677  Added comments. Good luck for scrimmage y'all!!! [Atharv]
+| | * 11e89c6  THE FINAL THINGY [Atharv]
+| * | 52214be  Update final/4main.py [Ayaan]
+| * | 4540269  Update final/4main.py [Johannes]
+| * | 785c955  Update final/4main.py [Atharv]
+| * | b6cffc6  Update final/4main [Atharv]
+| * | 870dce3  Merge pull request 'atharv-dev' (#13) from atharv-dev into dev [Atharv]
+| |\| 
+| | * bb76258  Update final/main4emaj.py [Atharv]
+| | * 75e64da  Update final/main4emaj.py [Atharv]
+| | * 8ea7cd5  Update final/main4emaj.py [Atharv]
+* | | 5ba2811  Merge pull request 'Updated LICENSE and README' (#12) from dev into main [Atharv]
+|\| | 
+| * | dd4fb8b  Switched to GPLv3 [Atharv]
+| * | ee099d9  Switched to GPL v3 [Atharv]
+| * | 489add5  Removed emojis [Atharv]
+* | | 387e00b  Merge branch 'dev' [Coach]
+|\| | 
+| * | 28e5bea  Updated README file with some formatting help from AI [Coach]
+* | | 3fdd6ae  Merge to main for Scrimmage [Coach]
+|\| | 
+| * | 1e612e2  (tag: Scrimmage-Twist) Updated license information [Atharv]
+| * |   4456a5a  Merge pull request 'Johannes_Dev' (#9) from Johannes_Dev into dev [Atharv]
+| |\ \  
+| | * | 08e0b9a  (origin/Johannes_Dev) Delete missions/Lift2.py [Atharv]
+| | * | 4533f95  Add stuff from Johannes accidental fork [Atharv]
+| * | |   ec74531  Merge pull request 'Vickram_dev_' (#8) from Vickram_dev_ into dev [Atharv]
+| |\ \ \  
+| * \ \ \   62b76d4  Merge pull request 'Add missions/tip the scale.py' (#4) from ayaan_dev into dev [Atharv]
+| |\ \ \ \  
+| | * | | | 8008daf  (origin/ayaan_dev) Add missions/tip the scale.py [Ayaan]
+| * | | | |   cba5cfc  Merge pull request 'Update utils/combine_runs.py' (#5) from Vickram_dev_ into dev [Atharv]
+| |\ \ \ \ \  
+| * \ \ \ \ \   3349e7f  Merge pull request 'Rishi_dev' (#7) from Rishi_dev into dev [Atharv]
+| |\ \ \ \ \ \  
+| | * | | | | | 4b765b0  (origin/Rishi_dev) Update missions/M8_5.py [Rishikesh Lolapu]
+| | * | | | | | 2eca0d7  Initial commit [Rishikesh Lolapu]
+| |/ / / / / /  
+| * | / / / / 8949003  Mission 9 not in use [Atharv]
+| | |/ / / /  
+| |/| | | |   
+| * | | | | 6931731  Update LINEUPS.md [Atharv]
+| * | | | | d172c70  THIS CODE IS OUTDATED!!! DO NOT USE!!! [Atharv]
+| * | | | | efcc011  Initial Commit [Vickram]
+| * | | | |   28bb3fa  Merge pull request 'Pull from Vickram to dev' (#2) from Vickram_dev_ into dev [Atharv]
+| |\ \ \ \ \  
+| * \ \ \ \ \   7ba2453  Merge pull request 'Pull from Johannes_Dev to dev' (#3) from Johannes_Dev into dev [Atharv]
+| |\ \ \ \ \ \  
+| | | |_|_|/ /  
+| | |/| | | |   
+| | * | | | | 7eeead7  Sand Mission [Johannes]
+| | * | | | | e817650  Send Over [Johannes]
+| | * | | | | c4aa954  Boat mission [Johannes]
+* | | | | | | ee0b8eb  Update README.md [Atharv]
+* | | | | | |   a745ed8  Merge pull request 'WIP - Test Merge ( dev to main )' (#1) from dev into main [Coach]
+|\ \ \ \ \ \ \  
+| | | | | | | | * 7e2dc0b  (origin/Vickram_dev_) Update final/main5.py [Rishikesh Lolapu]
+| | | | | | | | * 29bd9f0  Update final/main5.py [Rishikesh Lolapu]
+| | | | | | | | * a3b04d3  Add final/main5.py [Rishikesh Lolapu]
+| | | | | | | | * 2d9eb49  Update final/main4.py [Johannes]
+| | | | | | | | * 42090ea  Update final/main4.py [Johannes]
+| | | | | | | | * f7072a6  Update final/main4.py [Johannes]
+| | | | | | | |/  
+| | | | | | | * 3f37e7e  Update final/main4.py [Vickram]
+| | | | | | | * a3e7be2  Update final/main4.py [Atharv]
+| | | | | | | * c2204e7  Update final/main4.py [Vickram]
+| | | | | | | * 0664a61  Add final/main4.py [Vickram]
+| | | | | | | * 227619d  Add final/3main.py [Vickram]
+| | | | | | | * 684447c  Add final/2main.py [Vickram]
+| | | | | | |/  
+| | | | | | * 95d7c0c  Add final/1main.py [Vickram]
+| | | | | | * 7e0c3d2  Delete Final Combined Codes [Vickram]
+| | | | | | * f190d38  Add Final Combined Codes [Vickram]
+| | | | | | * cd21a73  Delete missions/main.py [Vickram]
+| | | | | | * 0fa1019  Upload files to "missions" [Vickram]
+| | | | | |/  
+| | | | | * bb89e01  Update utils/combine_runs.py [Vickram]
+| | | | |/  
+| | | | * c690ae4  Update members/Vickram.txt [Vickram]
+| | | |/  
+| | |/|   
+| | * | d309b00  '{Johannes}' [Johannes]
+| | * | 37fb0a6  Add members/Ayaan.txt [Ayaan]
+| | * | e895fd1  Add members/Vickram.txt [Vickram]
+| | * | 70e09fb  Add members/Carlos.txt [Carlos]
+| | |/  
+| | * d017d13  Update members/atharv.txt [Atharv]
+| | * 6199a9c  Atharv - added my About Me [Atharv]
+| | * 72547c5  Fixed grammar [Atharv]
+| | * 5d57a3a  Initial commit [Atharv]
+| | * 5c7e2e9  Uploaded files from Bitbucket [Atharv]
+| | * e36e3d0  Delete Send_Over.py [Atharv]
+| | * a35d599  Delete M8_5.py [Atharv]
+| | * 6dedb0a  Uploaded files from Bitbucket [Atharv]
+| | * be5350d  Update README.md [Atharv]
+| | * 2412f2c  Uploaded files from Bitbucket [Atharv]
+| | * 125f1df  Uploaded files from Bitbucket [Atharv]
+| | * 3ddaf7e  Uploaded files from Bitbucket [Atharv]
+| | * 2629845  Test new [Atharv]
+| | * fdbc180  Test [Atharv]
+| |/  
+| * ce4f984  Created new branch [Coach]
+| * 7a0d651  Test commit [Coach]
+|/  
+* 0d0e977  Initial commit [Coach]
+ + diff --git a/graph.txt b/graph.txt new file mode 100644 index 0000000..16e345d --- /dev/null +++ b/graph.txt @@ -0,0 +1,112 @@ +* d3294bc SCRIMMAGE MERGE!!! +|\ +| * d66aecd Update README.md +| * bbdf0d0 Shortened fun sounds +| * a2ed2c4 Merge pull request 'arcmyx-dev' (#14) from arcmyx-dev into dev +| |\ +| | * dd0070d Update twist_scrimmage.py +| | * 9a06677 Added comments. Good luck for scrimmage y'all!!! +| | * 11e89c6 THE FINAL THINGY +| * | 52214be Update final/4main.py +| * | 4540269 Update final/4main.py +| * | 785c955 Update final/4main.py +| * | b6cffc6 Update final/4main +| * | 870dce3 Merge pull request 'arcmyx-dev' (#13) from arcmyx-dev into dev +| |\| +| | * bb76258 Update final/main4emaj.py +| | * 75e64da Update final/main4emaj.py +| | * 8ea7cd5 Update final/main4emaj.py +* | | 5ba2811 Merge pull request 'Updated LICENSE and README' (#12) from dev into main +|\| | +| * | dd4fb8b Switched to GPLv3 +| * | ee099d9 Switched to GPL v3 +| * | 489add5 Removed emojis +* | | 387e00b Merge branch 'dev' +|\| | +| * | 28e5bea Updated README file with some formatting help from AI +* | | 3fdd6ae Merge to main for Scrimmage +|\| | +| * | 1e612e2 Updated license information +| * | 4456a5a Merge pull request 'Johannes_Dev' (#9) from Johannes_Dev into dev +| |\ \ +| | * | 08e0b9a Delete missions/Lift2.py +| | * | 4533f95 Add stuff from Johannes accidental fork +| * | | ec74531 Merge pull request 'Vickram_dev_' (#8) from Vickram_dev_ into dev +| |\ \ \ +| * \ \ \ 62b76d4 Merge pull request 'Add missions/tip the scale.py' (#4) from ayaan_dev into dev +| |\ \ \ \ +| | * | | | 8008daf Add missions/tip the scale.py +| * | | | | cba5cfc Merge pull request 'Update utils/combine_runs.py' (#5) from Vickram_dev_ into dev +| |\ \ \ \ \ +| * \ \ \ \ \ 3349e7f Merge pull request 'Rishi_dev' (#7) from Rishi_dev into dev +| |\ \ \ \ \ \ +| | * | | | | | 4b765b0 Update missions/M8_5.py +| | * | | | | | 2eca0d7 Initial commit +| |/ / / / / / +| * | / / / / 8949003 Mission 9 not in use +| | |/ / / / +| |/| | | | +| * | | | | 6931731 Update LINEUPS.md +| * | | | | d172c70 THIS CODE IS OUTDATED!!! DO NOT USE!!! +| * | | | | efcc011 Initial Commit +| * | | | | 28bb3fa Merge pull request 'Pull from Vickram to dev' (#2) from Vickram_dev_ into dev +| |\ \ \ \ \ +| * \ \ \ \ \ 7ba2453 Merge pull request 'Pull from Johannes_Dev to dev' (#3) from Johannes_Dev into dev +| |\ \ \ \ \ \ +| | | |_|_|/ / +| | |/| | | | +| | * | | | | 7eeead7 Sand Mission +| | * | | | | e817650 Send Over +| | * | | | | c4aa954 Boat mission +* | | | | | | ee0b8eb Update README.md +* | | | | | | a745ed8 Merge pull request 'WIP - Test Merge ( dev to main )' (#1) from dev into main +|\ \ \ \ \ \ \ +| | | | | | | | * 7e2dc0b Update final/main5.py +| | | | | | | | * 29bd9f0 Update final/main5.py +| | | | | | | | * a3b04d3 Add final/main5.py +| | | | | | | | * 2d9eb49 Update final/main4.py +| | | | | | | | * 42090ea Update final/main4.py +| | | | | | | | * f7072a6 Update final/main4.py +| | | | | | | |/ +| | | | | | | * 3f37e7e Update final/main4.py +| | | | | | | * a3e7be2 Update final/main4.py +| | | | | | | * c2204e7 Update final/main4.py +| | | | | | | * 0664a61 Add final/main4.py +| | | | | | | * 227619d Add final/3main.py +| | | | | | | * 684447c Add final/2main.py +| | | | | | |/ +| | | | | | * 95d7c0c Add final/1main.py +| | | | | | * 7e0c3d2 Delete Final Combined Codes +| | | | | | * f190d38 Add Final Combined Codes +| | | | | | * cd21a73 Delete missions/main.py +| | | | | | * 0fa1019 Upload files to "missions" +| | | | | |/ +| | | | | * bb89e01 Update utils/combine_runs.py +| | | | |/ +| | | | * c690ae4 Update members/Vickram.txt +| | | |/ +| | |/| +| | * | d309b00 '{Johannes}' +| | * | 37fb0a6 Add members/Ayaan.txt +| | * | e895fd1 Add members/Vickram.txt +| | * | 70e09fb Add members/Carlos.txt +| | |/ +| | * d017d13 Update members/atharv.txt +| | * 6199a9c Atharv - added my About Me +| | * 72547c5 Fixed grammar +| | * 5d57a3a Initial commit +| | * 5c7e2e9 Uploaded files from Bitbucket +| | * e36e3d0 Delete Send_Over.py +| | * a35d599 Delete M8_5.py +| | * 6dedb0a Uploaded files from Bitbucket +| | * be5350d Update README.md +| | * 2412f2c Uploaded files from Bitbucket +| | * 125f1df Uploaded files from Bitbucket +| | * 3ddaf7e Uploaded files from Bitbucket +| | * 2629845 Test new +| | * fdbc180 Test +| |/ +| * ce4f984 Created new branch +| * 7a0d651 Test commit +|/ +* 0d0e977 Initial commit From 7047a0d227e58d2727b7e0c32088373ff1cc38cb Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Wed, 12 Nov 2025 01:12:58 +0000 Subject: [PATCH 51/55] Delete commit-graph.html --- commit-graph.html | 132 ---------------------------------------------- 1 file changed, 132 deletions(-) delete mode 100644 commit-graph.html diff --git a/commit-graph.html b/commit-graph.html deleted file mode 100644 index 4770fe1..0000000 --- a/commit-graph.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -stdin - - - - - -
-*   d3294bc (HEAD -> main, tag: TwistScrimmageRelease, origin/main) SCRIMMAGE MERGE!!!
-|\  
-| * d66aecd (origin/dev, origin/HEAD, dev) Update README.md
-| * bbdf0d0 Shortened fun sounds
-| *   a2ed2c4 Merge pull request 'arcmyx-dev' (#14) from arcmyx-dev into dev
-| |\  
-| | * dd0070d (origin/arcmyx-dev) Update twist_scrimmage.py
-| | * 9a06677 Added comments. Good luck for scrimmage y'all!!!
-| | * 11e89c6 THE FINAL THINGY
-| * | 52214be Update final/4main.py
-| * | 4540269 Update final/4main.py
-| * | 785c955 Update final/4main.py
-| * | b6cffc6 Update final/4main
-| * | 870dce3 Merge pull request 'arcmyx-dev' (#13) from arcmyx-dev into dev
-| |\| 
-| | * bb76258 Update final/main4emaj.py
-| | * 75e64da Update final/main4emaj.py
-| | * 8ea7cd5 Update final/main4emaj.py
-* | | 5ba2811 Merge pull request 'Updated LICENSE and README' (#12) from dev into main
-|\| | 
-| * | dd4fb8b Switched to GPLv3
-| * | ee099d9 Switched to GPL v3
-| * | 489add5 Removed emojis
-* | | 387e00b Merge branch 'dev'
-|\| | 
-| * | 28e5bea Updated README file with some formatting help from AI
-* | | 3fdd6ae Merge to main for Scrimmage
-|\| | 
-| * | 1e612e2 (tag: Scrimmage-Twist) Updated license information
-| * |   4456a5a Merge pull request 'Johannes_Dev' (#9) from Johannes_Dev into dev
-| |\ \  
-| | * | 08e0b9a (origin/Johannes_Dev) Delete missions/Lift2.py
-| | * | 4533f95 Add stuff from Johannes accidental fork
-| * | |   ec74531 Merge pull request 'Vickram_dev_' (#8) from Vickram_dev_ into dev
-| |\ \ \  
-| * \ \ \   62b76d4 Merge pull request 'Add missions/tip the scale.py' (#4) from ayaan_dev into dev
-| |\ \ \ \  
-| | * | | | 8008daf (origin/ayaan_dev) Add missions/tip the scale.py
-| * | | | |   cba5cfc Merge pull request 'Update utils/combine_runs.py' (#5) from Vickram_dev_ into dev
-| |\ \ \ \ \  
-| * \ \ \ \ \   3349e7f Merge pull request 'Rishi_dev' (#7) from Rishi_dev into dev
-| |\ \ \ \ \ \  
-| | * | | | | | 4b765b0 (origin/Rishi_dev) Update missions/M8_5.py
-| | * | | | | | 2eca0d7 Initial commit
-| |/ / / / / /  
-| * | / / / / 8949003 Mission 9 not in use
-| | |/ / / /  
-| |/| | | |   
-| * | | | | 6931731 Update LINEUPS.md
-| * | | | | d172c70 THIS CODE IS OUTDATED!!! DO NOT USE!!!
-| * | | | | efcc011 Initial Commit
-| * | | | |   28bb3fa Merge pull request 'Pull from Vickram to dev' (#2) from Vickram_dev_ into dev
-| |\ \ \ \ \  
-| * \ \ \ \ \   7ba2453 Merge pull request 'Pull from Johannes_Dev to dev' (#3) from Johannes_Dev into dev
-| |\ \ \ \ \ \  
-| | | |_|_|/ /  
-| | |/| | | |   
-| | * | | | | 7eeead7 Sand Mission
-| | * | | | | e817650 Send Over
-| | * | | | | c4aa954 Boat mission
-* | | | | | | ee0b8eb Update README.md
-* | | | | | |   a745ed8 Merge pull request 'WIP - Test Merge ( dev to main )' (#1) from dev into main
-|\ \ \ \ \ \ \  
-| | | | | | | | * 7e2dc0b (origin/Vickram_dev_) Update final/main5.py
-| | | | | | | | * 29bd9f0 Update final/main5.py
-| | | | | | | | * a3b04d3 Add final/main5.py
-| | | | | | | | * 2d9eb49 Update final/main4.py
-| | | | | | | | * 42090ea Update final/main4.py
-| | | | | | | | * f7072a6 Update final/main4.py
-| | | | | | | |/  
-| | | | | | | * 3f37e7e Update final/main4.py
-| | | | | | | * a3e7be2 Update final/main4.py
-| | | | | | | * c2204e7 Update final/main4.py
-| | | | | | | * 0664a61 Add final/main4.py
-| | | | | | | * 227619d Add final/3main.py
-| | | | | | | * 684447c Add final/2main.py
-| | | | | | |/  
-| | | | | | * 95d7c0c Add final/1main.py
-| | | | | | * 7e0c3d2 Delete Final Combined Codes
-| | | | | | * f190d38 Add Final Combined Codes
-| | | | | | * cd21a73 Delete missions/main.py
-| | | | | | * 0fa1019 Upload files to "missions"
-| | | | | |/  
-| | | | | * bb89e01 Update utils/combine_runs.py
-| | | | |/  
-| | | | * c690ae4 Update members/Vickram.txt
-| | | |/  
-| | |/|   
-| | * | d309b00 '{Johannes}'
-| | * | 37fb0a6 Add members/Ayaan.txt
-| | * | e895fd1 Add members/Vickram.txt
-| | * | 70e09fb Add members/Carlos.txt
-| | |/  
-| | * d017d13 Update members/atharv.txt
-| | * 6199a9c Atharv - added my About Me
-| | * 72547c5 Fixed grammar
-| | * 5d57a3a Initial commit
-| | * 5c7e2e9 Uploaded files from Bitbucket
-| | * e36e3d0 Delete Send_Over.py
-| | * a35d599 Delete M8_5.py
-| | * 6dedb0a Uploaded files from Bitbucket
-| | * be5350d Update README.md
-| | * 2412f2c Uploaded files from Bitbucket
-| | * 125f1df Uploaded files from Bitbucket
-| | * 3ddaf7e Uploaded files from Bitbucket
-| | * 2629845 Test new
-| | * fdbc180 Test
-| |/  
-| * ce4f984 Created new branch
-| * 7a0d651 Test commit
-|/  
-* 0d0e977 Initial commit
-
- - From b08d80b4b6de53a0691c1ba8d38581c86f4800f8 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Wed, 12 Nov 2025 01:13:04 +0000 Subject: [PATCH 52/55] Delete graph.txt --- graph.txt | 112 ------------------------------------------------------ 1 file changed, 112 deletions(-) delete mode 100644 graph.txt diff --git a/graph.txt b/graph.txt deleted file mode 100644 index 16e345d..0000000 --- a/graph.txt +++ /dev/null @@ -1,112 +0,0 @@ -* d3294bc SCRIMMAGE MERGE!!! -|\ -| * d66aecd Update README.md -| * bbdf0d0 Shortened fun sounds -| * a2ed2c4 Merge pull request 'arcmyx-dev' (#14) from arcmyx-dev into dev -| |\ -| | * dd0070d Update twist_scrimmage.py -| | * 9a06677 Added comments. Good luck for scrimmage y'all!!! -| | * 11e89c6 THE FINAL THINGY -| * | 52214be Update final/4main.py -| * | 4540269 Update final/4main.py -| * | 785c955 Update final/4main.py -| * | b6cffc6 Update final/4main -| * | 870dce3 Merge pull request 'arcmyx-dev' (#13) from arcmyx-dev into dev -| |\| -| | * bb76258 Update final/main4emaj.py -| | * 75e64da Update final/main4emaj.py -| | * 8ea7cd5 Update final/main4emaj.py -* | | 5ba2811 Merge pull request 'Updated LICENSE and README' (#12) from dev into main -|\| | -| * | dd4fb8b Switched to GPLv3 -| * | ee099d9 Switched to GPL v3 -| * | 489add5 Removed emojis -* | | 387e00b Merge branch 'dev' -|\| | -| * | 28e5bea Updated README file with some formatting help from AI -* | | 3fdd6ae Merge to main for Scrimmage -|\| | -| * | 1e612e2 Updated license information -| * | 4456a5a Merge pull request 'Johannes_Dev' (#9) from Johannes_Dev into dev -| |\ \ -| | * | 08e0b9a Delete missions/Lift2.py -| | * | 4533f95 Add stuff from Johannes accidental fork -| * | | ec74531 Merge pull request 'Vickram_dev_' (#8) from Vickram_dev_ into dev -| |\ \ \ -| * \ \ \ 62b76d4 Merge pull request 'Add missions/tip the scale.py' (#4) from ayaan_dev into dev -| |\ \ \ \ -| | * | | | 8008daf Add missions/tip the scale.py -| * | | | | cba5cfc Merge pull request 'Update utils/combine_runs.py' (#5) from Vickram_dev_ into dev -| |\ \ \ \ \ -| * \ \ \ \ \ 3349e7f Merge pull request 'Rishi_dev' (#7) from Rishi_dev into dev -| |\ \ \ \ \ \ -| | * | | | | | 4b765b0 Update missions/M8_5.py -| | * | | | | | 2eca0d7 Initial commit -| |/ / / / / / -| * | / / / / 8949003 Mission 9 not in use -| | |/ / / / -| |/| | | | -| * | | | | 6931731 Update LINEUPS.md -| * | | | | d172c70 THIS CODE IS OUTDATED!!! DO NOT USE!!! -| * | | | | efcc011 Initial Commit -| * | | | | 28bb3fa Merge pull request 'Pull from Vickram to dev' (#2) from Vickram_dev_ into dev -| |\ \ \ \ \ -| * \ \ \ \ \ 7ba2453 Merge pull request 'Pull from Johannes_Dev to dev' (#3) from Johannes_Dev into dev -| |\ \ \ \ \ \ -| | | |_|_|/ / -| | |/| | | | -| | * | | | | 7eeead7 Sand Mission -| | * | | | | e817650 Send Over -| | * | | | | c4aa954 Boat mission -* | | | | | | ee0b8eb Update README.md -* | | | | | | a745ed8 Merge pull request 'WIP - Test Merge ( dev to main )' (#1) from dev into main -|\ \ \ \ \ \ \ -| | | | | | | | * 7e2dc0b Update final/main5.py -| | | | | | | | * 29bd9f0 Update final/main5.py -| | | | | | | | * a3b04d3 Add final/main5.py -| | | | | | | | * 2d9eb49 Update final/main4.py -| | | | | | | | * 42090ea Update final/main4.py -| | | | | | | | * f7072a6 Update final/main4.py -| | | | | | | |/ -| | | | | | | * 3f37e7e Update final/main4.py -| | | | | | | * a3e7be2 Update final/main4.py -| | | | | | | * c2204e7 Update final/main4.py -| | | | | | | * 0664a61 Add final/main4.py -| | | | | | | * 227619d Add final/3main.py -| | | | | | | * 684447c Add final/2main.py -| | | | | | |/ -| | | | | | * 95d7c0c Add final/1main.py -| | | | | | * 7e0c3d2 Delete Final Combined Codes -| | | | | | * f190d38 Add Final Combined Codes -| | | | | | * cd21a73 Delete missions/main.py -| | | | | | * 0fa1019 Upload files to "missions" -| | | | | |/ -| | | | | * bb89e01 Update utils/combine_runs.py -| | | | |/ -| | | | * c690ae4 Update members/Vickram.txt -| | | |/ -| | |/| -| | * | d309b00 '{Johannes}' -| | * | 37fb0a6 Add members/Ayaan.txt -| | * | e895fd1 Add members/Vickram.txt -| | * | 70e09fb Add members/Carlos.txt -| | |/ -| | * d017d13 Update members/atharv.txt -| | * 6199a9c Atharv - added my About Me -| | * 72547c5 Fixed grammar -| | * 5d57a3a Initial commit -| | * 5c7e2e9 Uploaded files from Bitbucket -| | * e36e3d0 Delete Send_Over.py -| | * a35d599 Delete M8_5.py -| | * 6dedb0a Uploaded files from Bitbucket -| | * be5350d Update README.md -| | * 2412f2c Uploaded files from Bitbucket -| | * 125f1df Uploaded files from Bitbucket -| | * 3ddaf7e Uploaded files from Bitbucket -| | * 2629845 Test new -| | * fdbc180 Test -| |/ -| * ce4f984 Created new branch -| * 7a0d651 Test commit -|/ -* 0d0e977 Initial commit From 73ca30ed4c675eeeb5f279fd93018b5b25fddcf4 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Wed, 12 Nov 2025 01:13:09 +0000 Subject: [PATCH 53/55] Delete commit-graphnew.html --- commit-graphnew.html | 136 ------------------------------------------- 1 file changed, 136 deletions(-) delete mode 100644 commit-graphnew.html diff --git a/commit-graphnew.html b/commit-graphnew.html deleted file mode 100644 index ee955e9..0000000 --- a/commit-graphnew.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - COMMIT GRAPH - - - - -
-*   d3294bc  (HEAD -> main, tag: TwistScrimmageRelease, origin/main) SCRIMMAGE MERGE!!! [Atharv]
-|\  
-| * d66aecd  (origin/dev, origin/HEAD, dev) Update README.md [Atharv]
-| * bbdf0d0  Shortened fun sounds [Atharv]
-| *   a2ed2c4  Merge pull request 'atharv-dev' (#14) from atharv-dev into dev [Atharv]
-| |\  
-| | * dd0070d  (origin/atharv-dev) Update twist_scrimmage.py [Atharv]
-| | * 9a06677  Added comments. Good luck for scrimmage y'all!!! [Atharv]
-| | * 11e89c6  THE FINAL THINGY [Atharv]
-| * | 52214be  Update final/4main.py [Ayaan]
-| * | 4540269  Update final/4main.py [Johannes]
-| * | 785c955  Update final/4main.py [Atharv]
-| * | b6cffc6  Update final/4main [Atharv]
-| * | 870dce3  Merge pull request 'atharv-dev' (#13) from atharv-dev into dev [Atharv]
-| |\| 
-| | * bb76258  Update final/main4emaj.py [Atharv]
-| | * 75e64da  Update final/main4emaj.py [Atharv]
-| | * 8ea7cd5  Update final/main4emaj.py [Atharv]
-* | | 5ba2811  Merge pull request 'Updated LICENSE and README' (#12) from dev into main [Atharv]
-|\| | 
-| * | dd4fb8b  Switched to GPLv3 [Atharv]
-| * | ee099d9  Switched to GPL v3 [Atharv]
-| * | 489add5  Removed emojis [Atharv]
-* | | 387e00b  Merge branch 'dev' [Coach]
-|\| | 
-| * | 28e5bea  Updated README file with some formatting help from AI [Coach]
-* | | 3fdd6ae  Merge to main for Scrimmage [Coach]
-|\| | 
-| * | 1e612e2  (tag: Scrimmage-Twist) Updated license information [Atharv]
-| * |   4456a5a  Merge pull request 'Johannes_Dev' (#9) from Johannes_Dev into dev [Atharv]
-| |\ \  
-| | * | 08e0b9a  (origin/Johannes_Dev) Delete missions/Lift2.py [Atharv]
-| | * | 4533f95  Add stuff from Johannes accidental fork [Atharv]
-| * | |   ec74531  Merge pull request 'Vickram_dev_' (#8) from Vickram_dev_ into dev [Atharv]
-| |\ \ \  
-| * \ \ \   62b76d4  Merge pull request 'Add missions/tip the scale.py' (#4) from ayaan_dev into dev [Atharv]
-| |\ \ \ \  
-| | * | | | 8008daf  (origin/ayaan_dev) Add missions/tip the scale.py [Ayaan]
-| * | | | |   cba5cfc  Merge pull request 'Update utils/combine_runs.py' (#5) from Vickram_dev_ into dev [Atharv]
-| |\ \ \ \ \  
-| * \ \ \ \ \   3349e7f  Merge pull request 'Rishi_dev' (#7) from Rishi_dev into dev [Atharv]
-| |\ \ \ \ \ \  
-| | * | | | | | 4b765b0  (origin/Rishi_dev) Update missions/M8_5.py [Rishikesh Lolapu]
-| | * | | | | | 2eca0d7  Initial commit [Rishikesh Lolapu]
-| |/ / / / / /  
-| * | / / / / 8949003  Mission 9 not in use [Atharv]
-| | |/ / / /  
-| |/| | | |   
-| * | | | | 6931731  Update LINEUPS.md [Atharv]
-| * | | | | d172c70  THIS CODE IS OUTDATED!!! DO NOT USE!!! [Atharv]
-| * | | | | efcc011  Initial Commit [Vickram]
-| * | | | |   28bb3fa  Merge pull request 'Pull from Vickram to dev' (#2) from Vickram_dev_ into dev [Atharv]
-| |\ \ \ \ \  
-| * \ \ \ \ \   7ba2453  Merge pull request 'Pull from Johannes_Dev to dev' (#3) from Johannes_Dev into dev [Atharv]
-| |\ \ \ \ \ \  
-| | | |_|_|/ /  
-| | |/| | | |   
-| | * | | | | 7eeead7  Sand Mission [Johannes]
-| | * | | | | e817650  Send Over [Johannes]
-| | * | | | | c4aa954  Boat mission [Johannes]
-* | | | | | | ee0b8eb  Update README.md [Atharv]
-* | | | | | |   a745ed8  Merge pull request 'WIP - Test Merge ( dev to main )' (#1) from dev into main [Coach]
-|\ \ \ \ \ \ \  
-| | | | | | | | * 7e2dc0b  (origin/Vickram_dev_) Update final/main5.py [Rishikesh Lolapu]
-| | | | | | | | * 29bd9f0  Update final/main5.py [Rishikesh Lolapu]
-| | | | | | | | * a3b04d3  Add final/main5.py [Rishikesh Lolapu]
-| | | | | | | | * 2d9eb49  Update final/main4.py [Johannes]
-| | | | | | | | * 42090ea  Update final/main4.py [Johannes]
-| | | | | | | | * f7072a6  Update final/main4.py [Johannes]
-| | | | | | | |/  
-| | | | | | | * 3f37e7e  Update final/main4.py [Vickram]
-| | | | | | | * a3e7be2  Update final/main4.py [Atharv]
-| | | | | | | * c2204e7  Update final/main4.py [Vickram]
-| | | | | | | * 0664a61  Add final/main4.py [Vickram]
-| | | | | | | * 227619d  Add final/3main.py [Vickram]
-| | | | | | | * 684447c  Add final/2main.py [Vickram]
-| | | | | | |/  
-| | | | | | * 95d7c0c  Add final/1main.py [Vickram]
-| | | | | | * 7e0c3d2  Delete Final Combined Codes [Vickram]
-| | | | | | * f190d38  Add Final Combined Codes [Vickram]
-| | | | | | * cd21a73  Delete missions/main.py [Vickram]
-| | | | | | * 0fa1019  Upload files to "missions" [Vickram]
-| | | | | |/  
-| | | | | * bb89e01  Update utils/combine_runs.py [Vickram]
-| | | | |/  
-| | | | * c690ae4  Update members/Vickram.txt [Vickram]
-| | | |/  
-| | |/|   
-| | * | d309b00  '{Johannes}' [Johannes]
-| | * | 37fb0a6  Add members/Ayaan.txt [Ayaan]
-| | * | e895fd1  Add members/Vickram.txt [Vickram]
-| | * | 70e09fb  Add members/Carlos.txt [Carlos]
-| | |/  
-| | * d017d13  Update members/atharv.txt [Atharv]
-| | * 6199a9c  Atharv - added my About Me [Atharv]
-| | * 72547c5  Fixed grammar [Atharv]
-| | * 5d57a3a  Initial commit [Atharv]
-| | * 5c7e2e9  Uploaded files from Bitbucket [Atharv]
-| | * e36e3d0  Delete Send_Over.py [Atharv]
-| | * a35d599  Delete M8_5.py [Atharv]
-| | * 6dedb0a  Uploaded files from Bitbucket [Atharv]
-| | * be5350d  Update README.md [Atharv]
-| | * 2412f2c  Uploaded files from Bitbucket [Atharv]
-| | * 125f1df  Uploaded files from Bitbucket [Atharv]
-| | * 3ddaf7e  Uploaded files from Bitbucket [Atharv]
-| | * 2629845  Test new [Atharv]
-| | * fdbc180  Test [Atharv]
-| |/  
-| * ce4f984  Created new branch [Coach]
-| * 7a0d651  Test commit [Coach]
-|/  
-* 0d0e977  Initial commit [Coach]
- - From eae9c77bcf8c8dbf48c3ed4b1f1781b454c0f6bf Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Wed, 12 Nov 2025 01:14:40 +0000 Subject: [PATCH 54/55] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3567d58..fbe8f8f 100644 --- a/README.md +++ b/README.md @@ -63,17 +63,17 @@ Repository ### Installation & Deployment - from the server - everyday -1. Download the file codes_for_scrimmage/hazmat/mainhazmatUPD.py +1. Download the file codes_for_scrimmage/regional-final/Final_combined.py - You can do this through the repo, by using cURL, or by using git. - - Repo - Go to [codes_for_scrimmage/hazmat/mainhazmatUPD.py](codes_for_scrimmage/hazmat/mainhazmatUPD.py) and click the "Download" button. + - Repo - Go to [codes_for_scrimmage/regional-final/Final_combined.py](codes_for_scrimmage/regional-final/Final_combined.py) and click the "Download" button. - cURL or another HTTP data transferrer - - ```curl -o mainhazmatUPD.py https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/main/codes_for_scrimmage/hazmat/mainhazmatUPD.py``` + ```curl -o Final_combined.py https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/main/codes_for_scrimmage/regional-final/Final_combined.py``` - git CLI - ```git clone -b dev https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed.git && cd solutions_season_unearthed/codes_for_scrimmage/hazmat``` - Then use mainhazmatUPD.py. + Then use Final_combined.py. 2. Open https://code.pybricks.com/ and select the "Import a file" button on the top of the left bar. Import the .py file. Pair your robot via Bluetooth in Pybricks by selecting the Bluetooth button. From 9e429cf8f1d643aae814d18899d5c047f95077c0 Mon Sep 17 00:00:00 2001 From: Atharv <30nagava@elmbrookstudents.org> Date: Wed, 12 Nov 2025 01:15:22 +0000 Subject: [PATCH 55/55] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fbe8f8f..3bb5d68 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ Repository ```curl -o Final_combined.py https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/main/codes_for_scrimmage/regional-final/Final_combined.py``` - git CLI - - ```git clone -b dev https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed.git && cd solutions_season_unearthed/codes_for_scrimmage/hazmat``` + ```git clone -b dev https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed.git && cd solutions_season_unearthed/codes_for_scrimmage/regional-final``` Then use Final_combined.py.