2015:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
(outputs are inputs)
(roborio ports begin with 0)
Line 185: Line 185:
| style="width: 125px; text-align: center;" | '''Notes'''
| style="width: 125px; text-align: center;" | '''Notes'''
|-
|-
| 1
| 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/>
|-
|-
| 2
| 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;" |  
|-
|-
| 3
| 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;" |  
|-
|-
| 4
| 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;" |  
|-
|-
| 5
| 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;" |  
|-
|-
| 6
| 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;" |  
|-
|-
| 7<br/>
| 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/>
|-
|-
| 8<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/>
|-
|-
| 9<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;" |  
|-
|-
| 10<br/>
| 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'''
|-
|-
| 1
| 0
|  
|  
| style="width: 69px;" | <br/>
| style="width: 69px;" | <br/>
Line 300: Line 300:
| style="width: 115px;" |  
| style="width: 115px;" |  
|-
|-
| 2
| 1
|  
|  
| style="width: 69px;" | <br/>
| style="width: 69px;" | <br/>
Line 309: Line 309:
| style="width: 115px;" |  
| style="width: 115px;" |  
|-
|-
| 3
| 2
|  
|  
| style="width: 69px;" | <br/>
| style="width: 69px;" | <br/>
Line 318: Line 318:
| style="width: 115px;" |  
| style="width: 115px;" |  
|-
|-
| 4
| 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'''
|-
|-
| 1
| 0
| drivetrain
| drivetrain
| style="width: 70px;" | gyro
| style="width: 70px;" | gyro
Line 358: Line 358:
| style="width: 91px;" |  
| style="width: 91px;" |  
|-
|-
| 2
| 1
| drivetrain
| drivetrain
| style="width: 70px;" | gyro
| style="width: 70px;" | gyro
Line 368: Line 368:
| style="width: 91px;" |  
| style="width: 91px;" |  
|-
|-
| 3
| 2
|  
|  
| style="width: 70px;" | <br/>
| style="width: 70px;" | <br/>
Line 378: Line 378:
| style="width: 91px;" |  
| style="width: 91px;" |  
|-
|-
| 4
| 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; text-align: center" | '''Subsystem'''
| style="width: 76px; text-align: center" | '''Subsystem'''
| style="width: 75px" | <p style="text-align: center">'''Component&nbsp;Type'''</p>
| style="width: 75px" | <p style="text-align: center">'''Component&nbsp;Type'''</p>
| style="width: 53px; text-align: center" | '''Model #'''
| style="width: 53px; text-align: center" | '''Model #'''
| style="width: 205px; text-align: center" | '''Description&nbsp;(brief)'''
| style="width: 205px; text-align: center" | '''Description&nbsp;(brief)'''
| style="width: 89px; text-align: center" | '''Controlled By'''
| style="width: 89px; text-align: center" | '''Controlled By'''
| style="width: 241px; text-align: center" | '''Operation'''
| style="width: 241px; text-align: center" | '''Operation'''
| style="width: 112px; text-align: center" | '''Notes'''<br/>
| 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); font-family: sans-serif; line-height: 28.4444px">ADXL245</span></span><br/>
| 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); font-family: sans-serif; line-height: 28.4444px">accelerometer, right by the gyro</span></span><br/>
| 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'''
|-
|-
| 1
| 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)
|-
|-
| 2
| 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)
|-
|-
| 3
| 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
|-
|-
| 4
| 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
|-
|-
| 5
| 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/>
|-
|-
| 6
| 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/>
|-
|-
| 7
| 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/>
|-
|-
| 8
| 7
|  
|  
| style="width: 75px;" |  
| style="width: 75px;" |  
Line 1,081: Line 1,081:
|-
|-
| Y-Axis
| Y-Axis
| style="width: 158px;" | Move Forward/Backward
| 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; text-align: center" | '''Description'''<br/>(brief)
| style="width: 172px; text-align: center" | '''Description'''<br/>(brief)
| style="width: 277px; text-align: center" | '''Operation'''
| style="width: 277px; text-align: center" | '''Operation'''
| style="width: 119px; text-align: center" | '''Notes'''
| 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

IO Maps for Old Robots