2023:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
Tag: visualeditor
(Updated Dashboard Network Table stuff on IO Map and some other things)
Tag: visualeditor
Line 1,272: Line 1,272:
| style="width: 92px;  text-align: center" |A-1
| style="width: 92px;  text-align: center" |A-1
| style="width: 414px" |Left Joystick Y
| style="width: 414px" |Left Joystick Y
|
|Drive translation Y
| 
| 
|-
|-
| style="width: 92px;  text-align: center" |A-1
| style="width: 92px;  text-align: center" | A-1
| style="width: 414px" |Left Joystick X
| style="width: 414px" |Left Joystick X
| Drive translation X
| 
| 
| 
|-
|
|Left Joystick Press
|Drive lock X translation toggle
|
|-
|-
| style="width: 92px;  text-align: center" | A-4
| style="width: 92px;  text-align: center" | A-4
| style="width: 414px" |Right Joystick Y
| style="width: 414px" | Right Joystick Y
|
|
| 
| 
|-
|-
| style="width: 92px;  text-align: center" |A-4
| style="width: 92px;  text-align: center" |A-4
| style="width: 414px" |Right Joystick X
| style="width: 414px" | Right Joystick X
|
|Drive rotation
| 
| 
|-
|-
| style="width: 92px;  text-align: center" |B-6
| style="width: 92px;  text-align: center" |B-6
| style="width: 414px" |Right Bumper
| style="width: 414px" |Right Bumper
|
|Slow drive rotation (hold)
| 
| 
|-
|-
| style="width: 92px;  text-align: center" |B-5
| style="width: 92px;  text-align: center" |B-5
| style="width: 414px" |Left Bumper
| style="width: 414px" |Left Bumper
|
| Slow drive translation (hold)
| 
| 
|-
|-
Line 1,306: Line 1,311:
|-
|-
| style="width: 92px;  text-align: center" |A-2
| style="width: 92px;  text-align: center" |A-2
| style="width: 414px" |Left Trigger
| style="width: 414px" | Left Trigger
|
|
| 
| 
|-
|-
| style="width: 92px;  text-align: center" |B-1
| style="width: 92px;  text-align: center" |B-1
| style="width: 414px" |A Button
| style="width: 414px" |Square / A Button
|
|
| 
| 
|-
|-
| style="width: 92px;  text-align: center" |B-3
| style="width: 92px;  text-align: center" | B-3
| style="width: 414px" |X Button
| style="width: 414px" | Cross / X Button
| 
|Brick drive
| 
| 
|-
|-
| style="width: 92px;  text-align: center" |B-4
| style="width: 92px;  text-align: center" |B-4
| style="width: 414px" |Y Button
| style="width: 414px" |Triangle / Y Button
|
|Toggle Absolute Rotation
| 
| 
|-
|-
| style="width: 92px;  text-align: center" |B-2
| style="width: 92px;  text-align: center" |B-2
| style="width: 414px" |B Button
| style="width: 414px" | Circle / B Button
| 
| 
| 
| 
Line 1,355: Line 1,360:
| style="width: 91px;  text-align: center" |A-2
| style="width: 91px;  text-align: center" |A-2
| style="width: 286px" |Left Trigger
| style="width: 286px" |Left Trigger
| style="width: 361px" |
| style="width: 361px" |Score GamePiece
| style="width: 141px" |
| style="width: 141px" |
|-
|-
| style="width: 91px;  text-align: center" |A-3
| style="width: 91px;  text-align: center" |A-3
| style="width: 286px" |Right Trigger
| style="width: 286px" |Right Trigger
| style="width: 361px" |
| style="width: 361px" |Intake
| style="width: 141px" |
| style="width: 141px" |
|-
|-
Line 1,378: Line 1,383:
|-
|-
| style="width: 91px;  text-align: center" | B-1
| style="width: 91px;  text-align: center" | B-1
| style="width: 286px" | A Button
| style="width: 286px" |Square / A Button
| style="width: 361px" |
| style="width: 361px" |Prepare intake for cube aquisition
| style="width: 141px" |
| style="width: 141px" |
|-
|-
| style="width: 91px;  text-align: center" |B-2
| style="width: 91px;  text-align: center" |B-2
| style="width: 286px" | B button
| style="width: 286px" |Circle / B button
| style="width: 361px" |
| style="width: 361px" |Prepare intake / wrist for tipped cone acquisition
| style="width: 141px" |
| style="width: 141px" |
|-
|-
| style="width: 91px;  text-align: center" |B-3
| style="width: 91px;  text-align: center" |B-3
| style="width: 286px" |X Button
| style="width: 286px" |Cross / X Button
| style="width: 361px" |
| style="width: 361px" |
| style="width: 141px" |
| style="width: 141px" |
|-
|-
| style="width: 91px;  text-align: center" |B-4
| style="width: 91px;  text-align: center" |B-4
| style="width: 286px" |Y button
| style="width: 286px" |Triangle / Y button
| style="width: 361px" |
| style="width: 361px" |Prepare intake for upright cone acquisition
| style="width: 141px" |
| style="width: 141px" |
|-
|-
Line 1,400: Line 1,405:
| style="width: 286px" |Left bumper
| style="width: 286px" |Left bumper
| style="width: 361px" |
| style="width: 361px" |
| style="width: 141px" |  
| style="width: 141px" |
|-
|-
| style="width: 91px;  text-align: center" |B-6
| style="width: 91px;  text-align: center" |B-6
| style="width: 286px" | Right bumper
| style="width: 286px" |Right bumper
| style="width: 361px" |
| style="width: 361px" |Outake
| style="width: 141px" |
| style="width: 141px" |
|-
|-
| style="width: 91px;  text-align: center" |B-7
| style="width: 91px;  text-align: center" |B-7
| style="width: 286px" |Back Button
| style="width: 286px" |Back Button
| style="width: 361px" | 
| style="width: 361px" |Reset GamePiece
| style="width: 141px" | 
| style="width: 141px" | 
|-
|-
Line 1,417: Line 1,422:
| style="width: 141px" |
| style="width: 141px" |
|-
|-
| style="width: 91px;  text-align: center" | B-9
| style="width: 91px;  text-align: center" |B-9
| style="width: 286px" |Left Stick Pressed
| style="width: 286px" |Left Stick Pressed
| style="width: 361px" | 
| style="width: 361px" | 
Line 1,429: Line 1,434:
| style="width: 91px;  text-align: center" |POV-0
| style="width: 91px;  text-align: center" |POV-0
| style="width: 286px" |D-pad up
| style="width: 286px" |D-pad up
| style="width: 361px" |
| style="width: 361px" |If has GamePiece, then lift goes to high scoring location
If doesn't have GamePiece, then lift goes to balcony acquisition position
| style="width: 141px" |
| style="width: 141px" |
|-
|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
|
|
|}
|}


Line 1,458: Line 1,480:
| style="width: 158px" | 
| style="width: 158px" | 
|-
|-
| style="width: 92px;  text-align: center" | B-4
| style="width: 92px;  text-align: center" |B-4
| style="width: 112px" |
| style="width: 112px" |
| style="width: 521px" |  
| style="width: 521px" |
| style="width: 158px" | 
| style="width: 158px" | 
|-
|-
Line 1,468: Line 1,490:
| style="width: 158px" | 
| style="width: 158px" | 
|-
|-
| style="width: 92px;  text-align: center" |B-6
| style="width: 92px;  text-align: center" | B-6
| style="width: 112px" |
| style="width: 112px" |
| style="width: 521px" |
| style="width: 521px" |
Line 1,494: Line 1,516:
===Dashboard===
===Dashboard===


{| border="1" cellpadding="2" cellspacing="1" style="width: 0px"
{| style="width: 0px" cellspacing="1" cellpadding="2" border="1"
|-
|-
|'''Key'''
|'''Key'''
Line 1,501: Line 1,523:
| style="width: 1000px" |'''Description'''
| style="width: 1000px" |'''Description'''
|-
|-
|thunderdashboard_alliance
| thunderdashboard_gyro
|number
|
0 - Red
 
1 - Blue
 
|Alliance we are one
|-
|thunderdashboard_stage1
|number
| 0 - not blocked
1 - blocked
|Stage 1 sensor blocked?
|-
|thunderdashboard_stage2
|number
|0 - not blocked
1 - blocked
| Stage 2 sensor blocked?
|-
|thunderdashboard_ballcount
| number
| -1 - don't know
0 to 9 - number of balls
|how many balls are in the robot
|-
|thunderdashboard_shooter_hood
|number
|0 - 100
|the position of the hood: 0 is down, 100 is completely up
|-
|thunderdashboard_hang_bar
| number
|
0 - unknown
 
1 - mid
 
2 - high
 
3 - traversal
 
|the bar the robot is on
|-
| thunderdashboard_hang_status
|number
|
0 - unknown
 
1 - red
 
2 - green
 
3 - yellow
 
|hang status color to show
|-
|thunderdashboard_match_length
|number
|
0 - no bar
 
1 to 599 - show bar, max seconds for the match period
 
|Displays countdown progress bar at bottom of dashboard.
|-
|thunderdashboard_match_remaining
|number
|0 to 599
 
|Number of seconds left in the match period
|-
|thunderdashboard_gyro
|number
|number
|
|
Line 1,620: Line 1,569:


NOTE: thunderdashboard_gyro takes precendence
NOTE: thunderdashboard_gyro takes precendence
|-
|-
|thunderdashboard_max
| thunderdashboard_auto_list
|number
|
0 - show normal
 
1 - fills screen
 
|whether to fill the laptop screen with the dashboard or not
|-
|thunderdashboard_frontcamera
|number
|0 - LimeLight (mjpeg,  roboRIO-1511-FRC.local:5800)
1 - USB camera (mjpeg, 10.15.11.11:1181)
| which camera the dashboard should connect to
|-
|thunderdashboard_auto_list
|string
|string
|a comma seperated list
|a comma seperated list
| the list of auto modes (e.g. "0,1,2,3,4,5")
|the list of auto modes (e.g. "0,1,2,3,4,5")
|-
|-
|thunderdashboard_auto_#
|thunderdashboard_auto_#
Line 1,647: Line 1,580:
|one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5)
|one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5)
|-
|-
|Auto_Mode
| Auto_Mode
|number
|number
|a number from thunderdashboard_auto_list
|a number from thunderdashboard_auto_list
| the auto mode selected on the UI
|the auto mode selected on the UI
|-
|-
|thunderdashboard_auto_start_delay
|thunderdashboard_auto_start_delay
| number
| number
| 
|
|user selected number of seconds, 0 to 15, to delay start of auto mode
|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_grabber_position
|number
|0 - open
1 - agape
2 - ajar
|State of grabber mechanism
|-
|thunderdashboard_gamepiece
|number
|0 - cube
1 - cone
|Which GamePiece the robot is currently in possession of
|-
|
|
|
|
|}
===Network Ports===
{| style="width: 0px" cellspacing="1" cellpadding="2" border="1"
|-
|'''Server'''
|'''Port & Server'''
|'''Client'''
|'''Protocol'''
| style="width: 1000px" |'''Description'''
|-
|roboRIO
|5810
|Dashboard
|TCP
|PS5 Controller Input/Output
|-
|RollingRaspberry
|5800
|RoboRIO
|TCP
|Vision Processing Stuff
|-
|RollingRaspberry
|1181
|Dashboard
|UDP
|Left Front Camera
|-
|RollingRaspberry
|1182
|Dashboard
|UDP
|Right Front Camera
|-
|RollingRaspberry
|1183
|Dashboard
|UDP
|Back Camera
|}
|}



Revision as of 14:49, 8 February 2023

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 Spark Max Neo 550 Brake Left intake motor   20A
3 Grabber Spark Max Neo 550 Brake Right intake motor   20A
4 Lift Spark Max Neo Brake Telescoping arm extension 40A Using Integrated Encoder
5 Lift Spark Max Neo 550 Brake Left lift lead screw 40A Using Integrated Encoder
6 Lift Spark Max Neo 550 Brake Right lift lead screw   40A Using Integrated Encoder
7
8
9 Drive Spark Max Neo Brake Front left drive motor 40A 0 Using Integrated Encoder
10 Drive Spark Max Neo Brake Back left drive motor 40A 1 Using Integrated Encoder
11 Drive Spark Max Neo Brake Back right drive motor   40A 14 Using Integrated Encoder
12 Drive Spark Max Neo Brake Front right drive motor 40A 15 Using Integrated Encoder
13 Drive Spark Max Neo 550 Brake Front left rotation motor   20A 4 Using Integrated Encoder
14 Drive Spark Max Neo 550 Brake Back left rotation motor   20A 5 Using Integrated Encoder
15 Drive Spark Max Neo 550 Brake Back right rotation motor   20A 10 Using Integrated Encoder
16 Drive Spark Max Neo 550 Brake Front right rotation motor   20A 11 Using Integrated Encoder
17 Drive Encoder CANCoder N/A Front left absolute encoder N/A
18 Drive Encoder CANCoder N/A Back left absolute encoder N/A
19 Drive Encoder CANCoder N/A Back right absolute encoder N/A
20 Drive Encoder CANCoder N/A Front right absolute encoder N/A
 
PDB Assignments
Port # Device (Subteam) Breaker Value Max Current Note
0 Neo (Drive) 40A 40A
1 Neo 550 (Drive) 30A 30A
2 Neo (Drive) 40A 40A
3 Neo 550 (Drive) 30A 30A
4
5
6
7 Grabber Left 20A
8 Leadscrew Left (Lift) 20A
9 Telescoping (Lift) 40A
10 Network Switch 20A Who Knows?
11 Leadscrew Right (Lift) 20A
12 Grabber Right 20A
13
14
15
16 Neo (Drive) 40A 40A
17 Neo 550 (Drive) 30A 30A
18 Neo (Drive) 40A 40A
19 Neo 550 (Drive) 30A 30A
20 RoboRio Fused Port
21 Radio Fused Port
22 Raspberry Pi VRM 10A 5A Fused Port
23 (Switchable) Fused Port
VRM Assignments
Port # Device (Subteam)
5V/2A Blinky Blinky
5V/2A Blinky Blinky
5V/500mA Blinky Blinky
5V/500mA Blinky Blinky
12V/2A Banner Sensor - GamePiece
12V/2A
12V/500mA 4x CanCoders tied together - Drive
12V/500mA

PWM Outputs

ID Subsystem

Component

Type

Model # Description
(brief)

Operation

 

Brake/Coast

Notes

(8) max. 40A              PDB #   

0 Blinky Blinky LED Strip Illumination & Communication w/ HP Yes 5V 2A on VRM  
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
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
7
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  
B-2  
B-3  
B-4  
B-5  
B-6  
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_grabber_position number 0 - open

1 - agape

2 - ajar

State of grabber mechanism
thunderdashboard_gamepiece number 0 - cube

1 - cone

Which GamePiece the robot is currently in possession of


Network Ports

Server Port & Server Client Protocol Description
roboRIO 5810 Dashboard TCP PS5 Controller Input/Output
RollingRaspberry 5800 RoboRIO TCP Vision Processing Stuff
RollingRaspberry 1181 Dashboard UDP Left Front Camera
RollingRaspberry 1182 Dashboard UDP Right Front Camera
RollingRaspberry 1183 Dashboard UDP Back Camera

IO Maps for Old Robots