merging dev
This commit is contained in:
alkadienePhoton
2025-11-08 17:43:45 -06:00
18 changed files with 287 additions and 439 deletions

View File

@@ -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())

View File

@@ -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())

View File

@@ -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)

View File

@@ -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())

View File

@@ -2,7 +2,7 @@ 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
from pybricks.tools import wait, StopWatch, run_task, multitask
hub = PrimeHub()
@@ -23,23 +23,15 @@ drive_base.settings(300,1000,300,750)
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)
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())

View File

@@ -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())

View File

@@ -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())

View File

@@ -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())

View File

@@ -37,14 +37,6 @@ async def main():
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)
await arm_motor.run_angle(10000, 10000)
run_task(main())

View File

@@ -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())

View File

@@ -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())

View File

@@ -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())

View File

@@ -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())