version 4 // File extracted from Models/leg39_4000.osim //Publication : Notes: 2D, 3 DOF leg model created by D.G. Thelen, Univ. of Wisconsin-Madison, and Jeff Reinbolt, Ajay Seth, Frank C. Anderson, and Scott L. Delp, Stanford University. Lower extremity joint defintions based on Delp et al. (1990). Planar knee model of Yamaguchi and Zajac (1989). Number of muscles was reduced by Reinbolt and Anderson to improve simulation speed for demonstrations and is not intended to be used in research. 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. //Credit : 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., Reinbolt J.A. //Force units : N //Length units : meters // Biomod not include all Osim features as the optimisation is performed on a third part software. // The original file contained some of these features, corresponding warnings are shown in the end of the file. gravity 0 -9.8066499999999994 0 // SEGMENT DEFINITION // Information about ground segment //True segment where are applied inertial values. // Segment segment ground parent base RTinMatrix 0 RT 0 0 0 xyz 0 0 0 endsegment // Markers // Information about pelvis segment // Segment segment pelvis_parent_offset parent ground RTinMatrix 0 RT 0 0 0 xyz 0 1.1000000000000001 0 endsegment // Segments to define transformation axis. // Segment segment pelvis_translation parent pelvis_parent_offset RTinMatrix 1 RT 1.0 0.0 0.0 0 0.0 1.0 0.0 0 0.0 0.0 1.0 0 0 0 0 1 translations xyz ranges // -1 1 // -1 1 // -1 1 endsegment // Rotation transform was initially an orthogonal basis // Segment segment pelvis_rotation_transform parent pelvis_translation RTinMatrix 1 RT 0.0 0.0 1.0 0 0.0 1.0 0.0 0 1.0 0.0 0.0 0 0 0 0 1 ranges -1.5707963300000001 1.5707963300000001 None None endsegment // Segment to cancel transformation bases effect. // Segment segment pelvis_reset_axis parent pelvis_rotation_transform RTinMatrix 1 RT 0.0 0.0 1.0 0 0.0 1.0 0.0 0 1.0 0.0 0.0 0 0 0 0 1 endsegment // Segment segment pelvis_geom_2 parent pelvis_reset_axis RTinMatrix 0 RT -0.0 0.0 -0.0 xyz -0.0 -0.0 -0.0 meshfile Geometry/pelvis.vtp meshcolor 1 1 1 meshscale 1.04599 1.04599 1.04599 endsegment // Segment segment pelvis_geom_3 parent pelvis_geom_2 RTinMatrix 0 RT 0 0 0 xyz 0 0 0 meshfile Geometry/l_pelvis.vtp meshcolor 1 1 1 meshscale 1.04599 1.04599 1.04599 endsegment //True segment where are applied inertial values. // Segment segment pelvis parent pelvis_geom_3 RTinMatrix 0 RT 0 0 0 xyz 0 0 0 mass 10.75379227 inertia 0.1027 0 0 0 0.087015499999999996 0 0 0 0.057843899999999997 com -0.073951199999999995 0 0 meshfile Geometry/sacrum.vtp meshcolor 1 1 1 meshscale 1.04599 1.04599 1.04599 endsegment // Markers marker R.ASIS parent pelvis position 0.0020136400000000001 -0.0015092700000000001 0.12976399999999999 endmarker marker L.ASIS parent pelvis position 0.0020136400000000001 -0.0015092700000000001 -0.13237599999999999 endmarker marker V.Sacral parent pelvis position -0.196272 -0.0015098799999999999 0.0102176 endmarker // Information about femur_r segment // Segment segment femur_r_parent_offset parent pelvis RTinMatrix 0 RT 0 0 0 xyz -0.073951199999999995 -0.069139699999999998 0.087339799999999995 endsegment // Segments to define transformation axis. // Segment segment femur_r_translation parent femur_r_parent_offset RTinMatrix 1 RT 1.0 0.0 0.0 0 0.0 1.0 0.0 0 0.0 0.0 1.0 0 0 0 0 1 endsegment // Rotation transform was initially an orthogonal basis // Segment segment femur_r_rotation_transform parent femur_r_translation RTinMatrix 1 RT 0.0 0.0 1.0 0 0.0 1.0 0.0 0 1.0 0.0 0.0 0 0 0 0 1 rotations x ranges -2.0943950999999998 2.0943950999999998 None None endsegment // Segment to cancel transformation bases effect. // Segment segment femur_r_reset_axis parent femur_r_rotation_transform RTinMatrix 1 RT 0.0 0.0 1.0 0 0.0 1.0 0.0 0 1.0 0.0 0.0 0 0 0 0 1 endsegment //True segment where are applied inertial values. // Segment segment femur_r parent femur_r_reset_axis RTinMatrix 0 RT -0.0 0.0 -0.0 xyz -0.0 -0.0 -0.0 mass 8.5492663199999992 inertia 0.16956399999999999 0 0 0 0.0444489 0 0 0 0.178809 com 0 -0.199543 0 meshfile Geometry/femur_r.vtp meshcolor 1 1 1 meshscale 1.17378 1.17378 1.17378 endsegment // Markers marker R.Thigh.Upper parent femur_r position 0.0024619400000000001 -0.27499800000000002 0.084413500000000002 endmarker marker R.Thigh.Front parent femur_r position 0.061131600000000001 -0.33433400000000002 -0.011653200000000001 endmarker marker R.Thigh.Rear parent femur_r position 0.0083080399999999992 -0.396231 0.076456200000000002 endmarker // Information about tibia_r segment // Segment segment tibia_r_parent_offset parent femur_r RTinMatrix 0 RT 0 0 0 xyz 0 0 0 endsegment // Segments to define transformation axis. // Segment segment tibia_r_translation parent tibia_r_parent_offset RTinMatrix 1 RT 1.0 0.0 0.0 0 0.0 1.0 0.0 0 0.0 0.0 1.0 0 0 0 0 1 translations xy ranges // -5 5 // -1 2 None endsegment // Rotation transform was initially an orthogonal basis // Segment segment tibia_r_rotation_transform parent tibia_r_translation RTinMatrix 1 RT 0.0 0.0 1.0 0 0.0 1.0 0.0 0 1.0 0.0 0.0 0 0 0 0 1 rotations x ranges -2.0943950999999998 0.17453293 None None endsegment // Segment to cancel transformation bases effect. // Segment segment tibia_r_reset_axis parent tibia_r_rotation_transform RTinMatrix 1 RT 0.0 0.0 1.0 0 0.0 1.0 0.0 0 1.0 0.0 0.0 0 0 0 0 1 endsegment // Segment segment tibia_r_geom_2 parent tibia_r_reset_axis RTinMatrix 0 RT -0.0 0.0 -0.0 xyz -0.0 -0.0 -0.0 meshfile Geometry/fibula_r.vtp meshcolor 1 1 1 meshscale 1.1237299999999999 1.1237299999999999 1.1237299999999999 endsegment //True segment where are applied inertial values. // Segment segment tibia_r parent tibia_r_geom_2 RTinMatrix 0 RT 0 0 0 xyz 0 0 0 mass 4.6740424300000001 inertia 0.080235100000000004 0 0 0 0.0081190299999999993 0 0 0 0.081349500000000005 com 0 -0.20979999999999999 0 meshfile Geometry/tibia_r.vtp meshcolor 1 1 1 meshscale 1.1237299999999999 1.1237299999999999 1.1237299999999999 endsegment // Markers marker R.Shank.Upper parent tibia_r position -0.032838800000000001 -0.088770000000000002 0.071786199999999994 endmarker marker R.Shank.Front parent tibia_r position 0.040045699999999997 -0.12722800000000001 0.0159831 endmarker marker R.Shank.Rear parent tibia_r position -0.0190735 -0.17465700000000001 0.081359600000000004 endmarker // Information about patella_r segment // Segment segment patella_r_parent_offset parent tibia_r RTinMatrix 0 RT 0 0 0 xyz 0 0 0 endsegment // Segments to define transformation axis. // Segment segment patella_r_translation parent patella_r_parent_offset RTinMatrix 1 RT 1.0 0.0 0.0 0 0.0 1.0 0.0 0 0.0 0.0 1.0 0 0 0 0 1 translations xy ranges // -5 5 // -5 5 None endsegment // Rotation transform was initially an orthogonal basis // Segment segment patella_r_rotation_transform parent patella_r_translation RTinMatrix 1 RT 0.0 0.0 1.0 0 0.0 1.0 0.0 0 1.0 0.0 0.0 0 0 0 0 1 rotations x ranges // -2.0939999999999999 0.17499999999999999 None None endsegment // Segment to cancel transformation bases effect. // Segment segment patella_r_reset_axis parent patella_r_rotation_transform RTinMatrix 1 RT 0.0 0.0 1.0 0 0.0 1.0 0.0 0 1.0 0.0 0.0 0 0 0 0 1 endsegment //True segment where are applied inertial values. // Segment segment patella_r parent patella_r_reset_axis RTinMatrix 0 RT -0.0 0.0 -0.0 xyz -0.0 -0.0 -0.0 mass 0.091913759999999997 inertia 0.0011029600000000001 0 0 0 0.0011029600000000001 0 0 0 0.0011029600000000001 com 0 0 0 meshfile Geometry/pat.vtp meshcolor 1 1 1 meshscale 1.09544 1.09544 1.09544 endsegment // Markers // Information about talus_r segment // Segment segment talus_r_parent_offset parent tibia_r RTinMatrix 0 RT 0 0 0 xyz 0 -0.48320299999999999 0 endsegment // Segments to define transformation axis. // Segment segment talus_r_translation parent talus_r_parent_offset RTinMatrix 1 RT 1.0 0.0 0.0 0 0.0 1.0 0.0 0 0.0 0.0 1.0 0 0 0 0 1 endsegment // Segment segment talus_r_ankle_angle_r parent talus_r_translation RTinMatrix 1 RT -0.10501354762152112 0.37201915749986947 -0.9222656348737222 0 -0.174022450344235 0.9062095474954158 0.3853575518973801 0 0.9791263154425637 0.20096268927649502 -0.03042459410786179 0 0 0 0 1 rotations x ranges // -1.571 1.571 endsegment // Segment segment talus_r_rotation_1 parent talus_r_ankle_angle_r RTinMatrix 1 RT 0.45035637094547837 -0.17402245034423505 0.875725599674354 0 0.42124597018323845 0.9062095474954158 -0.03655254618403408 0 -0.7872299357577816 0.38535755189738014 0.48142349905510123 0 0 0 0 1 ranges // -1.571 1.571 endsegment // Segment segment talus_r_rotation_2 parent talus_r_rotation_1 RTinMatrix 1 RT -0.2740927705094574 0.3660983760644331 0.8892947386538586 0 0.8005045672520213 0.5993266536778203 -2.9736957569043235e-17 0 -0.5329780398507088 0.7118844999256067 -0.4573345250498427 0 0 0 0 1 ranges // -1.571 1.571 endsegment // Segment to cancel transformation bases effect. // Segment segment talus_r_reset_axis parent talus_r_rotation_2 RTinMatrix 1 RT 0.06391261690865296 0.8005045672520215 -0.5959090662244886 0 -0.08536637145443696 0.5993266536778203 0.7959397871799406 0 0.9942976214517418 -4.329621229423189e-17 0.10664070505866485 0 0 0 0 1 endsegment //True segment where are applied inertial values. // Segment segment talus_r parent talus_r_reset_axis RTinMatrix 0 RT -0.0 0.0 -0.0 xyz -0.0 -0.0 -0.0 mass 0.12606858000000001 inertia 0.0020216600000000002 0 0 0 0.0020216600000000002 0 0 0 0.0020216600000000002 com 0 0 0 meshfile Geometry/talus.vtp meshcolor 1 1 1 meshscale 1.26634 1.26634 1.26634 endsegment // Markers // Information about calcn_r segment // Segment segment calcn_r_parent_offset parent talus_r RTinMatrix 0 RT 0 0 0 xyz -0.062050800000000003 -0.053186400000000002 0.010130699999999999 endsegment // Segments to define transformation axis. // Segment segment calcn_r_translation parent calcn_r_parent_offset RTinMatrix 1 RT 1.0 0.0 0.0 0 0.0 1.0 0.0 0 0.0 0.0 1.0 0 0 0 0 1 endsegment // Segment segment calcn_r_subtalar_angle_r parent calcn_r_translation RTinMatrix 1 RT 0.7869862278615177 -0.5193515342450274 0.33305654329803464 0 0.6049894127779138 0.755470648121655 -0.25149932455830065 0 -0.12099788255558276 0.39942218729557627 0.908747175353565 0 0 0 0 1 //rotations x ranges //.571 1.571 endsegment // Segment segment calcn_r_rotation_1 parent calcn_r_subtalar_angle_r RTinMatrix 1 RT 0.2532499781065884 0.6049894127779137 -0.7548855933289808 0 0.116886904632738 0.7554706481216552 0.6446716616635351 0 0.9603134384743295 -0.25149932455830065 0.12060758530179132 0 0 0 0 1 ranges -1.571 1.571 endsegment // Segment segment calcn_r_rotation_2 parent calcn_r_rotation_1 RTinMatrix 1 RT -0.3103476817319212 0.06961635698480867 -0.9480706088070582 0 0.21887811023201306 0.9757522087401406 4.414213742763253e-17 0 0.9250819905850969 -0.20751190322220323 -0.31805993258537635 0 0 0 0 1 ranges -1.571 1.571 endsegment // Segment to cancel transformation bases effect. // Segment segment calcn_r_reset_axis parent calcn_r_rotation_2 RTinMatrix 1 RT -0.9644200295605765 0.21887811023201323 0.1482780477469247 0 0.21633610628734734 0.9757522087401405 -0.03326133273287034 0 -0.15196281024910663 -6.022807437531521e-17 -0.9883862121160906 0 0 0 0 1 endsegment //True segment where are applied inertial values. // Segment segment calcn_r parent calcn_r_reset_axis RTinMatrix 0 RT -0.0 0.0 -0.0 xyz -0.0 -0.0 -0.0 mass 1.07224816 inertia 0.00090461999999999997 0 0 0 0.0036184799999999999 0 0 0 0.0036184799999999999 com 0.10269300000000001 0.030807899999999999 0 meshfile Geometry/foot.vtp meshcolor 1 1 1 meshscale 1.0269299999999999 1.0269299999999999 1.0269299999999999 endsegment // Markers marker R.Heel parent calcn_r position -0.0153835 0.057640999999999998 0.0028005 endmarker marker R.Midfoot.Lat parent calcn_r position 0.12735399999999999 0.036138999999999998 0.061919299999999997 endmarker marker R.Toe.Tip parent calcn_r position 0.27308500000000002 0.021689199999999999 -0.019198099999999999 endmarker // Information about toes_r segment // Segment segment toes_r_parent_offset parent calcn_r RTinMatrix 0 RT 0 0 0 xyz 0.18382000000000001 -0.0020538599999999998 0.00102692 endsegment // Segments to define transformation axis. // Segment segment toes_r_translation parent toes_r_parent_offset RTinMatrix 1 RT 1.0 0.0 0.0 0 0.0 1.0 0.0 0 0.0 0.0 1.0 0 0 0 0 1 endsegment // Rotation transform was initially an orthogonal basis // Segment segment toes_r_rotation_transform parent toes_r_translation RTinMatrix 1 RT -0.581 0.0 0.814 0 0.0 1.0 -0.0 0 0.814 0.0 0.581 0 0 0 0 1 ranges -1.571 1.571 None None endsegment // Segment to cancel transformation bases effect. // Segment segment toes_r_reset_axis parent toes_r_rotation_transform RTinMatrix 1 RT -0.580908797318821 0.0 0.8138722220611365 0 0.0 1.0 0.0 0 0.8138722220611364 0.0 0.580908797318821 0 0 0 0 1 endsegment //True segment where are applied inertial values. // Segment segment toes_r parent toes_r_reset_axis RTinMatrix 0 RT -0.0 0.0 -0.0 xyz -0.0 -0.0 -0.0 mass 0.18614227999999999 inertia 0 0 0 0 0 0 0 0 0.00090461999999999997 com 0.035942500000000002 0.0061615699999999999 -0.0184847 meshfile Geometry/bofoot.vtp meshcolor 1 1 1 meshscale 1.0269299999999999 1.0269299999999999 1.0269299999999999 endsegment // Markers // MUSCLE DEFINIION // pelvis > tibia_r musclegroup pelvis_to_tibia_r OriginParent pelvis InsertionParent tibia_r endmusclegroup muscle bifemlh_r type hill statetype degroote musclegroup pelvis_to_tibia_r OriginPosition -0.13175200000000001 -0.10728699999999999 0.072633299999999998 InsertionPosition -0.026295200000000001 -0.0632659 0.038543899999999999 optimalLength 0.12823851 maximalForce 2594 tendonSlackLength 0.38353904 pennationAngle 0 maxVelocity 10 endmuscle viapoint bifemlh_r-P2 parent tibia_r muscle bifemlh_r musclegroup pelvis_to_tibia_r position -0.033824199999999999 -0.040454200000000003 0.033071299999999998 endviapoint // femur_r > tibia_r musclegroup femur_r_to_tibia_r OriginParent femur_r InsertionParent tibia_r endmusclegroup muscle bifemsh_r type hill statetype degroote musclegroup femur_r_to_tibia_r OriginPosition 0.0058688999999999998 -0.24778500000000001 0.027466500000000001 InsertionPosition -0.026295200000000001 -0.0632659 0.038543899999999999 optimalLength 0.20083733000000001 maximalForce 960 tendonSlackLength 0.10332094 pennationAngle 0.40142572999999998 maxVelocity 10 endmuscle viapoint bifemsh_r-P2 parent tibia_r muscle bifemsh_r musclegroup femur_r_to_tibia_r position -0.033824199999999999 -0.040454200000000003 0.033071299999999998 endviapoint // pelvis > femur_r musclegroup pelvis_to_femur_r OriginParent pelvis InsertionParent femur_r endmusclegroup muscle glut_max2_r type hill statetype degroote musclegroup pelvis_to_femur_r OriginPosition -0.14110300000000001 0.018409399999999999 0.058888999999999997 InsertionPosition -0.018311000000000001 -0.119256 0.0491814 optimalLength 0.16291391 maximalForce 1944 tendonSlackLength 0.14074875000000001 pennationAngle 0 maxVelocity 10 endmuscle viapoint glut_max2_r-P2 parent pelvis muscle glut_max2_r musclegroup pelvis_to_femur_r position -0.143928 -0.054391299999999997 0.095603099999999996 endviapoint viapoint glut_max2_r-P3 parent femur_r muscle glut_max2_r musclegroup pelvis_to_femur_r position -0.050002999999999999 -0.062210300000000003 0.034391699999999997 endviapoint muscle psoas_r type hill statetype degroote musclegroup pelvis_to_femur_r OriginPosition -0.067675299999999994 0.092778899999999997 0.030228999999999999 InsertionPosition -0.022067099999999999 -0.070074700000000004 0.012207300000000001 optimalLength 0.10742815999999999 maximalForce 2342 tendonSlackLength 0.17188505000000001 pennationAngle 0.13962633999999999 maxVelocity 10 endmuscle viapoint psoas_r-P2 parent pelvis muscle psoas_r musclegroup pelvis_to_femur_r position -0.0248945 -0.059621199999999999 0.079390299999999997 endviapoint viapoint psoas_r-P4 parent femur_r muscle psoas_r musclegroup pelvis_to_femur_r position 0.0018780400000000001 -0.059510599999999997 0.00446036 endviapoint // pelvis > pelvis musclegroup pelvis_to_pelvis OriginParent pelvis InsertionParent pelvis endmusclegroup muscle rect_fem_r type hill statetype degroote musclegroup pelvis_to_pelvis OriginPosition -0.030856600000000001 -0.032530200000000002 0.10125099999999999 InsertionPosition -0.030856600000000001 -0.032530200000000002 0.10125099999999999 optimalLength 0.13287389999999999 maximalForce 1169 tendonSlackLength 0.36132376999999999 pennationAngle 0.087266460000000004 maxVelocity 10 endmuscle // femur_r > femur_r musclegroup femur_r_to_femur_r OriginParent femur_r InsertionParent femur_r endmusclegroup muscle vas_int_r type hill statetype degroote musclegroup femur_r_to_femur_r OriginPosition 0.034039600000000003 -0.22583500000000001 0.036387200000000001 InsertionPosition 0.039321599999999998 -0.244616 0.033452700000000002 optimalLength 0.12617328 maximalForce 4530 tendonSlackLength 0.13678598 pennationAngle 0.052359879999999998 maxVelocity 10 endmuscle // femur_r > calcn_r musclegroup femur_r_to_calcn_r OriginParent femur_r InsertionParent calcn_r endmusclegroup muscle med_gas_r type hill statetype degroote musclegroup femur_r_to_calcn_r OriginPosition -0.0223018 -0.46117799999999998 -0.027583799999999999 InsertionPosition 0 0.031834800000000003 -0.0054427199999999998 optimalLength 0.10311281 maximalForce 2241 tendonSlackLength 0.41245125999999999 pennationAngle 0.29670596999999999 maxVelocity 10 endmuscle // tibia_r > calcn_r musclegroup tibia_r_to_calcn_r OriginParent tibia_r InsertionParent calcn_r endmusclegroup muscle soleus_r type hill statetype degroote musclegroup tibia_r_to_calcn_r OriginPosition -0.00269695 -0.172268 0.0079784699999999997 InsertionPosition 0 0.031834800000000003 -0.0054427199999999998 optimalLength 0.092646999999999993 maximalForce 5137 tendonSlackLength 0.25477925000000001 pennationAngle 0.43633231 maxVelocity 10 endmuscle muscle tib_ant_r type hill statetype degroote musclegroup tibia_r_to_calcn_r OriginPosition 0.020114699999999999 -0.18249299999999999 0.012922899999999999 InsertionPosition 0.11974 0.018279299999999998 -0.031321300000000003 optimalLength 0.11005276999999999 maximalForce 1759 tendonSlackLength 0.25042618999999999 pennationAngle 0.087266460000000004 maxVelocity 10 endmuscle viapoint tib_ant_r-P2 parent tibia_r muscle tib_ant_r musclegroup tibia_r_to_calcn_r position 0.036970700000000002 -0.44398500000000002 -0.019890000000000001 endviapoint /*-------------- WARNINGS--------------- Some constraints were present in the original file. This feature is not implemented in biorbd yet so it will be ignored.*/