DAIRLab / dairlib

MIT License
65 stars 26 forks source link

Add inverse_dynamics_qp as a backend to the OSC (1/n PRs refactoring the OSC) #356

Closed Brian-Acosta closed 4 months ago

Brian-Acosta commented 4 months ago

In an effort to make the OSC and its components more flexible and re-useable, we need to break apart the OSC into separate classes and systems with more tightly scoped responsibility.

This PR takes the first step toward that goal by introducing inverse_dynamics_qp, a backend to the OSC (or other controllers) which owns all of the decision variables, costs, constraints, and kinematic evaluators.

A future PR will separate the OSC leaf system into a wrapper around inverse dynamics_qp, and a wrapper around the tracking datas, to separate the responsibility of updating/solving the QP from updating the desired accelerations, contact forces, etc.


This change is Reviewable