CMS robot and MoveIt launch
CMS gripper-parameterized UR driver/MoveIt launch for none, epick, hande, 2fg7 or pipettor, sourcing per-gripper values from beamline YAML. Includes OMPL/Pilz/STOMP and optional joystick Servo. Uses the UR driver’s robot_state_publisher rather than creating another; payload setting is delegated to lifecycle management.
src.custom-ur-descriptions.cms_moveit_config.launch.robot_bringup.launch · Source
Setup and deployment · Guide · Symbol index
How it is used
The lifecycle manager uses this launch to assemble the CMS robot driver and a MoveIt model for the selected tool. generate_launch_description() declares the interface; ROS launch later invokes launch_setup() with resolved argument values. Per-tool files come from the active beamline configuration.
Read launch_setup() to trace tool-specific controllers, drivers, calibration, RViz, and optional Servo startup. The UR driver owns robot_state_publisher; payload setting belongs to lifecycle management. For ePick, launch forwards the selected cup profile through BEAMBOT_EPICK_CUP_PROFILE to the UR driver’s Xacro expansion as well as directly to MoveIt.
Start here
Callable |
Purpose |
|---|---|
Declare the CMS launch interface and defer resolved construction to launch_setup through OpaqueFunction. |
|
Resolve launch arguments, load per-gripper config and build UR control, move_group/RViz and optional joystick/gripper actions. CMS calibration is passed to both planning xacro and UR driver; gripper controllers use overlay files. ePick/Hand-E spawn controllers, 2FG7/pipettor drivers start after three seconds. |
Functions
generate_launch_description()
Declare the CMS launch interface and defer resolved construction to launch_setup through OpaqueFunction.
Entry point · Source
generate_launch_description()
Returns: LaunchDescription declaring gripper=none, robot_ip=192.168.1.101, ur_type=ur5e, use_mock_hardware=false, tf_prefix=””, enable_joystick=false, joystick_device_id=0 and cup_profile=3mm_dia_external_air.
Errors: Launch construction errors propagate; gripper choices constrain valid values before setup, while other validation is deferred.
Side effects: Creates launch objects; executing them can start the complete robot/MoveIt/gripper/teleoperation stack.
launch_setup()
Resolve launch arguments, load per-gripper config and build UR control, move_group/RViz and optional joystick/gripper actions. CMS calibration is passed to both planning xacro and UR driver; gripper controllers use overlay files. ePick/Hand-E spawn controllers, 2FG7/pipettor drivers start after three seconds.
Callback · Source
launch_setup(context, *args, **kwargs)
Parameter |
Meaning |
|---|---|
|
LaunchContext used to resolve gripper, robot_ip, ur_type, use_mock_hardware, tf_prefix and conditional settings. |
|
Additional positional OpaqueFunction arguments; unused. |
|
Additional keyword OpaqueFunction arguments; unused. |
Returns: List of launch actions: ePick cup-profile environment forwarding when applicable, the included UR driver, move_group, RViz, conditional joystick/Servo actions and selected gripper setup.
Errors: ValueError for unsupported gripper; package/config/xacro/YAML errors propagate. 2FG7 branch passes use_fake_hardware although its driver reads use_mock_hardware, so that branch does not reliably enable mock mode.
Side effects: Reads/builds MoveIt configuration during setup. For ePick, a preceding launch action sets BEAMBOT_EPICK_CUP_PROFILE so the UR driver expands the same cup profile as MoveIt. Executing the actions starts drivers, RViz and optional teleoperation; real hardware connections depend on arguments.
Referenced in source (1)
generate_launch_description— src.custom-ur-descriptions.cms_moveit_config.launch.robot_bringup.launch