2023:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
(Updated Dashboard Network Table stuff on IO Map and some other things)
Tag: visualeditor
No edit summary
Tag: visualeditor
Line 46: Line 46:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 9?
|
|Not set yet, depends on wire route
|-
|-
| style="text-align: center" | 3
| style="text-align: center" | 3
Line 58: Line 58:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" |20A
| style="width: 115px; text-align: center" |20A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 10?
|
|Not set yet, depends on wire route
|-
|-
| style="text-align: center" |4
| style="text-align: center" |4
Line 69: Line 69:
|
|
| style="text-align: center" |40A
| style="text-align: center" |40A
|
|14
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 80: Line 80:
|
|
| style="text-align: center" |40A
| style="text-align: center" |40A
|
|4
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 91: Line 91:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 15
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 136: Line 136:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" | 1
| style="width: 55px; text-align: center" | 2
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 147: Line 147:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" | 14
| style="width: 55px; text-align: center" | 18
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 158: Line 158:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" | 15
| style="width: 55px; text-align: center" | 16
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 169: Line 169:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" | 4
| style="width: 55px; text-align: center" | 1
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 180: Line 180:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" | 5
| style="width: 55px; text-align: center" | 3
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 191: Line 191:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" | 10
| style="width: 55px; text-align: center" | 19
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 202: Line 202:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" |11
| style="width: 55px; text-align: center" |17
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 283: Line 283:
|-
|-
|4
|4
|
|Leadscrew Left (Lift)
|
|20A
|
|
|
|
Line 301: Line 301:
|-
|-
|7
|7
|Grabber Left
|
|20A
|
|
|
|
|
|-
|-
|8
|8
|Leadscrew Left (Lift)
|
|20A
|
|
|
|
|
|-
|-
|9
|9
|Telescoping (Lift)
|Grabber Left
|40A
|20A
|
|
|
|
|-
|-
|10
|10
|Network Switch
|Grabber Right
|20A
|20A
|Who Knows?
|
|
|
|-
|-
|11
|11
|Leadscrew Right (Lift)
|Network Switch
|20A
|20A
|
|Who Knows?
|
|
|-
|-
|12
|12
|Grabber Right
|
|20A
|
|
|
|
|
Line 343: Line 343:
|-
|-
|14
|14
|
|Telescoping (Lift)
|
|40A
|
|
|
|
|-
|-
|15
|15
|
|Leadscrew Right (Lift)
|
|20A
|
|
|
|

Revision as of 16:01, 11 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 9? Not set yet, depends on wire route
3 Grabber Spark Max Neo 550 Brake Right intake motor   20A 10? Not set yet, depends on wire route
4 Lift Spark Max Neo Brake Telescoping arm extension 40A 14 Using Integrated Encoder
5 Lift Spark Max Neo 550 Brake Left lift lead screw 40A 4 Using Integrated Encoder
6 Lift Spark Max Neo 550 Brake Right lift lead screw   40A 15 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 2 Using Integrated Encoder
11 Drive Spark Max Neo Brake Back right drive motor   40A 18 Using Integrated Encoder
12 Drive Spark Max Neo Brake Front right drive motor 40A 16 Using Integrated Encoder
13 Drive Spark Max Neo 550 Brake Front left rotation motor   20A 1 Using Integrated Encoder
14 Drive Spark Max Neo 550 Brake Back left rotation motor   20A 3 Using Integrated Encoder
15 Drive Spark Max Neo 550 Brake Back right rotation motor   20A 19 Using Integrated Encoder
16 Drive Spark Max Neo 550 Brake Front right rotation motor   20A 17 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 Leadscrew Left (Lift) 20A
5
6
7
8
9 Grabber Left 20A
10 Grabber Right 20A
11 Network Switch 20A Who Knows?
12
13
14 Telescoping (Lift) 40A
15 Leadscrew Right (Lift) 20A
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