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

Port wheel plowing model from gz-sim #2328

Open
scpeters opened this issue Mar 5, 2024 · 1 comment
Open

Port wheel plowing model from gz-sim #2328

scpeters opened this issue Mar 5, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@scpeters
Copy link
Member

scpeters commented Mar 5, 2024

Desired behavior

As there are many applications of wheeled robots driving on deformable terrain / soft soil, there is a use case for simulating the behavior of wheels in deformable terrain. This is challenging for physics engines that use rigid shapes for collision detection and contact resolution. A model of the plowing effect of wheels moving in deformable terrain was proposed based on changing the contact point position and normal direction based on the wheel's velocity (see gazebosim/gazebo-classic#3085) and implemented for the gazebo-classic fork of ODE in gazebosim/gazebo-classic#3164. An extension providing a nonlinear plowing effect was proposed in gazebosim/gazebo-classic#3342, though it was not merged since ABI compatibility would have been broken.

This issue will be complete when this functionality has been ported to gz-sim with required changes in gz-sim, gz-physics, and a physics engine supported by gz-physics (likely dartsim, see also gazebosim/gazebo-classic#3163).

Alternatives considered

Implementation suggestion

The existing implementation in gazebo-classic's fork of ODE is implemented in a contact callback function. A similar mechanism should be found for a physics engine supported by gz-physics to modify contact points and normals after narrow-phase collision detection but before contact constraints are created. Once this functionality has been added to a supported physics engine, the feature should be exposed in gz-physics and gz-sim.

Additional context

@scpeters scpeters added the enhancement New feature or request label Mar 5, 2024
@azeey
Copy link
Contributor

azeey commented Mar 11, 2024

A mechanism for customizing contact point properties was added in gazebosim/gz-physics#267. Hopefully it's sufficient, but if not it should be a good starting point.

@azeey azeey moved this from Inbox to To do in Core development Mar 11, 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

2 participants