2016:Robot IO Map: Difference between revisions
Programming (talk | contribs) No edit summary |
Programming (talk | contribs) No edit summary |
||
(7 intermediate revisions by the same user not shown) | |||
Line 432: | Line 432: | ||
=== <u>RoboRio IO</u> === | === <u>RoboRio IO</u> === | ||
{| | {| cellpadding="2" cellspacing="1" border="1" style="width: 998px;" | ||
|- | |- | ||
| '''ID''' | | '''ID''' | ||
| '''Direction'''<br/>(IN/OUT) | | '''Direction'''<br/>(IN/OUT) | ||
| style="text-align: center; | | style="width: 69px; text-align: center;" | '''Subsystem''' | ||
| style="width: 73px" | <p style="text-align: center">'''Component'''</p><p style="text-align: center">'''Type'''</p> | | style="width: 73px;" | <p style="text-align: center;">'''Component'''</p><p style="text-align: center;">'''Type'''</p> | ||
| style="width: 52px; text-align: center" | '''Model #''' | | style="width: 52px; text-align: center;" | '''Model #''' | ||
| style="width: 194px; text-align: center" | '''Description<br/>(brief)''' | | style="width: 194px; text-align: center;" | '''Description<br/>(brief)''' | ||
| style="width: 253px; text-align: center" | '''Operation'''<br/> | | style="width: 253px; text-align: center;" | '''Operation'''<br/> | ||
| style="width: 118px; text-align: center" | '''Notes''' | | style="width: 118px; text-align: center;" | '''Notes''' | ||
|- | |- | ||
| 0 | | 0 | ||
| IN | | IN | ||
| style="width: 69px" | Drivetrain | | style="width: 69px;" | Drivetrain | ||
| style="width: 73px" | Shaft Encoder | | style="width: 73px;" | Shaft Encoder | ||
| style="width: 52px" | E4T-360-250 | | style="width: 52px;" | E4T-360-250 | ||
| style="width: 194px" | Left Encoder, Phase A | | style="width: 194px;" | Left Encoder, Phase A | ||
| style="width: 253px" | Drivetrain rotation | | style="width: 253px;" | Drivetrain rotation | ||
| style="width: 118px" | <br/> | | style="width: 118px;" | <br/> | ||
|- | |- | ||
| 1 | | 1 | ||
| IN | | IN | ||
| style="width: 69px" | Drivetrain | | style="width: 69px;" | Drivetrain | ||
| style="width: 73px" | Shaft Encoder | | style="width: 73px;" | Shaft Encoder | ||
| style="width: 52px" | <span style="line-height: 20. | | style="width: 52px;" | <span style="line-height: 20.79px;">E4T-360-250</span> | ||
| style="width: 194px" | Left Encoder, Phase B | | style="width: 194px;" | Left Encoder, Phase B | ||
| style="width: 253px" | <span style="line-height: 20. | | style="width: 253px;" | <span style="line-height: 20.79px;">Drivetrain rotation</span> | ||
| style="width: 118px" | | | style="width: 118px;" | | ||
|- | |- | ||
| 2 | | 2 | ||
| IN | | IN | ||
| style="width: 69px" | Drivetrain | | style="width: 69px;" | Drivetrain | ||
| style="width: 73px" | Shaft Encoder | | style="width: 73px;" | Shaft Encoder | ||
| style="width: 52px" | <span style="line-height: 20. | | style="width: 52px;" | <span style="line-height: 20.79px;">E4T-360-250</span> | ||
| style="width: 194px" | Right Encoder, Phase A | | style="width: 194px;" | Right Encoder, Phase A | ||
| style="width: 253px" | <span style="line-height: 20. | | style="width: 253px;" | <span style="line-height: 20.79px;">Drivetrain rotation</span> | ||
| style="width: 118px" | | | style="width: 118px;" | | ||
|- | |- | ||
| 3 | | 3 | ||
| IN | | IN | ||
| style="width: 69px" | Drivetrain | | style="width: 69px;" | Drivetrain | ||
| style="width: 73px" | Shaft Encoder | | style="width: 73px;" | Shaft Encoder | ||
| style="width: 52px" | <span style="line-height: 20. | | style="width: 52px;" | <span style="line-height: 20.79px;">E4T-360-250</span> | ||
| style="width: 194px" | Left Encoder, Phase B | | style="width: 194px;" | Left Encoder, Phase B | ||
| style="width: 253px" | <span style="line-height: 20. | | style="width: 253px;" | <span style="line-height: 20.79px;">Drivetrain rotation</span> | ||
| style="width: 118px" | | | style="width: 118px;" | | ||
|- | |- | ||
| 4 | | 4 | ||
| IN | | IN | ||
| style="width: 69px" | Scaler | | style="width: 69px;" | Scaler | ||
| style="width: 73px" | Shaft Encoder | | style="width: 73px;" | Shaft Encoder | ||
| style="width: 52px" | 61KS256 | | style="width: 52px;" | 61KS256 | ||
| style="width: 194px" | Arm Rotation, Phase A | | style="width: 194px;" | Arm Rotation, Phase A | ||
| style="width: 253px" | Scaler arm extention | | style="width: 253px;" | Scaler arm extention | ||
| style="width: 118px" | | | style="width: 118px;" | | ||
|- | |- | ||
| 5 | | 5 | ||
| IN | | IN | ||
| style="width: 69px" | Scaler | | style="width: 69px;" | Scaler | ||
| style="width: 73px" | Shaft Encoder | | style="width: 73px;" | Shaft Encoder | ||
| style="width: 52px" | 61KS256 | | style="width: 52px;" | 61KS256 | ||
| style="width: 194px" | Arm Rotation,Phase B | | style="width: 194px;" | Arm Rotation,Phase B | ||
| style="width: 253px" | Scaler arm extention | | style="width: 253px;" | Scaler arm extention | ||
| style="width: 118px" | <br/> | | style="width: 118px;" | <br/> | ||
|- | |- | ||
| 6 | | 6 | ||
| IN | | IN | ||
| style="width: 69px" | Breacher | | style="width: 69px;" | Breacher | ||
| style="width: 73px" | Banner Opto | | style="width: 73px;" | Banner Opto | ||
| style="width: 52px" | Q10RN6R | | style="width: 52px;" | Q10RN6R | ||
| style="width: 194px" | Ball Intake | | style="width: 194px;" | Ball Intake | ||
| style="width: 253px" | Trips for ball fully into bucket | | style="width: 253px;" | Trips for ball fully into bucket | ||
| style="width: 118px" | | | style="width: 118px;" | | ||
w/Q106E emitter, | w/Q106E emitter, | ||
Line 512: | Line 512: | ||
| 7 | | 7 | ||
| IN | | IN | ||
| style="width: 69px" | Breacher | | style="width: 69px;" | Breacher | ||
| style="width: 73px" | limit switch | | style="width: 73px;" | limit switch | ||
| style="width: 52px" | | | style="width: 52px;" | | ||
AAP2T51Z11 | AAP2T51Z11 | ||
| style="width: 194px" | breacher rotation upper limit | | style="width: 194px;" | breacher rotation upper limit | ||
| style="width: 253px" | | | style="width: 253px;" | | ||
| style="width: 118px" | monster switch | | style="width: 118px;" | monster switch | ||
|- | |- | ||
| 8 | | 8 | ||
| IN | | IN | ||
| style="width: 69px" | Breacher | | style="width: 69px;" | Breacher | ||
| style="width: 73px" | limit switch | | style="width: 73px;" | limit switch | ||
| style="width: 52px" | AAP2T51Z11 | | style="width: 52px;" | AAP2T51Z11 | ||
| style="width: 194px" | breacher rotation lower limit | | style="width: 194px;" | breacher rotation lower limit | ||
| style="width: 253px" | | | style="width: 253px;" | | ||
| style="width: 118px" | monster switch | | style="width: 118px;" | monster switch | ||
|- | |- | ||
| 9 | | 9 | ||
| | | OUT | ||
| style="width: 69px" | | | style="width: 69px;" | Drive | ||
| style="width: 73px" | | | style="width: 73px;" | LED | ||
| style="width: 52px" | | | style="width: 52px;" | | ||
| style="width: 194px" | | | style="width: 194px;" | Gryo calibrating | ||
| style="width: 253px" | | | style="width: 253px;" | Lights up when gyro is calibrating | ||
| style="width: 118px" | | | style="width: 118px;" | | ||
|} | |} | ||
Line 922: | Line 922: | ||
=== Controller 1 - Primary Driver === | === Controller 1 - Primary Driver === | ||
{| | {| cellpadding="2" cellspacing="1" border="1" style="width: 908px;" | ||
|- | |- | ||
| Action/Button | | Action/Button | ||
Line 930: | Line 930: | ||
| Left Joystick Y | | Left Joystick Y | ||
| Moves the robot forward / back | | Moves the robot forward / back | ||
| "Up drive the robot forward (Breacher Side)<br/>Down drives the robot backward (Scaler Side)" | | | ||
"Up drive the robot forward (Breacher Side)<br/>Down drives the robot backward (Scaler Side)" | |||
NOTE: will do the opposite if drive is toggled | |||
|- | |- | ||
| Right Joystick X | | Right Joystick X | ||
| Turns the robot Left / Right | | Turns the robot Left / Right | ||
| ""Right will turn the robot clockwise and vice<br/>versa. With no input from the left Joytick,<br/>does point turn. With input from left, does<br/>curve turn"" | | | ||
""Right will turn the robot clockwise and vice<br/>versa. With no input from the left Joytick,<br/>does point turn. With input from left, does<br/>curve turn"" | |||
NOTE: will do the opposite if drive is toggled | |||
|- | |- | ||
| Left Bumper | | Left Bumper | ||
Line 953: | Line 961: | ||
| turbo mode for right wheels<br/> | | turbo mode for right wheels<br/> | ||
| "Increases the range of power to the right motors by a set amount. Amount tbd"<br/> | | "Increases the range of power to the right motors by a set amount. Amount tbd"<br/> | ||
|- | |||
| Y button | |||
| toggle camera feed | |||
| | |||
|- | |- | ||
| A button | | A button | ||
| toggle | | toggle drive | ||
| | | | ||
|} | |} | ||
Line 961: | Line 973: | ||
=== Controller 2 - Aux Driver === | === Controller 2 - Aux Driver === | ||
{| | {| cellpadding="2" cellspacing="1" border="1" style="width: 908px;" | ||
|- | |- | ||
| Action/Button | | Action/Button | ||
Line 991: | Line 1,003: | ||
| "Spins the intake wheels as to outtake a ball<br/>out of the robot" | | "Spins the intake wheels as to outtake a ball<br/>out of the robot" | ||
|- | |- | ||
| | | Dpad Left | ||
| Rotate Scaler up | | Rotate Scaler up | ||
| Scaler rotates upward | | Scaler rotates upward | ||
|- | |- | ||
| | | Dpad Right | ||
| Rotate Scaler downward | | Rotate Scaler downward | ||
| Scaler rotates downward | | Scaler rotates downward | ||
Line 1,009: | Line 1,021: | ||
| A button | | A button | ||
| Toggle camera feed | | Toggle camera feed | ||
| - | | | ||
| | |- | ||
| Pivot Intake to the Drawbridge position | | Y button | ||
| Pivot Intake to the Drawbridge position | |||
| Byers use Intake::Drawbridge_Position(). If the Y button is not pressed, call Intake::Stop_Goto() | |||
|} | |} | ||
Latest revision as of 10:02, 23 April 2016
Robot I/O
CAN ID Assignments
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Notes |
0 | Electrical | PD Module |
Power Distribution Module feedback | monitor PD | must be CAN 0 | |
1 | RESERVED | n/a | Factory-default allows for adding Jaguar quickly and re-assign its ID |
don't use | ||
2 | ||||||
3 | ||||||
4 | ||||||
5 | ||||||
6 | ||||||
7 | ||||||
8 | Breacher | motor | miniCIM | Breacher Bucket rotation | 40A breaker (26A max calc load) | |
9 | Breacher | motor | RS775 | Ball Intake rollers | 40A breaker (32A max calc load) | |
10 | Scaler | motor | RS775 | Winch #1 for scaler extension |
min and max extension limit switches wired directly to speed controller Talon Limit Switch logic sense should be reversed to Normally Low |
40A breaker (21A max calc load) min switch = OPB815WZ max switch = EE-SPY415 |
11 | Scaler | motor | RS775 | Winch #2 for scaler extension |
min and max extension limit switches wired directly to speed controller Talon Limit Switch logic sense should be reversed to Normally Low |
40A breaker (21A max calc load) min switch = OPB815WZ max switch = EE-SPY415 |
12 | Scaler | motor | Bag | Arm Pivot rotation | 30A breaker (13A max calc load) | |
13 | ||||||
14 | ||||||
15 |
PWM Outputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation
|
Notes |
0 | Drivetrain | motor | CIM | Left Drive motor | 40A Breaker, PWM Splits to two Spark Controllers | |
1 | Drivetrain | motor |
CIM |
Right Drive motor | 40A Breaker, PWM Splits to two Spark Controllers | |
2 | ||||||
3 | ||||||
4 | Scaler | servo | hs-322hd | scaler lock | ||
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 | Drivetrain | Gyro | ADW22307 | drivetrain gyro position feedback | X-Y orientation | 2.5V centered | |
1 | Breacher | Potentiometer | 3852A-282-102AL | Breacher bucket shaft rotation | absolute position of beacher rotation | 1K ohms, linear taper | |
2 | Scaler | Potentiometer | 3852A-282-102AL |
Scaler pivot position | 1K ohms, linear taper | ||
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 | Drivetrain | Shaft Encoder | E4T-360-250 | Left Encoder, Phase A | Drivetrain rotation | |
1 | IN | Drivetrain | Shaft Encoder | E4T-360-250 | Left Encoder, Phase B | Drivetrain rotation | |
2 | IN | Drivetrain | Shaft Encoder | E4T-360-250 | Right Encoder, Phase A | Drivetrain rotation | |
3 | IN | Drivetrain | Shaft Encoder | E4T-360-250 | Left Encoder, Phase B | Drivetrain rotation | |
4 | IN | Scaler | Shaft Encoder | 61KS256 | Arm Rotation, Phase A | Scaler arm extention | |
5 | IN | Scaler | Shaft Encoder | 61KS256 | Arm Rotation,Phase B | Scaler arm extention | |
6 | IN | Breacher | Banner Opto | Q10RN6R | Ball Intake | Trips for ball fully into bucket |
w/Q106E emitter, sensor open-collector out |
7 | IN | Breacher | limit switch |
AAP2T51Z11 |
breacher rotation upper limit | monster switch | |
8 | IN | Breacher | limit switch | AAP2T51Z11 | breacher rotation lower limit | monster switch | |
9 | OUT | Drive | LED | Gryo calibrating | Lights up when gyro is calibrating |
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
ID | Subsystem | Component Type |
Model # |
Description (brief) |
Operation |
Notes | Pressure Circuit |
0 | |||||||
1 | |||||||
2 | |||||||
3 | |||||||
4 | |||||||
5 | |||||||
6 | |||||||
7 |
Operator Controls
Controller 1 - Primary Driver
Action/Button | Description | Details |
Left Joystick Y | Moves the robot forward / back |
"Up drive the robot forward (Breacher Side) NOTE: will do the opposite if drive is toggled |
Right Joystick X | Turns the robot Left / Right |
""Right will turn the robot clockwise and vice NOTE: will do the opposite if drive is toggled |
Left Bumper | Slow mode for left wheels |
"decreases the range of power to the left motors by a set amount. Amount tbd" |
Right Bumper | Slow mode for Right wheels |
"decreases the range of power to the Righ motors by a set amount. Amount tbd" |
Left Trigger |
turbo mode for left wheels |
"Increases the range of power to the left motors by a set amount. Amount tbd" |
Right Trigger |
turbo mode for right wheels |
"Increases the range of power to the right motors by a set amount. Amount tbd" |
Y button | toggle camera feed | |
A button | toggle drive |
Controller 2 - Aux Driver
Action/Button | Description | Details |
Left Joystick Up | Breacher down | Breacher Rotates forward / toward the ground |
Left Joystick Down | Breacher up | Breacher Rotates backward / toward the sky |
Right Joystick Up | Scaler extend | Scaler telescopes upward |
Right Joystick Down | Scaler retract Scaler | telescopes downward |
Right Bumper | intake | "Spins the intake wheels as to intake a ball into the robot" |
Right Trigger | Shoot | "Spins the intake wheels as to outtake a ball out of the robot" |
Dpad Left | Rotate Scaler up | Scaler rotates upward |
Dpad Right | Rotate Scaler downward | Scaler rotates downward |
"Left Trigger + Dpad down" |
Arm Lock | Rotates servo to lock Scaler arm in place |
"Left Bumper + Dpad Up" |
Arm Unlock | "Rotate servo to unlock Scaler arm and allow telescoping action" |
A button | Toggle camera feed | |
Y button | Pivot Intake to the Drawbridge position | Byers use Intake::Drawbridge_Position(). If the Y button is not pressed, call Intake::Stop_Goto() |
Broken Switches
Broken Switch1 | Breacher Pivot | Potentiometer broken |
Broken Switch2 | Breacher Intake | Beam Break Broken |
Broken Switch3 | Arm rotate | "??????????? Encoder" |
Broken Switch4 | Arm telescope | "Encoder ???????????" |
Broken Switch5 |
not used yet |
|
Broken Switch6 |
not used yet |
|
Broken Switch7 |
Tank drive |
use tank drive instead of default drive mode |