Wheel Physics, and Multiphysics Problems
CS 493/693 Lecture, Dr. Lawlor
Traction Forces
Along the axle: An unpowered wheel can only apply sustained forces in
the direction along the axle: dot(appliedforce,axledir)*axledir.
Forces in other directions, along the wheel's rim, just cause the wheel
to rotate. Projecting the ground/car relative velocity into
forces along the axle direction allows a totally unpowered set of front
wheels to reliably steer a rear-wheel drive car.
Across the axle: Engine torque turns the tires, or brakes stop the
tires, both of which use the tire to apply forces to the ground
perpendicular to the axle. Since a single car's tire forces don't
cause the planet to move very much, we can quite accurately treat the
axles themselves as a source of thrust, rather like jet
propulsion.
One element that should be accounted for is the coefficient of friction
between the tire and ground. Depending on how much downward
pressure the car's chassis is applying to the wheel (and this can be
zero when approaching a rollover event), there is a limit to how much
force the wheel can apply to the ground before contact breaks loose and
the car begins to slide. The coefficient of dynamic friction is
normally much smaller than that of static friction: dry concrete on
soft warm clean rubber has a coefficient of friction near 1.0; wet ice
on frozen rubber has a coefficient of friction (static or dynamic) near
zero, as anybody on an icy road can attest. Currently bunnyracer
does not explicitly account for the coefficient of friction.
Finally, wheels only apply traction forces when in contact with the
ground. This sounds trivial, but determining whether the wheels
are contacting the ground must be an explicit check, and can be
different for each wheel during rollover events.
Stability
As we saw in class, simulation stability problems are common when
joining multiple independent physics together. In particular, we
found:
- A longer axle can more easily support the wheel's torques,
especially dynamic torques during ground collisions. In
particular, Ben suggested using the excellent old model-car trick of
running the axles straight across the frame, so you have two long axles
at front and back instead of four shorter ones for each tire.
This led to dramatically increased stability, and some crash resilience.
- The dynamic interplay between tire forces and solid tet simulation is surprisingly
complex. I ended up tweaking the bunny model several times to
provide more supporting tets over the axles, since skinny parts can
easily fold up on themselves. This is a situation where our
simple spring-based tetrahedra are much less robust than a more complex
solid formulation.
- Adding a short gap between the height where traction forces apply,
and the height where we enforce the vertical boundary condition, led to
more stable operation. Changing both a particle's position and net
force at exactly the same spot (when the wheel contacts the ground) is
an excellent way to drive the particle into oscillations; while
applying the same changes separately results in no oscillation.