/***********************************************************************
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