2018:Robot IO Map: Difference between revisions
Programming (talk | contribs) No edit summary |
Programming (talk | contribs) No edit summary |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Robot I/O = | = Robot I/O = | ||
<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"> | ||
Line 78: | Line 79: | ||
|- | |- | ||
| style="text-align: center" | 6 | | style="text-align: center" | 6 | ||
| style="text-align: center" | Left | | style="text-align: center" | Left lift | ||
| style="text-align: center" | RS 775 | | style="text-align: center" | RS 775 | ||
| style="text-align: center" | Talon SRX | | style="text-align: center" | Talon SRX | ||
| style="width: 210px; text-align: center" | | | style="width: 210px; text-align: center" | raises the left lift | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
raise lift (+) | |||
<span style="background-color:#ffff66;">Vex encoder feeds direct to talon</span> | <span style="background-color:#ffff66;">Vex encoder feeds direct to talon</span> | ||
Line 91: | Line 92: | ||
|- | |- | ||
| style="text-align: center" | 7 | | style="text-align: center" | 7 | ||
| style="text-align: center" | | | style="text-align: center" | Right lift | ||
| style="text-align: center" | RS 775 | | style="text-align: center" | RS 775 | ||
| style="text-align: center" | Talon SRX | | style="text-align: center" | Talon SRX | ||
| style="width: 210px; text-align: center" | | | style="width: 210px; text-align: center" | raises the right lift | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
Raise | Raise lift (+) | ||
<span style="background-color:#ffff66;">Vex encoder feeds direct to talon</span> | <span style="background-color:#ffff66;">Vex encoder feeds direct to talon</span> | ||
Line 104: | Line 105: | ||
|- | |- | ||
| style="text-align: center" | 8 | | style="text-align: center" | 8 | ||
| style="text-align: center" | | | style="text-align: center" | | ||
| style="text-align: center" | | | style="text-align: center" | | ||
| style="text-align: center" | | | style="text-align: center" | | ||
| style="width: 210px; text-align: center" | | | style="width: 210px; text-align: center" | | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | |||
| style="width: 55px; text-align: center" | | |||
| style="width: 115px; text-align: center" | | |||
| style="width: 55px; text-align: center" | | |||
|- | |- | ||
| style="text-align: center" | 9 | | style="text-align: center" | 9 | ||
| style="text-align: center" | | | style="text-align: center" | | ||
| style="text-align: center" | | | style="text-align: center" | | ||
| style="text-align: center" | | | style="text-align: center" | | ||
| style="width: 210px; text-align: center" | | | style="width: 210px; text-align: center" | | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | |||
| style="width: 55px; text-align: center" | | |||
| style="width: 115px; text-align: center" | | |||
| style="width: 55px; text-align: center" | | |||
|- | |- | ||
| style="text-align: center" | 10 | | style="text-align: center" | 10 | ||
Line 185: | Line 178: | ||
</div> | </div> | ||
<div class="mw-parser-output"> </div> </div></div></div> <div class="mw-parser-output"> </div> </div></div> | <div class="mw-parser-output"> </div> </div></div></div> <div class="mw-parser-output"> </div> </div></div></div> | ||
== PWM Outputs == | == PWM Outputs == | ||
Line 506: | Line 499: | ||
<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 class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> </div> | ||
<div class="mw-parser-output"> | |||
== Digital IO (GPIO) == | == Digital IO (GPIO) == | ||
<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"> | ||
Line 537: | Line 526: | ||
| style="width: 231px; text-align: center;" | 256 counts per rev | | style="width: 231px; text-align: center;" | 256 counts per rev | ||
|- | |- | ||
| style="text-align: center;" | | | style="text-align: center;" | 3 | ||
| style="text-align: center;" | IN | | style="text-align: center;" | IN | ||
| style="width: 69px; text-align: center;" | Arm | | style="width: 69px; text-align: center;" | Arm | ||
Line 555: | Line 544: | ||
| style="width: 231px; text-align: center;" | 256 counts per rev | | style="width: 231px; text-align: center;" | 256 counts per rev | ||
|- | |- | ||
| style="text-align: center;" | | | style="text-align: center;" | 1 | ||
| style="text-align: center;" | IN | | style="text-align: center;" | IN | ||
| style="width: 69px; text-align: center;" | Arm | | style="width: 69px; text-align: center;" | Arm | ||
Line 579: | Line 568: | ||
| style="text-align: center;" | 5 | | style="text-align: center;" | 5 | ||
| style="text-align: center;" | IN | | style="text-align: center;" | IN | ||
| style="width: 69px; text-align: center;" | | | style="width: 69px; text-align: center;" | Left Lift | ||
| style="width: 122px; text-align: center;" | encoder | | style="width: 122px; text-align: center;" | encoder | ||
| style="width: 139px; text-align: center;" | srx magnetic encoder | | style="width: 139px; text-align: center;" | srx magnetic encoder | ||
| style="width: 193px; text-align: center;" | | | style="width: 193px; text-align: center;" | Lift encoder phase A | ||
| style="width: 223px; text-align: center;" | | | style="width: 223px; text-align: center;" | measures distance traveled | ||
| style="width: 231px; text-align: center;" | 1024 counts per rev | | style="width: 231px; text-align: center;" | 1024 counts per rev | ||
|- | |- | ||
| style="text-align: center;" | 6 | | style="text-align: center;" | 6 | ||
| style="text-align: center;" | IN | | style="text-align: center;" | IN | ||
| style="width: 69px; text-align: center;" | | | style="width: 69px; text-align: center;" | Right Lift | ||
| style="width: 122px; text-align: center;" | encoder | | style="width: 122px; text-align: center;" | encoder | ||
| style="width: 139px; text-align: center;" | srx magnetic encoder | | style="width: 139px; text-align: center;" | srx magnetic encoder | ||
| style="width: 193px; text-align: center;" | | | style="width: 193px; text-align: center;" | Lift encoder phase A | ||
| style="width: 223px; text-align: center;" | | | style="width: 223px; text-align: center;" | measures distance traveled | ||
| style="width: 231px; text-align: center;" | 1024 counts per rev | | style="width: 231px; text-align: center;" | 1024 counts per rev | ||
|- | |- | ||
| style="text-align: center;" | 7 | | style="text-align: center;" | 7 | ||
| style="text-align: center;" | IN | | style="text-align: center;" | IN | ||
| style="width: 69px; text-align: center;" | | | style="width: 69px; text-align: center;" | Left Lift | ||
| style="width: 122px; text-align: center;" | | | style="width: 122px; text-align: center;" | Leaf switch | ||
| style="width: 139px; text-align: center;" | | | style="width: 139px; text-align: center;" | Honeywell V7-2B17D8-048 | ||
| style="width: 193px; text-align: center;" | | | style="width: 193px; text-align: center;" | Limit at the upper end of the left lift travel | ||
| style="width: 223px; text-align: center;" | | | style="width: 223px; text-align: center;" | Limit "switch" - digital low at limit | ||
| style="width: 231px; text-align: center;" | | | style="width: 231px; text-align: center;" | | ||
|- | |- | ||
| style="text-align: center;" | 8 | | style="text-align: center;" | 8 | ||
| style="text-align: center;" | IN | | style="text-align: center;" | IN | ||
| style="width: 69px; text-align: center;" | | | style="width: 69px; text-align: center;" | Right Lift | ||
| style="width: 122px; text-align: center;" | | | style="width: 122px; text-align: center;" | Leaf switch | ||
| style="width: 139px; text-align: center;" | | | style="width: 139px; text-align: center;" | Honeywell V7-2B17D8-048 | ||
| style="width: 193px; text-align: center;" | | | style="width: 193px; text-align: center;" | Limit at the upper end of the right lift travel | ||
| style="width: 223px; text-align: center;" | | | style="width: 223px; text-align: center;" | Limit "switch" - digital low at limit | ||
| style="width: 231px; text-align: center;" | | | style="width: 231px; text-align: center;" | | ||
|- | |- | ||
Line 627: | Line 616: | ||
|} | |} | ||
</div> </div> </div> </div> </div> </div> </div> | |||
</div> | </div> | ||
Line 787: | Line 776: | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|} | |} | ||
</div> </div> </div> | |||
</div> </div> </div> | </div> | ||
</div> | </div> | ||
Line 1,239: | Line 1,228: | ||
<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"> | ||
=== Dashboard === | === Dashboard === | ||
{| border="1" cellpadding="2" cellspacing="1" style="width: | {| border="1" cellpadding="2" cellspacing="1" style="width: 0px;" | ||
|- | |- | ||
| '''Feature''' | | '''Feature''' | ||
| '''Control''' | | style="width: 600px;" | '''Control''' | ||
| '''Key''' | | '''Key''' | ||
| '''Value''' | | '''Value''' | ||
Line 1,310: | Line 1,301: | ||
| | | | ||
Number of seconds to wait before executing auto mode | Number of seconds to wait before executing auto mode | ||
<span style="color:#c0392b;">NOTE: up to two digits</span> | |||
| | ||
Line 1,315: | Line 1,308: | ||
|} | |} | ||
</div> </div> </div> | </div> </div> </div> </div> </div> </div> | ||
</div> | </div> | ||
Latest revision as of 12:00, 9 March 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 lift | RS 775 | Talon SRX | raises the left lift |
raise lift (+) Vex encoder feeds direct to talon |
30 A | 13 |
7 | Right lift | RS 775 | Talon SRX | raises the right lift |
Raise lift (+) Vex encoder feeds direct to talon |
40 A | 12 |
8 | |||||||
9 | |||||||
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 |
|
|||||||
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 |
3 | IN | Arm | Leaf switch | Honeywell V7-2B17D8-048 | Limit at end of travel for back of robot | Limit "switch" - digital low at limit | |
2 | IN | Drive | encoder | 63r256 | right encoder phase A | measures distance traveled | 256 counts per rev |
1 | IN | Arm | Leaf switch | Honeywell V7-2B17D8-048 | Limit at end of travel for front of robot | Limit "switch" - digital low at limit | |
4 | IN | Intake | magnetic reed switch | Intake is all the way out |
1 = Intake Up (In) 0 = Intage Down (Out) |
||
5 | IN | Left Lift | encoder | srx magnetic encoder | Lift encoder phase A | measures distance traveled | 1024 counts per rev |
6 | IN | Right Lift | encoder | srx magnetic encoder | Lift encoder phase A | measures distance traveled | 1024 counts per rev |
7 | IN | Left Lift | Leaf switch | Honeywell V7-2B17D8-048 | Limit at the upper end of the left lift travel | Limit "switch" - digital low at limit | |
8 | IN | Right Lift | Leaf switch | Honeywell V7-2B17D8-048 | Limit at the upper end of the right lift travel | Limit "switch" - digital low at limit | |
9 | IN | Hand | Allen Bradley diffuse sensor | 42EF-D1MNAK-A2 | cube present |
1 = Cube Present 0 = Cube Not Present |
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 | A |
3 | Engage brake on arm pivot | Retracts cylinder to engage brake | B | ||||
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 | Allows ramps to deploy to ground | Retracts cylinder to release ramps to ground | 60 PSI | B |
7 | Holds ramps in stored position | Extends cylinder to hold ramps in up position | 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-6 | Right Bumper | Slow | decreases the range of power to the motors by a set amount |
B-5 | Right Bumper | Nothing | |
A-3 | Right Trigger | Turbo | Increases the range of power to the motors by a set amount. |
A-2 | Left 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 Sensor | Cube sensor broken - intake/hand 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 | A panel that will be yellow when intake is up/in. | 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 while calibrating, |
thunderdashboard_gyro |
0 - not calibrating 1 - in middle of calibration |
Auto Wait Time |
Number input box next to Autonomous mode dropdown to indicate how many seconds to wait before executing the selected auto mode. Default value is zero, If auto mode is changed, do NOT change value. NOTE: if value already in NetTables, the dasboard may not overright it. This can happen if robot is running before Dashboard starts, and value was set previously. Auto mode dropdown border (and list background) will be yellow if delay is not zero; to assist drivers in knowing it is non-zero.
|
thunderdashboard_auto_start_delay |
Number of seconds to wait before executing auto mode NOTE: up to two digits
|