Question: Importance of CFM for heavy mass #3762
ShuffleWire
announced in
Q&A
Replies: 2 comments 1 reply
-
Thanks @omichel for moving it where it belong :) |
Beta Was this translation helpful? Give feedback.
0 replies
-
No, that's probably a bug, as the parameter change should take effect immediately, not even after reset.
You should read the documentation about CFM in the ODE documentation here.
No.
No, it should not. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I need some advice on how to understand CFM :
Considering this project : force.zip
The goal is to lift the inner box (the other one is just to get a reference point).
Note that the most inner box is 1000kg.
Max LinearMotor force is 10000 N.
Also note that the CFM is 1e-8.
As it, it works well, the box go up at the speed of 0.033 m/s, as requested by the controller.
Also the feedback force is shortly at a steady 9810 N, which is great !
Now if use CFM = 1e-5, which is the default value.
Question 1 : I need to reload (not reset) to apply the new value, is that normal ?
Running the simulation, and the box can't get up, and the feedback force is unstable, with low values...
I've been initially screw up because I've left to default value, until I realized it was that.
Question 2 : How is it important ? Objects are very heavy, so it should make a difference for sure, but I'm not sure to understand why. I've read about CFM in https://cyberbotics.com/doc/reference/worldinfo. It specified that CFM should be reduced to avoid objects sinking or penetrating each other. But that's not the use-case presented here. It's not about collision, but about a Slider and a Motor.
Question 3 : If it's the expected behaviour, should we document it, in a way that the next person with heavy robot don't get trap as well ?
Now, my next issue with this solution is on another project :
It fix the issue on one part of my robot (a really heavy arm), but that it cause trouble on others part (wheel on the ground)
Question 4 : Is there a way to specify "local" CFM, other than using ContactProperties ? Because I've not actual contact simulated between my parts (or I least I don't care), and I don't know how to apply a specific CFM on arbitrary link like Hinge or Slider.
Question 5 : Does reducing "that much" the CFM could cause a performance cost ?
Sorry for this confused message, I hope it's still understandable.
Beta Was this translation helpful? Give feedback.
All reactions