Separated the state of each tracking data from the structural information to allow for storage as a CacheEntry
Removed the spring/no spring copies from OscTrackingData, since they were already removed from the OSC
The OSC class still has a mutable InverseDynamicsQp member. The state of the QP is fully defined by UpdateDynamics, which is called from the same function where the program is solved, so the behavior is correct.
Changed double support blending constraint to a cost, consistent with active locomotion-specific branches
@yangwill, can you test the correctness of the impact invariant implementation?
Some notes:
@yangwill, can you test the correctness of the impact invariant implementation?
This change is