rcnl-org/nmsm-core

Are MTP upper and lower bounds task specific or the same throughout all tasks?

cvhammond opened this issue · 3 comments

We have a space for makeLowerBounds and makeUpperBounds and in the legacy code it appears the same upper and lower bounds are used for all tasks (rounds). Is this correct? In that case, we can move makeLowerBounds and makeUpperBounds to MuscleTendonPersonalization from computeMuscleTendonRoundOptimization.

That is correct! The upper and lower bounds stay the same throughout all tasks.

I'm going to leave the makeLowerBounds and makeUpperBounds functions in the computeMuscleTendonRoundOptimization because we may in the future have dynamic upper/lower bounds and logistically it is easier to just define them for each round if they are not included since upper/lower bounds are parameters rather than inputs.

Actually, as I say that, we don't want to have to pass any OpenSim objects to computeMuscleTendonRoundOptimization because the inputs need to be serialized for parallel work. Since makeLowerBounds and makeUpperBounds need to get the number of active muscles from the OpenSim Model, we would need to pass that into computeMuscleTendonRoundOptimization. I have moved makeLowerBounds and makeUpperBounds up to MuscleTendonPersonalization.