ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Why does Effort Joint Interface cause the joints to collide

asked 2018-11-27 06:41:39 -0600

kump gravatar image

updated 2018-11-27 06:44:31 -0600

One of the hardware interfaces from controller_manager package is EffortJointInterface, but when I define transmission with this hardware interface and run the simulation in Gazebo, the joint collide into the robot origin. However, if I set the mass of the links 100 times larger, the joints are connected in the right place, can be simulated and doesn't move from its place.

But I don't want my robot to weight 500 kg if in reality it wights 5 kg. Why does this occur and what can I do to fix this? Other hardware interfaces doesn't have this problem.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-11-27 07:24:23 -0600

This sounds as though the PID parameters of the Effort controller are set way too high. This is causing such a large torque to be applied to the simulated robot that it's tearing it apart. This is why increasing it's mass works around the problem.

If you try dividing all the PID parameters by 100 and letting us know if that solves the problem.

edit flag offensive delete link more



Or the inertias are not properly configured.

gvdhoorn gravatar image gvdhoorn  ( 2018-11-27 07:36:26 -0600 )edit

Yes, you are right. Lowering the PID parameters solved the issue. Thank you.

kump gravatar image kump  ( 2018-11-27 07:38:01 -0600 )edit

You should also check the inertias as @gvdhoorn mentioned, if they are significantly smaller than their correct values they will cause the same problem.

PeteBlackerThe3rd gravatar image PeteBlackerThe3rd  ( 2018-11-27 07:52:50 -0600 )edit

Question Tools

1 follower


Asked: 2018-11-27 06:41:39 -0600

Seen: 322 times

Last updated: Nov 27 '18