2015:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
(update pneumatics, add USB host ports)
(updated sensor list to hold actual parts)
Line 105: Line 105:
|-
|-
| style="text-align: center;" | 10
| style="text-align: center;" | 10
| style="text-align: center;" | pnuematics
| style="text-align: center;" | <br/>
| style="text-align: center;" | PCM module
| style="text-align: center;" | <br/>
| style="text-align: center;" | N/A
| style="text-align: center;" | <br/>
| style="width: 210px; text-align: center;" | Stabilizer, Shifter, Strafing
| style="width: 210px; text-align: center;" | <br/>
| style="width: 105px; text-align: center;" | roborio
| style="width: 105px; text-align: center;" | <br/>
| style="width: 224px; text-align: center;" | <br/>
| style="width: 224px; text-align: center;" | <br/>
| style="width: 115px; text-align: center;" |  
| style="width: 115px; text-align: center;" |  
|-
|-
| style="text-align: center;" | 11
| style="text-align: center;" | 11
| style="text-align: center;" | power dist.
| style="text-align: center;" | <br/>
| style="text-align: center;" | PD module
| style="text-align: center;" | <br/>
| style="text-align: center;" | N/A
| style="text-align: center;" | <br/>
| style="width: 210px; text-align: center;" | Power Distribution Readback
| style="width: 210px; text-align: center;" | <br/>
| style="width: 105px; text-align: center;" | roborio
| style="width: 105px; text-align: center;" | <br/>
| style="width: 224px;" | <br/>
| style="width: 224px;" | <br/>
| style="width: 115px;" |  
| style="width: 115px;" |  
Line 150: Line 150:
|-
|-
| 15
| 15
|  
| <span style="text-align: center;">pnuematics</span>
| <br/>
| <span style="text-align: center;">PCM module</span><br/>
| <br/>
| <span style="text-align: center;">N/A</span><br/>
| style="width: 210px;" |  
| style="width: 210px;" | <span style="text-align: center;">Stabilizer, Shifter, Strafing</span>
| style="width: 105px;" | <br/>
| style="width: 105px;" | <span style="text-align: center;">roborio</span><br/>
| style="width: 224px;" | <br/>
| style="width: 224px;" | <br/>
| style="width: 115px;" |  
| style="width: 115px;" | address spaces for Jaguars, SRXs, PCM, and PDP are all separate. We are limited to one PDP, and will need only one PCM
|-
|-
| 16
| 16
|  
| <span style="text-align: center;">power dist.</span>
| <br/>
| <span style="text-align: center;">PD module</span><br/>
| <br/>
| <span style="text-align: center;">N/A</span><br/>
| style="width: 210px;" |  
| style="width: 210px;" | <span style="text-align: center;">Power Distribution Readback</span>
| style="width: 105px;" | <br/>
| style="width: 105px;" | <span style="text-align: center;">roborio</span><br/>
| style="width: 224px;" | <br/>
| style="width: 224px;" | <br/>
| style="width: 115px;" |  
| style="width: 115px;" |  
Line 351: Line 351:
| drivetrain
| drivetrain
| style="width: 70px;" | gyro
| style="width: 70px;" | gyro
| style="width: 54px;" | &nbsp;?
| style="width: 54px;" | &nbsp;<span style="color: rgb(0, 0, 0); font-family: Arial; font-size: 12px; line-height: normal; background-color: rgb(238, 238, 238);">ADW22307</span>
| style="width: 227px;" | drivetrain gyro
| style="width: 227px;" | drivetrain gyro rot feedback
| style="width: 92px;" | <br/>
| style="width: 92px;" | <br/>
| style="width: 262px;" | X & Y orientation used in Autonomous
| style="width: 262px;" | X & Y orientation used in Autonomous
| style="width: 132px;" | &nbsp;?
| style="width: 132px;" | &nbsp;2.5 V center, 0.007 V/deg/sec
| style="width: 91px;" |  
| style="width: 91px;" |  
|-
|-
| 2
| 2
|  
| drivetrain
| style="width: 70px;" | <br/>
| style="width: 70px;" | gyro
| style="width: 54px;" | <br/>
| style="width: 54px;" | <span style="color: rgb(0, 0, 0); font-family: Arial; font-size: 12px; line-height: normal; background-color: rgb(238, 238, 238);">ADW22307</span><br/>
| style="width: 227px;" |  
| style="width: 227px;" | drivetrain gyro temperature feedback&nbsp;
| style="width: 92px;" | <br/>
| style="width: 92px;" | <br/>
| style="width: 262px;" | <br/>
| style="width: 262px;" | for rotation correction
| style="width: 132px;" | <br/>
| style="width: 132px;" | <span style="color: rgb(0, 0, 0); font-family: Arial; font-size: 12px; line-height: normal; background-color: rgb(238, 238, 238);">2.5V at 25 degree plus 9mV/ degree</span><br/>
| style="width: 91px;" |  
| style="width: 91px;" |  
|-
|-
Line 520: Line 520:
| lifter
| lifter
| style="width: 74px;" | Encoder
| style="width: 74px;" | Encoder
| style="width: 52px;" | &nbsp;?
| style="width: 52px;" | &nbsp;63R256
| style="width: 194px;" | Lifter Height&nbsp;
| style="width: 194px;" | Lifter Height&nbsp;
| style="width: 102px;" | N/A
| style="width: 102px;" | N/A
| style="width: 253px;" | Lifter drive rotation - &nbsp;calculate Height Zeroed with Lifter Flag Sensor
| style="width: 253px;" | Lifter drive rotation - &nbsp;calculate Height Zeroed with Lifter Flag Sensor. Channel A
| style="width: 118px;" |  
| style="width: 118px;" |  
|-
|-
Line 540: Line 540:
| gripper
| gripper
| style="width: 74px;" | Encoder
| style="width: 74px;" | Encoder
| style="width: 52px;" | &nbsp;?
| style="width: 52px;" | &nbsp;63R256
| style="width: 194px;" | Encoder Phase A
| style="width: 194px;" | Encoder Phase A
| style="width: 102px;" | N/A
| style="width: 102px;" | N/A
Line 550: Line 550:
| gripper
| gripper
| style="width: 74px;" | Encoder
| style="width: 74px;" | Encoder
| style="width: 52px;" | &nbsp;?
| style="width: 52px;" | &nbsp;63R256
| style="width: 194px;" | Encoder Phase B
| style="width: 194px;" | Encoder Phase B
| style="width: 102px;" | N/A
| style="width: 102px;" | N/A
| style="width: 253px;" | Gripper drive rotartion - calculate Position
| style="width: 253px;" | Gripper drive rotation - calculate Position
| style="width: 118px;" |  
| style="width: 118px;" |  
|-
|-
Line 616: Line 616:
|-
|-
| style="width: 16px;" | DIO1
| style="width: 16px;" | DIO1
| style="width: 56px;" | IN<br/>
| style="width: 74px;" | drivetrain<br/>
| style="width: 74px;" | Encoder<br/>
| style="width: 56px;" | <br/>
| style="width: 56px;" | <br/>
| style="width: 74px;" | <br/>
| style="width: 197px;" | Left Encoder, Phase B<br/>
| style="width: 74px;" | <br/>
| style="width: 56px;" | <br/>
| style="width: 197px;" | <br/>
| style="width: 106px;" | <br/>
| style="width: 106px;" | <br/>
| style="width: 254px;" | <br/>
| style="width: 254px;" | Drivetrain rotation - calculate Position measurement<br/>
| style="width: 141px;" | <br/>
| style="width: 141px;" | <br/>
|-
|-
| style="width: 16px;" | DIO2
| style="width: 16px;" | DIO2
| style="width: 56px;" | IN<br/>
| style="width: 74px;" | drivetrain<br/>
| style="width: 74px;" | Encoder<br/>
| style="width: 56px;" | <br/>
| style="width: 56px;" | <br/>
| style="width: 74px;" | <br/>
| style="width: 197px;" | Right Encoder, Phase B<br/>
| style="width: 74px;" | <br/>
| style="width: 56px;" | <br/>
| style="width: 197px;" | <br/>
| style="width: 106px;" | <br/>
| style="width: 106px;" | <br/>
| style="width: 254px;" | <br/>
| style="width: 254px;" | Drivetrain rotation - calculate Position measurement<br/>
| style="width: 141px;" | <br/>
| style="width: 141px;" | <br/>
|-
|-
| style="width: 16px;" | DIO3
| style="width: 16px;" | DIO3
| style="width: 56px;" | <br/>
| style="width: 56px;" | IN
| style="width: 74px;" | <br/>
| style="width: 74px;" | lifter
| style="width: 74px;" | <br/>
| style="width: 74px;" | Encoder<br/>
| style="width: 56px;" | <br/>
| style="width: 56px;" | 63R256
| style="width: 197px;" | <br/>
| style="width: 197px;" | Lift encoder, phase B
| style="width: 106px;" | <br/>
| style="width: 106px;" | <br/>
| style="width: 254px;" | <br/>
| style="width: 254px;" | Lifter drive rotation - &nbsp;calculate Height Zeroed with Lifter Flag Sensor. Channel A<br/>
| style="width: 141px;" | <br/>
| style="width: 141px;" | <br/>
|-
|-
Line 909: Line 909:
| style="width: 241px;" | <br/>
| style="width: 241px;" | <br/>
| style="width: 112px;" |  
| style="width: 112px;" |  
|}
== SPI Devices ==
{| border="1" cellpadding="2" cellspacing="1" style="width: 1007px;"
|-
| style="text-align: center;" | '''#'''<br/>
| style="width: 76px; text-align: center;" | '''Subsystem'''
| style="width: 75px;" | <p style="text-align: center;">'''Component&nbsp;Type'''</p>
| style="width: 53px; text-align: center;" | '''Model #'''
| style="width: 205px; text-align: center;" | '''Description&nbsp;(brief)'''
| style="width: 89px; text-align: center;" | '''Controlled By'''
| style="width: 241px; text-align: center;" | '''Operation'''
| style="width: 112px; text-align: center;" | '''Notes'''
|-
| 0
| style="width: 76px;" | drivetrain
| style="width: 75px;" | accelerometer
| style="width: 53px;" | <span style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: medium; line-height: 28.444446563720703px;">ADXL245</span><br/>
| style="width: 205px;" | <span style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: medium; line-height: 28.444446563720703px;">accelerometer, right by the gyro</span>
| style="width: 89px;" | drivetrain
| style="width: 241px;" | Facing down from top of lifter.&nbsp;Helps with tote + alignment in auto, driver, maybe for semiauto
| style="width: 112px;" |
|-
| <br/>
| style="width: 76px;" | <br/>
| style="width: 75px;" | <br/>
| style="width: 53px;" | &nbsp;
| style="width: 205px;" | <br/>
| style="width: 89px;" | <br/>
| style="width: 241px;" | <br/>
|}
|}


Line 936: Line 967:
| style="width: 76px;" | Logging
| style="width: 76px;" | Logging
| style="width: 75px;" | USB Stick
| style="width: 75px;" | USB Stick
| style="width: 53px;" | ?
| style="width: 53px;" | &nbsp;?
| style="width: 205px;" | USB Stick to log info
| style="width: 205px;" | USB Stick to log info
| style="width: 89px;" | robot general
| style="width: 89px;" | robot general

Revision as of 10:15, 26 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
1




2



3



4



5



6



7







8







9




10





Relay Outputs

ID Subsystem

Component

Type

Model # Description
(brief)
Controlled By Operation Notes
1



2



3



4



Analog IO

RoboRIO Analog Outputs

ID Subsystem

Component

Type

Model # Description
(brief)
Controlled By Operation

Voltage

Range

Notes
1 drivetrain gyro  ADW22307 drivetrain gyro rot feedback
X & Y orientation used in Autonomous  2.5 V center, 0.007 V/deg/sec
2 drivetrain gyro ADW22307
drivetrain gyro temperature feedback 
for rotation correction 2.5V at 25 degree plus 9mV/ degree
3




4




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 Facing down from top of lifter. Helps with tote + alignment in auto, driver, maybe for semiauto



 


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
1 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)
2 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)
3 Stabilizer
Single Solenoid
 SY3140-6LZ Stabilizer Gripper IN (default out)
driver2 joystick
closes stabilizer
double action cylinder (vented no action)
A
4 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
5

 




6







7

 




8




Operator Controls

Joystick 1/Left

Button/Axis Description
(brief)
Operation Notes
Y-Axis Move 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

future

left-most switch on top row
4 Broken #2 future 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 future Right-most switch on bottom row

IO Maps for Old Robots