TF Frames
This section describes the TF frames used in the competition. The TF frames are used to describe the position and orientation of the different objects in the competition. After starting the environment, one can visualize the TF tree with the following command:
cd /tmp && ros2 run tf2_tools view_frames && evince frames.pdf
A PDF file containing the TF frames is also available here. A summary of the TF frames used in the competition is provided below:
World: The
world
frame is the root frame of the TF tree. It is located at the origin of the competition arena.AGV Trays: Frames for the AGV trays are located at the origin of the trays. The frames are named as
agvX_tray
whereX
is the agv number.
world
└─── agv1_track
| |
| └─── agv1_base
| |
| └─── agv1_tray
└─── agv2_track
| |
| └─── agv2_base
| |
| └─── agv2_tray
└─── agv3_track
| |
| └─── agv3_base
| |
| └─── agv3_tray
└─── agv4_track
|
└─── agv4_base
|
└─── agv4_tray
Robots: Frames of the robots are provided in the TF tree.
world
└─── long_rail_1 (frames for the ceiling robot)
| |
| └─── ...
└─── slide_bar (frames for the floor robot)
|
└─── ...
Cameras: Frames for the cameras and sensors defined in the sensor configuration file are published on the TF tree. Note: In previous versions of ARIAC parts detected by cameras were published on the TF tree. This is no longer the case. The TF frames are only used to describe the position and orientation of the cameras and sensors. Competitors are expected to subscribe to the topics provided by the cameras and sensors to get the information about the parts.
world
└─── right_bins_camera_frame
|
└─── left_bins_camera_frame
|
└─── ...
Bins: Frames for the bins are located at the origin of the bins. The frames are named as
binX_frame
whereX
is the bin number.
world
└─── bin1_frame
|
└─── bin2_frame
|
└─── bin3_frame
|
└─── bin4_frame
|
└─── bin5_frame
|
└─── bin6_frame
|
└─── bin7_frame
|
└─── bin8_frame
Inserts: Frames for the inserts are located at the origin of the inserts. The frames are named as
asX_insert_frame
whereX
is the assembly station number. These frames are useful for assembly and combined tasks.
world
└─── as1_table_frame
| |
| └─── as1_insert_frame
|
└─── as2_table_frame
| |
| └─── as2_insert_frame
|
└─── as3_table_frame
| |
| └─── as3_insert_frame
|
└─── as4_table_frame
|
└─── as4_insert_frame
Tray/Tool Changer Tables: Frames for the tray tables are named as
ktsX_table_frame
whereX
is the table number. EachktsX_table_frame
has two children:ktsX_tool_changer_parts_frame
is the frame of the tool changer for the parts gripper.ktsX_tool_changer_trays_frame
is the frame of the tool changer for the trays gripper.
world
|
└─── kts1_table_frame
| |
| └─── kts1_tool_changer_parts_frame
| |
| └─── kts1_tool_changer_trays_frame
|
└─── kts2_table_frame
|
└─── kts2_tool_changer_parts_frame
|
└─── kts2_tool_changer_trays_frame
Conveyor Belt: Frames for the conveyor belt consists of two frames:
conveyor_belt_base_frame
is the frame located below the conveyor belt.conveyor_belt_part_spawn_frame
is the frame origin where parts are spawn on the conveyor belt. This frame is located at one end of the conveyor belt.
world
|
└─── conveyor_belt_base_frame
|
└─── conveyor_belt_part_spawn_frame