Multi Phase Motion

OpenSim Moco is a software toolkit to solve optimal control problems with musculoskeletal models defined in OpenSim using the direct collocation method.
POST REPLY
User avatar
Vinay Kumar
Posts: 34
Joined: Thu Nov 08, 2018 6:50 am

Multi Phase Motion

Post by Vinay Kumar » Wed Jun 09, 2021 10:36 pm

I read in the forums that multi phase optimization is on back burner. But if one were to implement it using OpenSim Moco how would you suggest going about it.
I am interested in sit-to-stand motion.

-Vinay

User avatar
Aaron Fox
Posts: 277
Joined: Sun Aug 06, 2017 10:54 pm

Re: Multi Phase Motion

Post by Aaron Fox » Thu Jun 10, 2021 8:58 pm

Hi Vinay,

I guess it's tricky to provide too much without knowing your problem, but whenever I think of incorporating multi-phase activities my initial idea is to break the motion up and constrain the initial states of the 'second phase' to the final states of the 'initial phase.' This doesn't take into account the fact that the overall movement and movement within phases could be impacted by the other phase - but rather considers them two separate problems. Nonetheless this is the best I could think of within the current framework Moco offers.

Aaron

User avatar
Nicholas Bianco
Posts: 988
Joined: Thu Oct 04, 2012 8:09 pm

Re: Multi Phase Motion

Post by Nicholas Bianco » Fri Jun 11, 2021 10:47 am

Hi Vinay,

Adding multi-phase problem support to Moco is a complicated development task that would affect most of Moco's internals down to each OCP solver. It's not something I could easily summarize in a post here.

If this is something you are seriously interested in implementing, then ideally would make other smaller additions to Moco first to familiarize yourself with the codebase (this advice applies to any large development task in Moco, for any others reading this post). Even then, me or one of the other OpenSim developers would be heavily involved in making this change.

We eventually would like to add multi-phase support, but for now I think Aaron's advice is the way to go.

Best,
Nick

POST REPLY