The video above shows some experiments I'm doing in compliance, allows me to vary the static and kinetic friction of the system as well as the elasticity of the actuator. At this point I'm really just feeling my way as to what is possible (as well as trying to remember A-level physics and math).
These experiments simplify the final system quite a bit. For one thing, they assume a short impulse is applied to the system (provided by hand-model me) rather than the joint coming under a continuous, varying force. Also, the compliant system isn't kicking in until the impulse is removed; and finally, the impulse is applied when the system is at rest. Baby steps.
One of the bigger challenges will be detecting the external forces (e.g. a robot leg hitting the ground) being applied and separating them out from the planned movement of the actuator, especially as everything will be quite noisy. In these experiments the system is idle so that's rather easy. I'm hoping the tracking changes in actuator position, velocity and acceleration, and how these differ from planning will be enough to give me the necessary information.
Finally, although not shown in the video, all software runs on the ODrive itself.