if adb devices doesn't show any devices:
- connect to driver hub using wifi
- use
adb connect 192.168.43.1 - now try
adb devices
- all distance units: millimeters
- all angle units: radians
- all speed units: TPS or radians/s
- TPS for commanding motors directly
- radians/s for math (bcuz it's easy for physics)
- robot length (back to front) is 420mm / 16.53543"
- robot width (left to right) is 400mm / 15.74803"
driver station config name: parallel plate v0
| port/bus | device | location | verbatim name |
|---|---|---|---|
| 1 | Pinpoint Odo Computer | left side under control hub | odo |
having sensors 1/2 on the left/right doesn't matter because we are just comparing values
| port | device | verbatim name |
|---|---|---|
| USB | Limelight 3A | limelight |
the Limelight will show up as Ethernet Device under the USB devices, make sure to rename it to the verbatim name
| motor port | verbatim name | encoder? |
|---|---|---|
| 0 | frontLeft |
❌ |
| 1 | frontRight |
❌ |
| 2 | backLeft |
❌ |
| 3 | backRight |
❌ |
make sure to connect every motor with the correct polarity, the reversing should be done in software
| servo port | verbatim name |
|---|---|
| 0 | lowerTransfer |
| 1 | upperTransfer |
| 2 | none |
| 3 | none |
| 4 | none |
| 5 | none |
| port/bus | device | location | verbatim name |
|---|---|---|---|
| 0 | REV 2M Distance Sensor | intake | intakeSensor |
| 1 | REV Color Sensor V3 | lower transfer | lowerTransferSensor |
| 2 | REV 2M Distance Sensor | left side of lower transfer | upperTransferSensor |
| 3 | unused | unused | unused |
having sensors 1/2 on the left/right doesn't matter because we are just comparing values
| motor port | verbatim name | encoder? |
|---|---|---|
| 0 | intake |
❌ |
| 1 | launch |
✅ |
| 2 | none | ❌ |
| 3 | none | ❌ |
- X: move X (absolute coordinates)
- Y: move Y (absolute coordinates)
- X: rotate clockwise/counterclockwise
- Y: not used
- left bumper: auto turn to goal
- right bumper: launch ball
- left trigger: slow mode
- right trigger: launch power (when manually controlled)
- A: toggle intake
- B: toggle manual/automatic launch
- auto: uses odo to find out needed launch speed to reach goal
- manual: sets launch speed to constant defined in Tunables.java (calibrated for shooting from crease)
- Y: launch 3 balls
- X: reverse intake
- up: increase launch RPM setpoint
- down: decrease launch RPM setpoint
- start: toggle field/robot centric
- back: reset field centric heading
BlueTeleOp: TeleOp for blue teamRedTeleOp: TeleOp for red team
BlueTriAuto: starting by bottom triangleBlueGoalAuto: starting by blue team goal
RedTriAuto: starting by bottom triangleRedGoalAuto: starting by red team goal
FlywheelTest: test flywheel max speedLaunchDelay: test and tune delays for launchServoTest: test servo endpoints
- START
- TRAVEL_TO_LAUNCH
- LAUNCH
- TRAVEL_TO_BALLS
- RELOAD
- GO_TO_END
- END
- starts at 4 (1 in robot, 3 on field)
- decrements every launch
- OPENING_UPPER_TRANSFER
- PUSHING_LOWER_TRANSFER
- WAITING_FOR_EXIT
- starts at 3 (all in robot)
- decrements by 1 every ball that is launched
- reset to 3 and return true when it hits 0
