同构遥操作(drag_teleop_controller)

面向 高擎 Panthera HT 双臂的主从 同构遥操作。ROS 软件包仍名为 drag_teleop_controller;这 不是 拖动示教。

仓库: fiveages-sim/drag_teleop_controller

README: README.md

用途

同一个 ros2_control 控制器插件,启动两次:

  • role:=master — 操作者臂,Pinocchio 重力补偿(τ_G = rnea(q, 0, 0));可选力反馈

  • role:=slave — 从臂;跟踪映射后的主臂关节(position / mit / effort)

关节映射(以及功率守恒下的力矩映射)在发布 teleop_states 之前完成。12 个臂关节由本控制器命令;夹爪使用 adaptive_gripper_controller。

没有 enter_teach_mode、/start_recording 或 /playback 服务。

启动文件

启动文件:drag_teleop_controller.launch.py(不是 drag_teleop.launch.py)。

# Mock
ros2 launch drag_teleop_controller drag_teleop_controller.launch.py \
  role:=master hardware:=mock_components
ros2 launch drag_teleop_controller drag_teleop_controller.launch.py \
  role:=slave hardware:=mock_components

# Real (see README for mode × hardware-interface requirements)
ros2 launch drag_teleop_controller drag_teleop_controller.launch.py \
  role:=master hardware:=real mode:=effort \
  hardware_control_mode:=effort
ros2 launch drag_teleop_controller drag_teleop_controller.launch.py \
  role:=slave hardware:=real mode:=mit

默认 robot 为 panthera_ht。命名空间为 /drag_teleop_{role}。

服务

服务

类型

描述

/drag_teleop_{role}/teleop_mode

drag_teleop_controller/srv/TeleopMode

运行时 position / mit / effort

/drag_teleop_{role}/teleop_feedback

drag_teleop_controller/srv/TeleopFeedback

仅主臂:false / position / effort

主题

话题

方向

描述

/drag_teleop_master/teleop_states

发布(主)/ 订阅(从)

正映射后的主臂状态

/drag_teleop_slave/teleop_states

发布(从)/ 订阅(主)

逆映射后的从臂状态

启动参数

参数

默认值

含义

role

(必选)

master | slave

robot

panthera_ht

{robot}_description 软件包

type

dual

single | left | right | dual

hardware

mock_components

real | real_usb | mock_components | gz | isaac

mode

(yaml)

position(仅从臂) | mit | effort

feedback

(yaml)

false | position | effort(主臂)

moveJ_pub

false

主臂发布 OCS2 moveJ 与夹爪命令

controller_params

软件包 yaml

例如 panthera_ht_2_panthera_ht.yaml

模式 × 硬件命令接口矩阵、控制律和 YAML 键:请读 README。不要把 DexCap 的 teleop-joint-mapper 当成本软件包。