Minimum Time Optimal Control Problem
Posted: Fri May 18, 2018 10:35 am
Dear users,
I am trying to solve an optimal control problem using the OpenSim Matlab Interface and Matlab's fmincon function. The model I am using is a modified version of the refined LaiArnold2017 model (pelvis is fixed in space with only the left lower-limbs). I am attempting to minimize the time taken for the calcaneus segment to be positioned at (0.5, 0.5, 0 m) (ant,vert,med) with respect to the ground coordinate system. I have previously managed to solve a similar problem whereby the final time is a fixed parameter (e.g. 0.75 s), minimized the sum of squared muscle activations and used a constraint to ensure the model achieves the required pose at the final time. I am yet, however, to figure out how to introduce time as a varying parameter. From my reading I believe that I need to add the time parameter to my vector of controls, but I am not certain if this is the correct approach? I have also come across an article by Pandy et al. (1992)* in which they transform the final time (tf) into a solvable parameter by normalizing the time:
Tau = t/tf
The system differential equations then become functions of the states, controls and tau. I am therefore wondering whether anyone has managed to solve a minimum time optimal control problem using the Matlab OpenSim Interface? And whether it is possible to achieve this using Matlab's fmincon function? Any guidance/recommended reading would be greatly appreciated too!
Kind regards,
Nicos Haralabidis
* Pandy, M. G., Anderson, F. C. & Hull, D.G. (1992) A parameter optimization approach for the optimal control of large-scale musculoskeletal systems. Journal of Biomechanical Engineering, 114(4), 450-460.
I am trying to solve an optimal control problem using the OpenSim Matlab Interface and Matlab's fmincon function. The model I am using is a modified version of the refined LaiArnold2017 model (pelvis is fixed in space with only the left lower-limbs). I am attempting to minimize the time taken for the calcaneus segment to be positioned at (0.5, 0.5, 0 m) (ant,vert,med) with respect to the ground coordinate system. I have previously managed to solve a similar problem whereby the final time is a fixed parameter (e.g. 0.75 s), minimized the sum of squared muscle activations and used a constraint to ensure the model achieves the required pose at the final time. I am yet, however, to figure out how to introduce time as a varying parameter. From my reading I believe that I need to add the time parameter to my vector of controls, but I am not certain if this is the correct approach? I have also come across an article by Pandy et al. (1992)* in which they transform the final time (tf) into a solvable parameter by normalizing the time:
Tau = t/tf
The system differential equations then become functions of the states, controls and tau. I am therefore wondering whether anyone has managed to solve a minimum time optimal control problem using the Matlab OpenSim Interface? And whether it is possible to achieve this using Matlab's fmincon function? Any guidance/recommended reading would be greatly appreciated too!
Kind regards,
Nicos Haralabidis
* Pandy, M. G., Anderson, F. C. & Hull, D.G. (1992) A parameter optimization approach for the optimal control of large-scale musculoskeletal systems. Journal of Biomechanical Engineering, 114(4), 450-460.