You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UR3_Sim仿真启动自行移动及PID参数未定义问题求助

UR3机械臂仿真PID缺失报错及关节失控问题解决

问题描述

运行UR3机械臂仿真(ur3_sim),执行指令roslaunch ur3_sim simulation.launch时,仿真表现不稳定:有时正常运行、夹爪稳定,但有时会触发报错,同时机械臂出现自行移动的失控情况。

报错信息

[ERROR] [1680011565.316166357]: Unsupported Gazebo ImageFormat

[ERROR] [1680011565.705340995]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/shoulder_pan_joint 
[ERROR] [1680011565.706621423]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/shoulder_lift_joint 
[ERROR] [1680011565.708765263]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/elbow_joint 
[ERROR] [1680011565.711376302]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/wrist_1_joint 
[ERROR] [1680011565.712813562]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/wrist_2_joint 
[ERROR] [1680011565.715457507]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/wrist_3_joint 
[ERROR] [1680011565.716795962]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/left_gear_joint

当前状态:未找到项目中存在PID参数定义,无法定位关节自行移动的触发原因。


解决步骤

1. 补充PID参数配置

Gazebo_ros_control依赖PID参数实现关节的稳定控制,缺失参数会导致关节失去约束、出现自行移动。操作如下:

  • 在ur3_sim包目录下创建config/pid.yaml文件,填入各关节的PID参数(可根据仿真效果调整数值):
gazebo_ros_control:
  pid_gains:
    shoulder_pan_joint:
      p: 100.0
      i: 0.0
      d: 10.0
      i_clamp: 0.0
    shoulder_lift_joint:
      p: 100.0
      i: 0.0
      d: 10.0
      i_clamp: 0.0
    elbow_joint:
      p: 100.0
      i: 0.0
      d: 10.0
      i_clamp: 0.0
    wrist_1_joint:
      p: 50.0
      i: 0.0
      d: 5.0
      i_clamp: 0.0
    wrist_2_joint:
      p: 50.0
      i: 0.0
      d: 5.0
      i_clamp: 0.0
    wrist_3_joint:
      p: 20.0
      i: 0.0
      d: 2.0
      i_clamp: 0.0
    left_gear_joint:
      p: 10.0
      i: 0.0
      d: 1.0
      i_clamp: 0.0
  • 打开simulation.launch文件,添加加载该配置文件的指令:
<rosparam file="$(find ur3_sim)/config/pid.yaml" command="load"/>

2. 修复Gazebo ImageFormat不兼容报错

该报错由相机传感器的图像格式未被Gazebo支持导致,可通过修改URDF模型解决:

  • 找到UR3模型中相机传感器的配置部分,将image标签下的format字段改为Gazebo兼容的类型(如RGB8):
<sensor type="camera" name="camera">
  <!-- 其他相机配置项 -->
  <image>
    <format>RGB8</format>
    <!-- 分辨率、帧率等其他参数 -->
  </image>
</sensor>

3. 验证控制器加载配置

确保simulation.launch和URDF模型中正确配置了gazebo_ros_control插件:

  • 检查URDF文件中是否包含如下插件配置:
<gazebo>
  <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
    <robotNamespace>/</robotNamespace>
  </plugin>
</gazebo>
  • 确保simulation.launch中启动Gazebo时,正确加载了包含上述插件的URDF模型。

内容的提问来源于stack exchange,提问作者Speedtail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 03:17:03