10/27/2005Advanced biomechanical modeling and optimization http://www.ime.aau.dk/~jr/lecturenotes.htm Overview of the 5 lectures 1. Basic mechanics and Inverse dynamics 2. ”Serious” computational biomechanics - AnyBody 3. Muscle models 4. Solid mechanics 5. FEM 1 10/27/2005 Assumptions and limitations • With AnyBody one can only model skilled movements – Crashes, slips, falls, etc cannot be modeled. • Rigid segments – Explosive movements cannot be modelled due to wobbling masses. • No activation dynamics in muscle model User Interface Demo Analysis of a bicycle model 2 10/27/2005 Models are written in AnyScript • Object-oriented • Declarative • Syntax similar to Java or C++ • Predefined classes • Tutorials and reference available Why a Scripting Language? • No hidden data – the script is the model • Modeling task too abstract to be encapsulated in a GUI • Compact text-format models • Easy exchange of models • Allows for models to be scrutinized 3 10/27/2005 Model Objects • Describe model elements such as bones, muscles and joints. • When an object is declared, it is present in the model – no programming necessary. • Objects have properties – Required – Optional – Denied access Type Name AnyRevoluteJoint Shoulder = { Properties Axis = z; AnyRefNode &GroundNode = ..GlobalRef.Shoulder; AnyRefNode &UpperArmNode = ..Segs.UpperArm.ShoulderNode; }; // Shoulder joint Classes are derived from each other • All classes inherit properties from simple base classes • Typically a child class has all the properties of its parent and then some more • When having to refer to a class you can also refer to one of its children. • Class names tend to reflect the kinship. AnyKinMeasure AnyKinMeasureOrg AnyKinEq AnyJoint AnyKinEqDriver AnyStdJoint AnyKinEqSimpleDriver AnySphericalJoint AnyKinEqInterPolDriver AnyRevoluteJoint 4 10/27/2005 Demo and exercise Bottom-up modeling • I demo the first steps • Afterwards you follow along and do the entire tutorial: – Getting started with AnyScript. • Further demo ”on the fly” • Notice: Real applications are rarely built bottom-up The Model Repository Building realistic models from existing body parts • Demo of some examples • Model repository structure • Integrating body parts directly • Body collections • Scaling 5 10/27/2005 Working with real human models • Human physiology is too complex to be modeled bottom-up every time • We need a library • The AnyScript Model Repository is a scientific undertaking to provide musculoskeletal models of the human body • www.anybody.aau.dk/repository Real model development Public domain model repository Modeled by the user Body parts Environment 6 10/27/2005 Demo: The standing model • All the body parts in one model • The environment is very simple: – A floor – Some external forces • Postures are controlled by joint angle drivers. Repository structure Repository BRep Aalborg Arm3D Spine Leg2D Leg3D BodyModels Scaling Toolbox Pisa Upper limb Aarhus SymmetricMandible1 ARep Aalborg Ulm Pisa Aarhus 7 10/27/2005 The BRep Branch • The BRep branch of the repository contains the different body parts (modular blocks) alone and in assemblies. • Assemblies can be found in the BodyModels directory. • Each directory in the BRep branch contains one file named <BodyPartName>.Root.any. This "root" file is the entry point of the particular body part, and it links to the necessary elements by means of include statements. If you desire to use this body part, it is the root file you must include in your application. The root file also provides a list of files used by the body part. • The BRep does not contain any drivers for the body parts. These are added in the application. Body parts in Brep have no drivers applied BRep Parts • The BRep contains a BodyModels directory with various collections of single body parts, for instance: – – – – – FullBodyModel SpineTwoArms SpineTwoLegs SpineNoMusclesTwoLegs SpineNoMusclesRightLeg Body part Application Body part Body model Body part Body model Body part Application Body part Application Application • • These models are normally included directly in the main file of the application. The models contain calibration studies and position dump studies, which can be controlled from the main file of the application without any changes to the BodyRepository files. 8 10/27/2005 BodyModel structure BodyModels: popular collections of body parts: FullBodyModel FullBodyRightArm SpineTwoArms SpineTwoLegs SpineRightArm TwoLegs These even come in various combinations with and without muscles and with different muscle models. It is much easier to use a BodyModel than to use the individual body parts in an application because the BodyModels contain much of the interface specifications that the user has to specify when using an individual body part. These models contain calibration studies and position dump studies, which can be controlled from the main file of the application without any changes to the BodyRepository files. BRep Aalborg Arm3D Spine Leg2D Leg3D BodyModels Using a body model Simply insert the BodyModel include file into your application. AnyFolder HumanModel = { #include "..\..\..\BRep\Aalborg\BodyModels\FullBodyModel\BodyModel_Mus3E.any“ }; 9 10/27/2005 Versions of body models Most of the body parts come in three versions, the difference being the muscle configuration. • A version with joint muscles for kinematics “traditional” inverse dyn. • A version with simple muscles for static and slow movements • A version with complex three-element muscles AnyFolder HumanModel = { //This model is only for kinematic analysis and should be used when playing around // with the kinematics of the model since leaving the muscles out, makes the model run much faster //#include "..\..\..\BRep\Aalborg\BodyModels\FullBodyModel\BodyModel_NoMuscles.any" //This model uses the simple constant force muscles //#include "..\..\..\BRep\Aalborg\BodyModels\FullBodyModel\BodyModel.any" //This model uses the simple constant force muscles for shoulder-arm and spine but //the 3-element hill type model for //the legs. Remember to calibrate the legs before //running the inverse analysis. #include "..\..\..\BRep\Aalborg\BodyModels\FullBodyModel\BodyModel_Mus3E.any“ }; ARep Branch Repository 5 BRep Aalborg Arm3D Spine Leg2D Leg3D BodyModels Scaling Toolbox Pisa Upper limb Aarhus SymmetricMandible1 ARep Aalborg Ulm Pisa Aarhus 10 10/27/2005 Repository structure ARep ARep stands for "Application Repository", and it contains the various devices, environments and working situations you may want to hook the body up to. Body parts in BRep Working situations in ARep This means that the ARep branch is where you can find the main files of models you can analyze. You will know them by their names: <ApplicationName>.main.any ARep Contents ArmCurl ARep BikeModelFullBody BikeSpring BikeModel2D BikeModel3D Egress Gait3D Gearstick Aalborg JumpingJack KneeLoad LawnMower PedalDemo Pushup SeatedHuman StandingModel StandingModelLift StandingModelCircumduction StandingModelMove WheelChair WheelTurn Slider crank Dumbbell Symmetricmodel Ulm Pisa Aarhus 11 10/27/2005 All the applications are built using body parts, which are connected to the environment around the human model using joints and drivers . Structure of an ARep Model BodyRepository (BRep) Human model Spine model Leg model Arm and shoulder model Wall with hole for pin! Model environment connection (joints and drivers) Environment model Application Human + Environment Model Body Parts BRep Aalborg Arm3D Spine Leg2D Leg3D BodyModels Toolbox 12 10/27/2005 BRep: Shoulder arm model The arm block includes the shoulder region and comprises the following bones: clavicle, scapula, humerus, ulna, radius and a hand segment. The model is mainly based on data collected by the Dutch Shoulder Group and made available on the World-Wide Web. 118 muscles on each side. BRep : Shoulder arm model Kinematics Conoid ligament AC AC GH SC TS AI Spherical joint Spherical joint Spherical joint Scapula thoracic gliding plane, ellipsoid Scapula thoracic gliding plane, ellipsoid TS This gives totally 7 dof. in the shoulder girdle AI 13 10/27/2005 Shoulder arm model Kinematics FE PS Flexion/estension, revolute joint Pronation/supination, combination of joints with one DOF Universal joint Wrist Pronation/supination Flexion/extension Artificial ”glove” Six artificial rotational muscles, two on each axis, one in each direction. Three linear contraints. An artificial ”glove” has been attatched to the hand. The glove simulates a realistic grip strength of the hand when the environment is connected to the glove rathar than directly to the hand. The glove segment is attached to the hand as shown in the figure. Example file: Brep/Aalborg/Arm3D/glove.any 14 10/27/2005 Deltoid muscle wrapping Shoulder References R. Happee and F.C.T. Van der Helm, The control of shoulder muscles during goal directed movements, an inverse dynamic analysis, J. Biomechanics, vol. 28, no. 10, pp. 1179-1191, 1995 F.C.T. van der Helm and R. Veenbaas, Modeling the mechanical effect of muscles with large attachment sites: application to the shoulder mechanism,Journal of Biomechanics, vol. 24, no. 12, pp. 1151-1163, 1991 F.C.T. van der Helm, A finite element musculoskeletal model of the shoulder mechanism, Journal of Biomechanics, vol. 27, no. 5, pp. 551-569, 1994 F.C.T. van der Helm,Geometry parameters for musculoskeletal modeling of the shoulder system, Journal of biomechanics Vol. 25 no. 2, pp. 129-144, 1992 Kräfteatlas, Teil1, Datenauswertung statischer aktionskräfte, Schriftenreihe der Bundesanstalt für Arbeitsmedizin, Forschung Fb 09.004, Berlin 1994, ISBN 3-89429-524-4 Bjarne Laursen, Bente Rona Jensen, Gunnar Németh, Gisela Sjøgaard: A model predicting individual shoulder muscle forces based on relationship between electromyographic and 3D external forces in static position. Journal of Biomechanics 31 (1998) 731–739 DirkJan (H.E.J.) Veeger, Bing Yu, Kai Nan An, Orientation of axes in the elbow and forearm for biomechanical modeling, Proceedings of the first conference of the ISG, 1997 H.E.J Veeger, Bing Yu, Kai Nan An, Orientation of axes in the elbow and forearm for biomechanical modeling. Proceedings of the First Conference of the ISG H.E.J. Veeger, Bing Yu, Kai-Nan An and R.H. Rozendal, Parameters for modeling the upper extremity, Journal of Biomechanics, Vol. 30, No. 6, pp. 647-652, 1997 H.E.J. Veeger, F.C.T. van der Helm, L.H.V. van der Woude, G.M. Pronk and R.H. Rozendal,Inertia and muscle contraction parameters for musculoskeletal modelling of the shoulder mechanism. Journal of Biomechanics, vol. 24, no. 7, pp. 615-629, 1991 15 10/27/2005 Spine model The spine model comprises sacrum, all lumbar vertebrae, a rigid thoracic section, and a total of 158 muscles Model developed by M. de Zee and L. Hansen Segments and joints • 7 rigid segments – Pelvis – 5 lumbar vertebrae – Thoracic part • Joints between vertebrae – 3 dof spherical joint – Centre of rotation based on Pearcy and Bogduk (1988) 16 10/27/2005 Muscles: multifidi • 19 fascicles on each side • Based on information by the group of Bogduk Muscles: erector spinae • 29 fascicles on each side • Based on information by the group of Bogduk pars thoracis divisions pars lumborum divisions 17 10/27/2005 Muscles: psoas major • 11 fascicles on each side • Insertion on the femur • Via point on the pelvis (iliopubic eminence) Muscles: quadratus lumborum • 5 fascicles on each side • Based on information by Stokes et al. (1999) 18 10/27/2005 Muscles: abdominal • • • • Rectus abdominis Obliquus externus Obliquus internus Transversus (not in picture) Example file: Brep/Aalborg/Spine/RectusAbodomisRight.any Kinematics Abduction adduction 19 10/27/2005 Kinematics Extension Rotation Segments in abdominal model Five disks each attached to a vertebra using a spherical joint Disk 1 Disk 2 Disk 3 Disk 4 Disk 5 Buckle segment 20 10/27/2005 Assumptions and facts • Only the transversus muscles can generate abdominal pressure • There are no out-of-plane forces on the disks • The linearization of the volume assumes that the volume can be idealized as a cylinder. • When the transversus muscle changes length the volume measure is affected by a changed radius Showcase This video shows a standing model doing three different tasks: 1. Flexion/extension 2. Lateral bend 3. Axial twist Please notice the motion of the five individual disks and the changes of the muscle tone. 21 10/27/2005 Spine rhythm A Spine rhythm has been implemented. The rhythm caculates the individual joint rotations as a function of the 3D angle between Pelvis and Thorax. The rhythm removes the necessity for imposing the movement on each individual vertebra. Example file: ARep/Aalborg/BikeModelFullbody/JointsAndDrivers.any Spine rhythm video 22 10/27/2005 Spine References Andersson,E., Oddsson,L., Grundstrom,H.,Thorstensson,A., The role of the psoas and iliacus muscles for stability and movement of the lumbar spine, pelvis and hip, Scand. J. Med. Sci. Sports,5 (1995) 10-16. Bogduk,N., Clinical anatomy of the lumbar spine and sacrum, Churchill Livingstone, Edinburgh, 1997. Bogduk,N., Macintosh,J.E., Pearcy,M.J., A universal model of the lumbar back muscles in the upright position, Spine, 17 (1992) 897-913. Bogduk,N., Pearcy,M.J., Hadfield,G., Anatomy and biomechanics of psoas major, Clin. Biomech., 7 (1992) 109-119. Daggfeldt,K., Thorstensson,A., The role of intraabdominal pressure in spinal unloading, J. Biomech., 30 (1997) 11491155. Daggfeldt,K., Thorstensson,A., The mechanics of back-extensor torque production about the lumbar spine, J. Biomech., 36 (2003) 815-825. Heylings,D.J.A., Supraspinous and interspinous ligaments of the human lumbar spine, J. Anat., 125 (1978) 127-131. Hodges,P.W., Cresswell,A.G., Daggfeldt,K., Thorstensson,A., In vivo measurement of the effect of intra-abdominal pressure on the human spine, J. Biomech., 34 (2001) 347-353. Macintosh,J.E., Bogduk,N., The biomechanics of the lumbar multifidus, Clin. Biomech., 1 (1986) 205-213. Macintosh,J.E., Bogduk,N., 1987 Volvo award in basic science. The morphology of the lumbar erector spinae, Spine, 12 (1987) 658-668. Spine References Macintosh,J.E., Bogduk,N., The attachments of the lumbar erector spinae, Spine, 16 (1991) 783-792. Macintosh,J.E., Bogduk,N., Munro,R.R., The morphology of the human lumbar multifidus, Clin. Biomech., 1 (1986) 196-204. McGill,S.M., Norman,R.W., Effects of an anatomically detailed erector spinae model on L4/L5 disc compression and shear, J. Biomech., 20 (1987) 591-600. Pearcy,M.J., Bogduk,N., Instantaneous axes of rotation of the lumbar intervertebral joints, Spine, 13 (1988) 1033-1041. Penning,L., Psoas muscle and lumbar spine stability: a concept uniting existing controversies. Critical review and hypothesis, Eur. Spine J., 9 (2000) 577-585. Prestar,F.J., Putz,R., Das Ligamentum longitudinale posterius - morphologie und Funktion, Morphol. Med., 2 (1982) 181189. Prilutsky,B.I., Zatsiorsky,V.M., Optimizationbased models of muscle coordination, Exerc. Sport Sci. Rev., 30 (2002) 32-38. Rasmussen,J., Damsgaard,M., Voigt,M., Muscle recruitment by the min/max criterion – a comparative numerical study, J. Biomech., 34 (2001) 409-415. Stokes,I.A., Gardner-Morse,M., Lumbar spine maximum efforts and muscle recruitment patterns predicted by a model with multijoint muscles and joints with stiffness, J. Biomech., 28 (1995) 173-186. Stokes,I.A., Gardner-Morse,M., Quantitative anatomy of the lumbar musculature, J. Biomech., 32 (1999) 311-316. 23 10/27/2005 Leg model The leg model comprises the following bones: pelvis, thigh, shank and foot The hip joint is modeled as a spherical joint, while the knee and ankle are modeled as hinge joints. The leg model has 35 muscle elements. Thanks to Mark Thompson, Lund University Hospital, for his help on developing the lower extremity model. Leg model A couple of muscles with broad insertions (like the m. gluteus maximus) are divided into multiple individual muscle units to represent the real geometry and the mechanical actions of the muscle. The parameters of these muscles are mainly based on the data published by Delp and Maganaris 24 10/27/2005 Leg References S. Delp, Parameters for the lower limb, http://isb.ri.ccf.org/data/delp Maganaris, C. N. In vivo measurement-based estimations of the moment arm in the human tibialis anterior muscle-tendon unit. Journal of Biomechanics, Vol. 33, pp. 375-379, 2000 Dostal, W. F. and J. G. Andrews. A three-dimensional biomechanical model of hip musculature. Journal of Biomechanics, Vol. 14, pp. 803-812, 1981. Herzog, W. and L. J. Read. Lines of action and moment arms of the major force-carrying structures crossing the human knee joint. Journal of Anatomy. Vol. 182:, pp. 213-230, 1993. Hintermann, B., B. M. Nigg, and C. Sommer. Foot movement and tendon excursion: an in vitro study. Foot & Ankle International, Vol. 15, pp. 386-395, 1994 Mandible model The model is developed by Mark de Zee Department of Orthodontics School of Dentistry Faculty of Health Sciences University of Aarhus Denmark 25 10/27/2005 The muscles • Superficial masseter • Deep anterior masseter • Deep posterior masseter • Anterior temporalis • Posterior temporalis • Medial Pterygoid • Superior lateral pterygoid • Inferior lateral pterygoid • Anterior digastric • Geniohyoid • Anterior mylohyoid • Posterior mylohyoid (Koolstra and Van Eijden, J. Biomech. in press) Temporo-mandibular joint • Mandibular fossa modelled as a planar constraint • 3 rotations plus translation in specified plane is possible (5 DoF) • Only positive joint reaction forces (unilateral constraint) 26 10/27/2005 Application repository ARep/Aalborg This slides gives an overview of the applications in the ARep Aalborg directory branch. ArmCurl BikeModelFullBody BikeSpring BikeModel2D BikeModel3D Egress Gait3D Gearstick JumpingJack KneeLoad LawnMover PedalDemo Pushup SeatedHuman StandingModel StandingModelLift StandingModelCircumduction StandingModelMove WheelChair WheelTurn ARep Aalborg New applications are constantly being added. Standing model The human model is made using the body collection directory ”BRep/BodyModels/FullBodyModel” The main file of the model is : ARep/Aalborg/StandingModel/StandingModel.main .any What can the model be used for? • This is a good starting point for applications using full body models, since the posture of the model is controlled through a mannequin file. 27 10/27/2005 Assignment 1. 2. 3. 4. 5. 6. Load the Standing model Use the NoMuscles version of the body model Specify a posture of your own choice in the Mannequin.any file. Apply loads of your own choice in the Mannequin .any file Run the analysis and study the muscle forces. Let’s consider applications relevant to your projects. 1. 2. Hand cycling Gait 28