Compare commits
16 Commits
parthiv-de
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| 31f482f576 | |||
| 30a5392e56 | |||
| 3b22d28e98 | |||
|
|
9cdb70dd80 | ||
|
|
c3c875e80e | ||
|
|
809789837d | ||
| 39bfe7b307 | |||
|
|
80d6300fc0 | ||
|
|
b25a2a5feb | ||
| 2d614c0e38 | |||
| c7801d17c0 | |||
| 6e82f4d476 | |||
| 9061eef311 | |||
| 21e8bd68c2 | |||
| 7e1d310e24 | |||
| 37b025088f |
12
LINEUPS.md
12
LINEUPS.md
@@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
## These are the line-up positions for the robot game for various missions.
|
## 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. Also, when counting these lines, make sure you count from the inside curve, not the outside.
|
||||||
|
|
||||||
- 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.
|
<img src="https://codes.fll-65266.org/FLL_65266_LEGO_DYNAMICS/solutions_season_unearthed/raw/branch/do-not-merge/r1l.png" alt="Alt text" width="300"/>
|
||||||
|
|
||||||
- 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 #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 #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 #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 #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 #4 (Run #4) [Left/Red Home] - The robot's left edge should be positioned on the 2nd thick 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.
|
- 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.
|
||||||
@@ -46,21 +46,21 @@ async def monitor_distance():
|
|||||||
# New Section
|
# New Section
|
||||||
async def Run1(): # From M8_5.py
|
async def Run1(): # From M8_5.py
|
||||||
right_arm.run_angle(1000,450)
|
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.straight(200)
|
||||||
|
|
||||||
await drive_base.turn(-40)
|
await drive_base.turn(-40)
|
||||||
await drive_base.straight(325)
|
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(-100)
|
||||||
await drive_base.straight(50)
|
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.straight(-270)
|
||||||
await drive_base.turn(40)
|
await drive_base.turn(40)
|
||||||
await drive_base.straight(135)
|
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)
|
||||||
await right_arm.run_angle(5000,450, Stop.HOLD)
|
await right_arm.run_angle(5000,450, Stop.HOLD)
|
||||||
@@ -142,16 +142,16 @@ async def Run4(): # From Send_Over_Final.py
|
|||||||
|
|
||||||
# Add Rishi's code here
|
# Add Rishi's code here
|
||||||
async def Run5():
|
async def Run5():
|
||||||
await drive_base.straight(700)
|
await drive_base.straight(600)
|
||||||
await drive_base.turn(-18)
|
await drive_base.straight(-100)
|
||||||
|
await drive_base.straight(150)
|
||||||
|
await drive_base.turn(60)
|
||||||
await drive_base.straight(100)
|
await drive_base.straight(100)
|
||||||
await drive_base.straight(-205)
|
await drive_base.turn(-86)
|
||||||
await drive_base.turn(63)
|
await drive_base.straight(120)
|
||||||
await drive_base.straight(125)
|
await drive_base.turn(-45)
|
||||||
await arm_motor.run_angle(1000, -1200)
|
await drive_base.straight(-200)
|
||||||
await drive_base.straight(84)
|
await drive_base.turn(75)
|
||||||
await arm_motor.run_angle(300, 1200)
|
|
||||||
await drive_base.straight(-875)
|
|
||||||
|
|
||||||
# Add - Adi's code here
|
# Add - Adi's code here
|
||||||
async def Run6():
|
async def Run6():
|
||||||
|
|||||||
38
missions/New_MapReveal/New_MapReveal_Mineshaft.py
Normal file
38
missions/New_MapReveal/New_MapReveal_Mineshaft.py
Normal file
@@ -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())
|
||||||
Reference in New Issue
Block a user