Skip to content
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

Information/Documentation about supported tags for DART engine in SDF format ? #636

Open
vbalaji21 opened this issue May 10, 2024 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@vbalaji21
Copy link

Desired behavior

I am new to ignition gazebo. I have used classic gazebo before. I see that the physics engine is changed to DART from ODE. I have also experienced that some tags not working as like classic gazebo. It would be helpful to provide more information on this, plus it would also be good if it ignition throws an error for not supported tags currently.

Alternatives considered

Having a better error handling for unsupported tags in SDF

Implementation suggestion

Standard error handling methods and also documentation in github pages or readme

Additional context

@vbalaji21 vbalaji21 added the enhancement New feature or request label May 10, 2024
@francocipollone
Copy link

+1 to documentation.

For the time being If it helps, diving into the code worked for me. Check the SDFFeatures.cc file and there you can see all the sdf stuff that is actually being used:

For example in the ConstructSdfCollision method you will see which tags from the parsed sdf are being used. As a summary for the link/collision:

  • mu, mu2, slip1, slip2, fdir1 can be set under collision/surface/friction/ode
    • restitution_coefficient can be set under collision/surface/bounce
    • collide_bitmask can be set under collision/surface/contact

You can check the other methods that construct differents parts (like links or joints) to see what it is getting from the SDF description.

For dartsim (at least from gazebo, I haven't dived into dartsim) there is no concept of cfm and erp (or via kp / kd) for the joints. (EDIT: actually DART has cfm and erp but they are currently hardcoded )
I wonder if there is a way to kind of control the "sponginess" or "springiness" of the joint via modifying CFM like other engines (ODE, Bullet)

Adding an issue for further readings: gazebo-forks/dart#14

@j-rivero
Copy link
Contributor

For dartsim (at least from gazebo, I haven't dived into dartsim) there is no concept of cfm and erp (or via kp / kd) for the joints. (EDIT: actually DART has cfm and erp but they are currently hardcoded )

For reference, adding the place in the code for the hardcoded values of CFM AND ERP:
https://github.com/dartsim/dart/blob/13674b551ed7b253c5c5e14d93ebf6018e678c5f/dart/constraint/ContactConstraint.cpp#L46-L48

@azeey azeey moved this from Inbox to To do in Core development Jul 15, 2024
@azeey azeey self-assigned this Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: To do
Development

No branches or pull requests

4 participants