TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/MRRP-lab/arm-demos/llms.txt
Use this file to discover all available pages before exploring further.
colman_bringup package is the top-level entry point for starting the Colman robotic arm system. It provides a set of composable launch files that you can invoke individually or together through colman.launch.py, which orchestrates bringup, simulation, MoveIt 2, depth processing, YOLO detection, and AprilTag detection as opt-in subsystems.
Launch files
bringup.launch.py — Core controller bringup
bringup.launch.py — Core controller bringup
The foundational bringup file. It starts
robot_state_publisher (loading the correct URDF via xacro with gripper_type and use_camera mappings), conditionally starts ros2_control_node / controller_manager when start_external_rm is true, and spawns three controllers:joint_state_broadcaster— publishes/joint_statesjoint_trajectory_controller— arm trajectory executiongripper_controllerorrobotiq_gripper_controller— selected bygripper_type
use_sim_time is true, the URDF is loaded from colman_gazebo instead of colman_description so the Gazebo-compatible XACRO is used.colman.launch.py — Full system bringup
colman.launch.py — Full system bringup
The all-in-one launcher that composes every subsystem. It includes
The
bringup.launch.py unconditionally and then conditionally includes the following launch files based on boolean arguments:| Argument | Default | Included launch file |
|---|---|---|
sim | true | sim.launch.py |
moveit | true | moveit.launch.py |
depth | false | depth.launch.py |
yolo | false | yolo.launch.py |
apriltag | false | apriltag.launch.py |
use_sim_time parameter forwarded to bringup.launch.py and moveit.launch.py is driven by the sim argument, so toggling simulation automatically updates the clock source.rsp.launch.py — Robot state publisher only
rsp.launch.py — Robot state publisher only
A standalone
robot_state_publisher launch file intended for use with the real UR3e driver. It passes through all ur_robot_driver connection parameters to xacro, including robot_ip, ur_type, tf_prefix, headless_mode, and the UR script/recipe file paths resolved from ur_client_library and ur_robot_driver.sim.launch.py — Gazebo Harmonic simulation
sim.launch.py — Gazebo Harmonic simulation
Launches Gazebo Harmonic with a configurable world file (defaults to
table_world.sdf from colman_gazebo), spawns the robot from the /robot_description topic at a configurable Z height (spawn_z, default 0.76619 m for the table world), and starts the ros_gz_bridge clock bridge using bridge_config.yaml from colman_gazebo.moveit.launch.py — MoveIt 2 move_group
moveit.launch.py — MoveIt 2 move_group
Dispatches to either
colman_moveit_custom.launch.py or colman_moveit_robotiq.launch.py inside colman_moveit_config based on the gripper_type argument. Both variants start a move_group node and optionally an RViz2 node with the pre-configured moveit.rviz file.apriltag.launch.py — AprilTag detector
apriltag.launch.py — AprilTag detector
Starts an
apriltag_ros apriltag_node with its parameters loaded from colman_perception/config/apriltag.yaml (overridable via params_file). The node remaps its inputs to the OAK-D Pro topics:image_rect→/oakd_pro/rgb/imagecamera_info→/oakd_pro/rgb/camera_info
yolo.launch.py — YOLO detection node
yolo.launch.py — YOLO detection node
Starts the
detection executable from colman_perception, which runs YOLO11 instance segmentation on incoming camera frames and publishes annotated images to /yolo/annotated.depth.launch.py — Stereo depth pipeline
depth.launch.py — Stereo depth pipeline
Builds a stereo depth pipeline on top of the OAK-D Pro left/right image streams. It starts:
camera_info_republisher— injects the stereo baseline (baseline_m, default0.075m) into the projection matrixP[3]and corrects frame IDs before passing camera info to downstream nodesleft_rectify/right_rectify—image_proc/rectify_nodenodes on each stereo channeldisparity—stereo_image_proc/disparity_node(SGM, range 128, approximate sync)point_cloud—stereo_image_proc/point_cloud_nodepublishing to/oakd_pro/depth/points2
Launch arguments reference
The most commonly used arguments across the launch files are summarised below.| Argument | Type | Default | Description |
|---|---|---|---|
gripper_type | string | custom | Gripper model. Valid values: custom, robotiq, vacuum. |
use_camera | bool | true | Attach the OAK-D Pro camera link to the URDF and SRDF. |
use_sim_time | bool | false | Use /clock from Gazebo instead of wall time. |
start_external_rm | bool | false | Start an external ros2_control_node. Set false when using Gazebo or the UR driver’s built-in controller manager. |
sim | bool | true | (colman.launch.py only) Include Gazebo simulation. |
moveit | bool | true | (colman.launch.py only) Include MoveIt 2 move_group. |
depth | bool | false | (colman.launch.py only) Include stereo depth pipeline. |
yolo | bool | false | (colman.launch.py only) Include YOLO detection node. |
apriltag | bool | false | (colman.launch.py only) Include AprilTag detector. |
When using
colman.launch.py with sim:=true, the use_sim_time flag is automatically propagated to both bringup.launch.py and moveit.launch.py, so you do not need to set it separately.Dependencies
colman_bringup depends on the following packages at runtime:
xacro,robot_state_publisher— robot description processingcontroller_manager— ros2_control spawningros_gz_sim,ros_gz_bridge— Gazebo integrationcolman_description,colman_gazebo— robot models and worldscolman_perception— camera and detection nodescolman_moveit_config— MoveIt 2 configurationrviz2— visualisation