2018:Robot IO Map: Difference between revisions
Programming (talk | contribs) No edit summary |
Programming (talk | contribs) No edit summary |
||
Line 994: | Line 994: | ||
</div> | </div> | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | |||
= Operator Controls = | = Operator Controls = | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | |||
<div class="mw-parser-output"> | |||
=== Controller 1 - Primary Driver === | === Controller 1 - Primary Driver === | ||
Line 1,016: | Line 1,015: | ||
|- | |- | ||
| style="width: 92px; text-align: center;" | | | style="width: 92px; text-align: center;" | A-1 | ||
| style="width: 414px;" | Left Joystick X | | style="width: 414px;" | Left Joystick X | ||
| Nothing | | Nothing | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center;" | | | style="width: 92px; text-align: center;" | A-4 | ||
| style="width: 414px;" | Right Joystick Y | | style="width: 414px;" | Right Joystick Y | ||
| Nothing | | Nothing | ||
Line 1,059: | Line 1,058: | ||
|} | |} | ||
<div class="mw-parser-output"> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> </div> <div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output"> </div> </div> | <div class="mw-parser-output"> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> </div> <div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output"> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | |||
<div class="mw-parser-output"> | |||
<div class="mw-parser-output"> | |||
=== Controller 2 - Aux Driver === | === Controller 2 - Aux Driver === | ||
{| | {| border="1" cellpadding="2" cellspacing="1" style="width: 908px" | ||
|- | |- | ||
| style="text-align: center; | | style="text-align: center; width: 91px" | '''Button/Axis #''' | ||
| style="width: 379px" | '''Action/Button''' | | style="width: 379px" | '''Action/Button''' | ||
| '''Description''' | | '''Description''' | ||
| '''Details''' | | '''Details''' | ||
|- | |- | ||
| style="text-align: center; | | style="text-align: center; width: 91px" | A-5 | ||
| style="width: 379px" | Right Joystick Y | | style="width: 379px" | Right Joystick Y | ||
| Fine Arm Control | | Fine Arm Control | ||
Line 1,090: | Line 1,085: | ||
|- | |- | ||
| style="width: 91px; | | style="width: 91px; text-align: center" | B-5 | ||
| style="width: 379px" | Left Bumper | | style="width: 379px" | Left Bumper | ||
| Raise Right Ramp | | Raise Right Ramp | ||
Line 1,101: | Line 1,096: | ||
|- | |- | ||
| style="width: 91px; | | style="width: 91px; text-align: center" | B-6 | ||
| style="width: 379px" | Right Bumper | | style="width: 379px" | Right Bumper | ||
| Raise Left Ramp | | Raise Left Ramp | ||
Line 1,112: | Line 1,107: | ||
|- | |- | ||
| style="width: 91px; | | style="width: 91px; text-align: center" | A-3 | ||
| style="width: 379px" | Right Trigger | | style="width: 379px" | Right Trigger | ||
| Intake | | Intake | ||
Line 1,123: | Line 1,118: | ||
|- | |- | ||
| style="width: 91px; | | style="width: 91px; text-align: center" | A-2 | ||
| style="width: 379px" | Left Trigger | | style="width: 379px" | Left Trigger | ||
| Outtake | | Outtake | ||
| Press and Hold | | Press and Hold | ||
|- | |- | ||
| style="width: 91px; | | style="width: 91px; text-align: center" | POV-0 | ||
| style="width: 379px" | Dpad Up | | style="width: 379px" | Dpad Up | ||
| Moves Intake Up | | Moves Intake Up | ||
Line 1,135: | Line 1,130: | ||
|- | |- | ||
| style="width: 91px; | | style="width: 91px; text-align: center" | POV-180 | ||
| style="width: 379px" | Dpad Down | | style="width: 379px" | Dpad Down | ||
| Moves Intake Down | | Moves Intake Down | ||
| When broken switch 1 is flipped, this moves the intake down | | When broken switch 1 is flipped, this moves the intake down | ||
|- | |- | ||
| style="width: 91px; | | style="width: 91px; text-align: center" | B-4 | ||
| style="width: 379px" | Y button | | style="width: 379px" | Y button | ||
| Arm to Intake Level Front (Preset position) | | Arm to Intake Level Front (Preset position) | ||
Line 1,149: | Line 1,144: | ||
|- | |- | ||
| style="width: 91px; | | style="width: 91px; text-align: center" | B-1 | ||
| style="width: 379px" | A button | | style="width: 379px" | A button | ||
| Arm to Exchange Level Back (Preset position) | | Arm to Exchange Level Back (Preset position) | ||
Line 1,158: | Line 1,153: | ||
|- | |- | ||
| style="width: 91px; | | style="width: 91px; text-align: center" | B-2 | ||
| style="width: 379px" | B button | | style="width: 379px" | B button | ||
| Arm to Switch Back (Preset position) | | Arm to Switch Back (Preset position) | ||
Line 1,167: | Line 1,162: | ||
|- | |- | ||
| style="width: 91px; | | style="width: 91px; text-align: center" | B-3 | ||
| style="width: 379px" | X button | | style="width: 379px" | X button | ||
| Arm to Switch Front (Preset position) | | Arm to Switch Front (Preset position) | ||
Line 1,176: | Line 1,171: | ||
|- | |- | ||
| style="width: 91px; | | style="width: 91px; text-align: center" | B-7 + B-8 | ||
| style="width: 379px" | Start + Select | | style="width: 379px" | Start + Select | ||
| Deploy Ramps | | Deploy Ramps | ||
Line 1,185: | Line 1,180: | ||
|} | |} | ||
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"> </div> </div></div></div></div></div> | </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"> </div> </div></div></div></div></div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | |||
=== Broken Switches === | === Broken Switches === | ||
Line 1,267: | Line 1,260: | ||
1 - intake is down/out | 1 - intake is down/out | ||
|- | |||
| Gyro cal | |||
| | |||
The background areas of the dashboard will be red when the gyro is in the middle of its calibration. | |||
Helps to inform drivers to not touch the robot whil calibrating, | |||
| thunderdashboard_gyro | |||
| | |||
0 - not calibrating | |||
1 - in middle of calibration | |||
|} | |} | ||
</div> </div> </div> </div> </div> </div> </div> </div> </div> | </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div></div> | ||
= IO Maps for Old Robots = | = IO Maps for Old Robots = |
Revision as of 09:24, 14 February 2018
Robot I/O
CAN ID Assignments
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Notes (8) max. 40A PDB # | |
0 | Electrical | PD Module |
Power Distribution Module feedback | monitor PD | must be CAN 0 |
||
1 | RESERVED | n/a | Factory-default allows for adding new device quickly and re-assign its ID |
don't use | |||
2 | cube intake | RS 775 | Talon SRX | left | Intake cube to hand (+) eject cube (-) | 30 A | 8 |
3 | cube intake | RS 775 | Talon SRX | right | Intake cube to hand (+) eject cube (-) | 30 A | 7 |
4 | arm | RS 775 | Talon SRX | moves arm | moves from arm front (+) to back (-) | 30 A | 9 |
5 | hand | RS 775 | Talon SRX | hold and eject the cube | rollers intake (+) eject the cube (-) | 30 A | 6 |
6 | Left Ramp, Near Jack | RS 775 | Talon SRX | Raise/Lower jack |
Raise jack (+) Vex encoder feeds direct to talon |
30 A | 13 |
7 | Left Ramp, Far Jack | RS 775 | Talon SRX | Raise/Lower jack |
Raise jack (+) Vex encoder feeds direct to talon |
40 A | 12 |
8 | Right Ramp, Near Jack | RS 775 | Talon SRX | Raise/Lower jack |
Raise jack (+) Vex encoder feeds direct to talon |
40 A | 3 |
9 | Right Ramp, Far Jack | RS 775 | Talon SRX | Raise/Lower jack |
Raise jack (+) Vex encoder feeds direct to talon |
30 A | 11 |
10 | |||||||
11 | |||||||
12 | |||||||
13 | |||||||
14 | |||||||
15 |
PWM Outputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation
|
Notes (8) max. 40A PDB # | |
0 | DriveBase | CIM | SPARK | Left Motor 1; +Voltage = Forwards | 40A | 0 | |
0 | DriveBase | CIM | SPARK | Left Motor 2; +Voltage = Forwards | 40A | 1 | |
1 | DriveBase | CIM | SPARK | Right Motor 1; +Voltage = Forwards | 40A | 15 | |
1 | DriveBase | CIM | SPARK | Right Motor 2; +Voltage = Forwards | 40A | 14 | |
2 | |||||||
3 | |||||||
4 | |||||||
5 | |||||||
6 | |||||||
7 | |||||||
8 | |||||||
9 |
Relay Outputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Notes |
0 | ||||||
1 | ||||||
2 | ||||||
3 |
Analog IO
RoboRIO Analog Inputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Voltage Range |
Notes | |
0 | ||||||||
1 | Drive | gyro | TBD | gyro | telling angle and rate in auto |
|
||
2 | Arm | pot |
|
arm position | arm forward (+) arm back (-) | 0-4 v ? | ||
3 |
Rev Robotics More Board Analog IO
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Voltage Range |
Notes |
AIN0 | |||||||
AIN1 | |||||||
AIN2 | |||||||
AIN3 | |||||||
AOUT0 | |||||||
AOUT1 |
Digital IO (GPIO)
RoboRio IO
ID | Direction (IN/OUT) |
Subsystem | Component Type |
Model # | Description (brief) |
Operation | Notes |
0 | IN | Drive | encoder | 63r256 | left encoder phase A | measures distance traveled | 256 counts per rev |
1 | IN | Arm | Mechanic leaf switch | Honeywell V7-2B17D8-048 | Limit at end of travel for front of robot | Limit "switch" - digital low at limit | |
2 | IN | Drive | encoder | 63r256 | right encoder phase A | measures distance traveled | 256 counts per rev |
3 | IN | Arm | Mechanic leaf switch | Honeywell V7-2B17D8-048 | Limit at end of travel for back of robot | Limit "switch" - digital low at limit | |
4 | IN | Intake | magnetic reed switch | Intake is all the way out | when it is all the way out it is digital low | ||
5 | IN | Arm | encoder | srx magnetic encoder | arm encoder phase A | 1024 counts per rev | |
6 | IN | Arm | encoder | srx magnetic encoder | arm encoder phase B | 1024 counts per rev | |
7 | IN | ||||||
8 | IN | ||||||
9 | IN | Hand | Allen Bradley diffuse sensor | 42EF-D1MNAK-A2 | cube present | when cube is present digital low | needs 10+ volt via PD board #3 |
Rev Robotics More Board IO
ID | Direction (IN/OUT) | Subsystem | Component Type | Model # | Description (brief) | Operation | Notes |
0 | |||||||
1 | |||||||
2 | |||||||
3 | |||||||
4 | |||||||
5 | |||||||
6 | |||||||
7 | |||||||
8 | |||||||
9 | |||||||
10 | |||||||
11 | |||||||
12 | |||||||
13 | |||||||
14 | |||||||
15 |
I2C Registers
Address (e.g. 0100111X) |
Pin (e.g. GP0) |
Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Notes |
0 | |||||||
1 | |||||||
2 | |||||||
3 | |||||||
4 | |||||||
5 | |||||||
6 |
SPI Devices
# |
Subsystem | Component Type |
Model # | Description (brief) | Operation |
Notes |
USB Host Ports
Address |
Subsystem | Component Type |
Model # | Description (brief) | Operation |
Notes |
0 | ||||||
1 |
Pneumatics Control Module
# | Subsystem | Solenoid is Double or Single? |
Solenoid Model # |
Description (brief) |
Operation | Circuit Pressure | Notes |
0 | Intake | Double | SY3240-6 | Raise intake | Extends cylinder to raise intake | 60 PSI | B |
1 | Lower intake | Retracts cylinder to lower intake | A | ||||
2 | Brake (Arm) | Double | SY3240-6 | Disengage brake on arm pivot. Does not actually pass air (block output) | Extends cylinder to disengage brake | 60 PSI | B |
3 | Engage brake on arm pivot | Retracts cylinder to engage brake | A | ||||
4 | Hand (Arm) | Double | SY3240-6 |
Release hand's grip on cube Does not actually pass air (block output) |
Removes air pressure from cylinder to "relax" grip on cube | ?? PSI | B |
5 | Tighten hand grip on cube | Retracts cylinder to "close" hand | A | ||||
6 | Ramp | Double | SY3240-6 | Holds ramps in stored position | Extends cylinder to hold ramps in up position | 60 PSI | B |
7 | Allows ramps to deploy to ground | Retracts cylinder to release ramps to ground | A |
Operator Controls
Controller 1 - Primary Driver
Button/Axis # | Action/Button | Description | Details |
A-1 | Left Joystick Y | Drive Forward/Back |
Up drive the robot forward (Intake side) NOTE: will do the opposite if swap drive is toggled |
A-1 | Left Joystick X | Nothing | |
A-4 | Right Joystick Y | Nothing | |
A-4 | Right Joystick X | Turn Left/Right |
Right will turn the robot clockwise and vice NOTE: will do the opposite if swap drive is toggled |
B-5 | Left Bumper | Slow | decreases the range of power to the motors by a set amount |
B-6 | Right Bumper | Nothing | |
A-2 | Left Trigger | Turbo | Increases the range of power to the motors by a set amount. |
A-3 | Right Trigger | Swap Drive |
Switches the front and back of the robot. Press to toggle. |
Controller 2 - Aux Driver
Button/Axis # | Action/Button | Description | Details |
A-5 | Right Joystick Y | Fine Arm Control |
Up - towards front Down - towards back Only moves arm and intake, when not in moving to a preset. Moves at a slower speed than the presets. When broken switches 1 is flipped, the arm will not stop at the front of the robot automatically. The driver is responsible for stopping the arm by letting go of the joystick. When broken switches 2 is flipped, the arm will not stop at the back of the robot automatically. The driver is responsible for stopping the arm by letting go of the joystick. |
B-5 | Left Bumper | Raise Right Ramp |
Press and Hold If button is let go, then the ramp will stop in place. If broken switch 5 is flipped, the ramp will not auto-stop when at top. Driver is responsible for stopping. |
B-6 | Right Bumper | Raise Left Ramp |
Press and Hold If button is let go, then the ramp will stop in place. If broken switch 4 is flipped, the ramp will not auto-stop when at top. Driver is responsible for stopping. |
A-3 | Right Trigger | Intake |
Press and Hold Will auto-stop when cube is all the way in. If broken switch 6 is flipped, the intake will not auto-stop when cube is fully in. |
A-2 | Left Trigger | Outtake | Press and Hold |
POV-0 | Dpad Up | Moves Intake Up |
When broken switch 1 is flipped, this moves the intake up. |
POV-180 | Dpad Down | Moves Intake Down | When broken switch 1 is flipped, this moves the intake down |
B-4 | Y button | Arm to Intake Level Front (Preset position) |
Press, and release, to move arm and intake there automatically. When broken switch 1 is flipped, the presets do not work. |
B-1 | A button | Arm to Exchange Level Back (Preset position) |
Press, and release, to move arm and intake there automatically. When broken switch 1 is flipped, the presets do not work. |
B-2 | B button | Arm to Switch Back (Preset position) |
Press, and release, to move arm and intake there automatically. When broken switch 1 is flipped, the presets do not work. |
B-3 | X button | Arm to Switch Front (Preset position) |
Press, and release, to move arm and intake there automatically. When broken switch 1 is flipped, the presets do not work. |
B-7 + B-8 | Start + Select | Deploy Ramps |
Press, and release, both at same time to lower ramps. Lowers all parts of the ramp. |
Broken Switches
Switch | Description | Details |
Broken Switch1 | Arm/Intake Movement |
None of the presets work. Intake doesn't move in and out with the arm automatically |
Broken Switch2 | Arm Front Limit Switch | Arm won't auto-stop when going towards the front. |
Broken Switch3 | Arm Back Limit Switch | Arm won't auto-stop when going towards the back. |
Broken Switch4 | Ramp Left Lift | Left Ramp doesnt auto-stop when at top. |
Broken Switch5 | Ramp Right Lift | Right Ramp doesn't auto-stop when at top. |
Broken Switch6 | Cube Intake | Cube intake doesn't auto-stop when cube is fully in. |
Dashboard
Feature | Control | Key | Value |
Have Cube | The background areas of the dashboard will be green when there is a cube | thunderdashboard_green |
0 - do not have a cube 1 - have a cube |
Arm position | A horizontal meter/gauge that shows the arm's position.
An empty gauge means the arm is all the way down in the back. A full gauge means the arm is all the way down in the front . |
thunderdashboard_armpos |
number ranging from 0 to 100 0 means arm is all the way down on the back 50 means arm is point straight up 100 means arm is all the way down on the front |
Intake position | TBD | thunderdashboard_intake |
0 - intake is up/in 1 - intake is down/out |
Gyro cal |
The background areas of the dashboard will be red when the gyro is in the middle of its calibration. Helps to inform drivers to not touch the robot whil calibrating, |
thunderdashboard_gyro |
0 - not calibrating 1 - in middle of calibration |