/*********************************************************************** JOINT INPUT FILE FOR USE WITH THE 7 SEGMENT KINEMATIC MODEL OF THE LOWER EXTREMITY CREATED BY SCOTT L. DELP This joint file specifies the four components (1) body segments, (2) generalized coordinates, (3) joints, and (4) kinematic functions of the lower-limb model. These four components are described below. (1) body segments - The bones that make up each body segment are listed. (2) generalized coordinates - Each generalized coordinate (gencoord) is defined. These define the ranges of motion for each degree-of-freedom (joint angle). (3) joints - Each joint is defined. Each translation and rotation is defined by a sum of constants and functions. For example, "tx 2 constant 1.0 function f2(gencoord)" means that tx (x-translation) is a sum of two components. The first is the constant, 1.0, and the second is function2 of gencoord. An example joint definition is shown here. beginjoint (FRAME1,FRAME2) /* Begins definition of joint between 2 frames. name funnyjoint /* Names joint connecting frame1 and frame2. order t r3 r1 r2 /* Specifies order of translation and rotations. tx 1 constant .07 /* Translations between the frames are all ty 1 constant .06 /* constants in this example. However, they tz 1 constant .08 /* could be functions of the gencoords. (e.g., knee) axis1 1.0 0.0 0.0 /* Defines the directions of the rotation axes. axis2 0.0 1.0 0.0 /* In this example they are the same as the X, Y, axis3 0.0 0.0 1.0 /* and Z-axes, but they need not be (e.g., ankle). r3 1 function f1(gencoord1)/* Rotation about axis 3 is a f(gencoord1). r2 1 function f2(gencoord2)/* Rotation about axis 2 is a f(gencoord2). r1 1 constant 0.0 /* Rotation about axis 1 is a constant = 0.0. endjoint (4) kinematic functions - The pairs of points that define each kinematic function are specified. These points, when interpolated by a natural cubic spline, define each of the functions that specify the kinematics of the joints. The first number in each pair is the independent variable (gencoord value). The second number is the value of the dependent variable (translation or rotation). LOCATION OF REFERENCE FRAMES The locations of the frames are as follows. PELVS: The pelvic reference frame is fixed at the midpoint of the line connecting the two ASIS. FEMUR: The femoral frame is fixed at the center of the femoral head TIBIA: The tibial segment is located at the mid point of the line between the medial and lateral femoral epicondyles (see note belowĘ). PATELLA: The patellar frame is located at the most distal point of the patella. TALUS: The talar frame is located at the midpoint of the line between the apices of the medial and lateral maleoli. CALCANEUS: The calcaneal frame is located at the most distal, inferior point on the posterior surface of the calcaneus. TOES: The toe frame is located at the base of the second metatarsal In the anatomical position, the X-axes point anteriorly, the Y-axes point superiorly, and the Z-axes point laterally. Also note that this muscle file must be used with a joint file that has the same reference segments. ĘThe coordinates of the tibial tuberosity in the tibia frame are t = (0.039, -0.082, 0.000). The origin of the tibia reference frame could be moved to the tibial tuberosity using t. To do this, t would need to be subtracted from all the muscle points in the tibia segment and from the vertices in tibia and fibula bone files. Also, the translations in the femur-tibia joint, the tibia-patella joint, and the tibia-talus joint would need to be transformed. JOURNAL ARTICLE REFERENCES The model of the lower limb is defined as an input file for SIMM (Software for Interactive Musculoskeletal Modeling). An overview of this software is given in the following publication. Delp, S.L. and Loan, J.P.: A software system to develop and analyze models of musculoskeletal structures, Computers in Biology and Medicine, vol. 25, pp. 21-34, 1995. The details of the lower limb model are described in the follow 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. Delp, "Surgery Simulation: A computer graphics system to analyze and design musculoskeletal reconstructions of the lower extremity," Ph.D. Dissertation, Stanford University, 1990. Additional information on the model of the lower limb can be obtained by contacting Scott L. Delp, Sensory Motor Performance Program, Rehabilitation Institute of Chicago, Room 1406, 345 East Superior Street, Chicago, IL 60611, USA (delp@nwu.edu). Additional information on the musculoskeletal modeling software (SIMM) can be obtained by contacting J. Peter Loan, President, MusculoGraphics Inc., 1840 Oak Avenue, Evanston IL, 60201, USA (jloan@merle.acns.nwu.edu). ***********************************************************************/ /*********************************************************************** (1) BONE FILES IN EACH BODY SEGMENT *********************************************************************** beginsegment PELVIS name: pelvis files: 2 filenames: bones/sacrum bones/r_pelvis endsegment beginsegment FEMUR name: femur files: 1 filenames: bones/r_femur endsegment beginsegment TIBIA name: tibia files: 2 filenames: bones/r_tibia bones/r_fibula endsegment beginsegment PATEL name: patella files: 1 filenames: bones/r_pat endsegment beginsegment TALUS name: talus files: 1 filenames: bones/r_talus endsegment beginsegment CALCN name: foot files: 1 filenames: bones/r_foot endsegment beginsegment TOES name: toes files: 1 filenames: bones/r_bofoot endsegment /*********************************************************************** (2) GENERALIZED COORDINATES (degrees of freedom) ***********************************************************************/ begingencoord HIPflex /* 10 degrees extension to 120 degrees flexion */ range -10.0 120.0 hip_flex endgencoord begingencoord HIPadd /* 50 degrees abduction to 30 degrees adduction */ range -50.0 30.0 hip_add endgencoord begingencoord HIProt /* 20 degrees hip internal/external rotation */ range -20.0 20.0 hip_inrot endgencoord begingencoord KNEEang /* 90 degrees knee flexion */ range -90.0 0.0 knee_ang endgencoord begingencoord ANKLEang /* 40 degrees plantarflexion to 33 degrees dorsiflexion */ range -40 33.0 ankle_ang endgencoord begingencoord STang /* 20 degrees inversion/eversion (subtalar angle) */ range -20.0 20.0 subt_ang endgencoord begingencoord MTPang /* 30 degrees flex/ext. (metatarsophalangeal angle */ range -30.0 30.0 toe_ang endgencoord /*********************************************************************** (3) JOINT DEFINITIONS ***********************************************************************/ beginjoint (PELVS,FEMUR)/* defines joint between pelvis and femur */ name hip order t r3 r1 r2 /* translation, flexion, adduction, rotation */ tx 1 constant -.0707 /* from midpoint between ASIS to hip center */ ty 1 constant -.0661 /* meters */ tz 1 constant .0835 axis1 1.0 0.0 0.0 axis2 0.0 1.0 0.0 axis3 0.0 0.0 1.0 r3 1 function f1(HIPflex) r1 1 function f2(HIPadd) r2 1 function f3(HIProt) endjoint beginjoint (FEMUR,TIBIA) /* defines joint between femur and tibia */ name knee order t r3 r1 r2 /* translation before rotation */ tx 1 function f5(KNEEang) /* from hip center to origin of tibial frame */ ty 1 function f6(KNEEang) tz 1 constant 0.0 axis1 1.0 0.0 0.0 axis2 0.0 1.0 0.0 axis3 0.0 0.0 1.0 r3 1 function f4(KNEEang) r1 1 constant 0.0 r2 1 constant 0.0 endjoint beginjoint (TIBIA,PATEL) /* defines joint between tibia and patella */ name tp order t r3 r1 r2 /* translation before rotation */ tx 1 function f7(KNEEang) /* from origin of tibial frame to */ ty 1 function f8(KNEEang) /* distal point on patella */ tz 1 constant 0.0024 axis1 1.0 0.0 0.0 axis2 0.0 1.0 0.0 axis3 0.0 0.0 1.0 r3 1 function f9(KNEEang) /* rotation of the patella about its z-axis */ r1 1 constant 0.0 r2 1 constant 0.0 endjoint beginjoint (TIBIA,TALUS) /* defines joint between tibia and talus */ name ankle order t r3 r1 r2 /* translation before rotation */ tx 1 constant 0.0 /* from origin of tibial frame to ankle axis */ ty 1 constant -.43 tz 1 constant 0.0 axis1 1.0 0.0 0.0 axis2 0.0 1.0 0.0 axis3 -0.105 -0.174 0.979 /* ankle axis derived from Isman and Inman */ r3 1 function f10(ANKLEang) r1 1 constant 0.0 r2 1 constant 0.0 endjoint beginjoint (TALUS,CALCN) /* defines joint between talus and calcanus frames */ name subtalar order t r1 r2 r3 /* translation before rotation */ tx 1 constant -.04877 /* from ankle joint center to origin of */ ty 1 constant -.04195 /* calcaneal frame (taken from the iris) */ tz 1 constant .00792 axis1 0.781 0.600 -0.120 /* subtalar axis derived from Inman (1976) */ axis2 0.0 1.0 0.0 axis3 0.0 0.0 1.0 r1 1 function f11(STang) r2 1 constant 0.0 r3 1 constant 0.0 endjoint beginjoint (CALCN,TOES) /* defines joint between calcanus and toe frame */ name toe order t r1 r2 r3 /* translation before rotation */ tx 1 constant 0.1788 /* from calcaneal frame to base of second */ ty 1 constant -0.0020 /* metatarsal (taken from the iris) */ tz 1 constant 0.00108 axis1 0.581 0.000 -0.814 /* Inman (1976) values: 0.4695 0.0 -0.8829 */ axis2 0.0 1.0 0.0 axis3 0.0 0.0 1.0 r1 1 function f12(MTPang) r2 1 constant 0.0 r3 1 constant 0.0 endjoint /*********************************************************************** (4) KINEMATIC FUNCTIONS ***********************************************************************/ beginfunction f1 /* hip flexion (+) and extension (-) */ /* (hip flexion angle (radians), rotation about axis 3 (radians) */ (-5.0,-5.0) (5.0,5.0) endfunction beginfunction f2 /* hip addduction (+) and abduction (-) */ /* (hip adduction angle, rotation about axis 1) */ (-5.0,-5.0) (5.0,5.0) endfunction beginfunction f3 /* hip internal (+) and external rotation (-) */ /* (hip rotation angle, rotation about axis 2) */ (-5.0,-5.0) (5.0,5.0) endfunction beginfunction f4 /* 0 degrees is extension, neg. angles are flexion */ /* (knee flexion angle, rotation about axis 3) */ (-5.0,-5.0) (5.0,5.0) endfunction /*********************************************************************** FEMUR-TIBIA KINEMATICS TX and TY for femoral-tibial kinematics were determined by the following process. I fit an ellipse to the femoral condyles (semimajor axis = 3.54 cm, semiminor axis = 2.42cm). The tibial plateau was characterized by a line of length 5.5 cm. I then determined the translations that make the ellipse (femur) and the line (tibia) contact according to Nissel's data (1985) for tibial-femoral contact. ***********************************************************************/ /* tx for femoral-tibial joint */ beginfunction f5 /* range of motion: 120 deg flexion to 0 deg extension */ /* knee angle (radians), x-translation from femural to tibial frame (meters) */ (-2.09,-0.0032) (-1.74,0.00179) (-1.39,0.00411) (-1.04,0.00410) (-0.69,0.00212) (-0.35,-0.0010) (-0.17,-0.0031) (0.000,-0.00525) endfunction /* ty for femoral-tibial joint */ beginfunction f6 /* range of motion: 120 deg flexion to 0 deg extension */ /* knee angle (radians), y-translation from femural to tibial frame (meters)*/ (-2.09,-0.4226) (-1.22,-0.4082) (-0.52,-0.3990) (-0.35,-0.3976) (-0.17,-0.3966) (0.000,-0.3960) endfunction /*********************************************************************** TIBIA-PATELLA KINEMATICS TX and TY for tibial-patellar motion were determined by assuming that the patellar ligament is inextensible and has length 5.5cm. The patellar ligament angle was taken from Yamaguchi and Zajac (1989) because it fits experimental data (Nissel, 1985 and VanEijden, 1985) well. From patellar length and angle, tx and ty were computed. I subtracted 8mm from the tx values because the tibial tuberosity of my bone model is too large. Effectively, subtracting the 8mm reduces the size of the tuberosity. RZ was taken directly from VanEijden, 1985. I subtracted 5 degrees from rz values because my patella model was oriented with 5 degrees offset. I compared the display of the knee kinematics to xerograms of knee in four different positions. I also compared knee moment arms to experimental data. ***********************************************************************/ /* tx for tibial-patellar motion */ beginfunction f7 /* range of motion: 120 deg flexion to 0 deg extension */ /* knee angle (radians), x-translation from tibial to patellar frame (meters) */ (-2.09,0.0173) (-1.39,0.0324) (-1.04,0.0381) (-0.69,0.0430) (-0.35,0.0469) (-0.17,0.0484) (0.000,0.0496) endfunction /* ty for tibial-patellar motion */ beginfunction f8 /* range of motion: 120 deg flexion to 0 deg extension */ /* knee angle (radians), y-translation from tibial to patellar frame (meters)*/ (-2.09,-0.0219) (-1.57,-0.0202) (-1.39,-0.0200) (-1.04,-0.0204) (-0.69,-0.0211) (-0.35,-0.0219) (-0.17,-0.0223) (0.005,-0.0227) endfunction /* rz for tibial-patellar motion */ beginfunction f9 /* range of motion: 120 deg flexion to 0 deg extension */ /* knee angle (radians), z-rotation from tibial to patellar frame (radians) */ (-2.09,0.308) (-2.00,0.308) (-1.45,0.306) (-0.52,0.270) (0.027,-0.036) (0.170,-0.280) endfunction /* ankle motion */ beginfunction f10 /* ankle angle (rradians), rotation about axis 3 (radians) */ (-5.0,-5.0) (5.0,5.0) endfunction /* subtalar motion */ beginfunction f11 /* inversion angle, rotation about axis 1 */ (-5.0,-5.0) (5.0,5.0) endfunction /* metatarsophalangeal motion */ beginfunction f12 /* toe angle, rotation about axis 1 */ (-5.0,-5.0) (5.0,5.0) endfunction