-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Joints unable to maintain static position under PositionJointInterface #54
Comments
Thanks @JaehyunShim:)! Could you change the issue title to "Joints unable to maintain static position under PositionJointInterface", which should be more descriptive. Questions
Proposed solution
|
I am having trouble understanding why this behavior should be based on a joint limit interface. For me this actually just looks as if the PID values are off. |
Adding simjoint->SetParam("fmax", 0, effort_limit_value); fixed the problem. However, as @Karsten1987 mentioned, if I only see the behaviour the robot shows, the problem looks to reside in a not enough P gain. I have not tested the effort controller. I will leave this issue thread open until the osrf team gives any comment or closes it. Thank you very much, |
It is not needed for effort controller. Check out ROS1 gazebo_ros_control comments. |
@Briancbn Could you provide this gazebo plugin? |
Should there be a difference between setting Because setting fmax within the urdf didn't work for me, I tried to dig into just about every possible aspect of the robot model and the plugin to figure out what was causing this behavior on the UR manipulators but not other arms. My best guess for the source of the behavior boils down to how the ODE physics engine handles explicit spring-damper joints, applying velocities/forces to resolve the positions that the gazebo_ros2_control PositionJointInterface explicitly writes. I noticed that the joint separation issue can be largely corrected by adding Ultimately, the easiest "fix" I found was to use a different physics engine. ODE (with explicit damping) and Bullet both seem to result in the same faulty behavior. The DART engine with default settings worked as expected without any other changes to the robot's URDF. For the reference of anyone having similar issues, you can easily select gazebo's physics engine either by specifying |
We dug back into this issue, because we needed a ray sensor in our sim, and those are not yet supported by Long story short, we found that I wonder if others had verified that |
@ahcorde
Opening an issue thread as advised in this #44 (comment)
According to @Briancbn's comment, the change made in the last commit around joint_limit_interface caused a problem that you can see in the videos from this comment which I also see from my simulated robot on Gazebo.
Any advice?
Jaehyun
The text was updated successfully, but these errors were encountered: