Gazebo | Ignition | Community
Ask Your Question

What do the friction coefficients mean and why are they so large in the DRCSim Atlas URDF files?

asked 2013-02-24 23:03:09 -0500

rhololkeolke gravatar image

updated 2013-02-24 23:07:20 -0500

I've been looking through the URDF specifications of the Atlas robot from DRC Sim. I noticed that there are two mu values and that they are quite large for what I would expect for a coefficient of friction. I've done some Googling but haven't found a definitive answer on what exactly the coefficient's mean and why the coefficients are larger than 1 in the models.

I found on ODE's wiki some information about the friction coefficients. However, it mentions that there are two approximation methods. So my first question is, which one does Gazebo use by default and which one does the DRC Sim use?

I found a few more references to the coefficients in the ODE manual here

I think that this section in the manual explains the difference between mu1 and mu2 and what the fdir1 and fdir2 parameters in the URDF means, but if it doesn't please let me know.

However, what I'm still not understanding is why there are mu values in the URDF that are above 1. Especially because in the newer SDF format specification it explicitly says that mu should be a value between 0 and 1.

So my second question is why are the mu values so high in the URDF specification of the Atlas robot?

Also I wasn't sure if here or the ros answers site was more appropriate for this question. So I've posted in both places. Here is the other question.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2013-02-24 23:52:50 -0500

hsu gravatar image

updated 2013-02-24 23:57:01 -0500

Gazebo uses the dContactApprox1 option without the fdir1 option by default.

fdir1 is a Vector3 specifying the direction of mu1 in the collision local reference frame. If left unspecified as (0, 0, 0), mu1 and mu2 will align along x and y-axis of the world reference frame. In the atlas case, the fdir1 is specified to be (1, 0, 0), so mu1 will always act along the "heel-to-toe" direction.

The friction coefficients will be updated by an existing pull request, changes have been made to use mu of 0.9 for atlas feet. This value may change when we get more realistic friction coefficient approximations.

edit flag offensive delete link more

answered 2013-06-19 19:26:33 -0500

John Nagle gravatar image

updated 2013-06-19 19:28:16 -0500

OK. So with dContactApprox on, the friction model should be the "cone" approximated as a square-base pyramid, as shown here, right?

That should overestimate friction by up to sqrt(2) depending on the direction, which is probably good enough for basic legged locomotion.

If mu = mu1 = mu2 are equal, then for

|Ft| < |Fn| * mu

there should be no slippage, right?

Is all that the case, and does it work reasonably well?

edit flag offensive delete link more


This link (to the bitbucket file) is now broken. It would greatly help me to take a look at this file. Can an updated link be posted?

fireflies343 gravatar imagefireflies343 ( 2021-05-20 14:48:09 -0500 )edit

Question Tools

1 follower


Asked: 2013-02-24 23:03:09 -0500

Seen: 11,387 times

Last updated: Jun 19 '13