ROS API#

Interface Types:

  • Messages - Message definition structures

  • Topics - Data publication/subscription interfaces

  • Services - Request/response interfaces

  • Actions - Long-running goal-based interfaces


Enumeration Messages#

Message

Description

AgvStations

AGV station location constants

CellTypes

Cell type definitions and voltage constants

CompetitionStates

Competition state enumeration values

OperationStates

Operation state definitions

VacuumTools

Vacuum gripper tool type definitions

Data Structure Messages#

Message

Description

CellDefect

Cell defect information structure

CompetitionTime

Competition timing data structure

InspectionReport

Inspection result data structure

Competition Control Interfaces#

Interface

Description

/competition_status

Query competition state, time, order counts

/high_priority_orders

High priority kit requests with order ID

/start_competition

Starts the competition

/end_competition

Ends competition, optionally shutdown Gazebo

/submit_kitting_order

Submit kit (AGV at shipping required)

/submit_module_order

Submit module (in submission zone required)

/submit_high_priority_order

Submit high priority kit with ID

Task 1 Interfaces#

Interface

Description

/inspection_conveyor/status

Conveyor direction, speed, operating status

/inspection_conveyor/cell_feed/status

Current cell type being fed and feed rate

/voltage_tester_1/voltage

Voltage reading for tester 1

/voltage_tester_2/voltage

Voltage reading for tester 2

/inspection_conveyor/cell_feed/control

Change cell type being fed

/inspection_conveyor/inspection/submit

Submit inspection with pass/fail and defects

Task 2 Interfaces#

Interface

Description

/assembly_conveyor/section_{number}/status

Section direction, speed, status

/assembly_conveyor/section_1/control

Control conveyor section 1

/assembly_conveyor/section_2/control

Control conveyor section 2

/assembly_conveyor/section_3/control

Control bidirectional conveyor section 3

/gantry_welder/weld

Create weld if electrodes contact plate

/insert_bottom_shell

Spawn bottom shell on section 1

/insert_top_shell

Spawn top shell on assembly table

Robot Control Interfaces#

Joint Control#

Interface

Description

/{robot_name}/joint_states

Current joint states

/{robot_name}/joint_trajectory_controller/follow_joint_trajectory

Joint trajectory commands

Gripper Control#

Interface

Description

/{robot_name}/gripper_controller/gripper_command

Control gripper width

Vacuum Tool Control#

Interface

Description

/assembly_robot_2/tool_changer/status

Tool changer current state and status

/assembly_robot_2/tool_changer/attach_tool

Attach specified tool to robot, must be in correct position

/assembly_robot_2/tool_changer/detach_tool

Detach tool from robot

/vacuum_tool/vg_2/grasp

Grasp object with vg_2, requires contact with object

/vacuum_tool/vg_2/release

Detach object from vg_2

/vacuum_tool/vg_4/grasp

Grasp object with vg_4, requires contact with object

/vacuum_tool/vg_4/release

Detach object from vg_4

AGV Control Interfaces#

Interface

Description

/{agv_name}/info

Current location and pose

/{agv_name}/tray_status

Tray occupancy and part information

/{agv_name}/recycle_cells

Recycle tray at recycling station

/{agv_name}/move

Move AGV to specified station

Sensor Interfaces#

Note

The sensor name is defined by the team in their configuration file

Break Beam Sensors#

Interface

Description

/{break_beam_name}/status

Reports if an object is detected with a timestamp

/{break_beam_name}/change

Publishes when the breakbeam status changes

Distance Sensors#

Interface

Description

/{distance_sensor_name}/distance

Reports a distance to the first object in view with a timestamp

Camera Sensors#

Interface

Description

/{camera_name}/image

Displays current image seen through camera

/{camera_name}/info

Info about camera sensor

Lidar Sensors#

Interface

Description

/{lidar_name}/scan

Reports the point cloud detected from the lidar scan