From dcf91ac37938bca04d64b8adc6b7ce7a621001f6 Mon Sep 17 00:00:00 2001 From: PickNik HAL 9000 Bot <298052124+picknik-hal-9000-bot[bot]@users.noreply.github.com> Date: Tue, 18 Aug 2026 05:22:52 +0000 Subject: [PATCH] feat(hangar_sim): add mobile base teleoperation group --- src/hangar_sim/config/config.yaml | 1 + .../control/picknik_ur.ros2_control.yaml | 22 +++++++++++++++++++ src/hangar_sim/config/moveit/picknik_ur.srdf | 3 +++ src/hangar_sim/config/moveit/pose_jog.yaml | 6 +++-- 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/hangar_sim/config/config.yaml b/src/hangar_sim/config/config.yaml index ec7de13d0..87029757e 100644 --- a/src/hangar_sim/config/config.yaml +++ b/src/hangar_sim/config/config.yaml @@ -109,5 +109,6 @@ ros2_control: - "joint_trajectory_controller" - "velocity_force_controller" - "arm_only_velocity_force_controller" + - "mobile_base_velocity_force_controller" - "joint_velocity_controller" - "arm_only_joint_velocity_controller" diff --git a/src/hangar_sim/config/control/picknik_ur.ros2_control.yaml b/src/hangar_sim/config/control/picknik_ur.ros2_control.yaml index ab6e0afb3..98899b1eb 100644 --- a/src/hangar_sim/config/control/picknik_ur.ros2_control.yaml +++ b/src/hangar_sim/config/control/picknik_ur.ros2_control.yaml @@ -21,6 +21,8 @@ controller_manager: type: velocity_force_controller/VelocityForceController arm_only_velocity_force_controller: type: velocity_force_controller/VelocityForceController + mobile_base_velocity_force_controller: + type: velocity_force_controller/VelocityForceController joint_velocity_controller: type: joint_velocity_controller/JointVelocityController arm_only_joint_velocity_controller: @@ -379,6 +381,26 @@ velocity_force_controller: # Padding (in radians) to add to joint position limits as a safety margin. joint_limit_position_tolerance: 0.02 +mobile_base_velocity_force_controller: + ros__parameters: + command_joints: + - platform_velocity_controller/linear_x_joint + - platform_velocity_controller/linear_y_joint + - platform_velocity_controller/rotational_yaw_joint + command_interfaces: + - velocity + planning_group_name: mobile_base + sensor_frame: ridgeback_base_link + ee_frame: ridgeback_base_link + state_publish_rate: 50 + jacobian_damping: 0.0001 + command_timeout: 0.1 + max_joint_velocity: [0.175, 0.175, 0.5235987755982988] + max_joint_acceleration: [0.2, 0.2, 0.3490658503988659] + max_cartesian_velocity: [0.175, 0.175, 0.001, 0.001, 0.001, 0.5235987755982988] + max_cartesian_acceleration: [0.2, 0.2, 0.001, 0.001, 0.001, 0.3490658503988659] + joint_limit_position_tolerance: 0.02 + arm_only_velocity_force_controller: ros__parameters: # The joint group to control. diff --git a/src/hangar_sim/config/moveit/picknik_ur.srdf b/src/hangar_sim/config/moveit/picknik_ur.srdf index 0bd3436d5..f53eded4d 100644 --- a/src/hangar_sim/config/moveit/picknik_ur.srdf +++ b/src/hangar_sim/config/moveit/picknik_ur.srdf @@ -15,6 +15,9 @@ + + + diff --git a/src/hangar_sim/config/moveit/pose_jog.yaml b/src/hangar_sim/config/moveit/pose_jog.yaml index 3722c0395..83b56edec 100644 --- a/src/hangar_sim/config/moveit/pose_jog.yaml +++ b/src/hangar_sim/config/moveit/pose_jog.yaml @@ -1,4 +1,6 @@ # Planning groups to use in PoseJog, and their corresponding VFC controllers. # The number of elements in `planning_groups` and `controllers` must match. -planning_groups: ['manipulator', 'arm_only'] -controllers: ['velocity_force_controller', 'arm_only_velocity_force_controller'] +planning_groups: ['manipulator', 'arm_only', 'mobile_base'] +controllers: ['velocity_force_controller', 'arm_only_velocity_force_controller', 'mobile_base_velocity_force_controller'] +dpad_layouts: + mobile_base: planar