A constrained optimization approach to resolving manipulator redundancy | Synapse