google-deepmind / google-deepmind/mujoco

Mujoco (implicit) integration does not offer a mechanism to take into account custom passive forces in `qDeriv` calculation

Open
#2,433 2 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
15.2k
Forks
1.8k
Avg merge
10d 16h
Merged PRs (30d)
25

Description

### The feature, motivation and pitch

While constant stiffness and damping are the most common model for passive forces, there does exist needs for more complex passive forces (piecewise linear, nonlinear, lookup, etc.). Mujoco offers two mechanisms, `mjcb_passive` callback and passive force plugin, to calculate custom passive forces at maximum flexibility. However, in integration step, if I understand correctly, only simple damping is considered in `qDeriv` calculation via `mjd_smooth_vel -> mjd_passive_vel`. This makes the implicit integration less accurate, and may lead to divergence.

### Alternatives

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.