Project

General

Profile

Actions

Task #232

open

Task Group #191: [Dev] MoveIt Pro Application development

[Dev] Create ur5e_xahr2c_config3 MoveIt Pro configuration package for UR5e + allegro hand with xela tactile integration

Added by Sanghoon Lee 27 days ago. Updated 19 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
Start date:
03/10/2026
Due date:
% Done:

90%

Estimated time:
Product Code:
uAi SW:

Description

This package targets a combined arm+hand production layout where control, behavior extension, and tactile observability must coexist without hidden launch coupling.

Primary design goals:

  • maintain deterministic MoveIt Pro startup contract for UR5e + Allegro hand
  • keep behavior plugin extension isolated in behaviors/ while preserving package portability
  • integrate AH tactile visualization/sidecar path as optional operator tooling

The package therefore keeps driver bringup, planning/control config, and tactile observability connected by explicit launch interfaces instead of implicit node assumptions.



ur5e_xahr2c_config3

1. Overview and design objective

This design targets a combined arm+hand production layout where control, behavior extension, and tactile observability must coexist without hidden launch coupling.

Primary design goals:

  • maintain deterministic MoveIt Pro startup contract for UR5e + Allegro hand
  • keep behavior plugin extension isolated in behaviors/ while preserving package portability
  • integrate AH tactile visualization/sidecar path as optional operator tooling

The package therefore keeps driver bringup, planning/control config, and tactile observability connected by explicit launch interfaces instead of implicit node assumptions.

2. Architecture

2.1 MoveIt Pro core

  • config/config.yaml is the main contract.
  • package extends picknik_ur_site_config.
  • default planning group: manipulator.

2.2 Driver layer

  • real: launch/robot_drivers_to_persist.launch.py
  • sim: launch/robot_drivers_to_persist_sim.launch.py
  • both include allegro_description_bringup.launch.py

2.3 Tactile visualization layer

launch/xela_driver.launch.py composes:

  1. AH std-viz all-in-one simulation launch
  2. AH sidecar launch (optional)

3. Behavior plugin design

  • behavior library in behaviors/
  • plugin XML exported with pluginlib_export_plugin_description_file
  • ROS std_srvs/Trigger client with explicit timeout and error propagation

4. ros2_control design

  • arm + hand controllers coexist in one profile
  • taxel joint state publisher outputs /joint_states_full
  • velocity force controller uses ee_frame: ur_adapter

5. Launch design notes

  • xela_driver.launch.py keeps sidecar args explicit.
  • sidecar manager service path: /xela_viz_mode_manager/set_mode.
  • only subset of viz args is currently forwarded to std-viz include.

6. Risks

  • declared args vs forwarded std-viz args mismatch
  • sim defaults accidentally used in real environment
  • sidecar and std-viz mode divergence

7. Validation

  • behavior plugin registration test
  • launch smoke tests for sidecar toggle
  • topic/service probes: /x_taxel_ah, /x_taxel_ah/web_state, /xela_viz_mode_manager/set_mode

ur5e_xahr2c_config3

MoveIt Pro runtime configuration for UR5e + Xela Allegro Hand (R2C).

What this package contains

  • combined arm+hand robot config (config/config.yaml)
  • ros2_control profile (config/control/ur5e_xahr2c.ros2_control.yaml)
  • URDF/SRDF and planning overrides
  • custom behavior plugin: TriggerPStopResetService
  • objective library + waypoints
  • tactile web/viz launcher (launch/xela_driver.launch.py)

Runtime modes

1) MoveIt Pro app runtime


cd ~/my_moveit_pro/01_wk_xela_mpro_dev_ws
moveit_pro run -c ur5e_xahr2c_config3

2) Xela visualization runtime


ros2 launch ur5e_xahr2c_config3 xela_driver.launch.py

xela_driver.launch.py pipeline

  • includes std_xela_taxel_viz_ahv4/launch/sim_all_svc_std_xela_taxel_viz_ahv4.launch.py
  • includes xela_taxel_sidecar_ah/launch/xela_taxel_sidecar_cpp.launch.py (optional)

Important:

  • std-viz include currently forwards only namespace, model_name, viz_mode.
  • other declared args are currently for sidecar/compatibility, not passed through to std-viz in this file.

Default launch arguments

  • namespace: xvizah
  • model_name: XR23AHLCPP
  • viz_mode: urdf
  • style_preset: cool_steel
  • joint_states_mode: local
  • frame_prefix: empty
  • marker_stamp_mode: now
  • marker_time_offset_sec: -0.12
  • enable_taxel_sidecar: true
  • taxel_sidecar_web_port: 8765
  • enable_taxel_sidecar_rosbridge: true
  • taxel_sidecar_rosbridge_port: 9090
  • enable_viz_mode_manager: true
  • max_publish_rate_hz: 20.0

Core config defaults

  • hardware.simulated=true
  • driver launch split:
    • real: launch/robot_drivers_to_persist.launch.py
    • sim: launch/robot_drivers_to_persist_sim.launch.py
  • ros2_control_hardware_type=mock_components
  • startup active controllers include hand_controller and xela_taxel_joint_state_publisher
  • waypoint file: waypoints/new_waypoints.yaml

Sidecar operation examples

Disable sidecar:


ros2 launch ur5e_xahr2c_config3 xela_driver.launch.py enable_taxel_sidecar:=false

Right-hand model:


ros2 launch ur5e_xahr2c_config3 xela_driver.launch.py model_name:=XR23AHRCPP

Custom behavior

TriggerPStopResetService:

  • plugin id: trigger_pstop_reset_service::TriggerPStopResetServiceBehaviorsLoader
  • default service: /recover_from_protective_stop
  • timeout: 2.0 sec

Documentation

  • Functional spec: ur5e_xahr2c_config3.md
  • Design: DESIGN.md
  • Redmine: README.textile, ur5e_xahr2c_config3.textile, DESIGN.textile

Files

clipboard-202603152214-a0zyj.png (781 KB) clipboard-202603152214-a0zyj.png Sanghoon Lee, 03/15/2026 01:14 PM
Actions

Also available in: Atom PDF