42 lines
1.7 KiB
Plaintext
42 lines
1.7 KiB
Plaintext
|
|
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())
|