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

Approximate plowing effects of wheels in deformable terrain with ODE constraints #3085

Closed
scpeters opened this issue Sep 29, 2021 · 5 comments
Labels
enhancement New feature or request physics

Comments

@scpeters
Copy link
Member

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, such as gazebo's fork of Open Dynamics Engine (ODE). Constraint relaxation parameters (kp, kd, soft_erp, soft_cfm, slip1, slip2) can be used for a softening effect on contact normal and friction constraints. Softened normal constraints have a linear spring/damper behavior in the normal direction, while softened friction constraints permit wheel slip. These parameters are useful but do not capture the plowing effect of a wheel in deformable terrain.

(further detail to come...)

@scpeters scpeters added enhancement New feature or request physics labels Sep 29, 2021
@scpeters
Copy link
Member Author

scpeters commented Jan 14, 2022

Here's an illustration of normal contact pressure and equivalent contact forces for the longitudinal plane of a rigid wheel on rigid and deformable surfaces (contrast with rigid/deformable wheels on a rigid surface in #3084 (comment)):

wheel_plowing

At rest, a wheel on a deformable surface may sink into the surface with a symmetric distribution of normal contact pressure, such that the equivalent normal force vector is parallel to the undisturbed surface normal, which is vertical in the illustration above.

While rolling, the sinkage of the wheel may cause a plowing effect, in which the terrain material is bunched up in the direction of travel and compacted in its wake. This can cause a significant forward bias in the distribution of normal contact pressure and an equivalent normal force vector that is inclined relative to the undisturbed surface normal. In the illustration above, the equivalent normal force opposes the motion of the wheel, requiring tractive torque to be applied in order to maintain a steady velocity. Even when flat, the plowing effect means that driving on a deformable surface is energetically equivalent to driving uphill on a rigid surface.

@scpeters
Copy link
Member Author

To model the plowing effect, we should consider biasing the contact points along the surface in the direction of the linear velocity of a wheel center and inclining the surface normal to remain pointing at the wheel center.

@scpeters
Copy link
Member Author

A prototype of this effect is being developed in #3164

scpeters added a commit that referenced this issue Apr 2, 2022
This builds on the implementation of the plowing effect
from the aditya/contact_pts branch to implement a model
of longitudinal wheel plowing effects on deformable
terrain discussed in #3085.

The approach rotates contact points and normals forward
to approximate the normal pressure distribution when
plwing through deformable soil.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
@scpeters
Copy link
Member Author

scpeters commented Apr 2, 2022

#3164 is now ready for review

scpeters added a commit that referenced this issue Jul 21, 2022
This adds an approximation of a wheel plowing effect
by rotating contact points and normals forward to
approximate the normal pressure distribution when
plowing longitudinally through deformable soil.

This builds on the implementation of the plowing effect
from the aditya/contact_pts branch to implement a model
discussed in #3085.

* Collision::WorldLinearVel: account for pose offset

Signed-off-by: Steve Peters <scpeters@openrobotics.org>

Add example world and models, plowing SDFormat tags

Signed-off-by: Aditya <aditya050995@gmail.com>

Plowing effect unit test (#3229)

Signed-off-by: deepanshu <deepanshubansal01@gmail.com>

Co-authored-by: Aditya <aditya050995@gmail.com>
Co-authored-by: Deepanshu Bansal <36300643+deepanshubansal01@users.noreply.github.com>
@scpeters
Copy link
Member Author

scpeters commented Mar 5, 2024

this has been implemented for ODE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request physics
Projects
None yet
Development

No branches or pull requests

1 participant