2024:Robot IO Map

From 1511Wookiee
Revision as of 15:16, 5 December 2023 by Heydowns (talk | contribs)
Jump to navigationJump to search

CAN ID Assignments

ID Subsystem

Component

Type

Model # Brake or Coast? Description
(brief)
Operation

PD Board Info

(8) max. 40A         PDB #

General Notes
0 Electrical

PD Module

    Power Distribution Module feedback monitor PD

must be CAN 0

 


1 RESERVED n/a     Factory-default
allows for adding new device quickly and re-assign its ID
  don't use please  


2 Grabber









3 Grabber









4 Lift









5 Lift









6 Lift









7 RCS









8










9 Drive









10 Drive









11 Drive









12 Drive









13 Drive









14 Drive









15 Drive









16 Drive









17 Drive









18 Drive









19 Drive









20 Drive









 
PDB Assignments
Port # Device (Subteam) Breaker Value Max Current Note
0


1


2


3


4


5





6





7





8





9





10
11
12
13
14
15
16
17
18
19
20
21
22
23 (Switchable)
VRM Assignments
Port # Device (Subteam)
5V/2A
5V/2A
5V/500mA
5V/500mA
12V/2A
12V/2A
12V/500mA
12V/500mA

PWM Outputs

ID Subsystem

Component

Type

Model # Description
(brief)

Operation

 

Brake/Coast

Notes

(8) max. 40A              PDB #   

0  
1





 


   
2





       
3





       
4









5



 


       
6









7





 




8









9





 




10                
11                
 
 

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








1






   
2              
3              
 

More Board Analog Inputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation

Voltage

Range

Notes
0              
1              
2              
3              
 

Digital IO (GPIO)

RoboRio IO

ID Direction
(IN/OUT)
Subsystem

Component

Type

Model # Description
(brief)
Operation Notes
0 IN Grabber Beam Break


Grabber intake sensor Detect acquired game pieces


1 IN Lift



Lift home sensor Detect when telescoping arm is fully retracted


2 IN Lift



Lift extension sensor Detect when telescoping arm is fully extended


3 IN Lift




Lift home sensor (ish) & hard stop Detect when lift needs to stop
4 IN







5








6








7 IN






 
8 IN






 
9 IN






 
10 IN






 
 
 
 

Rev Robotics More Board IO

ID Direction (IN/OUT) Subsystem Component Type Model # Description (brief) Operation Notes
0 IN            
1 IN            
2 IN            
3 IN            
4 IN            
5 IN            
6 IN            
7 IN            
8 IN            
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
0x52  






 
               
               
               
               
               
               

SPI Devices

# Subsystem

Component Type

Model # Description (brief) Operation Notes
0 Drive IMU ADIS16470 3-Axis gyro and accelerometer Sense rotation of robot  

USB Host Ports

Address Subsystem

Component Type

Model # Description (brief) Operation Notes
0






 
1            

Pneumatics Control Modules

PCM

ID

# Subsystem

Solenoid is Double or Single?

Solenoid

Model #

Description

(brief)

Operation Circuit Pressure PDB #
1 0 Grabber Double


Extend Difference between cone intake and cube intake



1 Retract


2 Grabber Double


Extend Difference between cone intake and cone transport


3 Retract


4 Grabber Double


Extend Grabber Position for intaking tipped cone


5 Retract Grabber Position for intaking upright cone
6 Drive Base Double


Retract Parking Break


7 Extend Parking Break
2 0








1



2







3



4







5



Operator Controls

Disable Xbox Controller

DisableXbox.docx

Controller 1 - Primary Driver

 Button/Axis # Action/Button Description Details
A-1 Left Joystick Y Drive translation Y  
A-1 Left Joystick X Drive translation X  


Left Joystick Press Drive lock X translation toggle


A-4 Right Joystick Y


 
A-4 Right Joystick X Drive rotation  
B-6 Right Bumper Slow drive rotation (hold)  
B-5 Left Bumper Slow drive translation (hold)  
A-3 Right Trigger


 
A-2 Left Trigger


 
B-1 Square / A Button


 
B-3 Cross / X Button Brick drive  
B-4 Triangle / Y Button Toggle Absolute Rotation  
B-2 Circle / B Button    
 

Controller 2 - Aux Driver

Button/Axis # Action/Button Description Details
A-0 Left Joystick X-Axis    
A-1 Left Joystick Y-Axis



A-2 Left Trigger Score GamePiece


A-3 Right Trigger Intake


A-4 Right Joystick X-Axis


 

 

A-5 Right Joystick Y-Axis    
B-1 Square / A Button Prepare intake for cube aquisition


B-2 Circle / B button Prepare intake / wrist for tipped cone acquisition


B-3 Cross / X Button



B-4 Triangle / Y button Prepare intake for upright cone acquisition


B-5 Left bumper



B-6 Right bumper Outake


B-7 Back Button Reset GamePiece  
B-8 Start Button



B-9 Left Stick Pressed    
B-10 Right Stick Pressed    
POV-0 D-pad up If has GamePiece, then lift goes to high scoring location

If doesn't have GamePiece, then lift goes to balcony acquisition position


POV-90 D-pad right Lift goes to Mid scoring location


POV-180 D-pad down If has GamePiece, then goes to hybrid scoring location

If doesn't have GamePiece, then goes to ground intake acquisition position


POV-270 D-pad left



Controller 3 - Switches on console

 Button/Axis #  Action/Button  Description Details
B-1 Blinky Blinky Off Turns off Blinky Blinky  
B-2 Robot-Centric Switches from field-centric to Robot-Centric  
B-3



 
B-4



 
B-5 GamePiece Manual GamePiece Manual - MAY BREAK THINGS!!!!  
B-6 Crater mode Pit (crater) mode  
B-7



 
B-8



 
B-9



 

Dashboard

Key Data Type Value Description
thunderdashboard_gyro number

0 - dashboard background not based on this

1 - dashboard background goes red

used when: gyro is calibrating
thunderdashboard_yellow number

0 - dashboard background not based on this

1 - dashboard background goes yellow

used when: TBD

NOTE: thunderdashboard_gyro takes precedence

thunderdashboard_green number

0 - dashboard background not based on this

1 - dashboard background goes green

used when: TBD

NOTE: thunderdashboard_gyro takes precendence

thunderdashboard_inpitmode number

0 - dashboard background not based on this

1 - dashboard background is power blue

used when: robot is operating in 'pit mode' (for safer operatin in the pits)

NOTE: thunderdashboard_gyro takes precendence

thunderdashboard_auto_list string a comma seperated list the list of auto modes (e.g. "0,1,2,3,4,5")
thunderdashboard_auto_# string any text one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5)
Auto_Mode number a number from thunderdashboard_auto_list the auto mode selected on the UI
thunderdashboard_auto_start_delay number


user selected number of seconds, 0 to 15, to delay start of auto mode
thunderdashboard_auto_doing_auto boolean true - should do autonomous

false - should not do autonomous

Dashboard checkbox in auto selector page. When false, the robot should not do anything in autonomous
thunderdashboard_auto_starting_location number 0 - barrier side

1 - center

2 - edge side

Dashboard selection of which community zone the robot should start in
thunderdashboard_auto_starting_gamepiece number 0 - cube

1 - cone

Dashboard selection of which GamePiece the robot is starting with. Also determines the exact starting position of the robotin combination with the general zone as provided by 'thunderdashboard_auto_starting_location'
thunderdashboard_auto_starting_action number Depending on the starting location, this value means different things.If starting in the center,

0 - Score preloaded GamePiece and balance on Charge Station

1 - Score preloaded GamePiece, traverse Charge Station, and collect GamePiece 3 from field

If starting on either side,

Anything - Score preloaded GamePiece and collect field GamePiece 1 or 4

Dashboard selection of what action the robot should do first in autonomous
thunderdashboard_auto_field_gamepiece number 0 - cube

1 - cone

Dashboard selection of which GamePiece to collect on the field (if the starting action puts the robot in the position to acquire a GamePiece)
thunderdashboard_auto_final_action number Depending on the starting location, this value means different things,If starting in the center,

0 - Do nothing

1 - Balance on Charge Station

If starting on either side,

0 - Do nothing

1 - Score acquired field GamePiece

2 - Balance on Charge Station

Dashboard selection of what action the robot should do at the end of Autonomous (if the starting action puts the robot in the position for a final action).
thunderdashboard_drive_x_pos number


Robot current X position on the field (m)
thunderdashboard_drive_y_pos number


Robot current Y position on the field (m)
thunderdashboard_drive_target_x_pos number


Robot target X position on the field (m)
thunderdashboard_drive_target_y_pos number


Robot target Y position on the field (m)
thunderdashboard_drive_x_vel number


Robot current X velocity (m/s)
thunderdashboard_drive_y_vel number


Robot current Y velocity (m/s)
thunderdashboard_drive_ang_vel number


Robot current angular velocity (rad/s)
thunderdashboard_drive_ang number


Robot current angle (radians)
thunderdashboard_drive_target_ang number


Robot target angle (radians)
thunderdashboard_lift_pivot_percent number 0 to 1 Percent of lift pivot
thunderdashboard_lift_extension_percent number 0 to 1 Percent of lift extension
thunderdashboard_lift_pivot_target_percent number 0 to 1, -1 if no target Target percent of lift pivot
thunderdashboard_lift_extension_target_percent number 0 to 1, -1 if no target Target percent of lift extension
thunderdashboard_grabber_position number 0 - open

1 - agape

2 - ajar

State of grabber mechanism
thunderdashboard_gamepiece number -1 - no gamepiece

0 - cube 1 - cone

Which GamePiece the robot is currently in possession of
thunderdashboard_match_remaining number


The time remaining in the current match period
thunderdashboard_airpressure_low number


Low air pressure on gauge
thunderdashboard_airpressure_high number


High air pressure on gauge
thunderdashboard_airpressure number


Current air pressure
thunderdashboard_airpressure_iters number


Number of ticks on air pressure gauge
thunderdashboard_led_mode number 0 - Robot State

1 - Alliance Color

2 - Custom Color

3 - Off

The mode of the robot LEDs
thunderdashboard_led_custom_r number 0-1 Custom LED red value
thunderdashboard_led_custom_g number 0-1 Custom LED green value
thunderdashboard_led_custom_b number 0-1 Custom LED blue value
thunderdashboard_score_grid number -1 - No grid aligned

0 - Left grid

1 - Center grid

2 - Right grid

Which grid the robot is currently in front of (relative to driver, NOT field or robot)
thunderdashboard_score_grid_column number -1 - No Column selected

0 - Left column

1 - Center column

2 - Right column

Which column of the grid the robot is trying to align to (relative to driver, NOT field or robot)


Network Ports

Server Port Client Protocol Description
roboRIO 5809 Dashboard TCP PS5 Controller Input/Output
roboRIO 5802 Raspberry Pis TCP Vision Processing communication
Raspberry Pi 1 1181 Dashboard UDP Left Front Camera
Raspberry Pi 2 1182 Dashboard UDP Right Front Camera
Raspberry Pi 1 1182 Dashboard UDP Back Camera

IO Maps for Old Robots