2015:Robot IO Map

From 1511Wookiee
Revision as of 16:53, 7 March 2015 by Programming (talk | contribs) (remove useless column; update controls to match state of code and driver whim)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Robot I/O

CAN ID Assignments

ID Subsystem

Component

Type

Model # Description
(brief)
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
3 drivetrain motor CIM Left Rear Drive
4 drivetrain motor CIM Right Front Drive
5 drivetrain motor CIM Right Rear Drive
6 drivetrain motor CIM Strafe
unclear on how to activate this motor
7 lifter motor RS775 Left lifter
8 lifter motor RS775 Right lifter
9 gripper motor RS550 Gripper/Motor

10




11




12


13


14


15 pnuematics PCM module
N/A
Stabilizer, Shifter, Strafing
address spaces for Jaguars, SRXs, PCM, and PDP are all separate. We are limited to one PDP, and will need only one PCM
0 power dist. PD module
N/A
Power Distribution Readback
Must be 0 (WPILib has no easy way to use another ID). We'll only ever have one

PWM Outputs

ID Subsystem

Component

Type

Model # Description
(brief)

Operation


Notes
0



1


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 drivetrain gyro ADW22307 drivetrain gyro rot feedback

X & Y orientation used in Autonomous.

(no temp correction needed within our bounds)

2.5 V center (σ, 0.007 V/deg/sec (0.0069 to 0.0074 within ± 1σ) New Part Number: Datasheet
1





2



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 Encoder  63R256 Left Encoder, Phase A Drivetrain rotation - calculate Position measurement
1 IN
-
- - Left Encoder, Phase B
B-channel May not be present
2 IN drivetrain Encoder  63R256 Right Encoder, Phase A Drivetrain rotation - calculate Position measurement
3 IN -
-  - Right Encoder, Phase B
B-channel

May not be present

4 IN lifter Encoder  63R256 Lifter Encoder, Phase A Lifter drive rotation -  calculate Height Zeroed with Lifter Flag Sensor. Channel A
5 IN
-
- - Lifter Encoder, Phase B
B-channel

6 IN lifter Flag Sensor  OPB815 Home Position At Bottom Lower position
7 IN gripper Encoder  63R256 Gripper Encoder, Phase A Gripper drive rotation - calculate Position
8 IN - - - Gripper Encoder, Phase B B-channel
9 IN gripper Flag Sensor  OPB815 Home Gripper Position A Inner position home flag (Primary)

Rev Robotics More Board IO

ID Direction (IN/OUT) Subsystem Component Type Model # Description (brief) Operation
Notes
0 IN
gripper
Banner
Q10AN6R Gripper Tote Detection
Beam break sensor to check for tote presence
sensor open collector output.  pullup in roborio
1 IN
lifter
Flag
OPB815 Lift encoder high flag
Lifter upper flag, for safety and to help calibration

2 IN
gripper
Flag Sensor
OPB815 Home Gripper Position B
Inner position Backup

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
kOnBoardCS0 drivetrain accelerometer ADXL345
accelerometer, right by the gyro
to improve autonomous drive code




 

USB Host Ports

Address
Subsystem

Component Type

Model # Description (brief) Operation
Notes
0 Camera Camera HD-3000 USB camera 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 record match and state information at high rate, for postmortem match analysis

Pneumatics Control Module

ID Subsystem

Component

Type

Model #

Description

(brief)

Operation
Notes Pressure Circuit
0 Drivetrain Single Solenoid SY3140-6LZ shifter LOW (default high) 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)
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)
closes stabilizer
double action cylinder (vented no action)
A
3 Lifter
Single Solenoid
SY3140-6LZ
Lifter brake OPEN (default locked)
pnuematic cylinder engages bicycle brake to lock lift elevator
double action cylinder (vented open, spring on brake)
A
4

 



5






6

 



7



Operator Controls

There are two drive modes:

  • Porcupine
  • Arcade

Joystick 1/Left

Button/Axis Description
(brief)
Operation (Porcupine)
Operation (Arcade)
Notes
Y-Axis 6Move Forward/Backward

Corresponds to forward motion of left side (unless #3 is pressed)

Moves whole robot forward
X-Axis  Corresponds to 1/2 of lateral robot motion
Moves whole robot sideways (right is right)
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

On state transitions from no #2 buttons pressed to one or more #2 buttons pressed, the center wheel toggles from up to down and vica versa.

3 Straight
Drive straight forward and back with only Y axis of left joystick

4
5
6
7

8

9

10

11
12
Z-axis

Joystick 2/Right

Button/Axis Description
(brief)
Operation (Porcupine)
Operation (Arcade)
Notes
Y-axis Move Forward/Backward

Corresponds to forward motion of right side (unless #3 is on left Joystick is pressed)


X-axis Move Left/Right Corresponds to 1/2 of lateral robot motion
X axis determines rotation (around robot center, unless #4,#5 are pressed)
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 On state transitions from no #2 buttons pressed to one or more #2 buttons pressed, the center wheel toggles from up to down and vica versa.
3 Signal

When pressed, make the lights blink to signal to the human player

4 Pivot over left
While pressed, center of rotation is halfway on left side

5 Pivot over right

While pressed, center of rotation is halfway on right side
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.
Forward is down, back pulls up
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 Opens Stabilizer Arms compress pistons to open arms when pressed


7 Closes Stabilizer Arms extend pistons to close arms when pressed
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 enable arcade drive (has priority over #4)
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 set alternate camera
located 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


Output Byte Is 1 If and Only If... Notes
1 Autonomous Mode is active (either disabled or running)
2 TeleOperated Mode is active (either disabled or running)
3 The alliance color is Red
4 The drive is in pure tank/pure strafe mode
5 The drive is in arcade mode
6 The drive is in porcupine mode
7 The FMS is attached
8 The Roborio has declared brownout
9 The alliance color is in an indeterminate state
10 The Driver Station is Enabled (Either Auto, Tele, Test is running)
11 We are in station 1 or 3 (false=station 2 or invalid)
12 We are in station 2 or 3 (false=station 1 or invalid)
13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

SmartDashboard

Screen
Description (brief) Operation Notes Variable Name Data Type
Main Camera Feed Direct feed from the camera -- -- --
Main Auto Choice Will be used to control which autononomous mode is used. The auto mode should only be able to be changed if the three way switch is in the down position. auto_choice double
Main Auto Switch Position Will be used to determine if autononomous mode from dashboard is used. The auto mode should only be able to be changed in the dashboard if the three way switch is in the down position. auto_switch double
Main Gripper Position A meter used to show the position of the grippers. Will show a percent as a label, 0% means closed and 100% means fully opened. gripper_position

double

Main  Lifter Position A meter used to show the position of the lifter. Will show a percent as a label, 0% means home position and 100% means the lifter is at full height.
lifter_position

double

Main Auto Mode Description Describes the currently selected auto mode. -- auto_description string

IO Maps for Old Robots