gazebosim / gazebo-classic

Gazebo classic. For the latest version, see https://github.com/gazebosim/gz-sim
http://classic.gazebosim.org/
Other
1.21k stars 484 forks source link

Approximate plowing effects of wheels in deformable terrain with DART #3163

Open scpeters opened 2 years ago

scpeters commented 2 years ago

This is a variant of #3085 but focused on the DART physics engine instead of ODE.

Copied from #3085:

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.

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.

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.

There is currently a prototype using ODE, but it may need a different approach with DART.