-
Notifications
You must be signed in to change notification settings - Fork 497
ODE Joints don't support friction parameter #381
Comments
Original comment by Nate Koenig (Bitbucket: Nathan Koenig).
Until 2.0 |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
|
Original comment by Fadri Furrer (Bitbucket: ffurrer). Is there already a plan to implement this? |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). It's not on our short-term list; please vote for the issue if it's important to you. @skuinder You might be interested in this one too. |
Original comment by Jonathan Bohren (Bitbucket: jbohren). Is this still unsupported? It's really desirable. |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). I am going to start on this today. I will post an outline of my approach, write a test, and then start implementing it. Please feel free to give feedback at any point if you're interested. |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). ODE and Bullet have "joint motors" which will try to force the joint velocity to match a specified value, with a limited maximum force (see ODE user guide, The ODEJoint class currently uses this functionality for the |
Original comment by Jonathan Bohren (Bitbucket: jbohren).
That sounds reasonable, I'd be happy to try it out, though I probably wouldn't be able to until October. |
Original comment by Silvio Traversaro (Bitbucket: traversaro). @scpeters What you describe seems to implement the Coulomb friction, while in URDF [2] and SDF [3] documentation the
What do you think? Given that terminology on Coulomb/static friction can be inconsistent across literature I am using the terminology proposed in [1], see figure 1 at beginning of page 3 for a clear explanation. [1] : http://robotics.tch.harvard.edu/publications/pdfs/armstrong1994survey.pdf [2] : http://wiki.ros.org/urdf/XML/joint [3] : http://osrf-distributions.s3.amazonaws.com/sdformat/api/dev.html#friction384 |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). @traversaro Thanks for pointing out the imprecision. Looking at Fig 1b in [1], I think it would require more than one parameter to describe static + Coulomb friction. With only one parameter, I would choose Coulomb friction. I will update the sdformat documentation accordingly. |
Original comment by Silvio Traversaro (Bitbucket: traversaro). @scpeters It makes sense, the Coulomb + Viscous model is much easier for doing simulation and also friction estimation/compensation in real world. If only the SDF definition is changed the mismatch between URDF/SDF should be clearly stated. By the way it seems that some users are already changing the URDF friction parameter semantic meaning to Coulomb friction coefficient, see for example [1]. [1] : https://github.com/RobotLocomotion/drake/blob/master/doc/drakeURDF.xsd#L539 |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). Created #1275 to track the implementation details for simbody. |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). First pass at implementation for ODE and a test is in 32def69 (branch issue_381). The test fails for bullet and dart, and is disabled for simbody. This breaks |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). Created #1281 to track the implementation details for dart. |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). see pull request #1206 for the initial ODE implementation |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). resubmitted as pull request #1221 |
Original comment by Nate Koenig (Bitbucket: Nathan Koenig).
Resolved in pull request #1221 |
Original comment by Nate Koenig (Bitbucket: Nathan Koenig).
|
Original comment by Nate Koenig (Bitbucket: Nathan Koenig).
|
Original report (archived issue) by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
At ODEJoint.cc line 113, the ODE joint friction parameter is ignored. There is a warning, but we should implement this.
The text was updated successfully, but these errors were encountered: