Files
acRealman_xr/xr_rm_bringup/config/left_arm_rm75.yaml
2026-05-30 16:04:37 +08:00

91 lines
4.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 左臂单独调试配置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_canfdfalse 表示不启用跟随模式。
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