diff options
-rw-r--r-- | LocomotorPrimitives.cpp | 11 | ||||
-rw-r--r-- | locomotor-primitives-fixed.osim | 5104 |
2 files changed, 5112 insertions, 3 deletions
diff --git a/LocomotorPrimitives.cpp b/LocomotorPrimitives.cpp index 7e24f08..341fa74 100644 --- a/LocomotorPrimitives.cpp +++ b/LocomotorPrimitives.cpp @@ -10,13 +10,14 @@ #include "LocomotorPrimitivesManager.h" #include "LocomotorPrimitivesController.h" -#define NO_SIM 0 +#define FIXED_IN_SPACE 1 +#define NO_SIM 0 static const std::string MODEL_NAME = "LocomotorPrimitives"; // Define the initial and final simulation time static const double initialTime = 0.0; -static const double finalTime = 5.0; +static const double finalTime = 2.0; static void constructModel(OpenSim::Model &model) { @@ -88,7 +89,8 @@ int main(void) try { // Create an OpenSim model and set its name - OpenSim::Model osimModel("../../locomotor-primitives.osim"); + std::string modelName = FIXED_IN_SPACE ? "locomotor-primitives-fixed.osim" : "locomotor-primitives.osim"; + OpenSim::Model osimModel("../../" + modelName); osimModel.setName(MODEL_NAME); constructModel(osimModel); @@ -96,12 +98,15 @@ int main(void) simulateModel(osimModel); } catch (OpenSim::Exception ex) { std::cout << ex.getMessage() << std::endl; + std::cin.get(); return 1; } catch (std::exception ex) { std::cout << ex.what() << std::endl; + std::cin.get(); return 1; } catch (...) { std::cout << "UNRECOGNIZED EXCEPTION" << std::endl; + std::cin.get(); return 1; } diff --git a/locomotor-primitives-fixed.osim b/locomotor-primitives-fixed.osim new file mode 100644 index 0000000..8588eec --- /dev/null +++ b/locomotor-primitives-fixed.osim @@ -0,0 +1,5104 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<OpenSimDocument Version="30000"> + <Model name="LocomotorPrimitives"> + <!--See the credits section below for information about this model's authors, data sources, intended uses, and more. + See the publications section for the paper(s) you should cite when using this model. Do not remove either section if you modify or add to this model. + If you are this model's author(s), add or update the credits and publications sections before distributing your model.--> + <credits>Delp S.L., Loan J.P., Hoy M.G., Zajac F.E., Topp E.L., Rosen J.M., Thelen D.G., Anderson F.C., Seth A. Notes: 3D, 23 DOF gait model created by D.G. Thelen, Univ. of Wisconsin-Madison, and Ajay Seth, Frank C. Anderson, and Scott L. Delp, Stanford University. Lower extremity joint defintions based on Delp et al. (1990). Low back joint and anthropometry based on Anderson and Pandy (1999, 2001). Planar knee model of Yamaguchi and Zajac (1989). Seth replaced tibia translation constraints with a CustomJoint for the knee and removed the patella to eliminate all kinematic constraints; insertions of the quadrucepts are handled with moving points in the tibia frame as defined by Delp 1990. License: Creative Commons (CCBY 3.0). You are free to distribute, remix, tweak, and build upon this work, even commercially, as long as you credit us for the original creation. http://creativecommons.org/licenses/by/3.0/ More Information: http://simtk-confluence.stanford.edu:8080/display/OpenSim/Gait+2392+and+2354+Models</credits> + <publications>Delp, S.L., Loan, J.P., Hoy, M.G., Zajac, F.E., Topp E.L., Rosen, J.M.: An interactive graphics-based model of the lower extremity to study orthopaedic surgical procedures, IEEE Transactions on Biomedical Engineering, vol. 37, pp. 757-767, 1990. Yamaguchi G.T., Zajac F.E.: A planar model of the knee joint to characterize the knee extensor mechanism." J . Biomecl7. vol. 21. pp. 1-10. 1989. Anderson F.C., Pandy M.G.: A dynamic optimization solution for vertical jumping in three dimensions. Computer Methods in Biomechanics and Biomedical Engineering 2:201-231, 1999. Anderson F.C., Pandy M.G.: Dynamic optimization of human walking. Journal of Biomechanical Engineering 123:381-390, 2001.</publications> + <length_units>meters</length_units> + <force_units>N</force_units> + <!--Acceleration due to gravity.--> + <gravity> 0 -9.80665 0</gravity> + <!--Bodies in the model.--> + <BodySet> + <objects> + <Body name="ground"> + <mass>0</mass> + <mass_center> 0 0 0</mass_center> + <inertia_xx>0</inertia_xx> + <inertia_yy>0</inertia_yy> + <inertia_zz>0</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint /> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>treadmill.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>0</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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>0</display_preference> + </VisibleObject> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="pelvis"> + <mass>11.777</mass> + <mass_center> -0.0707 0 0</mass_center> + <inertia_xx>0.1028</inertia_xx> + <inertia_yy>0.0871</inertia_yy> + <inertia_zz>0.0579</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <WeldJoint name="ground_pelvis"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>ground</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>0 0 0</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects /> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + </WeldJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>sacrum.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>pelvis.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>l_pelvis.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="femur_r"> + <mass>9.3014</mass> + <mass_center> 0 -0.17 0</mass_center> + <inertia_xx>0.1339</inertia_xx> + <inertia_yy>0.0351</inertia_yy> + <inertia_zz>0.1412</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <CustomJoint name="hip_r"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>pelvis</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>-0.0707 -0.0661 0.0835</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects> + <Coordinate name="hip_flexion_r"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-2.0943951 2.0943951</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + <Coordinate name="hip_adduction_r"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-2.0943951 2.0943951</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + <Coordinate name="hip_rotation_r"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-2.0943951 2.0943951</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + </objects> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + <!--Defines how the child body moves with respect to the parent as a function of the generalized coordinates.--> + <SpatialTransform> + <!--3 Axes for rotations are listed first.--> + <TransformAxis name="rotation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>hip_flexion_r</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>hip_adduction_r</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>hip_rotation_r</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <!--3 Axes for translations are listed next.--> + <TransformAxis name="translation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + </SpatialTransform> + </CustomJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>femur.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="tibia_r"> + <mass>3.7075</mass> + <mass_center> 0 -0.1867 0</mass_center> + <inertia_xx>0.0504</inertia_xx> + <inertia_yy>0.0051</inertia_yy> + <inertia_zz>0.0511</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <CustomJoint name="knee_r"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>femur_r</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>0 0 0</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects> + <Coordinate name="knee_angle_r"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-2.0943951 0.17453293</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + </objects> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + <!--Defines how the child body moves with respect to the parent as a function of the generalized coordinates.--> + <SpatialTransform> + <!--3 Axes for rotations are listed first.--> + <TransformAxis name="rotation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>knee_angle_r</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="rotation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <!--3 Axes for translations are listed next.--> + <TransformAxis name="translation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>knee_angle_r</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <SimmSpline> + <x> -2.0944 -1.74533 -1.39626 -1.0472 -0.698132 -0.349066 -0.174533 0.197344 0.337395 0.490178 1.52146 2.0944</x> + <y> -0.0032 0.00179 0.00411 0.0041 0.00212 -0.001 -0.0031 -0.005227 -0.005435 -0.005574 -0.005435 -0.00525</y> + </SimmSpline> + </function> + </TransformAxis> + <TransformAxis name="translation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>knee_angle_r</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <SimmSpline> + <x> -2.0944 -1.22173 -0.523599 -0.349066 -0.174533 0.159149 2.0944</x> + <y> -0.4226 -0.4082 -0.399 -0.3976 -0.3966 -0.395264 -0.396</y> + </SimmSpline> + </function> + </TransformAxis> + <TransformAxis name="translation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + </SpatialTransform> + </CustomJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>tibia.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>fibula.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="talus_r"> + <mass>0.1</mass> + <mass_center> 0 0 0</mass_center> + <inertia_xx>0.001</inertia_xx> + <inertia_yy>0.001</inertia_yy> + <inertia_zz>0.001</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <CustomJoint name="ankle_r"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>tibia_r</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>0 -0.43 0</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects> + <Coordinate name="ankle_angle_r"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-1.57079633 1.57079633</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + </objects> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + <!--Defines how the child body moves with respect to the parent as a function of the generalized coordinates.--> + <SpatialTransform> + <!--3 Axes for rotations are listed first.--> + <TransformAxis name="rotation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>ankle_angle_r</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>-0.10501355 -0.17402245 0.97912632</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="rotation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0.97912632 -0 0.10501355</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <!--3 Axes for translations are listed next.--> + <TransformAxis name="translation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + </SpatialTransform> + </CustomJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>talus.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="calcn_r"> + <mass>1.25</mass> + <mass_center> 0.1 0.03 0</mass_center> + <inertia_xx>0.0014</inertia_xx> + <inertia_yy>0.0039</inertia_yy> + <inertia_zz>0.0041</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <CustomJoint name="subtalar_r"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>talus_r</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>-0.04877 -0.04195 0.00792</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects> + <Coordinate name="subtalar_angle_r"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-1.57079633 1.57079633</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + </objects> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + <!--Defines how the child body moves with respect to the parent as a function of the generalized coordinates.--> + <SpatialTransform> + <!--3 Axes for rotations are listed first.--> + <TransformAxis name="rotation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>subtalar_angle_r</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0.78717961 0.60474746 -0.12094949</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="rotation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>-0.12094949 0 -0.78717961</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <!--3 Axes for translations are listed next.--> + <TransformAxis name="translation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + </SpatialTransform> + </CustomJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>foot.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="toes_r"> + <mass>0.2166</mass> + <mass_center> 0.0346 0.006 -0.0175</mass_center> + <inertia_xx>0.0001</inertia_xx> + <inertia_yy>0.0002</inertia_yy> + <inertia_zz>0.001</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <CustomJoint name="mtp_r"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>calcn_r</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>0.1788 -0.002 0.00108</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects> + <Coordinate name="mtp_angle_r"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-1.57079633 1.57079633</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + </objects> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + <!--Defines how the child body moves with respect to the parent as a function of the generalized coordinates.--> + <SpatialTransform> + <!--3 Axes for rotations are listed first.--> + <TransformAxis name="rotation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>mtp_angle_r</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>-0.5809544 0 0.81393611</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="rotation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0.81393611 -0 0.5809544</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <!--3 Axes for translations are listed next.--> + <TransformAxis name="translation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + </SpatialTransform> + </CustomJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>bofoot.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="femur_l"> + <mass>9.3014</mass> + <mass_center> 0 -0.17 0</mass_center> + <inertia_xx>0.1339</inertia_xx> + <inertia_yy>0.0351</inertia_yy> + <inertia_zz>0.1412</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <CustomJoint name="hip_l"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>pelvis</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>-0.0707 -0.0661 -0.0835</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects> + <Coordinate name="hip_flexion_l"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-2.0943951 2.0943951</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + <Coordinate name="hip_adduction_l"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-2.0943951 2.0943951</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + <Coordinate name="hip_rotation_l"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-2.0943951 2.0943951</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + </objects> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + <!--Defines how the child body moves with respect to the parent as a function of the generalized coordinates.--> + <SpatialTransform> + <!--3 Axes for rotations are listed first.--> + <TransformAxis name="rotation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>hip_flexion_l</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>hip_adduction_l</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>-1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>hip_rotation_l</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 -1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <!--3 Axes for translations are listed next.--> + <TransformAxis name="translation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + </SpatialTransform> + </CustomJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>l_femur.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="tibia_l"> + <mass>3.7075</mass> + <mass_center> 0 -0.1867 0</mass_center> + <inertia_xx>0.0504</inertia_xx> + <inertia_yy>0.0051</inertia_yy> + <inertia_zz>0.0511</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <CustomJoint name="knee_l"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>femur_l</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>0 0 0</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects> + <Coordinate name="knee_angle_l"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-2.0943951 0.17453293</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + </objects> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + <!--Defines how the child body moves with respect to the parent as a function of the generalized coordinates.--> + <SpatialTransform> + <!--3 Axes for rotations are listed first.--> + <TransformAxis name="rotation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>knee_angle_l</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="rotation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <!--3 Axes for translations are listed next.--> + <TransformAxis name="translation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>knee_angle_l</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <SimmSpline> + <x> -2.0944 -1.74533 -1.39626 -1.0472 -0.698132 -0.349066 -0.174533 0.197344 0.337395 0.490178 1.52146 2.0944</x> + <y> -0.0032 0.00179 0.00411 0.0041 0.00212 -0.001 -0.0031 -0.005227 -0.005435 -0.005574 -0.005435 -0.00525</y> + </SimmSpline> + </function> + </TransformAxis> + <TransformAxis name="translation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>knee_angle_l</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <SimmSpline> + <x> -2.0944 -1.22173 -0.523599 -0.349066 -0.174533 0.159149 2.0944</x> + <y> -0.4226 -0.4082 -0.399 -0.3976 -0.3966 -0.395264 -0.396</y> + </SimmSpline> + </function> + </TransformAxis> + <TransformAxis name="translation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + </SpatialTransform> + </CustomJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>l_tibia.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>l_fibula.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="talus_l"> + <mass>0.1</mass> + <mass_center> 0 0 0</mass_center> + <inertia_xx>0.001</inertia_xx> + <inertia_yy>0.001</inertia_yy> + <inertia_zz>0.001</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <CustomJoint name="ankle_l"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>tibia_l</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>0 -0.43 0</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects> + <Coordinate name="ankle_angle_l"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-1.04719755 1.04719755</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + </objects> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + <!--Defines how the child body moves with respect to the parent as a function of the generalized coordinates.--> + <SpatialTransform> + <!--3 Axes for rotations are listed first.--> + <TransformAxis name="rotation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>ankle_angle_l</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0.10501355 0.17402245 0.97912632</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="rotation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0.97912632 0 -0.10501355</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <!--3 Axes for translations are listed next.--> + <TransformAxis name="translation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + </SpatialTransform> + </CustomJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>l_talus.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="calcn_l"> + <mass>1.25</mass> + <mass_center> 0.1 0.03 0</mass_center> + <inertia_xx>0.0014</inertia_xx> + <inertia_yy>0.0039</inertia_yy> + <inertia_zz>0.0041</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <CustomJoint name="subtalar_l"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>talus_l</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>-0.04877 -0.04195 -0.00792</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects> + <Coordinate name="subtalar_angle_l"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-1.57079633 1.57079633</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + </objects> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + <!--Defines how the child body moves with respect to the parent as a function of the generalized coordinates.--> + <SpatialTransform> + <!--3 Axes for rotations are listed first.--> + <TransformAxis name="rotation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>subtalar_angle_l</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>-0.78717961 -0.60474746 -0.12094949</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="rotation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>-0.12094949 0 0.78717961</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <!--3 Axes for translations are listed next.--> + <TransformAxis name="translation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + </SpatialTransform> + </CustomJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>l_foot.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="toes_l"> + <mass>0.2166</mass> + <mass_center> 0.0346 0.006 0.0175</mass_center> + <inertia_xx>0.0001</inertia_xx> + <inertia_yy>0.0002</inertia_yy> + <inertia_zz>0.001</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <CustomJoint name="mtp_l"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>calcn_l</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>0.1788 -0.002 -0.00108</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects> + <Coordinate name="mtp_angle_l"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-1.04719755 1.04719755</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + </objects> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + <!--Defines how the child body moves with respect to the parent as a function of the generalized coordinates.--> + <SpatialTransform> + <!--3 Axes for rotations are listed first.--> + <TransformAxis name="rotation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>mtp_angle_l</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0.5809544 0 0.81393611</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="rotation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0.81393611 0 -0.5809544</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <!--3 Axes for translations are listed next.--> + <TransformAxis name="translation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + </SpatialTransform> + </CustomJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>l_bofoot.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + <Body name="torso"> + <mass>34.2366</mass> + <mass_center> -0.03 0.32 0</mass_center> + <inertia_xx>1.4745</inertia_xx> + <inertia_yy>0.7555</inertia_yy> + <inertia_zz>1.4314</inertia_zz> + <inertia_xy>0</inertia_xy> + <inertia_xz>0</inertia_xz> + <inertia_yz>0</inertia_yz> + <!--Joint that connects this body with the parent body.--> + <Joint> + <CustomJoint name="back"> + <!--Name of the parent body to which this joint connects its owner body.--> + <parent_body>pelvis</parent_body> + <!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).--> + <location_in_parent>-0.1007 0.0815 0</location_in_parent> + <!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).--> + <orientation_in_parent>0 0 0</orientation_in_parent> + <!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). --> + <location>0 0 0</location> + <!--Orientation of the joint in the owing body specified in the owning body reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. --> + <orientation>0 0 0</orientation> + <!--Set holding the generalized coordinates (q's) that parmeterize this joint.--> + <CoordinateSet> + <objects> + <Coordinate name="lumbar_extension"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-1.57079633 1.57079633</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + <Coordinate name="lumbar_bending"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-1.57079633 1.57079633</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + <Coordinate name="lumbar_rotation"> + <!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.--> + <motion_type>rotational</motion_type> + <!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.--> + <default_value>0</default_value> + <!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.--> + <default_speed_value>0</default_speed_value> + <!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.--> + <range>-1.57079633 1.57079633</range> + <!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.--> + <clamped>false</clamped> + <!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.--> + <locked>false</locked> + <!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.--> + <prescribed_function /> + <!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.--> + <prescribed>false</prescribed> + </Coordinate> + </objects> + <groups /> + </CoordinateSet> + <!--Whether the joint transform defines parent->child or child->parent.--> + <reverse>false</reverse> + <!--Defines how the child body moves with respect to the parent as a function of the generalized coordinates.--> + <SpatialTransform> + <!--3 Axes for rotations are listed first.--> + <TransformAxis name="rotation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>lumbar_extension</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>lumbar_bending</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <TransformAxis name="rotation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates>lumbar_rotation</coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <LinearFunction> + <coefficients> 1 0</coefficients> + </LinearFunction> + </function> + </TransformAxis> + <!--3 Axes for translations are listed next.--> + <TransformAxis name="translation1"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>1 0 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation2"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 1 0</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + <TransformAxis name="translation3"> + <!--Names of the coordinates that serve as the independent variables of the transform function.--> + <coordinates></coordinates> + <!--Rotation or translation axis for the transform.--> + <axis>0 0 1</axis> + <!--Transform function of the generalized coordinates used to represent the amount of transformation along a specified axis.--> + <function> + <Constant> + <value>0</value> + </Constant> + </function> + </TransformAxis> + </SpatialTransform> + </CustomJoint> + </Joint> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>hat_spine.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>hat_jaw.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>hat_skull.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + <DisplayGeometry> + <!--Name of geometry file .vtp, .stl, .obj--> + <geometry_file>hat_ribs.vtp</geometry_file> + <!--Color used to display the geometry when visible--> + <color> 1 1 1</color> + <!--Name of texture file .jpg, .bmp--> + <texture_file /> + <!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</transform> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded--> + <display_preference>4</display_preference> + <!--Display opacity between 0.0 and 1.0--> + <opacity>1</opacity> + </DisplayGeometry> + </objects> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <WrapObjectSet> + <objects /> + <groups /> + </WrapObjectSet> + </Body> + </objects> + <groups /> + </BodySet> + <!--Constraints in the model.--> + <ConstraintSet> + <objects /> + <groups /> + </ConstraintSet> + <!--Forces in the model.--> + <ForceSet> + <objects> + <Thelen2003Muscle name="tib_ant_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="tib_ant_r-P1"> + <location> 0.0179 -0.1624 0.0115</location> + <body>tibia_r</body> + </PathPoint> + <PathPoint name="tib_ant_r-P2"> + <location> 0.0329 -0.3951 -0.0177</location> + <body>tibia_r</body> + </PathPoint> + <PathPoint name="tib_ant_r-P3"> + <location> 0.1166 0.0178 -0.0305</location> + <body>calcn_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>905</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.098</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.223</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="tib_ant_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="tib_ant_l-P1"> + <location> 0.0179 -0.1624 -0.0115</location> + <body>tibia_l</body> + </PathPoint> + <PathPoint name="tib_ant_l-P2"> + <location> 0.0329 -0.3951 0.0177</location> + <body>tibia_l</body> + </PathPoint> + <PathPoint name="tib_ant_l-P3"> + <location> 0.1166 0.0178 0.0305</location> + <body>calcn_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>905</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.098</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.223</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="lat_gas_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="lat_gas_r-P1"> + <location> -0.022 -0.3946 0.0272</location> + <body>femur_r</body> + </PathPoint> + <ConditionalPathPoint name="lat_gas_r-P2"> + <location> -0.03 -0.4018 0.0274</location> + <body>femur_r</body> + <range> -0.785398 0.174533</range> + <coordinate>knee_angle_r</coordinate> + </ConditionalPathPoint> + <PathPoint name="lat_gas_r-P3"> + <location> 0 0.031 -0.0053</location> + <body>calcn_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>683</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.064</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.38</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.13962634</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="lat_gas_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="lat_gas_l-P1"> + <location> -0.022 -0.3946 -0.0272</location> + <body>femur_l</body> + </PathPoint> + <ConditionalPathPoint name="lat_gas_l-P2"> + <location> -0.03 -0.4018 -0.0274</location> + <body>femur_l</body> + <range> -0.785398 0.174533</range> + <coordinate>knee_angle_l</coordinate> + </ConditionalPathPoint> + <PathPoint name="lat_gas_l-P3"> + <location> 0 0.031 0.0053</location> + <body>calcn_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>683</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.064</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.38</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.13962634</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="med_gas_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="med_gas_r-P1"> + <location> -0.019 -0.3929 -0.0235</location> + <body>femur_r</body> + </PathPoint> + <ConditionalPathPoint name="med_gas_r-P2"> + <location> -0.03 -0.4022 -0.0258</location> + <body>femur_r</body> + <range> -0.785398 0.174533</range> + <coordinate>knee_angle_r</coordinate> + </ConditionalPathPoint> + <PathPoint name="med_gas_r-P3"> + <location> 0 0.031 -0.0053</location> + <body>calcn_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>1558</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.06</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.39</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.29670597</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="med_gas_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="med_gas_l-P1"> + <location> -0.019 -0.3929 0.0235</location> + <body>femur_l</body> + </PathPoint> + <ConditionalPathPoint name="med_gas_l-P2"> + <location> -0.03 -0.4022 0.0258</location> + <body>femur_l</body> + <range> -0.785398 0.174533</range> + <coordinate>knee_angle_l</coordinate> + </ConditionalPathPoint> + <PathPoint name="med_gas_l-P3"> + <location> 0 0.031 0.0053</location> + <body>calcn_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>1558</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.06</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.39</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.29670597</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="soleus_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="soleus_r-P1"> + <location> -0.0024 -0.1533 0.0071</location> + <body>tibia_r</body> + </PathPoint> + <PathPoint name="soleus_r-P2"> + <location> 0 0.031 -0.0053</location> + <body>calcn_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>3549</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.05</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.25</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.43633231</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="soleus_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="soleus_l-P1"> + <location> -0.0024 -0.1533 -0.0071</location> + <body>tibia_l</body> + </PathPoint> + <PathPoint name="soleus_l-P2"> + <location> 0 0.031 0.0053</location> + <body>calcn_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>3549</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.05</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.25</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.43633231</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="vas_lat_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="vas_lat_r-P1"> + <location> 0.0048 -0.1854 0.0349</location> + <body>femur_r</body> + </PathPoint> + <PathPoint name="vas_lat_r-P2"> + <location> 0.0269 -0.2591 0.0409</location> + <body>femur_r</body> + </PathPoint> + <ConditionalPathPoint name="vas_lat_r-P3"> + <location> 0.0361 -0.403 0.0205</location> + <body>femur_r</body> + <range> -2.61799 -1.21004</range> + <coordinate>knee_angle_r</coordinate> + </ConditionalPathPoint> + <ConditionalPathPoint name="vas_lat_r-P4"> + <location> 0.0253 -0.4243 0.0184</location> + <body>femur_r</body> + <range> -2.61799 -1.92004</range> + <coordinate>knee_angle_r</coordinate> + </ConditionalPathPoint> + <MovingPathPoint name="vas_lat_r-P5"> + <location> 0.0599557 0.0195864 0.0165</location> + <body>tibia_r</body> + <x_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.0142897 0.016703 0.0262145 0.0283623 0.0294674 0.0352709 0.0408785 0.0437291 0.0469704 0.0518742 0.0599557 0.0599647 0.0599738 0.0614577 0.0650351 0.0711867 0.0583766</y> + </SimmSpline> + </x_location> + <x_coordinate>knee_angle_r</x_coordinate> + <y_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.0215318 0.0218815 0.0232362 0.0234019 0.0234371 0.0230439 0.0223842 0.0220151 0.0216359 0.0210971 0.0195864 0.0195842 0.019582 0.01919 0.018008 0.0151073 -0.0653421</y> + </SimmSpline> + </y_location> + <y_coordinate>knee_angle_r</y_coordinate> + <z_location> + <SimmSpline> + <x> -2.0944 2.0944</x> + <y> 0.0165 0.0165</y> + </SimmSpline> + </z_location> + <z_coordinate>knee_angle_r</z_coordinate> + </MovingPathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>1871</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.084</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.157</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="vas_lat_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="vas_lat_l-P1"> + <location> 0.0048 -0.1854 -0.0349</location> + <body>femur_l</body> + </PathPoint> + <PathPoint name="vas_lat_l-P2"> + <location> 0.0269 -0.2591 -0.0409</location> + <body>femur_l</body> + </PathPoint> + <ConditionalPathPoint name="vas_lat_l-P3"> + <location> 0.0361 -0.403 -0.0205</location> + <body>femur_l</body> + <range> -2.61799 -1.21004</range> + <coordinate>knee_angle_l</coordinate> + </ConditionalPathPoint> + <ConditionalPathPoint name="vas_lat_l-P4"> + <location> 0.0253 -0.4243 -0.0184</location> + <body>femur_l</body> + <range> -2.61799 -1.92004</range> + <coordinate>knee_angle_l</coordinate> + </ConditionalPathPoint> + <MovingPathPoint name="vas_lat_l-P5"> + <location> 0.0599557 0.0195864 -0.0165</location> + <body>tibia_l</body> + <x_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.0142897 0.016703 0.0262145 0.0283623 0.0294674 0.0352709 0.0408785 0.0437291 0.0469704 0.0518742 0.0599557 0.0599647 0.0599738 0.0614577 0.0650351 0.0711867 0.0583766</y> + </SimmSpline> + </x_location> + <x_coordinate>knee_angle_l</x_coordinate> + <y_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.0215318 0.0218815 0.0232362 0.0234019 0.0234371 0.0230439 0.0223842 0.0220151 0.0216359 0.0210971 0.0195864 0.0195842 0.019582 0.01919 0.018008 0.0151073 -0.0653421</y> + </SimmSpline> + </y_location> + <y_coordinate>knee_angle_l</y_coordinate> + <z_location> + <SimmSpline> + <x> -2.0944 2.0944</x> + <y> -0.0165 -0.0165</y> + </SimmSpline> + </z_location> + <z_coordinate>knee_angle_l</z_coordinate> + </MovingPathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>1871</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.084</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.157</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="vas_med_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="vas_med_r-P1"> + <location> 0.014 -0.2099 0.0188</location> + <body>femur_r</body> + </PathPoint> + <PathPoint name="vas_med_r-P2"> + <location> 0.0356 -0.2769 0.0009</location> + <body>femur_r</body> + </PathPoint> + <ConditionalPathPoint name="vas_med_r-P3"> + <location> 0.037 -0.4048 -0.0125</location> + <body>femur_r</body> + <range> -2.61799 -1.21004</range> + <coordinate>knee_angle_r</coordinate> + </ConditionalPathPoint> + <ConditionalPathPoint name="vas_med_r-P4"> + <location> 0.0274 -0.4255 -0.0131</location> + <body>femur_r</body> + <range> -2.61799 -1.78006</range> + <coordinate>knee_angle_r</coordinate> + </ConditionalPathPoint> + <MovingPathPoint name="vas_med_r-P5"> + <location> 0.0559586 0.0217917 -0.0146</location> + <body>tibia_r</body> + <x_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.00981097 0.0122243 0.0217371 0.0238851 0.0249902 0.0307959 0.0364187 0.0392871 0.0425654 0.0475764 0.0559586 0.0559681 0.0559776 0.0575419 0.0613368 0.0679503 0.0629332</y> + </SimmSpline> + </x_location> + <x_coordinate>knee_angle_r</x_coordinate> + <y_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.0224154 0.0227651 0.0241265 0.0242933 0.0243287 0.0239462 0.0233593 0.0230677 0.0228342 0.0226362 0.0217917 0.0217903 0.0217889 0.0215365 0.0206842 0.0183269 -0.0656205</y> + </SimmSpline> + </y_location> + <y_coordinate>knee_angle_r</y_coordinate> + <z_location> + <SimmSpline> + <x> -2.0944 2.0944</x> + <y> -0.0146 -0.0146</y> + </SimmSpline> + </z_location> + <z_coordinate>knee_angle_r</z_coordinate> + </MovingPathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>1294</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.089</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.126</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="vas_med_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="vas_med_l-P1"> + <location> 0.014 -0.2099 -0.0188</location> + <body>femur_l</body> + </PathPoint> + <PathPoint name="vas_med_l-P2"> + <location> 0.0356 -0.2769 -0.0009</location> + <body>femur_l</body> + </PathPoint> + <ConditionalPathPoint name="vas_med_l-P3"> + <location> 0.037 -0.4048 0.0125</location> + <body>femur_l</body> + <range> -2.61799 -1.21004</range> + <coordinate>knee_angle_l</coordinate> + </ConditionalPathPoint> + <ConditionalPathPoint name="vas_med_l-P4"> + <location> 0.0274 -0.4255 0.0131</location> + <body>femur_l</body> + <range> -2.61799 -1.78006</range> + <coordinate>knee_angle_l</coordinate> + </ConditionalPathPoint> + <MovingPathPoint name="vas_med_l-P5"> + <location> 0.0559586 0.0217917 0.0146</location> + <body>tibia_l</body> + <x_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.00981097 0.0122243 0.0217371 0.0238851 0.0249902 0.0307959 0.0364187 0.0392871 0.0425654 0.0475764 0.0559586 0.0559681 0.0559776 0.0575419 0.0613368 0.0679503 0.0629332</y> + </SimmSpline> + </x_location> + <x_coordinate>knee_angle_l</x_coordinate> + <y_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.0224154 0.0227651 0.0241265 0.0242933 0.0243287 0.0239462 0.0233593 0.0230677 0.0228342 0.0226362 0.0217917 0.0217903 0.0217889 0.0215365 0.0206842 0.0183269 -0.0656205</y> + </SimmSpline> + </y_location> + <y_coordinate>knee_angle_l</y_coordinate> + <z_location> + <SimmSpline> + <x> -2.0944 2.0944</x> + <y> 0.0146 0.0146</y> + </SimmSpline> + </z_location> + <z_coordinate>knee_angle_l</z_coordinate> + </MovingPathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>1294</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.089</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.126</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="rect_fem_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="rect_fem_r-P1"> + <location> -0.0295 -0.0311 0.0968</location> + <body>pelvis</body> + </PathPoint> + <ConditionalPathPoint name="rect_fem_r-P2"> + <location> 0.0334 -0.403 0.0019</location> + <body>femur_r</body> + <range> -2.61799 -1.45997</range> + <coordinate>knee_angle_r</coordinate> + </ConditionalPathPoint> + <MovingPathPoint name="rect_fem_r-P3"> + <location> 0.0617576 0.020984 0.0014</location> + <body>tibia_r</body> + <x_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.0155805 0.0179938 0.0275081 0.0296564 0.0307615 0.0365695 0.0422074 0.0450902 0.048391 0.0534299 0.0617576 0.0617669 0.0617762 0.0633083 0.066994 0.0733035 0.0573481</y> + </SimmSpline> + </x_location> + <x_coordinate>knee_angle_r</x_coordinate> + <y_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.0234116 0.0237613 0.0251141 0.0252795 0.0253146 0.0249184 0.0242373 0.0238447 0.0234197 0.0227644 0.020984 0.0209814 0.0209788 0.0205225 0.0191754 0.0159554 -0.0673774</y> + </SimmSpline> + </y_location> + <y_coordinate>knee_angle_r</y_coordinate> + <z_location> + <SimmSpline> + <x> -2.0944 0.1745</x> + <y> 0.0014 0.0014</y> + </SimmSpline> + </z_location> + <z_coordinate>knee_angle_r</z_coordinate> + </MovingPathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>1169</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.114</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.31</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="rect_fem_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="rect_fem_l-P1"> + <location> -0.0295 -0.0311 -0.0968</location> + <body>pelvis</body> + </PathPoint> + <ConditionalPathPoint name="rect_fem_l-P2"> + <location> 0.0334 -0.403 -0.0019</location> + <body>femur_l</body> + <range> -2.61799 -1.45997</range> + <coordinate>knee_angle_l</coordinate> + </ConditionalPathPoint> + <MovingPathPoint name="rect_fem_l-P3"> + <location> 0.0617576 0.020984 -0.0014</location> + <body>tibia_l</body> + <x_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.0155805 0.0179938 0.0275081 0.0296564 0.0307615 0.0365695 0.0422074 0.0450902 0.048391 0.0534299 0.0617576 0.0617669 0.0617762 0.0633083 0.066994 0.0733035 0.0573481</y> + </SimmSpline> + </x_location> + <x_coordinate>knee_angle_l</x_coordinate> + <y_location> + <SimmSpline> + <x> -2.0944 -1.99997 -1.5708 -1.45752 -1.39626 -1.0472 -0.698132 -0.526391 -0.349066 -0.174533 0 0.00017453 0.00034907 0.0279253 0.0872665 0.174533 2.0944</x> + <y> 0.0234116 0.0237613 0.0251141 0.0252795 0.0253146 0.0249184 0.0242373 0.0238447 0.0234197 0.0227644 0.020984 0.0209814 0.0209788 0.0205225 0.0191754 0.0159554 -0.0673774</y> + </SimmSpline> + </y_location> + <y_coordinate>knee_angle_l</y_coordinate> + <z_location> + <SimmSpline> + <x> -2.0944 0.1745</x> + <y> -0.0014 -0.0014</y> + </SimmSpline> + </z_location> + <z_coordinate>knee_angle_l</z_coordinate> + </MovingPathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>1169</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.114</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.31</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="semimem_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="semimem_r-P1"> + <location> -0.1192 -0.09747 0.07151</location> + <body>pelvis</body> + </PathPoint> + <ConditionalPathPoint name="semimem_r-P2"> + <location> -0.0348 -0.03519 -0.01891</location> + <body>tibia_r</body> + <range> -0.558505 0.174533</range> + <coordinate>knee_angle_r</coordinate> + </ConditionalPathPoint> + <PathPoint name="semimem_r-P3"> + <location> -0.027 -0.04771 -0.01957</location> + <body>tibia_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>1288</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.08</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.359</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.26179939</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="semimem_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="semimem_l-P1"> + <location> -0.1192 -0.09747 -0.07151</location> + <body>pelvis</body> + </PathPoint> + <ConditionalPathPoint name="semimem_l-P2"> + <location> -0.0348 -0.03519 0.01891</location> + <body>tibia_l</body> + <range> -0.558505 0.174533</range> + <coordinate>knee_angle_l</coordinate> + </ConditionalPathPoint> + <PathPoint name="semimem_l-P3"> + <location> -0.027 -0.04771 0.01957</location> + <body>tibia_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>1288</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.08</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.359</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.26179939</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="semiten_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="semiten_r-P1"> + <location> -0.12635 -0.10988 0.06039</location> + <body>pelvis</body> + </PathPoint> + <ConditionalPathPoint name="semiten_r-P2"> + <location> -0.04203 -0.02859 -0.02277</location> + <body>tibia_r</body> + <range> -0.331613 0.174533</range> + <coordinate>knee_angle_r</coordinate> + </ConditionalPathPoint> + <PathPoint name="semiten_r-P3"> + <location> -0.03322 -0.05282 -0.02288</location> + <body>tibia_r</body> + </PathPoint> + <PathPoint name="semiten_r-P4"> + <location> -0.0113 -0.0746 -0.0245</location> + <body>tibia_r</body> + </PathPoint> + <PathPoint name="semiten_r-P5"> + <location> 0.0027 -0.0956 -0.0193</location> + <body>tibia_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>410</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.201</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.2555</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="semiten_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="semiten_l-P1"> + <location> -0.12635 -0.10988 -0.06039</location> + <body>pelvis</body> + </PathPoint> + <ConditionalPathPoint name="semiten_l-P2"> + <location> -0.04203 -0.02859 0.02277</location> + <body>tibia_l</body> + <range> -0.331613 0.174533</range> + <coordinate>knee_angle_l</coordinate> + </ConditionalPathPoint> + <PathPoint name="semiten_l-P3"> + <location> -0.03322 -0.05282 0.02288</location> + <body>tibia_l</body> + </PathPoint> + <PathPoint name="semiten_l-P4"> + <location> -0.0113 -0.0746 0.0245</location> + <body>tibia_l</body> + </PathPoint> + <PathPoint name="semiten_l-P5"> + <location> 0.0027 -0.0956 0.0193</location> + <body>tibia_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>410</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.201</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.2555</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="bifemlh_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="bifemlh_r-P1"> + <location> -0.12596 -0.10257 0.06944</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="bifemlh_r-P2"> + <location> -0.0301 -0.036 0.02943</location> + <body>tibia_r</body> + </PathPoint> + <PathPoint name="bifemlh_r-P3"> + <location> -0.0234 -0.0563 0.0343</location> + <body>tibia_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>896</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.109</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.326</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="bifemlh_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="bifemlh_l-P1"> + <location> -0.12596 -0.10257 -0.06944</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="bifemlh_l-P2"> + <location> -0.0301 -0.036 -0.02943</location> + <body>tibia_l</body> + </PathPoint> + <PathPoint name="bifemlh_l-P3"> + <location> -0.0234 -0.0563 -0.0343</location> + <body>tibia_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>896</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.109</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.326</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="bifemsh_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="bifemsh_r-P1"> + <location> 0.005 -0.2111 0.0234</location> + <body>femur_r</body> + </PathPoint> + <PathPoint name="bifemsh_r-P2"> + <location> -0.0301 -0.036 0.02943</location> + <body>tibia_r</body> + </PathPoint> + <PathPoint name="bifemsh_r-P3"> + <location> -0.0234 -0.0563 0.0343</location> + <body>tibia_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>804</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.173</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.089</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.40142573</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="bifemsh_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="bifemsh_l-P1"> + <location> 0.005 -0.2111 -0.0234</location> + <body>femur_l</body> + </PathPoint> + <PathPoint name="bifemsh_l-P2"> + <location> -0.0301 -0.036 -0.02943</location> + <body>tibia_l</body> + </PathPoint> + <PathPoint name="bifemsh_l-P3"> + <location> -0.0234 -0.0563 -0.0343</location> + <body>tibia_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>804</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.173</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.089</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.40142573</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="add_long_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="add_long_r-P1"> + <location> -0.0316 -0.0836 0.0169</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="add_long_r-P2"> + <location> 0.005 -0.2111 0.0234</location> + <body>femur_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>627</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.138</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.11</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.10471976</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="add_long_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="add_long_l-P1"> + <location> -0.0316 -0.0836 -0.0169</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="add_long_l-P2"> + <location> 0.005 -0.2111 -0.0234</location> + <body>femur_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>627</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.138</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.11</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.10471976</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="tfl_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="tfl_r-P1"> + <location> -0.0311 0.0214 0.1241</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="tfl_r-P2"> + <location> 0.0294 -0.0995 0.0597</location> + <body>femur_r</body> + </PathPoint> + <PathPoint name="tfl_r-P3"> + <location> 0.0054 -0.4049 0.0357</location> + <body>femur_r</body> + </PathPoint> + <PathPoint name="tfl_r-P4"> + <location> 0.006 -0.0487 0.0297</location> + <body>tibia_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>233</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.095</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.425</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.05235988</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="tfl_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="tfl_l-P1"> + <location> -0.0311 0.0214 -0.1241</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="tfl_l-P2"> + <location> 0.0294 -0.0995 -0.0597</location> + <body>femur_l</body> + </PathPoint> + <PathPoint name="tfl_l-P3"> + <location> 0.0054 -0.4049 -0.0357</location> + <body>femur_l</body> + </PathPoint> + <PathPoint name="tfl_l-P4"> + <location> 0.006 -0.0487 -0.0297</location> + <body>tibia_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>233</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.095</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.425</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.05235988</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="glut_max1_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="glut_max1_r-P1"> + <location> -0.1195 0.0612 0.07</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max1_r-P2"> + <location> -0.1291 0.0012 0.0886</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max1_r-P3"> + <location> -0.0457 -0.0248 0.0392</location> + <body>femur_r</body> + </PathPoint> + <PathPoint name="glut_max1_r-P4"> + <location> -0.0277 -0.0566 0.047</location> + <body>femur_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>573</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.142</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.125</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="glut_max1_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="glut_max1_l-P1"> + <location> -0.1195 0.0612 -0.07</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max1_l-P2"> + <location> -0.1291 0.0012 -0.0886</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max1_l-P3"> + <location> -0.0457 -0.0248 -0.0392</location> + <body>femur_l</body> + </PathPoint> + <PathPoint name="glut_max1_l-P4"> + <location> -0.0277 -0.0566 -0.047</location> + <body>femur_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>573</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.142</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.125</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="glut_max2_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="glut_max2_r-P1"> + <location> -0.1349 0.0176 0.0563</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max2_r-P2"> + <location> -0.1376 -0.052 0.0914</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max2_r-P3"> + <location> -0.0426 -0.053 0.0293</location> + <body>femur_r</body> + </PathPoint> + <PathPoint name="glut_max2_r-P4"> + <location> -0.0156 -0.1016 0.0419</location> + <body>femur_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>819</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.147</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.127</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="glut_max2_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="glut_max2_l-P1"> + <location> -0.1349 0.0176 -0.0563</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max2_l-P2"> + <location> -0.1376 -0.052 -0.0914</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max2_l-P3"> + <location> -0.0426 -0.053 -0.0293</location> + <body>femur_l</body> + </PathPoint> + <PathPoint name="glut_max2_l-P4"> + <location> -0.0156 -0.1016 -0.0419</location> + <body>femur_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>819</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.147</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.127</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="glut_max3_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="glut_max3_r-P1"> + <location> -0.1556 -0.0314 0.0058</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max3_r-P2"> + <location> -0.1529 -0.1052 0.0403</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max3_r-P3"> + <location> -0.0299 -0.1041 0.0135</location> + <body>femur_r</body> + </PathPoint> + <PathPoint name="glut_max3_r-P4"> + <location> -0.006 -0.1419 0.0411</location> + <body>femur_r</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>552</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.144</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.145</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="glut_max3_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="glut_max3_l-P1"> + <location> -0.1556 -0.0314 -0.0058</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max3_l-P2"> + <location> -0.1529 -0.1052 -0.0403</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="glut_max3_l-P3"> + <location> -0.0299 -0.1041 -0.0135</location> + <body>femur_l</body> + </PathPoint> + <PathPoint name="glut_max3_l-P4"> + <location> -0.006 -0.1419 -0.0411</location> + <body>femur_l</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>552</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.144</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.145</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0.08726646</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="ercspn_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="ercspn_r-P1"> + <location> -0.14 0.0439 0.0436</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="ercspn_r-P2"> + <location> -0.055 0.11 0.0241</location> + <body>torso</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>2500</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.12</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.03</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="ercspn_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="ercspn_l-P1"> + <location> -0.14 0.0439 -0.0436</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="ercspn_l-P2"> + <location> -0.055 0.11 -0.0241</location> + <body>torso</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>2500</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.12</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.03</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="extobl_r"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="extobl_r-P1"> + <location> -0.03 -0.0636 0.01</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="extobl_r-P2"> + <location> 0.065 0.11 0.11</location> + <body>torso</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>900</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.12</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.14</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + <Thelen2003Muscle name="extobl_l"> + <!--Flag indicating whether the force is disabled or not. Disabled means that the force is not active in subsequent dynamics realizations.--> + <isDisabled>false</isDisabled> + <!--Minimum allowed value for control signal. Used primarily when solving for control values.--> + <min_control>0</min_control> + <!--Maximum allowed value for control signal. Used primarily when solving for control values.--> + <max_control>1</max_control> + <!--The set of points defining the path of the muscle.--> + <GeometryPath> + <PathPointSet> + <objects> + <PathPoint name="extobl_l-P1"> + <location> -0.03 -0.0636 -0.01</location> + <body>pelvis</body> + </PathPoint> + <PathPoint name="extobl_l-P2"> + <location> 0.065 0.11 -0.11</location> + <body>torso</body> + </PathPoint> + </objects> + <groups /> + </PathPointSet> + <VisibleObject> + <!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj--> + <GeometrySet> + <objects /> + <groups /> + </GeometrySet> + <!--Three scale factors for display purposes: scaleX scaleY scaleZ--> + <scale_factors> 1 1 1</scale_factors> + <!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz--> + <transform> -0 0 -0 0 0 0</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> + <objects /> + <groups /> + </PathWrapSet> + </GeometryPath> + <!--The maximum force this actuator can produce.--> + <optimal_force>1</optimal_force> + <!--Maximum isometric force that the fibers can generate--> + <max_isometric_force>900</max_isometric_force> + <!--Optimal length of the muscle fibers--> + <optimal_fiber_length>0.12</optimal_fiber_length> + <!--Resting length of the tendon--> + <tendon_slack_length>0.14</tendon_slack_length> + <!--Angle between tendon and fibers at optimal fiber length expressed in radians--> + <pennation_angle_at_optimal>0</pennation_angle_at_optimal> + <!--Maximum contraction velocity of the fibers, in optimal fiberlengths/second--> + <max_contraction_velocity>10</max_contraction_velocity> + <!--time constant for ramping up muscle activation--> + <activation_time_constant>0.01</activation_time_constant> + <!--time constant for ramping down of muscle activation--> + <deactivation_time_constant>0.04</deactivation_time_constant> + <!--tendon strain at maximum isometric muscle force--> + <FmaxTendonStrain>0.033</FmaxTendonStrain> + <!--passive muscle strain at maximum isometric muscle force--> + <FmaxMuscleStrain>0.6</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.3</Af> + <!--maximum normalized lengthening force--> + <Flen>1.8</Flen> + </Thelen2003Muscle> + </objects> + </ForceSet> + <!--Markers in the model.--> + <MarkerSet> + <objects /> + <groups /> + </MarkerSet> + <!--ContactGeometries in the model.--> + <ContactGeometrySet> + <objects /> + <groups /> + </ContactGeometrySet> + <!--Controllers in the model.--> + <ControllerSet name="Controllers"> + <objects /> + <groups /> + </ControllerSet> + <!--Additional components in the model.--> + <ComponentSet name="MiscComponents"> + <objects /> + <groups /> + </ComponentSet> + </Model> +</OpenSimDocument> |