Extreme Difficulty Tuning PID Gains for UR10e Robot with PositionJointInterface in Gazebo #709
Replies: 2 comments
-
|
I'm running into the same issue. Has anyone found a solution yet? |
Beta Was this translation helpful? Give feedback.
-
|
I don't have enough experience with Gazebo to answer that properly, but I'll try to answer your questions to my knowledge:
The inertia tensors in the URDF represent the physical robot. In what way Gazebo would benefit from different values I don't know.
That doesn't seem like the right approach to me. The wrist links (especially wrist_3, since it doesn't contain a motor) are physically a lot smaller and lighter. Artificially changing that will get you a robot that will behave completely different.
As written above, those are the values representing the real robot. They are also used for dynamics calculations on the real robot.
I don't know enough about physics simulations to answer that.
When using the real robot I don't see where any of the PID values would have an effect when using position control. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Environment
universal_robot/ur_descriptionIssue
I'm experiencing severe PID tuning difficulties when simulating a UR10e in Gazebo using the URDF from this repository. The robot requires extremely conservative PID gains (P=15, D=250) to remain stable, and even then exhibits poor tracking performance. I'm wondering if the inertial parameters in the URDF are optimized for Gazebo simulation or only represent the physical robot.
Current URDF Inertial Parameters
From the
ur10e.urdf.xacro:Joint Dynamics Configuration
Simulation Behavior Problems
1. Wrist Joint Instability
The lightweight wrist links (especially
wrist_3_linkat 0.615 kg) cause extreme instability:2. PID Tuning Requirements
3. Mass Ratio Issue
The mass ratio between links might be problematic for simulation:
upper_arm_link: 13.051 kgwrist_3_link: 0.615 kgQuestions
Are these inertial values intended for Gazebo simulation? Or are they purely from CAD/real robot specs?
Should wrist link masses be artificially increased for stable simulation? For example, increasing
wrist_3_linkmass from 0.615 kg to 1.5-2.0 kg?Are the inertia tensors correct? Some values seem very small (e.g.,
wrist_3_linkixx=0.0004). Could these cause integration issues?Should joint damping be higher for simulation? Current
damping="5"seems low given the PID requirements. Should this be 20-50 for simulation?Is there a "simulation-optimized" version of the URDF? Some robot packages provide separate URDFs for hardware vs simulation.
Comparison with Real Hardware
Colleagues using the real UR10e report using standard PID values:
This suggests the simulation behavior doesn't match reality.
Controller Configuration
Current Workaround
Modified inertial properties (testing):
This improves stability but I'm concerned about:
Request for Guidance
Primary Questions:
Alternatively:
EffortJointInterfaceinstead ofPositionJointInterface?ur_robot_driverwith a simulated robot (not Gazebo) work better?Any guidance from the community on simulating UR robots with stable control would be greatly appreciated!
Additional Context
gazebo_ros_controlpluginSimpleTransmissionwith 1:1 mechanical reductionBeta Was this translation helpful? Give feedback.
All reactions