Skip to content

踩坑GitHub UniversalRobots/Universal_Robots_ROS2_Driver1 个月前

UR ROS2 Driver effort接口仅输出电流,如何获取补偿后关节力矩 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:Add joint torques instead of current in UR ros2 hardware interface(GitHub UniversalRobots/Universal_Robots_ROS2_Driver #1468)

状态:已解决

问题 ​

UR ROS2 Hardware Interface 的 effort 接口默认填充 RTDE 数据包中的 actual current 而非关节力矩。用户需自行利用力矩常数转换电流并建立摩擦模型来估算力矩,过程复杂。希望驱动层直接集成 ur_rtde 的 get_joint_torque 方法,输出经重力和摩擦补偿后的真实关节力矩数据。

环境 ​

Universal Robots e系列(UR5e/UR7e等),ROS2 Universal_Robots_ROS2_Driver,ur_rtde库,需配合较新版本PolyScope软件。

解决办法 ​

  1. 确认机器人控制器已升级至支持 GET_JOINT_TORQUES 指令的较新 PolyScope 软件版本。
  2. 更新 Universal_Robots_ROS2_Driver 代码仓库,合入或切换至包含 PR #1551 的版本。
  3. 重新编译并部署 ROS2 驱动节点,effort 接口将自动切换为输出补偿后的关节力矩值,无需手动进行电流-力矩转换及摩擦建模。

讨论原作者:@parsabakhshandeh 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub UniversalRobots/Universal_Robots_ROS2_Driver #1468:Add joint torques instead of current in UR ros2 hardware interface访问 2026-10-23