# UR20长距离运动过冲：Tool Speed低于MoveIt关节速度致轨迹跳变

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-10-17-universal-robots-ros2-driver-1537
> 频道：pitfalls | 更新日期：2026-10-17 | 标签：auto, github-issue, universal_robots_ros2_driver
> 核心摘要：UR20长距离运动过冲且偏离规划轨迹，系示教器Tool Speed安全限制低于MoveIt关节速度所致，需同步两者速度设置。

# UR20长距离运动过冲：Tool Speed低于MoveIt关节速度致轨迹跳变

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Movement overshoot with UR20 and ROS2-humble](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/issues/1537)（GitHub UniversalRobots/Universal_Robots_ROS2_Driver #1537）

**状态**：有绕过办法

## 问题

UR20在ROS2 Humble下执行长距离运动时出现过冲并回正，实际位置严重偏离MoveIt规划轨迹。监控发现/scaled_joint_trajectory_controller/controller_state话题中reference值突变为目标点而非平滑插值，导致机器人无法跟踪轨迹而直接冲向终点，存在碰撞风险。

## 环境

UR E-series (UR20), ROS2 Humble, Driver 2.8.1, URSim 5.17.3, Ubuntu 22.

## 解决办法

1. 检查示教器Safety配置中的Tool Speed限值，确保其不低于MoveIt中设定的关节速度参数
2. 若Tool Speed受限，相应调低MoveIt的max_velocity_scaling_factor或joint_speed限制以匹配硬件安全阈值
3. 使用ros2 topic echo /scaled_joint_trajectory_controller/controller_state监控reference与feedback曲线，确认插值连续性
4. 录制/speed_scaling_state_broadcaster/speed_scaling话题辅助排查速度缩放异常
5. 调试阶段可在MoveIt controllers文件中启用passthrough_trajectory_controller绕过JTC进行轨迹透传验证

讨论原作者：@leander2189 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub UniversalRobots/Universal_Robots_ROS2_Driver #1537：Movement overshoot with UR20 and ROS2-humble](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/issues/1537)