This is an example using the MocoInverse tool with a complex model to prescribe walking.
25 import opensim
as osim
28 inverse = osim.MocoInverse()
34 modelProcessor = osim.ModelProcessor(
'subject_walk_armless.osim')
35 modelProcessor.append(osim.ModOpAddExternalLoads(
'grf_walk.xml'))
36 modelProcessor.append(osim.ModOpIgnoreTendonCompliance())
37 modelProcessor.append(osim.ModOpReplaceMusclesWithDeGrooteFregly2016())
39 modelProcessor.append(osim.ModOpIgnorePassiveFiberForcesDGF())
41 modelProcessor.append(osim.ModOpScaleActiveFiberForceCurveWidthDGF(1.5))
42 modelProcessor.append(osim.ModOpAddReserves(1.0))
43 inverse.setModel(modelProcessor)
50 inverse.setKinematics(osim.TableProcessor(
'coordinates.sto'))
53 inverse.set_initial_time(0.81)
54 inverse.set_final_time(1.79)
55 inverse.set_mesh_interval(0.02)
59 inverse.set_kinematics_allow_extra_columns(
True)
62 solution = inverse.solve()
63 solution.getMocoSolution().write(
'example3DWalking_MocoInverse_solution.sto')
66 model = modelProcessor.process()
67 report = osim.Report(model,
'example3DWalking_MocoInverse_solution.sto',