simbody/simbody — pull request #210 by chrisdembia (2014-07-29 17:16:30+00:00)
Title: [WIP] Operational space ex

The start of an example of operational space control in Simbody. @hsu @scpeters @tkuchida @sohapousoha pouya could chime in too. I've added those 4 people and @sherm1 as collaborators on my fork; feel free to directly add commits to this branch.

Right now, there's a reaching task with gravity compensation in its nullspace. I have coded it up inefficiently and in one method. However, I have spent time trying to do the same calculations efficiently; look at all the commented-out code.

Possible things to do:

- [ ] Simply rewrite the current code to be more efficient (that is, get the commented-out code working).
- [ ] Add methods/operators to Simbody to calculate things like the task space mass matrix, or the dynamically consistent jacobian inverse.
- [ ] Add a Force::OperationalSpace to Simbody that has an interface to build up an op-space controller for those who don't want to have to type out the calculations themselves.
- [ ] Add documentation in the example, referring people to resources about operational space control.

This code is somewhat derived from stuff Gerald Brantner did for ME 485 last Spring.