2015:Robot IO Map: Difference between revisions
From 1511Wookiee
Jump to navigationJump to search
Programming (talk | contribs) (outputs are inputs) |
Programming (talk | contribs) (roborio ports begin with 0) |
||
Line 185: | Line 185: | ||
| style="width: 125px; text-align: center;" | '''Notes''' | | style="width: 125px; text-align: center;" | '''Notes''' | ||
|- | |- | ||
| | | 0 | ||
| style="width: 82px;" | | | style="width: 82px;" | | ||
| style="width: 76px;" | <br/> | | style="width: 76px;" | <br/> | ||
Line 194: | Line 194: | ||
| style="width: 125px;" | <br/> | | style="width: 125px;" | <br/> | ||
|- | |- | ||
| | | 1 | ||
| style="width: 82px;" | | | style="width: 82px;" | | ||
| style="width: 76px;" | <br/> | | style="width: 76px;" | <br/> | ||
Line 203: | Line 203: | ||
| style="width: 125px;" | | | style="width: 125px;" | | ||
|- | |- | ||
| | | 2 | ||
| style="width: 82px;" | | | style="width: 82px;" | | ||
| style="width: 76px;" | <br/> | | style="width: 76px;" | <br/> | ||
Line 212: | Line 212: | ||
| style="width: 125px;" | | | style="width: 125px;" | | ||
|- | |- | ||
| | | 3 | ||
| style="width: 82px;" | | | style="width: 82px;" | | ||
| style="width: 76px;" | <br/> | | style="width: 76px;" | <br/> | ||
Line 221: | Line 221: | ||
| style="width: 125px;" | | | style="width: 125px;" | | ||
|- | |- | ||
| | | 4 | ||
| style="width: 82px;" | | | style="width: 82px;" | | ||
| style="width: 76px;" | <br/> | | style="width: 76px;" | <br/> | ||
Line 230: | Line 230: | ||
| style="width: 125px;" | | | style="width: 125px;" | | ||
|- | |- | ||
| | | 5 | ||
| style="width: 82px;" | | | style="width: 82px;" | | ||
| style="width: 76px;" | <br/> | | style="width: 76px;" | <br/> | ||
Line 239: | Line 239: | ||
| style="width: 125px;" | | | style="width: 125px;" | | ||
|- | |- | ||
| | | 6 | ||
| style="width: 82px;" | <br/> | | style="width: 82px;" | <br/> | ||
| style="width: 76px;" | <br/> | | style="width: 76px;" | <br/> | ||
Line 248: | Line 248: | ||
| style="width: 125px;" | <br/> | | style="width: 125px;" | <br/> | ||
|- | |- | ||
| | | 7 | ||
| style="width: 82px;" | <br/> | | style="width: 82px;" | <br/> | ||
| style="width: 76px;" | <br/> | | style="width: 76px;" | <br/> | ||
Line 257: | Line 257: | ||
| style="width: 125px;" | <br/> | | style="width: 125px;" | <br/> | ||
|- | |- | ||
| | | 8 | ||
| style="width: 82px;" | | | style="width: 82px;" | | ||
| style="width: 76px;" | <br/> | | style="width: 76px;" | <br/> | ||
Line 266: | Line 266: | ||
| style="width: 125px;" | | | style="width: 125px;" | | ||
|- | |- | ||
| | | 9 | ||
| style="width: 82px;" | | | style="width: 82px;" | | ||
| style="width: 76px;" | <br/> | | style="width: 76px;" | <br/> | ||
Line 291: | Line 291: | ||
| style="width: 115px; text-align: center;" | '''Notes''' | | style="width: 115px; text-align: center;" | '''Notes''' | ||
|- | |- | ||
| | | 0 | ||
| | | | ||
| style="width: 69px;" | <br/> | | style="width: 69px;" | <br/> | ||
Line 300: | Line 300: | ||
| style="width: 115px;" | | | style="width: 115px;" | | ||
|- | |- | ||
| | | 1 | ||
| | | | ||
| style="width: 69px;" | <br/> | | style="width: 69px;" | <br/> | ||
Line 309: | Line 309: | ||
| style="width: 115px;" | | | style="width: 115px;" | | ||
|- | |- | ||
| | | 2 | ||
| | | | ||
| style="width: 69px;" | <br/> | | style="width: 69px;" | <br/> | ||
Line 318: | Line 318: | ||
| style="width: 115px;" | | | style="width: 115px;" | | ||
|- | |- | ||
| | | 3 | ||
| | | | ||
| style="width: 69px;" | <br/> | | style="width: 69px;" | <br/> | ||
Line 348: | Line 348: | ||
| style="width: 91px; text-align: center;" | '''Notes''' | | style="width: 91px; text-align: center;" | '''Notes''' | ||
|- | |- | ||
| | | 0 | ||
| drivetrain | | drivetrain | ||
| style="width: 70px;" | gyro | | style="width: 70px;" | gyro | ||
Line 358: | Line 358: | ||
| style="width: 91px;" | | | style="width: 91px;" | | ||
|- | |- | ||
| | | 1 | ||
| drivetrain | | drivetrain | ||
| style="width: 70px;" | gyro | | style="width: 70px;" | gyro | ||
Line 368: | Line 368: | ||
| style="width: 91px;" | | | style="width: 91px;" | | ||
|- | |- | ||
| | | 2 | ||
| | | | ||
| style="width: 70px;" | <br/> | | style="width: 70px;" | <br/> | ||
Line 378: | Line 378: | ||
| style="width: 91px;" | | | style="width: 91px;" | | ||
|- | |- | ||
| | | 3 | ||
| | | | ||
| style="width: 70px;" | <br/> | | style="width: 70px;" | <br/> | ||
Line 916: | Line 916: | ||
|- | |- | ||
| style="text-align: center" | '''#'''<br/> | | style="text-align: center" | '''#'''<br/> | ||
| style="width: 76px; | | style="width: 76px; text-align: center" | '''Subsystem''' | ||
| style="width: 75px" | <p style="text-align: center">'''Component Type'''</p> | | style="width: 75px" | <p style="text-align: center">'''Component Type'''</p> | ||
| style="width: 53px; | | style="width: 53px; text-align: center" | '''Model #''' | ||
| style="width: 205px; | | style="width: 205px; text-align: center" | '''Description (brief)''' | ||
| style="width: 89px; | | style="width: 89px; text-align: center" | '''Controlled By''' | ||
| style="width: 241px; | | style="width: 241px; text-align: center" | '''Operation''' | ||
| style="width: 112px; | | style="width: 112px; text-align: center" | '''Notes'''<br/> | ||
|- | |- | ||
| 0 | | 0 | ||
| style="width: 76px" | drivetrain | | style="width: 76px" | drivetrain | ||
| style="width: 75px" | accelerometer | | style="width: 75px" | accelerometer | ||
| style="width: 53px" | <span style="font-size:small"><span style="color: rgb(0, 0, 0); | | style="width: 53px" | <span style="font-size:small"><span style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 28.4444px">ADXL245</span></span><br/> | ||
| style="width: 205px" | <span style="font-size:small"><span style="color: rgb(0, 0, 0); | | style="width: 205px" | <span style="font-size:small"><span style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 28.4444px">accelerometer, right by the gyro</span></span><br/> | ||
| style="width: 89px" | drivetrain | | style="width: 89px" | drivetrain | ||
| style="width: 241px" | to improve autonomous drive code<br/> | | style="width: 241px" | to improve autonomous drive code<br/> | ||
Line 988: | Line 988: | ||
| style="width: 118px; text-align: center;" | '''Pressure Circuit''' | | style="width: 118px; text-align: center;" | '''Pressure Circuit''' | ||
|- | |- | ||
| | | 0 | ||
| Drivetrain | | Drivetrain | ||
| style="width: 75px;" | Single Solenoid | | style="width: 75px;" | Single Solenoid | ||
Line 998: | Line 998: | ||
| style="width: 118px;" | A (4 total, 40-60 psi tbd) | | style="width: 118px;" | A (4 total, 40-60 psi tbd) | ||
|- | |- | ||
| | | 1 | ||
| Drivetrain<br/> | | Drivetrain<br/> | ||
| style="width: 75px;" | Single Solenoid<br/> | | style="width: 75px;" | Single Solenoid<br/> | ||
Line 1,008: | Line 1,008: | ||
| style="width: 118px;" | B (3 total, 20-60 psi tbd) | | style="width: 118px;" | B (3 total, 20-60 psi tbd) | ||
|- | |- | ||
| | | 2 | ||
| Stabilizer<br/> | | Stabilizer<br/> | ||
| style="width: 75px;" | Single Solenoid<br/> | | style="width: 75px;" | Single Solenoid<br/> | ||
Line 1,018: | Line 1,018: | ||
| style="width: 118px;" | A | | style="width: 118px;" | A | ||
|- | |- | ||
| | | 3 | ||
| Lifter<br/> | | Lifter<br/> | ||
| style="width: 75px;" | Single Solenoid<br/> | | style="width: 75px;" | Single Solenoid<br/> | ||
Line 1,028: | Line 1,028: | ||
| style="width: 118px;" | A | | style="width: 118px;" | A | ||
|- | |- | ||
| | | 4 | ||
| <br/> | | <br/> | ||
| style="width: 75px;" | <br/> | | style="width: 75px;" | <br/> | ||
Line 1,038: | Line 1,038: | ||
| style="width: 118px;" | <br/> | | style="width: 118px;" | <br/> | ||
|- | |- | ||
| | | 5 | ||
| <br/> | | <br/> | ||
| style="width: 75px;" | <br/> | | style="width: 75px;" | <br/> | ||
Line 1,048: | Line 1,048: | ||
| style="width: 118px;" | <br/> | | style="width: 118px;" | <br/> | ||
|- | |- | ||
| | | 6 | ||
| <br/> | | <br/> | ||
| style="width: 75px;" | <br/> | | style="width: 75px;" | <br/> | ||
Line 1,058: | Line 1,058: | ||
| style="width: 118px;" | <br/> | | style="width: 118px;" | <br/> | ||
|- | |- | ||
| | | 7 | ||
| | | | ||
| style="width: 75px;" | | | style="width: 75px;" | | ||
Line 1,081: | Line 1,081: | ||
|- | |- | ||
| Y-Axis | | Y-Axis | ||
| style="width: 158px;" | | | style="width: 158px;" | 6Move Forward/Backward | ||
| style="width: 281px;" | | | style="width: 281px;" | | ||
<span style="line-height: 20.79px;">In '''Left/Right mode''', this moves boths sides of the drivetrain; otherwise this moves just the left side of the drivetrain.</span> | <span style="line-height: 20.79px;">In '''Left/Right mode''', this moves boths sides of the drivetrain; otherwise this moves just the left side of the drivetrain.</span> | ||
Line 1,339: | Line 1,339: | ||
|- | |- | ||
| '''Button/Axis''' | | '''Button/Axis''' | ||
| style="width: 172px; | | style="width: 172px; text-align: center" | '''Description'''<br/>(brief) | ||
| style="width: 277px; | | style="width: 277px; text-align: center" | '''Operation''' | ||
| style="width: 119px; | | style="width: 119px; text-align: center" | '''Notes''' | ||
|- | |- | ||
| 1 | | 1 |
Revision as of 09:08, 31 January 2015
Robot I/O
CAN ID Assignments
ID | Subsystem | Component Type |
Model # | Description (brief) |
Controlled By | Operation | Notes |
0 | RESERVED | n/a |
Factory-default allows for adding CTRE devices quickly and re-assign its ID |
don't use | |||
1 | RESERVED | n/a | Factory-default allows for adding Jaguar quickly and re-assign its ID |
don't use | |||
2 | drivetrain | motor | CIM | Left Front Drive | driver1 joystick | y axis | |
3 | drivetrain | motor | CIM | Left Rear Drive | driver1 joystick |
y axis |
|
4 | drivetrain | motor | CIM | Right Front Drive | driver1 joystick |
y axis |
|
5 | drivetrain | motor | CIM | Right Rear Drive | driver1 joystick |
y axis |
|
6 | drivetrain | motor | CIM | Strafe | driver1 joystick | x axis | unclear on how to activate this motor |
7 | lifter | motor | RS775 | Left lifter | driver2 joystick | y axis | |
8 | lifter | motor | RS775 | Right lifter | driver2 joystick | y axis |
|
9 | gripper | motor | RS550 | Gripper/Motor | driver2 joystick | trigger button (depressed trigger = gripper closed) | |
10 | |||||||
11 | |||||||
12 | |||||||
13 | |||||||
14 | |||||||
15 | pnuematics | PCM module |
N/A |
Stabilizer, Shifter, Strafing | roborio |
address spaces for Jaguars, SRXs, PCM, and PDP are all separate. We are limited to one PDP, and will need only one PCM | |
16 | power dist. | PD module |
N/A |
Power Distribution Readback | roborio |
PWM Outputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Controlled By |
Operation
|
Notes |
0 | |||||||
1 | |||||||
2 | |||||||
3 | |||||||
4 | |||||||
5 | |||||||
6 | |||||||
7 | |||||||
8 | |||||||
9 |
Relay Outputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Controlled By | Operation | Notes |
0 | |||||||
1 | |||||||
2 | |||||||
3 |
Analog IO
RoboRIO Analog Inputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Controlled By | Operation |
Voltage Range |
Notes |
0 | drivetrain | gyro | ADW22307 | drivetrain gyro rot feedback | X & Y orientation used in Autonomous | 2.5 V center, 0.007 V/deg/sec | ||
1 | drivetrain | gyro | ADW22307 |
drivetrain gyro temperature feedback | for rotation correction | 2.5V at 25 degree plus 9mV/ degree |
||
2 | ||||||||
3 |
Rev Robotics More Board Analog IO
ID | Subsystem | Component Type |
Model # | Description (brief) |
Controlled By | 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) |
Controlled By | Operation | Notes |
DIO0 | IN | drivetrain | Encoder | ? | Left Encoder, Phase A | Drivetrain rotation - calculate Position measurement | ||
DIO1 | IN | drivetrain | Encoder | ? | Right Encoder, Phase A | Drivetrain rotation - calculate Position measurement |
||
DIO2 | IN | gripper | Banner or flag sensor | ? | Gripper Wide Tote Config. | N/A | Outward Wide Position |
same flag as home position sensor uses ? |
DIO3 | IN | lifter | Encoder | 63R256 | Lifter Height | N/A | Lifter drive rotation - calculate Height Zeroed with Lifter Flag Sensor. Channel A | |
DIO4 | IN | lifter | Flag Sensor | ? | Home Position Height Level | N/A | Lower position | |
DIO5 | IN | gripper | Encoder | 63R256 | Encoder Phase A | N/A | Gripper drive rotation - calculate Position | |
DIO6 | IN | gripper | Encoder | 63R256 | Encoder Phase B | N/A | Gripper drive rotation - calculate Position | |
DIO7 | IN | gripper | Flag Sensor | ? | Home Gripper Position | N/A | Inner position | |
DIO8 |
IN | gripper | Ultrasonic Sensor | ? | Right Gripper Proximity | N/A | Distance Between Gripper Arm and Tote | replace with optical banner sensor? |
DIO9 | IN | gripper | Ultrasonic Sensor | ? | Left Gripper Proximity | N/A | Distance Between Gripper Arm and Tote |
replace with optical banner sensor? If 2 per robot need to buy more!!! |
Rev Robotics More Board IO
ID | Direction (IN/OUT) | Subsystem | Component Type | Model # | Description (brief) | Controlled By | Operation | Notes |
DIO0 | IN | Gripper | Flag Sensor | ? | Electrical limit for end of travel of gripper arms. | There will actually be two sensors for either side electrically OR-ed back to the controller. | ||
DIO1 | IN |
drivetrain |
Encoder |
Left Encoder, Phase B |
Drivetrain rotation - calculate Position measurement |
|||
DIO2 | IN |
drivetrain |
Encoder |
Right Encoder, Phase B |
Drivetrain rotation - calculate Position measurement |
|||
DIO3 | IN | lifter | Encoder |
63R256 | Lift encoder, phase B | Lifter drive rotation - calculate Height Zeroed with Lifter Flag Sensor. Channel A |
||
DIO4 | ||||||||
DIO5 | ||||||||
DIO6 | ||||||||
DIO7 | ||||||||
DIO8 | ||||||||
DIO9 | ||||||||
DIO10 | ||||||||
DIO11 | ||||||||
DIO12 | ||||||||
DIO13 | ||||||||
DIO14 | ||||||||
DIO15 | ||||||||
I2C Registers
Address (e.g. 0100111X) |
Pin (e.g. GP0) |
Subsystem | Component Type |
Model # | Description (brief) |
Controlled By | Operation | Notes |
0 | ||||||||
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 | ||||||||
6 |
SPI Devices
# |
Subsystem | Component Type |
Model # | Description (brief) | Controlled By | Operation | Notes |
0 | drivetrain | accelerometer | ADXL245 |
accelerometer, right by the gyro |
drivetrain | to improve autonomous drive code |
|
USB Host Ports
Address |
Subsystem | Component Type |
Model # | Description (brief) | Controlled By | Operation | Notes |
0 | Camera | Camera | HD-3000 | USB camera | vision code | Facing down from top of lifter. Helps with tote + alignment in auto, driver, maybe for semiauto | |
1 | Logging | USB Stick | ? | USB Stick to log info | robot general | record match and state information at high rate, for postmortem match analysis |
Pneumatics Control Module
ID | Subsystem | Component Type |
Model # |
Description (brief) |
Controlled By | Operation | Notes | Pressure Circuit |
0 | Drivetrain | Single Solenoid | SY3140-6LZ | shifter LOW (default high) | driver1 joystick | shifts down | double action cylinder (vented no action) | A (4 total, 40-60 psi tbd) |
1 | Drivetrain |
Single Solenoid |
SY3140-6LZ |
strafing wheel DOWN (default up) |
driver1 joystick |
lowers strafing wheel |
single action, spring retract cylinder (vented up) | B (3 total, 20-60 psi tbd) |
2 | Stabilizer |
Single Solenoid |
SY3140-6LZ | Stabilizer Gripper IN (default out) |
driver2 joystick |
closes stabilizer |
double action cylinder (vented no action) |
A |
3 | Lifter |
Single Solenoid |
SY3140-6LZ |
Lifter brake OPEN (default locked) |
lifter code | pnuematic cylinder engages bicycle brake to lock lift elevator |
double action cylinder (vented open, spring on brake) |
A |
4 | ||||||||
5 | ||||||||
6 | ||||||||
7 |
Operator Controls
Joystick 1/Left
Button/Axis | Description (brief) |
Operation | Notes |
Y-Axis | 6Move Forward/Backward |
In Left/Right mode, this moves boths sides of the drivetrain; otherwise this moves just the left side of the drivetrain. |
|
X-Axis | |||
1/trigger | Shift | On button press shifts to high gear. On release, shifts to low gear. Only one trigger needs to be pressed. | |
2 | Raise center wheel |
.Wheel remains rasied while button is being pressed (or button 2 on right joystick is being pressed). Wheel lowers when both button 2s are released. |
|
3 | Left/Right mode |
In Left/Right mode while this button is being pressed (or button 3 on right joystick is being pressed). | |
4 | |||
5 | |||
6 | |||
7 | |||
8 | |||
9 | |||
10 | |||
11 | |||
12 | |||
Z-axis |
Joystick 2/Right
Button/Axis | Description (brief) |
Operation | Notes |
X-axis | Move Forward/Backward |
In Left/Right mode, this moves nothing; otherwise this moves just the right side of the drivetrain. |
|
Y-axis | Move Left/Right | In Left/Right mode, this moves the center wheel left/right; otherwise this move nothing. | |
1 | Shift | On button press shifts to high gear. On release, shifts to low gear. Only one trigger needs to be pressed. |
|
2 | Raise center wheel | Wheel remains rasied while button is being pressed (or button 2 on left joystick is being pressed). Wheel lowers when both button 2s are released. |
|
3 | Left/Right mode |
In Left/Right mode while this button is being pressed (or button 3 on left joystick is being pressed). |
|
4 | |||
5 | |||
6 | |||
7 | |||
8 | |||
9 | |||
10 | |||
11 | |||
12 | |||
Z-axis |
Joystick 3
Button/Axis | Description (brief) |
Operation |
Notes |
X-axis | |||
Y-axis | Move up/down | Raise/lower grips, if Level 3 Preset not being pressed. This controls speed of movement. | |
1/trigger | Close lower grips |
Closes the grips while this button is being pressed. Grips stop moving when this button and button #2 are both released. |
|
2 | Open lower grips | Opens the grips while this button is being pressed (and button #1 is released). Grips stop moving when this button and button #1 are both released. | |
3 | Level 3 Preset | Raise grips high enough to be above 2 totes (i.e. 2 tote stack created by human player at human player station). Grips raise and stay raised while the button is being pressed. While being pressed, the Y-axis is ignored. When button is released, Y-axis controls grip height. | |
4 | TBD - RC gripper |
||
5 | TBD - RC gripper | ||
6 |
| ||
7 | |||
8 | |||
9 | |||
10 | |||
11 | |||
12 | |||
Z-axis |
Joystick 4/LaunchPad
Button/Axis | Description (brief) |
Operation | Notes |
1 | Auto 'main' | Active when 3-way Auto switch is 'up'. This will pick the hard coded/defined auto mode. | |
2 | Auto 'dashboard' | Active when 3-way Auto switch is 'down'. This will indicate that the auto mode selected in the Dashboard is to be used. | |
3 | Broken #1 |
Lift position sensors broken |
left-most switch on top row |
4 | Broken #2 | Gripper position sensors broken |
located to the right of Broken #1 |
5 | Broken #3 | future |
located to the left of Broken #4 |
6 | Broken #4 | future | right-most switch on top row |
7 | Broken #5 | future | left-most switch on bottom row |
8 | Broken #6 | future | lcated to the right of Broken #5 |
9 | Broken #7 | future | located to the left of Broken #8 |
10 | Broken #8 | Enable debug output (like prior years) of all systems to dashboard |
Right-most switch on bottom row |