Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 0 additions & 119 deletions Models/Hamner/FullBodyModel_Hamner2010_v2_0.osim
Original file line number Diff line number Diff line change
@@ -1,125 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<OpenSimDocument Version="40000">
<Model name="3DGaitModelwithSimpleArms">
<defaults>
<ControlLinear name="default">
<is_model_control>true</is_model_control>
<extrapolate>true</extrapolate>
<default_min>-1</default_min>
<default_max>1</default_max>
<filter_on>false</filter_on>
<use_steps>false</use_steps>
<x_nodes />
<min_nodes />
<max_nodes />
<kp>100</kp>
<kv>20</kv>
</ControlLinear>
<CoordinateActuator name="default">
<!--Name of the generalized coordinate to which the actuator applies.-->
<coordinate>Unassigned</coordinate>
<!--The maximum generalized force produced by this actuator.-->
<optimal_force>300</optimal_force>
</CoordinateActuator>
<PointActuator name="default">
<!--Name of Body to which this actuator is applied.-->
<body></body>
<!--Location of application point; in body frame unless point_is_global=true-->
<point>0 0 0</point>
<!--Interpret point in Ground frame if true; otherwise, body frame.-->
<point_is_global>false</point_is_global>
<!--Force application direction; in body frame unless force_is_global=true.-->
<direction>-1 -0 -0</direction>
<!--Interpret direction in Ground frame if true; otherwise, body frame.-->
<force_is_global>true</force_is_global>
<!--The maximum force produced by this actuator when fully activated.-->
<optimal_force>1000</optimal_force>
</PointActuator>
<TorqueActuator name="default">
<!--Name of Body to which the torque actuator is applied.-->
<bodyA>Unassigned</bodyA>
<!--Name of Body to which the equal and opposite torque is applied.-->
<bodyB>Unassigned</bodyB>
<!--Interpret axis in Ground frame if true; otherwise, body A's frame.-->
<torque_is_global>true</torque_is_global>
<!--Fixed direction about which torque is applied, in Ground or body A frame depending on 'torque_is_global' property.-->
<axis>-1 -0 -0</axis>
<!--The maximum torque produced by this actuator when fully activated.-->
<optimal_force>1</optimal_force>
</TorqueActuator>
<Thelen2003Muscle name="default">
<!--The set of points defining the path of the actuator.-->
<GeometryPath>
<!--The set of points defining the path-->
<PathPointSet>
<objects />
<groups />
</PathPointSet>
<!--The wrap objects that are associated with this path-->
<PathWrapSet>
<objects />
<groups />
</PathWrapSet>
<!--Default appearance attributes for this GeometryPath-->
<Appearance>
<!--The color, (red, green, blue), [0, 1], used to display the geometry. -->
<color>0.80000000000000004 0.10000000000000001 0.10000000000000001</color>
</Appearance>
</GeometryPath>
<!--Maximum isometric force that the fibers can generate-->
<max_isometric_force>546</max_isometric_force>
<!--Optimal length of the muscle fibers-->
<optimal_fiber_length>0.053499999999999999</optimal_fiber_length>
<!--Resting length of the tendon-->
<tendon_slack_length>0.078</tendon_slack_length>
<!--Angle between tendon and fibers at optimal fiber length expressed in radians-->
<pennation_angle_at_optimal>0</pennation_angle_at_optimal>
<!--tendon strain at maximum isometric muscle force-->
<FmaxTendonStrain>0.033000000000000002</FmaxTendonStrain>
<!--passive muscle strain at maximum isometric muscle force-->
<FmaxMuscleStrain>0.59999999999999998</FmaxMuscleStrain>
<!--shape factor for Gaussian active muscle force-length relationship-->
<KshapeActive>0.5</KshapeActive>
<!--exponential shape factor for passive force-length relationship-->
<KshapePassive>4</KshapePassive>
<!--force-velocity shape factor-->
<Af>0.29999999999999999</Af>
<!--maximum normalized lengthening force-->
<Flen>1.8</Flen>
<!--Activation time constant, in seconds-->
<activation_time_constant>0.01</activation_time_constant>
<!--Deactivation time constant, in seconds-->
<deactivation_time_constant>0.040000000000000001</deactivation_time_constant>
</Thelen2003Muscle>
<CMC_Joint name="default">
<!--Flag (true or false) indicating whether or not a task is enabled.-->
<on>false</on>
<!--Weight with which a task is tracked relative to other tasks. To track a task more tightly, make the weight larger.-->
<weight> 1 1 1</weight>
<!--Name of body frame with respect to which a tracking objective is specified. The special name 'center_of_mass' refers to the system center of mass. This property is not used for tracking joint angles.-->
<wrt_body>-1</wrt_body>
<!--Name of body frame in which the tracking objectives are expressed. This property is not used for tracking joint angles.-->
<express_body>-1</express_body>
<!--Array of 3 flags (each true or false) specifying whether a component of a task is active. For example, tracking the trajectory of a point in space could have three components (x,y,z). This allows each of those to be made active (true) or inactive (false). A task for tracking a joint coordinate only has one component.-->
<active>false false false </active>
<!--Position error feedback gain (stiffness). To achieve critical damping of errors, choose kv = 2*sqrt(kp).-->
<kp> 1 1 1</kp>
<!--Velocity error feedback gain (damping). To achieve critical damping of errors, choose kv = 2*sqrt(kp).-->
<kv> 1 1 1</kv>
<!--Feedforward acceleration gain. This is normally set to 1.0, so no gain.-->
<ka> 1 1 1</ka>
<!--Direction vector[3] for component 0 of a task. Joint tasks do not use this property.-->
<r0> 0 0 0</r0>
<!--Direction vector[3] for component 1 of a task. Joint tasks do not use this property.-->
<r1> 0 0 0</r1>
<!--Direction vector[3] for component 2 of a task. Joint tasks do not use this property.-->
<r2> 0 0 0</r2>
<!--Name of the coordinate to be tracked.-->
<coordinate />
<!--Error limit on the tracking accuracy for this coordinate. If the tracking errors approach this limit, the weighting for this coordinate is increased. -->
<limit>0</limit>
</CMC_Joint>
</defaults>
<!--The model's ground reference frame.-->
<Ground name="ground">
<!--The geometry used to display the axes of this Frame.-->
Expand Down
251 changes: 0 additions & 251 deletions Pipelines/Gait2354_Simbody/forces_grf.xml
Original file line number Diff line number Diff line change
@@ -1,257 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<OpenSimDocument Version="20302">
<ExternalLoads name="">
<defaults>
<ControlLinear name="default">
<is_model_control> true </is_model_control>
<extrapolate> true </extrapolate>
<default_min> -1.00000000 </default_min>
<default_max> 1.00000000 </default_max>
<filter_on> false </filter_on>
<use_steps> false </use_steps>
<x_nodes/>
<min_nodes/>
<max_nodes/>
<kp> 100.00000000 </kp>
<kv> 20.00000000 </kv>
</ControlLinear>
<CoordinateActuator name="default">
<isDisabled> false </isDisabled>
<!--Minimum allowed value for control signal. Used primarily when solving
for control values-->
<min_control> -infinity </min_control>
<!--Maximum allowed value for control signal. Used primarily when solving
for control values-->
<max_control> infinity </max_control>
<coordinate> </coordinate>
<optimal_force> 300.00000000 </optimal_force>
</CoordinateActuator>
<PointActuator name="default">
<isDisabled> false </isDisabled>
<!--Minimum allowed value for control signal. Used primarily when solving
for control values-->
<min_control> -infinity </min_control>
<!--Maximum allowed value for control signal. Used primarily when solving
for control values-->
<max_control> infinity </max_control>
<body> </body>
<point> 0.00000000 0.00000000 0.00000000 </point>
<point_is_global> false </point_is_global>
<direction> -1.00000000 -0.00000000 -0.00000000 </direction>
<force_is_global> true </force_is_global>
<optimal_force> 1000.00000000 </optimal_force>
</PointActuator>
<TorqueActuator name="default">
<isDisabled> false </isDisabled>
<!--Minimum allowed value for control signal. Used primarily when solving
for control values-->
<min_control> -infinity </min_control>
<!--Maximum allowed value for control signal. Used primarily when solving
for control values-->
<max_control> infinity </max_control>
<bodyA> </bodyA>
<bodyB> </bodyB>
<torque_is_global> true </torque_is_global>
<axis> -1.00000000 -0.00000000 -0.00000000 </axis>
<optimal_force> 300.00000000 </optimal_force>
</TorqueActuator>
<Thelen2003Muscle name="default">
<isDisabled> false </isDisabled>
<!--Minimum allowed value for control signal. Used primarily when solving
for control values-->
<min_control> 0.00000000 </min_control>
<!--Maximum allowed value for control signal. Used primarily when solving
for control values-->
<max_control> 1.00000000 </max_control>
<GeometryPath name="">
<PathPointSet name="">
<objects/>
<groups/>
</PathPointSet>
<VisibleObject name="">
<!--Set of geometry files and associated attributes, allow .vtp, .stl,
.obj-->
<GeometrySet name="">
<objects/>
<groups/>
</GeometrySet>
<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
<scale_factors> 1.00000000 1.00000000 1.00000000 </scale_factors>
<!--transform relative to owner specified as 3 rotations (rad) followed by
3 translations rX rY rZ tx ty tz-->
<transform> -0.00000000 0.00000000 -0.00000000 0.00000000 0.00000000 0.00000000 </transform>
<!--Whether to show a coordinate frame-->
<show_axes> false </show_axes>
<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for
individual geometries-->
<display_preference> 4 </display_preference>
</VisibleObject>
<PathWrapSet name="">
<objects/>
<groups/>
</PathWrapSet>
</GeometryPath>
<optimal_force> 1.00000000 </optimal_force>
<!--Maximum isometric force that the fibers can generate-->
<max_isometric_force> 546.00000000 </max_isometric_force>
<!--Optimal length of the muscle fibers-->
<optimal_fiber_length> 0.05350000 </optimal_fiber_length>
<!--Resting length of the tendon-->
<tendon_slack_length> 0.07800000 </tendon_slack_length>
<!--Angle between tendon and fibers at optimal fiber length-->
<pennation_angle_at_optimal> 0.00000000 </pennation_angle_at_optimal>
<!--Maximum contraction velocity of the fibers, in optimal fiberlengths
per second-->
<max_contraction_velocity> 10.00000000 </max_contraction_velocity>
<!--time constant for ramping up of muscle activation-->
<activation_time_constant> 0.01000000 </activation_time_constant>
<!--time constant for ramping down of muscle activation-->
<deactivation_time_constant> 0.04000000 </deactivation_time_constant>
<!--maximum contraction velocity at full activation in fiber lengths per
second-->
<Vmax> 10.00000000 </Vmax>
<!--maximum contraction velocity at low activation in fiber lengths per
second-->
<Vmax0> 5.00000000 </Vmax0>
<!--tendon strain due to maximum isometric muscle force-->
<FmaxTendonStrain> 0.03300000 </FmaxTendonStrain>
<!--passive muscle strain due to maximum isometric muscle force-->
<FmaxMuscleStrain> 0.60000000 </FmaxMuscleStrain>
<!--shape factor for Gaussian active muscle force-length relationship-->
<KshapeActive> 0.50000000 </KshapeActive>
<!--exponential shape factor for passive force-length relationship-->
<KshapePassive> 4.00000000 </KshapePassive>
<!--passive damping in the force-velocity relationship-->
<damping> 0.05000000 </damping>
<!--force-velocity shape factor-->
<Af> 0.30000000 </Af>
<!--maximum normalized lengthening force-->
<Flen> 1.80000000 </Flen>
</Thelen2003Muscle>
<Schutte1993Muscle name="default">
<isDisabled> false </isDisabled>
<!--Minimum allowed value for control signal. Used primarily when solving
for control values-->
<min_control> 0.00000000 </min_control>
<!--Maximum allowed value for control signal. Used primarily when solving
for control values-->
<max_control> 1.00000000 </max_control>
<GeometryPath name="">
<PathPointSet name="">
<objects/>
<groups/>
</PathPointSet>
<VisibleObject name="">
<!--Set of geometry files and associated attributes, allow .vtp, .stl,
.obj-->
<GeometrySet name="">
<objects/>
<groups/>
</GeometrySet>
<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
<scale_factors> 1.00000000 1.00000000 1.00000000 </scale_factors>
<!--transform relative to owner specified as 3 rotations (rad) followed by
3 translations rX rY rZ tx ty tz-->
<transform> -0.00000000 0.00000000 -0.00000000 0.00000000 0.00000000 0.00000000 </transform>
<!--Whether to show a coordinate frame-->
<show_axes> false </show_axes>
<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for
individual geometries-->
<display_preference> 4 </display_preference>
</VisibleObject>
<PathWrapSet name="">
<objects/>
<groups/>
</PathWrapSet>
</GeometryPath>
<optimal_force> 1.00000000 </optimal_force>
<!--Maximum isometric force that the fibers can generate-->
<max_isometric_force> 0.00000000 </max_isometric_force>
<!--Optimal length of the muscle fibers-->
<optimal_fiber_length> 0.00000000 </optimal_fiber_length>
<!--Resting length of the tendon-->
<tendon_slack_length> 0.00000000 </tendon_slack_length>
<!--Angle between tendon and fibers at optimal fiber length-->
<pennation_angle_at_optimal> 0.00000000 </pennation_angle_at_optimal>
<!--Maximum contraction velocity of the fibers, in optimal fiberlengths
per second-->
<max_contraction_velocity> 10.00000000 </max_contraction_velocity>
<!--Scale factor for normalizing time-->
<time_scale> 0.10000000 </time_scale>
<!--Parameter used in time constant of ramping up of muscle force-->
<activation1> 0.00000000 </activation1>
<!--Parameter used in time constant of ramping up and ramping down of
muscle force-->
<activation2> 0.00000000 </activation2>
<!--Damping factor related to maximum contraction velocity-->
<damping> 0.05000000 </damping>
<!--Function representing force-length behavior of tendon-->
<tendon_force_length_curve>
<NaturalCubicSpline name="">
<x> -10.00000000 -0.00200000 -0.00100000 0.00000000 0.00131000 0.00281000 0.00431000 0.00581000 0.00731000 0.00881000 0.01030000 0.01180000 0.01230000 9.20000000 9.20100000 9.20200000 20.00000000 </x>
<y> 0.00000000 0.00000000 0.00000000 0.00000000 0.01080000 0.02570000 0.04350000 0.06520000 0.09150000 0.12300000 0.16100000 0.20800000 0.22700000 345.00000000 345.00000000 345.00000000 345.00000000 </y>
</NaturalCubicSpline>
</tendon_force_length_curve>
<!--Function representing active force-length behavior of muscle fibers-->
<active_force_length_curve>
<NaturalCubicSpline name="">
<x> -5.30769200 -4.30769200 -1.92307700 -0.88461500 -0.26923100 0.23076900 0.46153800 0.52725000 0.62875000 0.71875000 0.86125000 1.04500000 1.21750000 1.43875000 1.50000000 1.61538500 2.00000000 2.96153800 3.69230800 5.46153800 9.90190200 </x>
<y> 0.01218800 0.02189900 0.03646600 0.05249300 0.07531200 0.11415800 0.15785900 0.22666700 0.63666700 0.85666700 0.95000000 0.99333300 0.77000000 0.24666700 0.19382100 0.13325200 0.07268300 0.04441700 0.03634100 0.02189900 0.00733200 </y>
</NaturalCubicSpline>
</active_force_length_curve>
<!--Function representing passive force-length behavior of muscle fibers-->
<passive_force_length_curve>
<NaturalCubicSpline name="">
<x> -5.00000000 0.99800000 0.99900000 1.00000000 1.10000000 1.20000000 1.30000000 1.40000000 1.50000000 1.60000000 1.60100000 1.60200000 5.00000000 </x>
<y> 0.00000000 0.00000000 0.00000000 0.00000000 0.03500000 0.12000000 0.26000000 0.55000000 1.17000000 2.00000000 2.00000000 2.00000000 2.00000000 </y>
</NaturalCubicSpline>
</passive_force_length_curve>
</Schutte1993Muscle>
<CMC_Joint name="default">
<!--Flag (true or false) indicating whether or not a task is enabled.-->
<on> false </on>
<!--Weight with which a task is tracked relative to other tasks. To track
a task more tightly, make the weight larger.-->
<weight> 1.00000000 1.00000000 1.00000000 </weight>
<!--Name of body frame with respect to which a tracking objective is
specified. The special name 'center_of_mass' refers to the system
center of mass. This property is not used for tracking joint angles.-->
<wrt_body> -1 </wrt_body>
<!--Name of body frame in which the tracking objectives are expressed.
This property is not used for tracking joint angles.-->
<express_body> -1 </express_body>
<!--Array of 3 flags (each true or false) specifying whether a component
of a task is active. For example, tracking the trajectory of a point
in space could have three components (x,y,z). This allows each of
those to be made active (true) or inactive (false). A task for
tracking a joint coordinate only has one component.-->
<active> false false false </active>
<!--Position error feedback gain (stiffness). To achieve critical damping
of errors, choose kv = 2*sqrt(kp).-->
<kp> 1.00000000 1.00000000 1.00000000 </kp>
<!--Velocity error feedback gain (damping). To achieve critical damping of
errors, choose kv = 2*sqrt(kp).-->
<kv> 1.00000000 1.00000000 1.00000000 </kv>
<!--Feedforward acceleration gain. This is normally set to 1.0, so no
gain.-->
<ka> 1.00000000 1.00000000 1.00000000 </ka>
<!--Direction vector[3] for component 0 of a task. Joint tasks do not use
this propery.-->
<r0> 0.00000000 0.00000000 0.00000000 </r0>
<!--Direction vector[3] for component 1 of a task. Joint tasks do not use
this property.-->
<r1> 0.00000000 0.00000000 0.00000000 </r1>
<!--Direction vector[3] for component 2 of a task. Joint tasks do not use
this property.-->
<r2> 0.00000000 0.00000000 0.00000000 </r2>
<!--Name of the coordinate to be tracked.-->
<coordinate> </coordinate>
<!--Error limit on the tracking accuracy for this coordinate. If the
tracking errors approach this limit, the weighting for this coordinate
is increased.-->
<limit> 0.00000000 </limit>
</CMC_Joint>
</defaults>
<objects>
<ExternalForce name="Right">
<isDisabled> false </isDisabled>
Expand Down
Loading