google-deepmind / google-deepmind/mujoco
Torque-proportional loss in dcmotor
- Dominant language
- C++
- Stars
- 15.2k
- Forks
- 1.8k
- Avg merge
- 10d 16h
- Merged PRs (30d)
- 25
Description
### The feature, motivation and pitch
Gearhead friction loss is highly dependent on the torque transmitted through the gear. This is something that LuGre and other friction models don't actually consider.
Coulomb friction is a constant scaling `sign(w)`, LuGre adds friction state but macroscopically looks like Coulomb again (not dependent on the pressure in the gearmesh).
Approaching a loss model from the perspective of the gearhead as an inclined plane, though, gives friction loss as a function of gearmesh pressure due to the torque being transferred through the gearhead. That results in friction loss more like `mu * T_in * sign(w)`. That model alone does a great job at representing strain-wave gears across a full torque sweep.
For better turnaround behavior, micro-friction is added by replacing `sign(w)` with a "sign-like" state variable which integrates actuator velocity and saturates [-1,1], like Dahl/LuGre. The viscous term remains unchanged.
### Alternatives
Simply scaling kT isn't sufficient, because that also changes the back-EMF, and it also doesn't change sign as the actuator is forward-driven vs back-driven (as it does in reality).
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.