# 左臂单独调试配置:XR 相对位移控制 RM75 TCP。 # 末端外设由 peripherals_rm75.yaml 配置,launch 只在真机连接阶段初始化。 # single_arm_velocity_teleop 是单臂遥操作节点名;单臂 launch 会按这个节点名读取参数。 single_arm_velocity_teleop: # ros__parameters 是 ROS2 YAML 参数入口,下面的字段会加载为节点参数。 ros__parameters: # 机械臂逻辑名称,用于日志、调试话题命名和区分左右臂。 arm_name: left_rm75 # 订阅的 XR 左手柄话题,由 udp_controller_receiver 发布。 controller_topic: /xr/left_controller # 控制循环频率,单位 Hz;越高响应越细,但对通信和 CPU 要求更高。 control_rate_hz: 50.0 # 手柄消息超时时间,单位秒;超过该时间没有新数据就停止输出速度。 command_timeout_sec: 0.12 # XR 手柄相对位移到机器人目标位移的比例系数。 scale: 1.0 # 目标 TCP 位置误差转换为速度命令的线性比例增益。 kp_linear: 1.8 # 位置误差死区,单位米;小于该值时认为已到位,不再输出速度。 deadband_m: 0.002 # 速度一阶低通滤波系数,范围 0~1;越大响应越快,越小越平滑。 low_pass_alpha: 0.35 # 软件侧最大 TCP 线速度,单位 m/s;限制遥操作移动速度。 max_linear_speed: 0.3 # 是否启用机器人 X/Y/Z 三个位置轴;false 的轴不会输出位移控制。 enable_position_axes: [true, true, true] # TCP 工作空间下限 [x, y, z],单位米;目标点会被限制在该范围内。 workspace_min: [-0.70, -0.60, 0.10] # TCP 工作空间上限 [x, y, z],单位米;目标点会被限制在该范围内。 workspace_max: [0.70, 0.40, 0.70] # TCP 到机器人底座轴线的圆柱半径限制 [最小半径, 最大半径],单位米。 cyl_radius_limit: [0.20, 0.60] # 低高度判定阈值,单位米;低于该 Z 值时会启用更保守的最小半径。 low_z_threshold: 0.20 # 低高度区域内的最小圆柱半径,单位米,用于避免 TCP 过靠近底座。 low_z_min_radius: 0.21 # 现场模拟 XR 调试确认 X/Z 轴符号与原标定相反,因此翻转手柄 X、Z 两列。 # 3x3 坐标映射矩阵,按行展开;robot_delta = matrix * xr_delta。 xr_to_robot_matrix: [0.0, -1.0, 0.0, 0.0, 0.0, 1.0, -1.0, 0.0, 0.0] # 是否使用 mock 机械臂;true 不连接真机,只在软件里积分模拟运动。 use_mock: false # mock 模式下的初始 TCP 位姿 [x, y, z, rx, ry, rz]。 mock_initial_pose: [-0.2562, -0.2765, 0.1489, -3.0190, -0.1010, 3.1400] # 左臂 RM75 控制器 IP 地址。 robot_ip: 192.168.192.18 # RM75 控制器 TCP 端口。 robot_port: 8080 # 厂商 SDK 速度透传避奇异参数;0 表示关闭硬件避奇异初始化。 avoid_singularity: 0 # 厂商 SDK 速度透传参考坐标系类型;当前使用 1。 frame_type: 1 # 速度透传 follow 标志,传给 rm_movev_canfd;false 表示不启用跟随模式。 follow: false # 是否在连接真机后尝试下发硬件安全限速、限加速度等配置。 configure_safety_limits: true # 下发给控制器的最大直线速度,单位 m/s。 max_line_speed: 1.0 # 下发给控制器的最大角速度,单位 rad/s 或 SDK 定义单位。 max_angular_speed: 1.5 # 下发给控制器的最大直线加速度,单位 m/s^2。 max_line_acc: 1.0 # 下发给控制器的最大角加速度,单位 rad/s^2 或 SDK 定义单位。 max_angular_acc: 2.0 # 下发给控制器的单关节最大速度,单位通常为 deg/s。 joint_max_speed: 180.0 # 下发给控制器的单关节最大加速度,单位通常为 deg/s^2。 joint_max_acc: 180.0 # 连接真机后是否自动移动到 initial_joint_pose 和 initial_tcp_pose。 move_to_initial_pose_on_connect: false # 自动初始化时先执行的关节目标位姿,单位通常为度,共 7 轴。 initial_joint_pose: [-167.21, 28.48, 28.21, 61.35, -14.40, 84.49, -124.51] # 自动初始化时再执行的 TCP 目标位姿 [x, y, z, rx, ry, rz]。 initial_tcp_pose: [-0.2562, -0.2765, 0.1489, -3.0190, -0.1010, 3.1400] # 初始化移动速度,传给厂商 movej/movel 接口。 init_move_speed: 20 # 真机命令模式;pose_canfd 表示通过 CANFD 位置目标方式输出控制。 command_mode: pose_canfd # CANFD 轨迹模式参数,传给厂商 SDK,用于控制位置目标执行方式。 canfd_trajectory_mode: 2 # CANFD 透传平滑/滤波参数,传给厂商 SDK。 canfd_radio: 0 # 调试话题前缀,节点会发布当前位姿、目标位姿和速度到该命名空间下。 debug_topic_prefix: /xr_rm