USF Libraries
USF Digital Collections

Modeling upper body kinematics while using a transradial prosthesis

MISSING IMAGE

Material Information

Title:
Modeling upper body kinematics while using a transradial prosthesis
Physical Description:
Book
Language:
English
Creator:
Lura, Derek J
Publisher:
University of South Florida
Place of Publication:
Tampa, Fla
Publication Date:

Subjects

Subjects / Keywords:
Robotics
Simulation
Transradial
Inverse Kinematics
Compensatory Motion
Dissertations, Academic -- Mechanical Engineering -- Masters -- USF   ( lcsh )
Genre:
non-fiction   ( marcgt )

Notes

Summary:
ABSTRACT: The prostheses used by the majority of persons with upper limb amputations today offer a limited range of motion. Relative to anatomical joints transradial (below the elbow) prosthesis users lose at least two of the three degrees of freedom provided by the wrist and forearm. Some myoeletric prostheses currently allow for forearm pronation and supination (rotation about an axis parallel to the forearm) and the operation of a powered prosthetic hand. Body-powered prostheses, incorporating hooks and other cable driven terminal devices, have even fewer active degrees of freedom. In order to perform activities of daily living, an amputee must use a greater than normal range of movement from other anatomical body joints to compensate for the loss of movement caused by the amputation. By studying this compensatory motion of prosthetic users, the mechanics of how they adapt to the loss of range of motion in a given limb and specific tasks were analyzed.The purpose of this study is to create a robotic based kinematic model that can predict the compensatory motion of a given task using given subject data in select tasks. The tasks used in this study are the activities of daily living: opening a door, drinking from a cup, lifting a box, and turning a steering wheel. For the model the joint angles necessary to accomplish a task are calculated by a simulation for a set of prostheses and tasks. The simulation contains a set of configurations that are represented by parameters that consist of the joint degrees of freedom provided by each prosthesis, and a set of task information that includes joint constraints and trajectories. In the simulation the hand or prosthesis follows the trajectory to perform the task. Analysis of tasks is done by attaching prosthetic constraints to one of the arms of the upper body model in the simulation, other arm maintains an anatomical configuration.By running the model through this simulation with different configurations the compensatory motions were found. Results can then be used to select the best prosthesis for a given user, design prostheses that are more effective at selected tasks, and demonstrate some possible compensations given a set of residual joint limitations with certain prosthetic components, by optimizing the configuration of the prostheses to improve their performance.
Thesis:
Thesis (M.S.M.E.)--University of South Florida, 2008.
Bibliography:
Includes bibliographical references.
System Details:
Mode of access: World Wide Web.
System Details:
System requirements: World Wide Web browser and PDF reader.
Statement of Responsibility:
by Derek J. Lura.
General Note:
Title from PDF of title page.
General Note:
Document formatted into pages; contains 53 pages.

Record Information

Source Institution:
University of South Florida Library
Holding Location:
University of South Florida
Rights Management:
All applicable rights reserved by the source institution and holding location.
Resource Identifier:
aleph - 002007042
oclc - 401309946
usfldc doi - E14-SFE0002751
usfldc handle - e14.2751
System ID:
SFS0027068:00001


This item is only available as the following downloads:


Full Text

PAGE 1

Modeling Upper Body Kinematics While Using a Transr adial Prosthesis by Derek J. Lura A thesis submitted in partial fulfillment of the requirements for the degree of Masters of Science in Mechanical Engineering Department of Mechanical Engineering College of Engineering University of South Florida Major Professor: Rajiv Dubey, Ph.D. Craig Lusk, Ph.D. M. Jason Highsmith, D.P.T. Stephanie Carey, Ph.D. Date of Approval: November 7 200 8 Keywords: Robotics, Simulation, Transradial Inverse Kinematics, Compensatory Motion, Activities of Daily Living (ADL) Copyright 2008, Derek J. Lura

PAGE 2

Acknowledgments This project was funded in part by the U.S. Department of Education, Rehabilitation Services

PAGE 3

i Table of Contents List of Tables iv List of Figures v Abstract vi Chapter 1: Introduction 1 1.1 Anatomy and Approximations of the Human Upper Body 2 1.1.1 Torso 2 1.1.2 Shoulder Complex 2 1.1.3 Upper Arm 4 1.1.4 Forearm 5 1.1.5 Hand 6 1.2 Other Models of the Human Upper Body 6 1.3 Range of Movement and Nomenclature 8 1.4 Transradial Prostheses 11 Chapter 2: The Model 13 2.1 Denavit and Hartenberg Parameters 13 2.2 Parameters of Model Links 14 2. 3 Bilateral Configuration 15 Chapter 3: Analysis of the Model 16 3.1 Tasks & Trajectories 16 3.1.1 Opening a Door 17 3.1.2 Drinking From a Cup 17 3.1.3 Turning a Steering Wheel 17 3.1.4 Lifting a Box 18 3.2 Inverse Kinematics 18 3.2.1 Forward Kinematics 18 3.2.2 Jacobian & Pseudo Inverse 19

PAGE 4

ii 3.2.3 Weighted Pseudo Inverse 19 3.3 Optimization Functions 20 3.3.1 Exploiting Redundancy 20 3.3.2 Joint Limits 21 Chapter 4: Model Programming 22 4.1 MATLAB File Library 22 4.1.1 Mo delGUI.m 22 4.1.2 / trajectories 24 4.1.3 / configurations 24 4.1.4 Virt ual Reality 24 Chapter 5: Verifying the Model 25 5.1 The Previous Model 25 5.2 Adapting to the New Model 27 5. 3 Comparing Data 28 5.3.1 Testing Task Matching 28 Chapter 6: Results 30 6.1 Drinking From a Cup 30 6.2 Open ing a Door 31 6.3 Turning a Steering Wheel 32 6.4 Lifting a Box 33 Chapter 7: Discussion 36 7.1 Limitations 37 7.2 Future Work 38 7.3 Conclusions 38 List of References 40 Appendices 43 Appendix 1: Matlab Code 44 44 49

PAGE 5

iii 50 51 52 52 53

PAGE 6

iv List of Tables Table 1: Bending of the Spine Joint Limits 8 Table 2: Joint Limits of the Glenohumeral Range of Motion 10 Table 3: Elbow Joint Limits 10 Table 4: Wrist Joint Limits 11 Table 5: Description of Denavit and Hartenberg Parameters 13 Table 6: Model Parameters 14 Table 7: Marker Descriptions for Carey et al.[5] 26 Table 8: Average Joint Angle Difference (Degrees / Joint) 29 Table 9: Weighting Factors for Opening a Door Task 31

PAGE 7

v List of Figures Figure 1: Division of the Human Upper Body into Specified Regions 1 Figure 2: Torso Range of Movement 8 Figure 3: Scapular Range of Movement 9 Figure 4: Glenohumeral Range of Movement 9 Figure 5: Elbow Range of Movement 10 Figure 6: Wrist Range of Movement 11 Figure 7: Terminal Devices 11 Figure 8: Diagram of a Link 14 Figure 9: Layout of the Model 15 Figure 10: Graphical User Interface 23 Figure 11: Vicon Model Layout [5] 25 Figure 12 : Left Joint Angle Difference 29 Figure 13 : Right Joint Angle Difference 2 9 Figure 14: Glenohumeral Joint Angles 30 Figure 15: Elbow Angles 31 Figure 16: Translation of the Torso in the Z (L1) and Y (L2) Di rections 31 Figure 17: Screen Capture of the Turning a Wheel Task 32 Figure 18 : Plot of Scapular Elevation / Depression Angles 32 Figure 19 : Plot of Torso Sideways Bending 33 Figure 20 : Screen Capture of the Lifting a Box Task 34 Figure 21 : Plot of Forward / Backward Bending of the Torso 34 Figure 22: Plot of Scapular Protraction / Retraction Angle 35 Figure 23: Screen Capture of the Model at 70% of Task Completion 35

PAGE 8

vi Modeling Upper Body Kinematics While Using a Trans r adial Prosthesis Derek J. Lura A BSTRACT The prostheses used by the majority of persons with upper limb amputations today offer a limited range of motion. Relative to anatomical joints t ransradial (below the elbow) prosthesis users lose at least two of the three degrees of freedom provided by the wrist and forearm. Some myoeletric prostheses currently allow for forearm pronation and supination (rotation about an axis parallel to the forearm) and the operation of a powered prosthetic hand. B ody powered prostheses, incorporating hooks and other cable driven terminal devices, have even fewer active degrees of freedom. In order to perform activities of daily li ving an a mputee must use a greater than normal range of movement from other anatomical body joints to compensate for the loss of movement caused by the amputation. By studying this compensatory motion of prosthetic users the mechanics of how they adapt to the loss of range of motion in a given limb and specific tasks were analyzed The purpose of this study is to create a robotic based kinematic model that can predict the compensatory motion of a given task using given subject data in select tasks The tasks used in this study are the activities of daily living: opening a door, drinking from a cup, lifting a box, and turning a steering wheel. For th e model t he j oint angles necessary to accomplish a task are calculated by a simulation for a set of prostheses and tasks. The simulation contains a set of configurations that are represented by parameters that consist of th e joint degrees of freedom provided by each prosthe sis and a set of task information that includes joint constraints and trajectories In the simulation the hand or prosthesis follows the trajectory to perform the task. Analysis of tasks is done by attaching prosthetic constraints to one of the arm s of t he upper body model in the simulation other arm maintains an anatomical configuration. By running the model through this simulation with different configurations the compensatory motions were found Results

PAGE 9

vii can then be used to select the best prosthesis f or a given user, design prostheses that are more effective at selected tasks and demonstrate some possible compensations given a set of residual joint limitations with certain prosthetic components by optimizing the configuration of the prostheses to imp rove their performance

PAGE 10

1 Chapter 1: Introduction The complex motions of the human upper body can be approximated in several ways. The number of articulations in the upper body makes modeling manipulating, and analyzing all of them difficult. In order to decrease the difficulty of modeling the upper body some articulations were approximated T he first approximation made is to consider the bones to be rigid bodies T he bone s and their articulations form the basis of the u pper body movement. Groups of related articulations were approximated into simpler motions. Figure 1 shows the upper body divided into the regions of interest which w ere approximated into segments. In this study the upper body is divided into five segments, the torso, shoulder, upper arm, forearm, and hand. The articulations of these segments are developed based on anatomical data, commonly measured degrees of freedom and models developed for motion analysis. The anatomical articulations will be generalized to fit these segments while remaining as close to anatomical movements as possible This chapter overviews the anatomy of the human upper body the approximations m ade in the model. other models of the human upper limb, the range of motion of the model articulations, and some transradial prosthetics. Figure 1 : Division of the Human U pper Body into Specified R egions

PAGE 11

2 1.1 Anatomy and Approximations of t he Human Upper Body The motions of the upper body were analyzed before they were modeled. This section reviews the anatomy of the sections of the body that were considered in th e model and the approximations made 1.1.1 Torso Movement of the t orso is largely defined by lower body, the pelvis and spine. The base of the spine is the origin of the model The degrees of freedom of the lower body are approximated as gross movements Because the goal of this study is to understand compensatory motion the l ower body should not be ignored, as it is a potential source of motion. However, including detail in the lower body would greatly complicate the model and therefore it was determined that the range o f motion provide d by the lower body would be modeled by allowing the origin of the model to translate in all three directions allowing the model to move in space R otation of the pelvis and bending of the spine were considered to comprise the rotational components of the degrees of freedom of the t orso In the human body t he spinal column is comprised of three sections ; the cervical, thoracic, and lumbar. The motion of the cervical spine accounts for the degrees of freedom of the head which is not to be included in the model and is ignored in the cu rrent design of the model The thoracic and the lumbar spine segments contribute to what is considered the bending of the torso. The spine is supported by a series of ligaments that run between vertebrae along the long axis of the spine A ddition ally there is an intervertebral disc between each vertebra that supports the spine and allows for articulation. Each joint between vertebrae has its own range of movement [ 19 ] and contributes to the overall motion of the torso. The lumbar segments have a greater ran ge of movement in forward and backward bending than the thoracic region Lateral bending is almost evenly distributed between thoracic and lumbar sections. The range of rotation is greater in the thoracic segments. The relative motions of the spine during activities of daily living are considered to be small enough that the base of the spine will be considered the center of rotation for the torso segment of the model For large displacements this will result in some error where the motion of the spine becomes significant. 1.1.2 Shoulder Complex The human should er is a very complex mechanism. It is the joint with the greatest range of movement in the human body Gray et al. [10] The s houlder consist of three major bones ; the humerus (upper arm

PAGE 12

3 bone), the clavicle (collar bone), and the scapula ( shoulder blade). There are four joints in the shoulder complex T he sternoclavicular joint attaches the clavicle to the sternum T he acromioclavicular joint connects the clavicle to the acromion (a protrusion on the topmost region of the scapula) T he scapulothoracic joint holds the scapula in place with respect to the thorax. A nd the glenohumeral joint a ball and socket joint between the scapula and the humerus. In the model t he shoulder complex is considered to be dependent on the scapula and the clavicle, while the upper arm segment is dependent on the glenohumeral joint. The sternoclavicular joint is a double arthrodial joint, also called a double plane joint. The joint has limited range of motion in three direct ions. The clavicle is held in place on the sternal side primarily by the anterior and posterior sternal ligaments, and the costoclavicular ligament. The motion of the clavicle car rie s the scapula, therefore motion of the gelnohumural joint is closely centered about the articulation point of the sternoclavicular joint. The articul ar disk distributes loads and absorbs impacts, the synovial membranes provide lubrication to the clavicle to allow it to move respective to the sternum. The a cromioclavicular joint is an arthrodial or plane joint between the acromial end of the clavicle and the medial margin of the acromion of the scapula. The joint is able to slide and rotate in the plane parallel to the joint. This joint allows the clavicle and the scapula t o move together without moving the clavicle away from the sternum. The articular capsule of the acromioclavicular joint is similar to that of the sternoclavicular joint, it surrounds the joint, and is strengthened above and below by the superior and inferi or acromioclavicular ligaments. The superior acromioclavicular ligament is a quadrilateral band; it extends between the upper side of the end of the clavicle and the upper end of the acromion. The coracoclavicular ligament connects the clavicle with the co racoid process of the scapula and maintains contact in the articulation; it is composed of two fasciculi called the trapeziod and conoid ligaments. The scapulothoracic joint holds the scapula to the thoracic region of the torso. The scapula is supported b y the surrounding muscles and can move in a large number of directions. The majority of the movement of the scapula is along the surface of the rib cage, however small amounts of rotation out of the plane of the rib cage can also be accomplished. The incl usion of the shoulder complex in the model increases the range of movement of the arm by magnifying the positioning options of the glenoid fossa. The m ovement of the glenohumeral joint with

PAGE 13

4 respect to the torso is approximated by the shoulder complex withi n the model T his can also be described as the joint angles of the sternoclavicular joint along the clavicle and the angle of the acromioclavicular joint along the distance from the joint to the glenohumeral joint. Because the distance along the clavicle i s nearly constant, the change in the acromioclavicular joint angle, and the distance between the acromioclavicular and glenohumeral joint centers is small, in the model it is therefore assumed that the distance between the sternoclavicular and the glenohum eral joints is constant. The motion of the shoulder complex is described by rotations about a projected center of the sternoclavicular joint The segment which represents the shoulder complex in the model is referred to as the clavicle segment. T he length of the clavicle segment is the approximated distance between the projected joint center and the glenohumeral joint center. 1.1.3 Upper Arm The upper arm is in some respects the sim plest segment of the upper body. I t is composed of one bone the humerus, and has three rotational degrees of freedom provided by the glenohumeral joint. Often referred to as the shoulder joint the glenohumeral joint is a ball and socket joint. It is able to rotate in almost any direction. The head o f the humerus is larger than the sock et or glenoid fossa of the scapula, which gives the articulation a large range of motion but requires the ligaments and tendons to stabilize the humerus. The articular capsule covers the entire join t and is attached above the glenoid fossa and at the ana tomical neck of the humerus. It is thicker at the top and bottom and in the middle, and is loose enough to not interfere with motion in any direction. It is strengthened by the s upraspinatus muscle above, by the long head of the t riceps brachii below, by the tendons of the i nfraspinatus and t eres minor behind; and in front by the tendon of the s ubscapularis. The coracohumeral ligament is a broad band which strengthens the superior aspect of the articular capsule. It is attached to the lateral border of the coracoid process, and passes obliquely downward and laterally to the anterior aspect of the greater tubercle of the humerus, blending with the tendon of the supraspinatus muscle. The glenohumeral ligaments are three bands that help to strengthen the artic ular capsule. One passes from the medial edge of the glenoid cavity to the lower part of the lesser tubercle of the humerus. The second extends from the lower part of the glenoid cavity to the lower part of the anatomical neck of the humerus. The third att aches to the scapula above the top o f the

PAGE 14

5 glenoid cavity and passes down along the medial edge of the tendon of the biceps brachii, and is attached to a small depression above the lesser tubercle of the humerus. The articular capsule is also strengthened b y two bands from the tendons of the pectoralis major and the teres major respectivly. The transverse humeral ligament is a broad band passing from the lesser to the greater tubercle of the humerus, and lies above the epiphysial line. It converts the intert ubercular groove into a canal that contains the thendon of the long head of the biceps brachii The g lenoidal l abrum is a fibrocartilaginous rim attached around the margin of the glenoid cavity. It deepens the articular cavity, and protects the edges of the bone. The synovial membrane covers the inner surface of the articular capsule, and is reflected from the margin of the glenoid cavity over the labrum. The bursa e are fluid filled sacs that protect the tendons and mu s cle s that move against each other. The movement of the upper arm is described by the rotations about the center of the glenohumeral joint. The movement of the upper arm also includes some of the rotational components of the scapula which are neglected in the shoulder segment. Most measures of upper arm range of motion are taken relative to the torso T his is one of the reasons that rotations of the scapula are considered to be part of the upper arm segment range of motion rather than that of the clavicle segment. The length of the upper ar m segment is equal to the distance between the glenohumeral and elbow joint centers 1.1.4 Forearm The forearm consists of two bones ; the r adius and the u lna B etween them there exist four joints, the humeroulnar, humeroradial, proximal radioulnar, and distal ra dioulnar joint. Each of these joints contributes to the structure of the forearm and allow for stability throughout movement. The humeroulnar joint is often described a hinge joint that allows for the flexion and extension of the forearm. Contours of the d istal end of the humerus and the proximal end of the ulna fit together tightly and do not allow for significant rotational movement in more than one direction. The humeroradial joint provides support for the forearm by helping to hold the ulna against the humerus and helps transferring force along the arm The proximal and distal radioulnar joints control the pronation and supination of the forearm. During pronation the radius crosses the ulna T he radioulnar joints allow the radius and ulna to slide agains t each other without separating.

PAGE 15

6 The center of rotation for the flexion of the forearm is approximated at the distal end of the humerus. The axis of rotation for the pronation of the forearm is approximated as the center of the forearm along its length. In most individuals there is an angle between the forearm and the humerus when the arm is fully extended in the frontal plane, which is referred to as the carrying angle. Because the carrying angle is normally small, varies between persons, and can be comp ensated for by upper arm rotation for elbow positions of moderate flexion it is excluded from the model. 1.1.5 Hand The normal articulations of the hand and wrist allow for th e flexion, extension, radial ulnar deviations and grasping dexterity The bones of the hand are separated into the c arpals, m etacarpals, p roximal phalanges, i ntermediate phalanges, and distal phalanges. The large number of bones and joints in the hand make it necessary to greatly simplify the movements of the hand for use in the model. Each of the bones in the hand has own range of motion. The movements of t he wrist are incorporated by the joints between the carpals radius and ulna. The wrist is held in place by the radiocarpal ligaments and u lnar and radial collate ral ligaments. T he metacarpals and phalanges are used to give the hand the necessary dexterity to grasp a wide variety of objects. T he motions of the metacarpals and phalanges are omitted f rom the complexity of the hand in the model due to the fact that gr asping strategies of the anatomical hand is outside the scope of this study. 1.2 Other Models of the Human Upper Body Various studies have produced models of the human upper body ; these models differ greatly in degree of complexity and configuration Most upper body models simplify anatomical joints into a combination of single degree of freedom revolute and prismatic joints that are commonly used in robotic manipulators For instance the shoulder is often simplified as three revolute joints that hav e orthogonal intersecting axes. More detailed models are often used to simulate muscle action, and have articulations that resemble anatomical movement with greater accuracy but these often limit themselves to one joint or segment In this section several models of the upper body used in different fields are reviewed In motion analysis systems, markers are placed on subjects and used to find points and calculate joint locations M odels typically consist of a hierarchy of segments each of which is defined by a number of

PAGE 16

7 markers In motion analysis segments are defined by a given set of markers, usually three or more. Three markers are required to establish the location and rotation of a segment and define its coordinate system T he Euler angles between coor dinate systems are calculated by the system. Other angles and distances can be calculated based on sets of c ode and input data such as subject measurements and marker positions. In these system s the complexity of the model used is often determined by the number of markers used. A greater number of markers increases the difficulty of setting up trials and keeping track of individual markers. Models tend to consist of a limited series of segments, i .e. torso, u pper arm, forearm, and hand. T he number and order of the segments in motion analysis is determined by where markers can be placed, and what the desired measurements are Motion analysis models are used to retrieve information from a physical sy stem. Complex simulation models like Maurel [ 13 ] are used in systems that include muscle and other soft tissue mechanics usually include definitions that make them as close as possible to anatomical systems. As many articulations as can be handled are incl uded. However, even these relatively complex models often use rotations as defined about a fixed point on a segment. The accuracy of a model is mostly dependent on how well the segments are modeled and the number and complexity of the joints included. Simi lar but less complex models can be seen in Torres et al. [ 26 ] where limited spherical joint are used to simulate arm movements. The degree of complexity of these models is usually depended on a specific aspect to be studied. Models developed for simulation s often use robotic methods. [ 27 1 2 ] All describe the ir models as a series of one degree of freedom joints where higher degree of freedom joint are separated into collections of one degree of freedom joints It is common for upper arm models to origina te at the shoulder. More complex models that include the torso such as Abdel Malek et al. [1] do exist. The inclusion of specific robotic parameters such as t he Denavit and Hartenburg parameters is less common The use of robotic parameters was chosen for our model because it makes the manipulation of the model less complex reducing computational requirements and the model itself can be quantitatively described using the robotic parameters. Upper body s imulation models are often used to find the stress dis tributions in segments, or find the motion of segments given various sets of constraint.

PAGE 17

8 1.3 Range of Movement and Nomenclature It is helpful to have a nomenclature that describes the movement of each joint. Below are a set of picture s that describe the mo vement of anatomical joints. The movements of joints in the model resemble the movements shown as closely as possible. The movements while performing tasks are complex and consist of a combination of the movements show n This may cause the definitions sho wn to be less clear. The range of motion for every joint given is based on values found in literature and will vary between people. Joint limits given in this section are taken from the American Academy of Orthopedic Surgeons, and can be found in Neumann e t al. [18]. Translation of the torso is described relative to the global coordinate system. At initial position the Z axis is the vertical direction, the Y axis describes forward and backward movement, and the X axis describes movement to the left and rig ht. Figure 2 : Torso Range of Movement Figure 2 shows the movement of the torso including some contribution due to changes in the hip rotation. Table 1 shows the joint limits for the spine, it does not include the range of motion provided by the rotation of the hip. Table 1 : Bending of the Spine Joint L imits Motion Joint Limit Description Forward /Backward Bending 80 / 25 Anterior / P o sterior bending of the spine. Sideways Bending 35 (right & left) Lateral b ending of the spine t o the right or left. Rotation 45 (right & left) Rotation about the length of the spine.

PAGE 18

9 Figure 3 : Scapular Range of M ovement Figure 3 shows the movement of the scapula Movements are considered to be rotations about the approximated sternoclavicular joint. There are no limits given for the se scapular movements. The motions of the glenohumeral are described in Figure 4 the joint limits are given in Table 2 Flexion and extension, abduction and adduction, and others are rotational pair and describe opposite directions of the same movement. The nomenclature shown is to help clarify the joint limits by providing a point of reference Figure 4 : Glenohumeral Range of Movement

PAGE 19

10 Table 2 : Joint L imits of the G lenohumeral Range of M otion Motion Joint Limit Description Abduction 1 80 Lateral elevation of the upper arm. Flexion / Extension 180 / 6 0 Anterior / Posterior elevation of the upper arm. Lateral / Medial Rotation 90 / 70 Rotation about the length of the humerus The joint limits are dependent on the orientation of proximal joints in the kinematic chain. If the angle of one of the components of the joint is not zero the joint limits may change. The shoulder joint has a large degree of freedom that causes the nomenclature to become less clear, for instance when abduction is 90 o then flexion rotates the upp er arm in the transverse plane. Therefore it is important to r emember that the order of joint rotations effects the resultant position. Figure 5 : Elbow Range of Mo vement The range of motion of the forearm segment are given in Figure 5 the joint limits are given in Table 3 The complexities of two degr ee of freedom joints such as the elbow and wrist are less than that of the three degree of freedom joints. The axes of rotation in the joint can remain orthogonal in all positions. Table 3 : Elbow Joint L imits Motion Joint Limit Description Flexion 150 Moving the forearm towards / away from the upper arm. Pronation / Supination 80 / 80 Rotation about the length of the forearm.

PAGE 20

11 Figure 6 : Wrist Range of Movement Figure 6 shows the range of movement of the wrist. Abduction and adduction of the wrist are sometimes referred to as radial and ulnar deviation. Table 4 shows the joint limits of the wrist. In the model the motions of the segments is dependent on the proximal degrees of freedom. Table 4 : Wrist Joint L imits Motion Joint Limit Description Flexion / Extension 80 / 70 Forward / Backward bending of the wrist. Abduction / Adduction 80 / 80 Bending of the wrist toward the radius / ulna. 1.4 Transradial Prostheses Transradial prostheses can be divided into, the terminal device, wrist, forearm, socket, and control H ooks and electrically powered grippers are commonly used terminal devices see Figure 7 A w rist unit allows for the positioning of the terminal device M ost prostheses are equipped with a fixed wrist or a manually adjustable wrist. These wrists can be set to one or more positions but do not allow for the wrist to move while performing tasks. Figure 7 : Terminal Devices Touch Bionics i LIMB (Left), Hosmer Model 88X (Right)

PAGE 21

12 Newly developed wrist units are now allowing fo r greater range movement in the wrist, and wrists with powered rotation are now available. The forearm of the prosthesis adds any necessary length to the prosthes i s to create symmetry and expand the reach of the arm; it can also contain battery and control units A socket is used to attach the device to the residual limb. In some designs, a harness system is used to hold the prosthesis suspended to the body and/or to facilitate function of the terminal device The control device operates any actuations that exist on the prosthesis T here are two commonly used control devices body and externally powered Body powered controls operate the prosthesis by cables that attach to harnesses usually on the shoulders T hese controls are routinely used with hook type t erminal devices and fixed wrists. Myoelectric controls the most common type of externally powered system, are operated by electromyograph ic (EMG ) sensors that detect muscle activation B uilt in processors analyze the EMG signals and then operate the prost hesis. Myoelectric controls are used with electrically powered prostheses.

PAGE 22

13 Chapter 2: The Model The model is a kinematic chain with five segments : the torso, clavicle, upper arm, forearm, and hand T he model is repeated with mirrored initial angles for the bilateral tasks. The length of each segment is R 14]. In the basic model there are also five joints, the hip, sternoclavicular, glenohumeral, elbow, and wrist. The hi p joint allows for six degrees of freedom, translation and rotation in the three orthogonal directions. The inclusion of the hip is one of the biggest differences between this model and other upper body models, which often start at the glenohumeral joint The sternoclavicular joint is considered to have two degrees of freedom, and allows for movement of the gl enohumeral joint about the sternum. The glenohumeral joint is a three degree of freedom ball and socket type joint. The elbow includes two degrees of freedom : forearm flexion / extension, and pronation / supination. The wrist joint is a two degree of freedom joint for an anatomical limb with adduction / abduction, and flexion / extension. For prosthe sis with wrist rotation configuration the degrees of freedom in the wrist are removed. The standard prosthesis configuration also removes forearm pronation and supination. 2.1 Denavit and Hartenberg Parameters Serial manipulators are often described by Denavit and Hartenberg par ameters. These parameters describe serial manipulators by a series of links each of which has one degree of freedom. The parameters for each link are described in Table 5 Table 5 : Description of Denavit and Hartenberg Parameters Link Length a Distance along the line normal to both axes Link Twist Angle between the current link axis and the next link axis Link Offset d Distance between the center of the current link and the next along the link axis. Joint Angle Rotation of the link about its axis Type p/r Type of joint Prismatic (p) or Rotational (r) Fig ure 8 shows an example of a link to help describe each of the parameters. For a prismatic joint the link offset d is the variable, for a rotational joint the link angle , is the variable.

PAGE 23

14 Fig ure 8 : Diagram of a L ink 2. 2 Parameters of Model Links The model is created in MATLAB using the Robotics Toolkit [ R 13], by defining a link for each degree of freedom. The links are defined by the Denavit and Hartenberg parameters listed in Table 6 Joints with more than one DoF ha ve a number of zero length links equal to the number of degrees of freedom of the joint minus one. In joints with two links the axes of rotation will remain 90 o apart. I n three link joints the angle between the first and second, and the second and third ax is of rotation will remain 90 o apart, however the angle between the first and third axis of rotation is dependent on the rotation of the second link i n the joint. Because of this it is possible for a singularity to occur where two links share the same axi s or revolution, reducing the degrees of freedom of the joint. Table 6 : Model Parameters Link Description twist A length angle d offset L1 Translation of the hip joint in the Z direction 0 0 0 L2 Translation of the hip joint in the Y direction 0 0 L3 Translation of the hip joint in the X direction 0 0 0 L4 Torso Bending Backward (+) / F orward ( ) 0 0 0 L5 Torso Sideways Bending Right (+) / Left ( ) 0 0 L6 Torso Rotation Left (+) / Right ( ) 0 0 0 0.288*h L7 Scapular Retraction (+) / Protraction ( ) 0 0 0 L8 Scapular Depression (+) / Elevation ( ) 0 0.129*h 0 L9 Glenohumeral Adduction (+) / Abduction ( ) 0 0 L10 Glenohumeral Extension (+) / Flexion ( ) 0 0 L11 Glenohumeral Medial Rotation Inward (+)/Outward ( ) 0 0.186*h L12 Elbow Extension (+) / Flexion ( ) 0 0 L13 Forearm Pronation (+) / Supination ( ) 0 0.146*h L14 Wrist Flexion (+) / Extension ( ) 0 0 L15 Wrist Adduction (+) / Abduction ( ) 0.108*h 0 0

PAGE 24

15 The model is composed of a 15 link chain Figure 9 shows links 4 through 15, and a plot of the links of model within MATLAB with its elbow flexed 90 degrees In the MATLAB plot each link is labeled by its axis of rotation. The initial angle of rotation of the second link in the three DoF joints is 90 o so that three degree of freedom joints are orthogonal in the original position. This is done to help avoid singularities caused by links sharing the same axis of rotation. The range of movement in the model is controlled by the inverse kinematic function see section 3.2 The p rosthetic configurations of the model are achieved by a modifier matrix D which restricts or prevents the movement of specified links while solving the inverse kinematics. After the model is run animations of the model performing t he tasks can be generated. Figure 9 : Layout of the M odel Segment diagram (right), p lot of the model in MATLAB (left). 2. 3 Bilateral Configuration In order to perform bilateral task the model is repeated with revised joint angles so that it can represent the other arm. For unilateral task only the limb under consideration is analyzed. For bilateral tasks we apply the prosthetic constraints to the app ropriate side. The movement of the hip is connected to the side that is given the prosthetic constraints. The anatomical limb still has nine degrees of freedom from the wrist, elbow, glenohumeral and sternoclavicular joints. The details of the configurati ons are described in the chapter 3

PAGE 25

16 Chapter 3 : Analysis of the Model This chapter deals with the use of the model to analyze human movements, and specifically compensatory motions. The first section defines the general motions that the model mu st make, and describes the specified paths or trajectories that were created which represent the selected tasks. The second section reviews the inverse kinematic s used to control the model during the task simulat ion The third section reviews the procedures used to optimize the inverse kinematics increas ing the models resemblance to human motions 3 .1 Tasks & Trajectories The tasks selected for use in this study are activities of daily living : opening a door, drinking from a cup, turning a steering wheel, and lifting a box. Of these tasks opening a door and drinking from a cup are unilateral, and turning a steering wheel and lifting a box are bilateral. In the simulation the performance of the model is determined by how similar it is to a human mo tion the better the correlation between human movement and the model the higher the performance The tasks in the simulation are much simpler than tasks in real life. The simulated tasks are composed of relatively simple trajectories with a number of const raints. In real life there are an infinite number of trajectories that could accomplish a given task ; however, in the simulation the trajectories remain constant for all of the trials The goal of this study was not to task trajector y analysis but to pr edict compensat ory motion s due to the limitations of the prosthesis A s imple single trajector y for each tasks make s allows for direct analysis of compensatory motion In this study idealized trajectories that are as simple as possible to accomplish the given tasks were used. The idealized trajectories will also make the difference between a real life task and the simulated task easier to compare. Each trajectory has 10 0 points or samples where the inverse kinematics were calculated ; the points are equall y spaced along the trajectory. Restriction and prevention of joint motion is accomplished by the joint weighting factors, see section 3.2.3

PAGE 26

17 3. 1. 1 Opening a D oor T he opening a door task has the least number of co nstraints on the model. Translation and rotation of the hip were restricted but not prevented. For this task there are many different consideration for example, the type of door, the direction it is open ing, and the handle. For this study a household interior door with a round knob was chosen as the basis for the task, so that the end effector must rotate about the knob s axis. The height of the knob was 0.93m from the ground and the distance from the hi nge axis to the knob center was 0.71m. These distances are based on measurements of home interior doors and are not necessarily standard or average for their type. The door task was modeled opening the door toward the model body and was run twice, once for a right hung door, and once for a left hung door. The model was not run for both the left and right arms as the joint angles for a right hand opening the right hung door will be the same as a left hand model opening a left hung door, assuming mirrored con figurations and the same weighting factors are used. The trajectory used for the opening a door task starts with the rotation on the door knob, and is followed by the swing of the door. Turning the knob rotates the end effector about its x axis 90 o The sw ing of the door follows a 0.71m radius arc with the x axis of the end effector remaining tangent to the path of the arc and travels so that the door would open 90 o 3.1.2 Drinking F rom a C up For the drinking from a cup task there are two steps. The first step starts with elbow at 90 o and the z axis in a vertical position W hile maintaining the z axis raised to a position near the mouth. In the second step the cup is held in position and rotated 90 o fro m the vertical orientation towards the mouth of the simulation. The points along the trajectory are a function of height so that the position of the hand is relative to the length of the model segments and the joint angles become independent of subject hei ght. For this task, movement and rotat i on of the hip joint is prevented because the position of the cup relative to the body is required for the task. 3.1.3 Turning a S teering W heel For the turning a steering wheel task the model starts with its elbo ws bent and the hand lo cated 0.50m in front of the models coronal (frontal) plane and 0.50m apart on the edge of the steering wh eel at the three and nine o clock positions The hands must then rotate around the center of the wheel which forms a

PAGE 27

18 circular p ath in a plane parallel to the coronal plane at the initial position The wheel rotates 90 o in one direction, 180 o in the other direction, and then returns to its original position. The orientation of the hands remains tan gent to the edge of the wheel. Translation of the hip is prevented in this trial to simulate the model sitting in a fixed position. 3.1.4 Lifting a Box For the lifting a box task the task starts with the arms in front of the model the hands 1 meter from the ground on both sides of a box T he hands move toward the model 0.3m, then up 0.6m, then away from the model 0.3m. The distance between the hands and the orientation of the hands remains constant for the entire trial. The hip is prevented from moving in this task to increase the similari ty to the recorded task in previous studies [5]. 3 .2 Inverse Kinematics Inverse kinematics is the method of solving for joint p arameters given the desired position of the end effecter. The model of the upper limb is a 15 degree of freedom system. This mea ns that there are 15 independent variables that describe the position of the model. The end effecter is completely described by 6 variables, 3 for position, and 3 for orientation. Th e extra degrees of freedom are redundant T his redundancy allow for an inf inite number of joint position s to exist for a given end effect o r position, so long as that position is within the workspace of the model. This redundancy also means that there is no direct solution to solve the inverse kinematics of the model. In order to solve the inverse kinematics of the system additional constraints must use d that allow for a single solution among all of the possible solutions to be found. It is also necessary to find a method that will mimic human behavior as closely as possible so that the motions produced are an accurate prediction o f compensatory movement. 3.2.1 Forward Kinematics Before solv ing the inverse kinematics the forward kinematics must be defined If is defined a s the end effecter position and orientation of the model, the fo rward kinematic solution states; (1) where is the joint parameter vector of the model and is the for ward kinematic function. The forward kinematic function is calculated by computing the product of the transform for each link based on the

PAGE 28

19 Denavit and Hartenburg parameters and the joint parameter robotics toolkit [R13] was used to solve the forward kinematics. 3.2.2 Jacobian & Pseudo Inverse One of the methods to solve the inverse kinematics of a redundant manipulator is to use the pseudo invers e of the Jacobian. The Jacobian is a matrix of first order partial derivatives of a vector val ued function, and specifies a mapping from velocities in joint space to velocities in Cartesian space [ 7 ]. The change in end effector position , can be described by the Jacobian , which is and the change in joint parameter vector, (2) With some initial joint configuration and a desired end effector position the solution of the joint angles at the desired end effector position can be found First the forward kinematics are used (1) to solve Then the desired change in the end effector position is found. (3) With a known value from (3) the solution of is found b y taking the inverse of the Jacobian However because the Jacobian is a 6 x 15 matrix it is not invertible therefore t he pseudo inverse must be used t o find the solution. (4) (5) Because this is not an exact solution for large changes in position iterations need to be p e r formed where is replaced by and the process is repeated until becomes less than a specified tolerance. For the model the change in end effector position is small enough that the error can be ignored. This method also uses joints based on how effectively they move the end ef fector, minimizing the norm of so it tends to move proximally located joints rather than distal located ones. T his method is can be solved quickly it does not account for any obstacl e avoidance, or account for joint limitations. 3.2.3 Weighted Pseudo Inverse To improve the pseudo inverse method a weighting matrix is added to the equation. The weighting matrix is a diagonal matrix that is n by n where n is the number of joints of the robot, in this case 15. The

PAGE 29

20 diagonal values of the matrix are the weighting factors for each link where 1 is normal movement and 0 is no movement in that link. For this study the weighting matrix is r eferred to as (6) The matrix has to post multipl y the Jacobian before the pseudo inverse is taken, and pre multiply the new modified pseudo inverse of the Jacobian. This method allows for a good deal of control of the model while performing the inverse kinematics by controlling the rate at which a joint moves H owever the rate is only controlled with respect to itself and therefore low weighting factors are often ne cessary to make the changes apparent. This method is very good for removing degrees of freedom from the model; any link that needs to be removed can be given a weighting factor of zero, and will act as a rigid segment. The use of dynamic weighting factor s to control joint limits was attempted. However, it caused a large increase in computational time and caused joints to lock near their limit. The use of a large number of low weighting factors also effectively reduce d degrees of freedom and can lead to non convergence errors in the iterative process. It was determined that the weighting matrix is best used on a limited number of links and that other methods will be better for controlling joint limits, and for obstacle avoidance. 3 .3 Optimization Functions 3.3.1 E xploiting Redundancy Because we have a redundant manipulator there are an infinite number of solutions to the inverse kinematic problem. In the basic equation for solving with the pseudo in verse (4) the solution that has the minimum is found. This red undancy can be used to manipulate the arm in null space, the range where the joints of the arm can move without changing the end effector position. We can specify a function or even a series of functions which we wish to minimize : (7) Where the gradient vector is defined as (8), and is a n by n identity matrix. (8)

PAGE 30

21 The next step is to develop a series of equations to optimize the inverse kinematics. To allow for multiple optimization functions we can combine a series of equations. (9) The coefficients allow for priority among the separate optimization functions to be established. For this model we can include optimizations for joint limits, and functions that help simulate human like movements. 3.3.2 Joint Limits The first optimization function used was for maintaining the joint limits of the model. Because the joints are anthropomorphic the joint limits are not simple ranges, so our function needs to work with any combination of min imum and max imum joint angles. (10) The basis for equation (10) is found in [ 16 ]. The function is minimized at the average value of and the function also approaches infinity as approaches the joint limits. The next s tep is to find the gradient of the function. We can simplify the function first to make finding the gradient easier. Because and are constants we can make the following simplifications. & (11) (12) (13) (14) Equation (14) shows the gradient form of the equation.

PAGE 31

22 Chapter 4: Model Programming This section covers the programming of the model and the operation of the simulation. In addition to the files developed for this study the model must be run on a computer with MATLAB ( version 2007a or newer ) the robotics toolkit developed by Craig [R18], and the virtual reality toolkit. The virtual reality toolkit is only needed to run the 3D simulation. The calculations are done in the background and processing time will depend on hardware specifications. 4.1 MATLAB File Library This section contains a l ist of the files developed for this study with descriptions of their purpose. 4.1.1 ModelGUI.m This file initializes the model and the graphical user interface. It contains the code to define the links, and Hartenburg parameters. The links are us an array of the links. Graphics used for the elements in the interface are native and require no additional files. Each of t he elements in the graphical user interface ha s a callback A callbac k tells the program to perform some action given some user input. For example a button callback can perform some function when the button is pressed. ModelGUI is a function file coded in MATLAB ; the callbacks are nested functions within ModelGUI. To acti vate the graphical user interface the directory that contains the files The interface can be opened by typing ModelGUI into the workspace. Any errors th at occur while running the program will be displayed in the MATLAB workspace. Figure 10 shows a screen shot of graphical user interface each section is la beled to help describe the interface. Sections 5 8 are hidden until the solution to the inverse kinematics is found for the selected components. A detailed description of each function is given below in Figure 10

PAGE 32

23 Figure 10 : Graphical User Interface 1. The menu reads all of the *.mat files in the trajectories folder, and allows the user to select the trajectory for the task th ey wish to use. 2. The menu reads all of the *.mat files in the configurations folder, and allows for a preset configuration to be selected. 3. Allows the diagonal elements of the weighting matrix to be defined manually. 4. Loads the trajectory and configuration f iles selected in boxes 1 and 2, overwrites weighting matrix i f the box in 3 is checked with the selected variables. Generates parts 5 8 on the interface. 5. S hows the results using a wireframe of the model, u 6. I nitializes the virtual reality simulation of the model of the upper limb. 7. Allows the user to select and plot the angle of a link. 8. Saves the variables created by the program into a *.mat file.

PAGE 33

24 4.1.2 / trajectories This folder contains the task trajectories that we can use to analyze the model. Trajectories for steering which were described in chapter 3 are available The tasks are given in *. mat files that contain two trajectories each, one for the left and right configurations. Any *.mat files that are added to this directory will show up on the selection menu of the graphical user interface, however if the *.mat files does not contain the va riables TR and TL which are the trajectories of the right and left arm respectively it will return an error. The files can also contain any constraint variables that are prevalent to the task such as modifications to the weighting matrix. 4.1.3 /configurations T his folder is similar to the trajectories folder; however it contains the files that define preset anatomical configurations. The configurations are given in *.mat files as well and the graphical user interface loads them to the configuration menu in the s ame manner as the trajectories. The files for configuration contains the joint modifier matrix with diagonal values of one or zero, to keep a joint activate s given by the configuration files to be overwritten by the manually entered values. 4.1.4 Virtual Reality The virtual reality model is a 3D representation of the upper body. It was created with VRML 2.0, and contains segments for each link. The skin of the mode l was taken from an open source model of an adult male and remodeled to match the segments of the model. Because the segments of the model are all rigid bodies there are some intersecting surfaces within the model and various positions may cause the model to look less anatomical. VRML 2.0 was used due to its integration into MATLAB with the virtual reality toolkit. This model is purely for visualization and is not involved in any of the calculations. The model does not scale to size but operates off of the joint variable outputs from the inverse kinematics, and therefore is independent of link length.

PAGE 34

25 Chapter 5: Verifying the Model In order to verify the model it was compared with subject data from Carey et al. [5] In study the kinematic and kinetic data of subjects performing activities of daily living task s was recorded using the Vicon motion analys is system. The model used in the Carey et al. study was somewhat different than the one used in this study, the Carey et al. model did not include a segment for the clavicle. However the markers used in the study are sufficient for matching to our model. The maker data was used to recreate the model in Vicon, and make the necessary changes to allow the data to be meaningfully compared to the solutions of the model trajectories found by the inverse kinematic methods used in this study 5.1 The Previous Model The prev ious model developed by Carey et al. [5] for motion analysis is shown in Figure 11 model uses the markers described in Table 7 to record the subject upper body movements. The markers are placed on the skin of the subject and are recorded by an eight camera array. The Vicon software analy z es the images from the camera s and computes the location of each marker in 3D space. Simple mathematical equations can be entered into the Vicon software to c alculate joint center locations. T here are native functions that allow for the defining of segments based on any calculated po int or marker. Figure 11 : Vicon Model Layout [5]

PAGE 35

26 Figure 11 shows a screen capture of the model as it appears in one of the displays available in the Vicon software. The white spheres represent recorded marker positions, the blue spheres used in any calculations. Table 7 : Marker Descriptions for Carey et al. [5] Code name Marker description Marker placement C7 7th Cervical vertebrae Spinous process of the 7th cervical vertebrae T10 10th Thoracic vertebrae Spinous process of the 10th thoracic vertebrae CLAV Clavicle Jugular notch where the clavicles meet the sternum STRN Sternum Xiphoid process of the sternum RBAK Right back Middle of the right scapula (asymmetrical) RSHO Right shoulder Right acromio clavicular joint RUPA Right upper arm Right upper arm between the elbow and shoulder markers RELB Right elbow Right lateral epicondyle approximating elbow joint axis RELBM Right elbow medial Right medial epicondyle approximating elbow joint axis (static trial only) RWRA Right wrist A Right wrist thumb side RWRB Right wrist B Right wrist pinkie side on the pisiform RFIN Right finger On the dorsum of the hand just below the head of the right third metacarpal LSHO Left shoulder Left acromio clavicular joint LUPA Left upper arm Left upper arm between the elbow and shoulder markers LELB Left elbow Left lateral epicondyle approximating elbow joint axis LELBM Left elbow medial Left medial epicondyle approximating elbow joint axis (static trial only) LWRA Left wrist A Left wrist thumb side LWRB Left wrist B Left wrist pinkie side LFIN Left finger On the dorsum of the hand just below the head of the left third metacarpal Segments in Vicon are de fined by three or more markers These makers make up the origin and two lines. The origin first segment axis. The cross product of the first second line is used as the second axis, and the cross product of the first and second axes becomes the third axis. This is based on the Gram Schmidt process of

PAGE 36

27 orthogonalization. The first, second, and third axis are labeled according to a tag where each axis ca n be named x, y, or z. T he joint centers were calculated in [ 5 ] for the shoulder, elbow, and wrist. 5.2 Adapting to t he New Model To make the data compatible with the model the segments in the Vicon software to defined to match the segments of the model. For most of the joint s the segments and joint centers found in [ 5 ] were used for this study An equation calculating the position of the pseudo sternoclavicular joint center was developed to define the origin of the clavicle segment. A n offset of one four th the distance between CLAV and C7 markers was taken. A point was created from CLAV along the x axis by this offset. T his new joint center is called PCLAV. The shoulder joint center is the origin of the shoulder segment. The line from the should er joint center to PCLAV is joint center to the CLAV marker will be the second defining line. With matching segments in M AT LAB and Vicon the data was then transferred from one system into the other. The data from is the tr i al s is constant ; the numbers do not change and there are no inputs T he model in M AT LAB is dynamic ; the output is depended on the various input parameters. Therefore, the tr i al data was export ed from Vicon to M AT LAB and the comparison was made with in the MATLAB interface The specific data that was taken from the trials in Vicon w ere the joint angle data. Joint angle data in Vicon is described by two segments and an order of operation. The Euler angles were calculate d for rotating the axes in the order of operation. This gives three rotations for every joint in the Vicon model, and for every time step or sample in the trial. The first verification of the model that was performed was to make sure the sternoclavicular, elbow, and wrist joints have two non constant rotations This indicated that each of these joints only has two effective degrees of freedom. After che cking the consistency between the two models, the joint angles can be exported from Vicon in the form of a tab del im i t ated array in *.txt file format. This file was then imported into M ATLAB and converted into joint angle arrays that can be used directly w ith the M AT LAB model, the file was backed up as a *.mat file for future use.

PAGE 37

28 5.3 Comparing Data A direct comparison was made using the end effector trajectory, generated by the joint angle data imported from the trials recorded in Vicon The f orward kinematic s olution see section 3.2.1 was used to solve for the end effector homogeneous transform for every sample in a given trial (15) T he homogeneous transforms were used as a new trajectory ; the first sample joint values were used as the initial configuration A new set of joint angles were found by the inverse kinematic function (for descriptions see section 3 .2 Inverse Kinematics ). The difference between joint angles is the error of the model. (15 ) (16 ) (17 ) This error is only valid for the specific tr i al and must be normalized to be used in a generalized form. (18 ) The average error is a sum of the absolute values of all the error divided by the number of samples in the trial. With the average error for a number of trials we can verify our inverse kinematic methods according to a number of conditions. A sum total error for all tasks was found T he error for each specific task and the error when we vary the joint limit function in the inverse kinematic methods was also found 5.3.1 Testing Task M atching After analyzing the model and calculating the average error for each trial the sum of the average error per link of the trials for each task and for all tasks was calculated as shown in Table 8 Notice that the error for the left side on the C up and Door tasks is very low for the Ka = 0 condition. Because the drinking from a cup and opening a door are unilateral tasks, and all of our subjects used their right hand for the task, there is very little movement in the left arm resulting in the low error The left side of the lifting a box trial was the only task where the joint limit constant greater than zero resulted in an average error less than the average error for the equal to zero. The higher generally caused a higher error, a nd the error was highest for the turning the wheel task where is equal to 0.1. This shows that the joint limit function decreases the performance of the model.

PAGE 38

29 Table 8 : Average Joint Angle Difference (Degrees / J oint) Ka = 0 .00 Ka = 0.01 Ka = 0.05 Ka = 0.1 0 Left Right Left Right Left Right Left Right All 5.22 7.35 12.33 13.43 16.21 16.24 17.22 16.62 Cup 0.50 4.61 8.99 11.36 11.50 14.84 11.88 15.31 Door 2.09 8.60 8.65 12.35 10.97 14.21 11.32 14.47 Wheel 11.15 6.93 20.49 21.21 28.80 25.42 31.54 26.08 Box 12.77 10.92 11.06 14.76 11.89 16.91 12.06 17.18 Figure 12 and Figure 13 show the trend for the average errors. Figure 12 : Left Joint Angle Difference Figure 13 : Right Joint Angle Difference 0.00 5.00 10.00 15.00 20.00 25.00 30.00 35.00 Ka = 0.00 Ka=0.01 Ka=0.05 Ka=0.10 Average Difference (degrees / joint) Left Side Error All Cup Door Wheel Box 0.00 5.00 10.00 15.00 20.00 25.00 30.00 Ka = 0.00 Ka = 0.01 Ka = 0.05 Ka = 0.10 Average Difference (degrees / joint) Right Side Error All Cup Door Wheel Box

PAGE 39

30 Chapter 6 : Results To analyze the difference between the joints in each configuration the difference between the anatomical configuration and the given prosthetic configuration within the model is defined as the degree of compensation (DoC). ( 1 9 ) The performance of a prosthetic configuration is dependent on its DoC, the higher the DoC the worse the performance of the prosthetic configuration. For most joints there is a higher DoC in the st andard prosthesis configuration than in the configuration with a wrist rotator. 6.1 Drinking From a Cup For this task only the anatomical and the prosthesis with wrist rotator configurations were able to complete the task. The prosthesis without wrist rotation was unable to turn due to insufficient degrees of freedom with the hip joint restricted from movement. In Figure 14 and Figure 15 the j oint angles for the anatomical and wrist rotator configurations are shown. There is a drastic difference in the path of these joints for the 9 th and 1 0 th links, the change in angle of rotation is nearly opposite. Figure 14 : Glenohumeral Joint Angles I nitial angles 90 degrees % of Task 0 10 20 30 40 50 60 70 80 90 100 0 57 115 0 10 20 30 40 50 60 70 80 90 100 115 0 115 229 Anatomical Wrist Rotator % of Task L9: Abduction (Degrees) L 10 : Flexion (Degrees)

PAGE 40

31 There is a large difference between the joint angles in this task even though the task is fairly simple. In the second step, 70 % through 100 % of the trial the anatomical arm configuration, has a more complex movement while in the wrist rotator configuration only link 13, forearm rotation, changes. 6.2 Opening a Door The door opening task has much more varied results than that of the drinking from a cup task. The main factors in creating the disparities in this task are the number of joints of interest, the scale of the movement, and the ambiguity of the grasp on the h andle. W eighting factors were used on the hip and sternoclavicular joints and are given in Table 9 Table 9 : Weighting Factors for Opening a Door Task n 1 2 3 4 5 6 7 8 D(n,n) 0.1 0.1 0.2 0.2 0.2 0.2 0.5 0.5 Data given is in meters for L1 3 and degrees for L 4 15 for both right and left hinged cases. The joint angle given is based on the model and should be considered with respect to the initial angle and direction data given in Table 6 : Model Parameters The difference between the anatomical line and that of the prostheses represents the degree of compensation for each link. It is shown that the degree of compensation varies greatly for each joint. For Figure 16 : Translation of the Torso in the Z (L1) and Y (L2) Directions 0 20 40 60 80 100 0.5 0 0.5 % of Task 0 20 40 60 80 100 1 0.5 0 Anatomical Wrist Rotator Prosthetic % of Task 0 10 20 30 40 50 60 70 80 90 100 29 57 86 115 Anatomical Wrist Rotator Figure 15 : Elbow Angles Initial angle is 90 o flexion is negative. L1 : Vertical (Meters) L 2 : Forward (Meters) L 12 : Flexion (Degrees) % of Task

PAGE 41

32 the majority of li nks the wrist rotator configuration is closer to the anatomical configuration than the standard prosthesis, thus it has a lower degree of compensation. In link 12 (elbow flexion) for the right and left hinged door tasks with the wrist rotator and standard prosthesis have similar movements. 6.3 Turning a Steering Wheel In turning a steering wheel, the primary compensation was in the lateral flexion of the torso and hip joint. There was also a maximum DoC of 69 o for the configuration with a wrist rotator and 46 o for standard prosthesis configuration of depression of the sternoclavicular joint. The total amount of movement for this task made the motions rather quick compared to the lifting a box task. Figure 2 sho ws the first quarter of the task for the anatomical configuration. Figure 17 : Screen C apt ure of the Turning a Wheel Task. Start of task on the left, end of the first turn on the right anatomical configuration Fig ure 18 and Fig ure 19 show the joint angles for the sternoclavicular joint in elevation and depression, and lateral torso flexion respectively. Note the difference between each model configuration. Fig ure 18 : Plot of Scapular E levation / D epression A ngle s. W hile performing the turning a ste ering wheel task, t he initial angle is 180 o and depression is positive. 0 20 40 60 80 100 115 143 172 201 229 258 286 Anatomical Standard Pros. Pros. w/Rotator % of Task L8: Joint Angl e (Degrees)

PAGE 42

33 As shown in Fig ure 18 the joint angle for the sternoclavicular joint has a higher DoC in the configur ation with the wrist rotator than in the standard prosthesis configuration. This is the only case of this occurring in these tasks. The asymmetry about the middle of the task seen is the result of the unilateralism of the prosthetic configurations. In Fig ure 19 the standard prosthesis has a much higher DoC ; this is true for most joints. The range over which different compensations can occur narrows as the number of degrees of freedom is deceased. The weighting factors increase the movement of the distally located joints by restricting the proximal joint s, such as the hip and sternoclavicular joints. As the degrees of freedom are reduced the weighting factors become less significant because it becomes necessary for the weighted joints to move in order to find a solution to the inverse kinematics. The peaks seen in Fig ure 18 and Fig ure 19 occur at the maximum turn angles, at 25 % and 75 % of task completion The model also ret urns to the initial configuration at the middle and end of the task for all configurations. This return to the initial configuration, as well as the symmetry of the lateral torso flexion, shows that the attachment of the torso to the left side of the model is not ca using the model to favor movement on one side 6.4 Lifting a Box Figure 20 shows the anatomical configuration of the model at four points while performing t he lifting a box task. The anatomical configuration is able to complete the task with very little movement of the torso Fig ure 19 : Plot of Torso Sideways Bending. W hile perf orming the turning a wheel task, t he initial angle is 90 o and flexion to the right is positive. 0 20 40 60 80 100 0 29 57 86 115 143 172 Anatomical Standard Pros. Pros. w/Rotator L5: Joint Angle (Degrees) % of Task

PAGE 43

34 and clavicle. The large amount of adduction of the wrist shown is a clear indicator that there will be a large DoC for this trial Figure 20 : Screen Capture of the Lifting a Box Task Task starts on the upper left and ends at lower right anatomical configuration. For the lifting a box task the primary compensation was in the flexion and extension of the torso, shown in Figure 21 Similar comp ensation also occurred in the majority of the other joints. The plot of the scapular protraction / retraction shown in Fig ure 22 and torso rotation closely resemble that of to rso flexion / extension. This was the expected behavior for this task H ere the various degrees of freedom are trying to accomplish the same motion and therefore have a similar profile The configuration with the wrist Figure 21 : Plot of Forward / Backward Bending of the T orso W hile pe rforming the lifting a box task, t he initial angle is 0 o and extension is positive. Pros. w/Rotator 0 20 40 60 80 100 34 29 23 17 11 6 0 6 Anatomical Standard Pros. Pros. w/Rotator % of Task L4: Joint Angle (Degrees)

PAGE 44

35 rotator has a greater number of degrees of freedom and therefore the DoC is less. The task never returns to a previous position so no symmetry is seen. The bumps shown in Figure 21 and Fig ure 22 occur at 30 % and 70 % of task completion raising the The rigidity in the wrist in the prosthetic configurations caused the arms to bunch up tightly behind the model subject, as shown in Figure 23 The right side of the model in the prosthetic configurations appeared like the movements in shown in Figure 20 with some slight variance in the configu ration with the wrist rotator causing the elbow to be raised slightly Figure 23 : Screen C apture of the Model at 70% of Task C ompletion S t andard prosthesis configuration dur ing the lifting a box task, notice the tight compaction of the left arm. Fig ure 22 : Plot of Scapular Protraction / Retraction Angle. W hile pe rforming the lifting a box task, t he initial angle is 0, and adduction is positive. L7: Joint Angle (Degrees) 0 20 40 60 80 100 34 29 23 17 11 6 0 6 % of Trial Anatomical Standard Pros. Pros. w/Rotator

PAGE 45

36 Chapter 7: Discussion The results of this study demonstrates the difference in joint angl es of a human upper body model with configurations representing an anatomical arm, a prosthesis with a wrist rota tor, and a standard prosthesis while performing these two unilateral and two bilateral activities of daily living These data suggest that there is a general reduction in the degree of compensation with the addition of the wrist rotator which was predicted One exception to this occurred at the sternoclavicular joint during the turning a steerin g wheel task The compensatory movements shown in the model are large, with the max imum compensation approaching 90 degrees 5 ] were able to complete similar real life tasks with standard prosthesis, and lower degrees of compensation. This is likely due to the fact that they can choose a trajectory that best fits their range of motion and the specified task, and that there are no strict rules for performing the task (i.e. grasp methods, stance angles, etc.). It may be better to optimize the trajectory of each task for every configuration; however this would lead to a less direct method of comparison. The animation of the drinking from a cup trial proceeded largely as expected and resulted in a qualitatively satisfactory human like motion. The inability of the prosthetic configuration to accomplish the task was not surprising. With only the 6 degrees of freedom of the shoulder, upper arm, and flexion of the forearm the change in orientation of the end effector is limited to specific directions and locations. In the door opening trial a number of links in the standard prosthesis and the prosthesis with wrist rotator have very similar motions, which are different from that of the anatomical configuration. This is possibly due to the direction in which this compensation is being forced. That is, the wrist rotator can only help with movements that effect th e rotation of the forearm, so for movements that require motion in a separate direction there is no difference between the standard and the configuration with wrist rotation In the turning a steering wheel task the model nearly reaches a DoC of 90 o in lateral flexion to accomplish the task. While this is large compensation the model is able to return to the initial configuration when the trajectory passes and returns to the initial position. Other methods of turning the wheel are

PAGE 46

37 considerably more likely to be used. T his shows the ability of the model to maintain a rational configuration over large deflections. The inclusion of a dynamic grip, or the removal of orientation constraints on the hands during the simulation would likely reduce the DoC, h owever it would not test the bilateral aspects of the model as extensively. The lifting a box task showed an unlikely proximity of links toward the end, which decreased the models ability to extend the arms again due to the method of inverse kinemat ics. This is a good 5 ] it can be seen that prostheses users tend to swing the box to one side while raising it. This movement decreases the need for flexion of the wrist The model cannot select a new trajectory for the box and therefore forces itself into a disadvantageous position. This highlights some of the disadvantages of these methods. It was determined that the same task should be used for all configurations so th at a direct comparison could be made, and it was expected that this might cause some problems. The method of achieving a bilateral model was successful. By providing the extra range of motion of the torso to the arm with the prosthetic configuration, the model was able to find a solution to all points on each trajectory. The right arm was able to accomplish the right hand trajectory with the nine degrees of freedom remaining after the angles for the torso were defined. 7.1 Limitations This study has sev eral limitations that affect the results. 1. All segments are considered rigid bodies : in the human body no segments are truly rigid bodies. This approximation was made because the relative motion of the joints with respect to deformation in the segment lengt hs is very large. 2. Anatomical joints were approximated by constant centers of rotation : segments with a large number of articulations were reduced into gross movements with an approximated joint center. This causes some error in the range of motion the mode l is intended to represent. 3. A Limited number of task were analyzed 4. Some anatomical features were omitted : the model excluded the carrying angle of the elbow, and did not include any motions of the head.

PAGE 47

38 5. Each task was tested with only one gripping angle c hanging the gripping angle will change the resulting compensatory motion. 6. Each task was only pe r formed with one trajectory; there are an infinite number of trajectories that can perform a similar task Carey et al. have show that the trajectory used by a person with prosthesis varies from non prosthesis users. 7. Joint limit functions were omitted based on results from simulated tasks due to the decreased correlation between recorded and simulated trials 8. No functions for collision avoidance were developed or tested. 9. The weighting factors for each task wer e determined by trial and error. 10. The model requires the use of MATLAB and the robotics toolkit, and therefore cannot be easily distributed. 7.2 Future Work Work is being done to improve the model by decreasing the number of limitations of the model. Gradient functions for the joint limits are currently being researched for this model, with specific functions for each link with the goal of increasing correlat ion between recorded and simulated movement The inclusion of dynamic griping constraints, and generating a larger number of task trajectories would help to improve this study. A larger number of tasks results in a better understanding of generalized compensatory motion as well as the performance of the model. The analysis of additional task would improve results, specialized task such as rock climbing, and kayaking will be added to the model. 7.3 Conclusion s The model of the upper arm was developed. U sing the weighted least norm method we the joint angl e s were calculated for each point on the trajectories that we described for the tasks of drinking from a cup, opening a door, turning a steering wheel and lifting a box. Prosthetic constraints were place d on the model and the in verse kinematics were calculated The difference between the results of the anatomical, standard prosthesis, and prosthesis with wrist rotator configurations of the model were analyzed. The model was able to simulate upper limb mo vements, and show differences in joint angles while performing tasks with prosthetic constraints. Most joints showed that the prosthesis with the wrist rotator

PAGE 48

39 p e r formed better than the standard prosthesis. The model was able to perform bilateral tasks and maintain reasonable joint angles. It was shown that for the majority of trials the inclusion of the wrist rotator resulted in a reduced degree of compensation. The model shows promise for being able to assist with predicting movement based on prosthetic configurations. As prostheses advance, task performance and degrees of freedom are likely to increase. Modeling tasks will help to make the best use of current technologies in the development selection and functional prognoses of new prostheses. With fu rther development the usefulness of kinematic modeling in the simulation of activities of daily living will expand the study of compensatory motion. S tudy into compensatory motion will help develop more advanced prostheses, and help improve the quality of life of the individuals who utilize arm prostheses.

PAGE 49

40 List of References [1] K. Abdel ASM Conference on Applied Simulation and Modeling 2004 [2] Abdullah, A.H., Tarry, C., Datta, R., Mittal, G.S., Abderrahim, M., Dynamic Biomechanical Model for Assessing and Monitoring Robot assisted Upper Limb Therapy Journal of Rehab. Research & Development 2007, Vol 44(1) pp. 43 62 [3] Alqasemi, R., Dubey, R ., Redundancy Control and Optimization of a 9 DoF Wheelchair Robotic Arm System IEEE Symp. On Comp. Int. in Robotics and Automation 2007 Review of arm motion analyses Proceedings of the I MECH E Part H Journal of Engineering in Medicine 2000, Vol 214 (5) pp. 541 555. [5] Carey, S.L., Highsmith, M.J., Maitland, M., Dubey, R., Clinical Biomechanic s 2008 Vol 23(9), pp. 1128 1135. [6] Cork IEEE Robotics and Automation Magazine 1996, Vol 3 (1), pp. 24 32. [7] Craig, J.J., Introduction to Robotics Mechanics and Control second edition Addison Wesley Publishing Company, Reading MA. 1989 [8] English C J Maclaren W M Court Brown C Hughes S P Porter R W Wallace W A Graves R J Pethick A J Soutar C A ., Relations between upper limb soft tissue disorders and repetitive movements at work American Journal of Industrial Medicine. 1995 Vol 27(1) pp. 75 90 [9] Fung Y C Biomechanics: mechanical properties of living tissues. Springer Verlag, New York 1981. [10] Gray, H Anatomy of the Human Body 20 th Edition Lea & Febiger, Philadelphia 1918; Bartleby.com 2000. Accessed Online 2008 www.bartleby.com/107/ Mechanics of Biological Tissue Springer Verlag, New York, 2006. [12] Kwang Kyu L., Buss, M., "Obstacle avoidance for redundant robots using Jacobian transpose method," IEEE/RSJ International Conference on Intelligent Robots and Systems, 2007, pp.3509 3514 [13] Maurel, W., 3D Modeling of the Human Upper Limb Including the Biomechanics of Joints, Muscles, and Soft Tissues Dpartement d'Informatique ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE 1998 [14] Mel AG, Childress BL, Hughes RE The Effect of Wearing a Wrist Splint on Shoulder Kinematics During Object Manipulation. Archives of Physical Medical Rehabilitation. 2005 Vol 86 pp. 1661 1664

PAGE 50

41 [15] Mitrovic, D., Learning Motor Control for Simulated Robotic Arms School Of Informatics University of Edinburgh 2006 [16] Nakamura, Y Advanced robotics: redundancy and opti mization Addison Wesley Publishing Company, Reading MA. 1991 Questions and Answers about . Shoulder Problems. US Department of Health and Human Services Latest revision 2006, Accessed Online 2008 http://www.niams.nih.gov/Health_Info/Shoulder_Problems/default.asp [18] Neumann, D.A., Kinesiology of the Musculoskeletal System: Foundations fo r Physical Rehabilitation Elsevier Health Sciences, New York 2002 [19] Nordin, M., Frankel, V.H., Basic Biomechanics of the Musculoskeletal System Lippinc ot Williams & Wilkins, New York, 2001 [20] Ratner, B.D., Hoffman, A.S., Schoen, F.J., Lemons, Biomaterials Science. Academic Press: Elsevier Science, 1996. [21] Romilly, D.P., Anglin, C., Gosine, R.G., Hershler, C., Raschke, S.U., "A functional task analysis and motion simulation for the development of a powered upper limb orthosis," IEEE T ransactions on Rehabilitation Engineering, 1994, Vol 2(3), pp. 119 129. [22] Sobti A Cooper C Inckip H Searie S Coggon D Occupational Physical Acivity and Long Term Risk of musculoskeletal Symptoms: A National Survey of Post Office Pensioners. American Journal of Industrial Medicine 1997, Vol 32, pp. 76 83 [23] Tan F.C., Dubey R.V., A weighted least norm solution based scheme for avoiding joint limits for redundant joint manipulators IEEE Transactions on Robotics and Automation 1995, Vol 11 (2), pp. 286 292 [24 ] Tanaka, H., Minami, M., Mae, Y., "Evaluation of obstacle avoidance ability fo r redundant mobile manipulators. 31st Annual Conference of IEEE Industrial Electronics Society, IECON 2005 p p. 1768 1773 [25] Tolani, D., Badler N "Real Time Inve rse Kinematics of the Human Arm Presence 1996 Vol 5 ( 4 ), pp. 393 401. [26] Reaching to Grasp With a Muilt Jointed Arm. I. Computational Model Journal of Neurop hysiology, 2002, Vol 88, pp. 2355 2367. [27] Journal of Mech. In Medicine and Biology 2005, Vol 5 (2), pp. 383 390 [28] SIMON FRASER UNIVERSITY 1993 [2 9 ] Williams S., Schmidt R., Disselhorst An upper body model for the kinematical analysis of the joint chain of the human arm. Journal of Biomechanics 2006, Vol 39(13), pp. 2419 2429.

PAGE 51

42 [ 30 ] Winter, D.A., Biomechanics of Human Movement John Wiley & Sons, New York 1979, pp. 202. [3 1 ] Yasuda K Hayashi K Changes in biomedical properties of tendons and ligaments from joint disuse. Journal of the Osteoarthritis Research Society International 1999, Vol 7 pp. 122 129 [32] ACM Transactions on Graphic s, 1994, Vol. 13(4) pp. 313 336.

PAGE 52

43 Appendices

PAGE 53

44 Appendix 1: Matlab Code A .1.1 Graphical User Interface function varargout = GUI_export %initializes the graphical user interface %Generate window (figure) h1 = figure( 'Name' 'Upper Body Kinematics GUI' ); %Load model with robot parameters (scripts will not work in functions) %Script for Kinematic Model path(path, 'C: \ Program Files \ MATLAB \ R2007b \ robot' ); %add path for trajectory files path(path, 'trajectories' ); %add path for configuration files path(path, 'configurations' ); trajdir = dir( 'trajectories/*.mat' ); trajlist = struct2cell(trajdir); trajname = trajlist(1,:); confdir = dir( 'configurations/*.mat' ); conflist = struct2cell(confdir); confname = conflist(1,:); Dm=eye(15); %Generate Links h = 2; L1 = link([ pi/2 0 0 0 1]); L2 = link([ pi/2 0 pi/2 0 1]); L3 = link([0 0 0 0 1]); L4 = link([pi/2 0 0 0 0]); L5 = link([pi/2 0 0 0 0]); L6 = link([0 0 0 0.288*h 0]); L7 = link([pi/2 0 0 0 0]); L8 = link([0 0.129*h 0 0 0]); L9 = link([pi/2 0 0 0 0]); L10 = link([pi/2 0 0 0 0]); L11 = link([pi/2 0 0 0.186*h 0]); L12 = link([pi/2 0 0 0 0]); L13 = link([pi/2 0 0 0.146*h 0]); L14 = link([pi/2 0 0 0 0]); L15 = link([pi/2 0.108*h 0 0 0]); % Left Arm ROM D escriptors %L1 Translation of the hip joint in the Z direction %L2 Translation of the hip joint in the Y direction %L3 Translation of the hip joint in the X direction %L4 Torso Extension (+) / Flexion ( )

PAGE 54

Appendix 1 (continued) 45 %L5 Torso Lateral Flexion Right (+) / Left ( ) %L6 Torso Rotation Left (+) / Right ( ) %L7 Shoulder Adduction (+) / Abduction ( ) %L8 Shoulder Depression (+) / Elevation ( ) %L9 Upper Arm Adduction (+) / Abduction ( ) %L10 Upper Arm Extension (+) / Flexion ( ) %L11 Upper Arm Medial Rotation Inward (+)/Outward ( ) %L12 Elbow Extension (+) / Flexion ( ) %L13 Forearm Pronation (+) / Supination ( ) %L14 Wrist Flexion (+) / Extension ( ) %L15 Wrist Adduction (+) / Abduction ( ) % Right Arm ROM Descriptors %L1 Translation of the hip joint in the Z direction %L2 Translation of the hip joint in the Y direction %L3 Translation of the hip joint in the X direction %L4 Torso Extension (+) / Flexion ( ) %L5 Torso Lateral Flexion Right (+) / Left ( ) %L6 Torso Rotation Left (+) / Right ( ) %L7 Shoulder Abdu ction (+) / Adduction ( ) %L8 Shoulder Depression (+) / Elevation ( ) %L9 Upper Arm Adduction (+) / Abduction ( ) %L10 Upper Arm Flexion (+) / Extension ( ) %L11 Upper Arm Lateral Rotation Outward (+)/ Medial Inward ( ) %L12 Elbow Flexion (+) / Extension ( ) %L13 Forearm Supination (+) / Pronation ( ) %L14 Wrist Extension (+) / Flexion ( ) %L15 Wrist Adduction (+) / Abduction ( ) %Generate Robot UpperBody = robot({L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14, L15}); %Generate Initial Join t Angles %Right Configuration qR0 = [0 0 0, 0 pi/2 0, pi pi, pi/2 pi/2 pi, pi/2 pi/2, pi/2 0]; %Left Configuration qL0 = [0 0 0, 0 pi/2 0, 0 pi, pi/2 pi/2 pi, pi/2 pi/2, pi/2 0]; %%This section contains the Initializations for the various texts and %%b uttions. %headertext header = uicontrol(h1, 'units' 'characters' 'style' 'text' 'FontSize' ,12, 'FontWeight' 'bold' 'Position' ,[24 30 60 2], 'String' 'Upper Body Kinematic Model' ); %Trajectory popupmenu ttext = uicontrol(h1, 'units' 'characters' 'style' 'text' 'Position' ,[10 28 23 1], 'String' 'Select a Trajectory: ); trajmenu = uicontrol(h1, 'units' 'characters' 'style' 'popupmenu' 'BackgroundColor' ,[1 1 1], 'Position' ,[10 26.5 23 1.5], 'String' ,trajname); %Configuration popupmenu ctext = uicontrol(h1, 'un its' 'characters' 'style' 'text' 'Position' ,[10 24 23 1], 'String' 'Select a Configuration: );

PAGE 55

Appendix 1 (continued) 46 confmenu = uicontrol(h1, 'Units' 'characters' 'Style' 'popupmenu' 'BackgroundColor' ,[1 1 1], 'Position' ,[10 22.5 23 1.5], 'String' ,confname); %Checkbox for manual weights manual = uicontrol(h1, 'Units' 'characters' 'Position' ,[10 20 40 1.5], 'String' 'Manualy Edit Weighting Parameters' 'Style' 'checkbox' 'Callback' ,@manual_callback'); function manual_callback(hObject, eventdata) Dm = eye(15); %First row of weights el1 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[18 18 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el1_Callback); el2 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[18 16 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el2_Callback); el3 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[18 14 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el3_Callback); el4 = uicontrol(h1, 'Un its' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[18 12 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el4_Callback); el5 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[18 10 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback ,@el5_Callback); el6 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[18 8 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el6_Callback); el7 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[18 6 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el7_Callback); el8 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[18 4 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el8_Callback); %second row of weights el9 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[38 18 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el9_Callback); el10 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[38 16 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el10_Callback); el11 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[38 14 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el11_Callback); el12 = uicontrol(h1, 'Units' 'characters' 'Background Color' ,[1 1 1], 'Position' ,[38 12 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el12_Callback); el13 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[38 10 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el13_Callback); el14 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[38 8 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el14_Callback); el15 = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[38 6 6 1.5], 'String' ,1.0, 'Style' 'edit' 'callback' ,@el15_Callback); %fist row weight labels tl1 = uicontrol(h1, 'Units' 'characters' 'Position' ,[10 18 6 1.5], 'String' 'L1 =' 'Style' 'text' ); tl2 = uicontrol(h1, 'Units' 'characters' 'Position' ,[10 16 6 1.5], 'String' 'L2 =' 'Style' 'text' ); tl3 = uicontrol(h1, 'Units' 'characters' 'Position' ,[10 14 6 1.5], 'String' 'L3 =' 'Style' 'text' ); tl4 = uicontrol(h1, 'Units' 'characters' 'Position' ,[10 12 6 1.5], 'String' 'L4 =' 'Style' 'text' ); tl5 = uicontrol(h1, 'Units' 'characters' 'Position' ,[10 10 6 1.5], 'String' 'L5 =' 'Style' 'text' ); tl6 = uicontrol(h1, 'Units' 'characters' 'Position' ,[10 8 6 1.5], 'String' 'L6 =' 'Style' 'text' ); tl7 = uicontrol(h1, 'Units' 'characters' 'Position' ,[10 6 6 1.5], 'String' 'L7 =' 'Style' 'text' );

PAGE 56

Appendix 1 (continued) 47 tl8 = uicontrol(h1, 'Units' 'characters' 'Position' ,[10 4 6 1.5], 'String' 'L8 =' 'Style' 'text' ); %second row weight labels tl9 = uicontrol(h1, 'Units' 'characters' 'Position' ,[30 18 6 1.5], 'String' 'L9 =' 'Style' 'text' ); tl10 = uicontrol(h1, 'Units' 'characters' 'Position' ,[30 16 6 1.5], 'String' 'L10 =' 'Style' 'text' ); tl11 = uicontrol(h1, 'Units' 'characters' 'Position' ,[30 14 6 1.5], 'String' 'L11 =' 'Style' 'text' ); tl12 = uicontrol(h1, 'Units' 'characters' 'Po sition' ,[30 12 6 1.5], 'String' 'L12 =' 'Style' 'text' ); tl13 = uicontrol(h1, 'Units' 'characters' 'Position' ,[30 10 6 1.5], 'String' 'L13 =' 'Style' 'text' ); tl14 = uicontrol(h1, 'Units' 'characters' 'Position' ,[30 8 6 1.5], 'String' 'L14 =' 'Style' 'text' ); tl15 = uicontrol(h1, 'Units' 'characters' 'Position' ,[30 6 6 1.5], 'String' 'L15 =' 'Style' 'text' ); function el1_Callback(hObject,eventdata) Dm(1,1) = str2double(get(hObject, 'string' )); end function el2_Callback(hObject,eventdata) Dm(2,2) = str2double(get(hObject, 'string' )); end function el3_Callback(hObject,eventdata) Dm(3,3) = str2double(get(hObject, 'string' )); end function el4_Callback(hObject,eventdata) Dm(4,4) = str2double(get(hObject, 'string' )); end function el5_Callback(hObject,eventdata) Dm(5,5) = str2double(get(hObject, 'string' )); end function el6_Callback(hObject,eventdata) Dm(6,6) = str2double(get(hObject, 'string' )); end function el7_Callback(hObject,eventdata) Dm(7,7) = str2double(get(hObject, 'string' )); end function el8_Callback(hObject,eventdata) Dm(8,8) = str2double(get(hObject, 'string' )); end function el9_Callback(hObject,eventdata) Dm(9,9) = str2double(get(hObject, 'string' )); end function el10_Callback(hObject,eventdata) Dm(10,10) = str2double(get(hObject, 'string' )); end function el11_Callback(hObject,eventdata) Dm(11,11) = str2double(get(hObject, 'string' )); end function el12_Callback(hObject,eventdata) Dm(12,12) = str2double(get(hObject, 'string' )); end function el13_Callback(hObject,eventdata) Dm(13,13) = str2double(get(hObject, 'string' )); end function el14_Callback(hObject,ev entdata) Dm(14,14) = str2double(get(hObject, 'string' )); end function el15_Callback(hObject,eventdata)

PAGE 57

Appendix 1 (continued) 48 Dm(15,15) = str2double(get(hObject, 'string' )); end end %Run Inverse Kinematics Button runbtn = uicontrol(h1, 'Units' 'characters' 'Position' ,[70 25 30 2], 'String' 'Run Inverse Kinematics' 'Callback' ,@runbtn_callback'); %Run callback function function [TR,TL,D,JR,JL] = runbtn_callback(hObject, eventdata) Dm; trajfile = get(trajmenu, 'value' ); conffile = get(confmenu, 'value' ); load(trajdir(trajfile).name); load(confdir(conffile).name); Dm(13,13)=D(13,13); Dm(14,14)=D(14,14); Dm(15,15)=D(15,15); D = Dm; [JR,JL] = Dkine(UpperBody,TR,TL,qR0,qL0,D); %Buttons to appear after model is run %Plot Results Button poltbtn = uicontrol(h1, 'Units' 'characters' 'Position' ,[70 20 30 2], 'String' 'Show Results in Wireframe' 'Callback' ,@plotbtn_callback'); %Open Model in VR Simulation vrbtn = uicontrol(h1, 'Units' 'characters' 'Position' ,[70 15 30 2], 'String' 'Show Results in VR Model' 'Callback' ,@vrbtn_callback'); %Select Menu for Joint Angle Plots jplotmenu = uicontrol(h1, 'Units' 'characters' 'BackgroundColor' ,[1 1 1], 'Position' ,[65 9.85 8 2], 'String' ,{ 'L1' ; 'L2' ; 'L3' ; 'L4' ; 'L5' ; 'L6' ; 'L7' ; 'L8' ; 'L9' ; 'L10' ; 'L11' ; 'L12' ; 'L13' ; 'L14' ; 'L15' }, 'Style' 'popupmenu' 'Value' ,1); %Button for Joint Angle Plots jplotbtn = uicontrol(h1, 'Units' 'characters' 'Position' ,[75 10 25 2], 'String' 'Plot Selected Joint Angle' 'Callback' ,@jplotbtn_callback'); %Save button savebtn = uicontrol(h1, 'Units' 'characte rs' 'Position' ,[75 5 15 2], 'String' 'Save Results' 'Callback' ,@savebtn_callback'); function plotbtn_callback(hObject, eventdata) figure( 'name' 'Right Arm Plot' ); plot(UpperBody,JR); figure( 'name' 'Left Arm Plo t' ); plot(UpperBody,JL); end %plot end

PAGE 58

Appendix 1 (continued) 49 function vrbtn_callback(hObject, eventdata) slider = uicontrol(h1, 'units' 'characters' 'Style' 'slider' 'Max' ,100, 'Min' ,1, 'Value' ,1, 'SliderStep' ,[.01 .10], 'Position' ,[70 14 30 1], 'Callback' ,@slider_callback); myworld = vrworld( 'VRModel.wrl' ); open(myworld); view(myworld); function slider_callback(hObject, eventdata) step = round(get(slider, 'value' )); VRmodel(myworld,JL(step,:),JR(step,:)) end recbtn = uicontrol(h1, 'Units' 'characters' 'Position' ,[60 15 10 2], 'String' 'Run' 'Callback' ,@recbtn_callback'); function recbtn_callback(hObject, eventdata) pause(5) for i=1:100 VRmodel(myworld,JL(i,:),JR(i,:)) pause(0.05) end end end function jplotbtn_callback(hObject, eventdata) joint = get(jplotmenu, 'value' ); figure; plot(JR(:,joint)) figure; plot(JL(:,joint)) end %Jplot end function recbtn_callback(hObject, eventdata) uisave; end %Save end end %Run end end %GUI function end A.1.2 Weighted Inverse Kinematic Function Dkine % Modifyed from robotics toolkit 'ikine' developed by Peter I. Corke function [qrt,qlt] = Dkine(robot, tr, tl, qr, ql, D) n = robot.n; qr = qr(:); ql = ql(:); %Dr controls restriction of hip movement to the right arm. Dr = D; Dr(1,1) = 0; Dr(2,2) = 0; Dr(3,3) = 0;

PAGE 59

Appendix 1 (continued) 50 Dr(4,4) = 0; Dr(5,5) = 0; Dr(6,6) = 0; Dr(13,13) = 1; Dr(14,14) = 1; Dr(15,15) = 1; np = size(tr,3); qlt = []; qrt = []; for i=1:np TL = tl(:,:,i); el = tr2diff(fkine(robot, ql'), TL); dql = D ( pinv( jacob0(robot, ql) D ) el); ql = ql + dql; qlt = [qlt; ql']; qr(1)=ql(1); qr(2)=ql(2); qr(3)=ql(3); qr(4)=ql(4); qr(5)=ql(5); qr(6)=ql(6); TR = tr(:,:,i); er = tr2diff(fkine(robot, qr'), TR); dqr = Dr ( pinv( jacob0(robot, qr) Dr ) er); qr = qr + dqr; qrt = [qrt; qr']; end end A.1. 3 function VRmodel(myworld,qL,qR) %L1 Translation of the hip joint in the Z direction TZ = qL(1)*5; %L2 Translation of the hip joint in the Y direction TY = qL(2)*5; %L3 Translation of the hip joint in the X dire ction TX = qL(3)*5; myworld.L4.translation = [TX TZ TY]; %L4 Torso Extension (+) / Flexion ( ) (initial = 0) myworld.L4.rotation = [ 1 0 0 qL(4)]; %L5 Torso Lateral Flexion Right (+) / Left ( ) (initial = 0) myworld.L5.rotation = [0 0 1 qL(5) pi/2]; %L6 Torso Rotation Left (+) / Right ( ) (initial = 0) myworld.L6.rotation = [0 1 0 qL(6)]; % Left Arm ROM Descriptors

PAGE 60

Appendix 1 (continued) 51 %L7 Shoulder Adduction (+) / Abduction ( ) (initial = 0) myworld.L7.rotation = [0 1 0 qL(7)]; %L8 Shoulder Depression (+) / Elevation ( ) (initial = 90) myworld.L8.rotation = [0 0 1 qL(8) pi/2]; %L9 Upper Arm Adduction (+) / Abduction ( ) (initial = 90) myworld.L9.rotation = [0 0 1 qL(9)]; %L10 Upper Arm Extension (+) / Flexion ( ) (initial = 0) myworld.L10.rotation = [ 1 0 0 qL(10) pi/2 ]; %L11 Upper Arm Rotation Inward (+)/Outward ( ) (initial = 0) myworld.L11.rotation = [0 1 0 qL(11) pi]; %L12 Elbow Extension (+) / Flexion ( ) (initial = 90) myworld.L12.rotation = [ 1 0 0 qL(12) pi]; %L13 Forearm Pronation (+) / Supination ( ) (initi al = 90) myworld.L13.rotation = [0 1 0 qL(13)]; %L14 Wrist Flexion (+) / Extension ( ) (initial = 0) myworld.L14.rotation = [1 0 0 qL(14) pi/2]; %L15 Wrist Adduction (+) / Abduction ( ) (initial = 0) myworld.L15.rotation = [0 0 1 qL(15)]; % Right Arm ROM Descriptors %R7 Shoulder Abduction (+) / Adduction ( ) (initial = 0) myworld.R7.rotation = [0 1 0 qR(7) pi]; %R8 Shoulder Depression (+) / Elevation ( ) (initial = 90) myworld.R8.rotation = [0 0 1 qR(8) pi/2]; %R9 Upper Arm Adduction (+) / Abduction ( ) (initial = 90) myworld.R9.rotation = [0 0 1 qR(9)]; %R10 Upper Arm Flexion (+) / Extension ( ) (initial = 0) myworld.R10.rotation = [1 0 0 qR(10) pi/2]; %R11 Upper Arm Rotation Lateral (+)/ Medial ( ) (initial = 0) myworld.R11.rotation = [0 1 0 qR(11) pi]; %R12 Elbow Flexion (+) / Extension ( ) (initial = 90) myworld.R12.rotation = [1 0 0 qR(12)+pi]; %R13 Forearm Supination (+) / Pronation ( ) (initial = 90) myworld.R13.rotation = [0 1 0 qR(13)+pi]; %R14 Wrist Extension (+) / Flexion ( ) Rota tion (initial = 0) myworld.R14.rotation = [1 0 0 qR(14) pi/2]; %R15 Wrist Adduction (+) / Abduction ( ) Rotation (initial = 0) myworld.R15.rotation = [0 0 1 qR(15)]; A.1.4 % Opening a Door Traj (Right Hinged) h=2; % Establishes the initial joint angles for the model TR1 = [0 0 1 0.355; 1 0 0 0.71+.400; 0 1 0 (0.930 0.530*h); 0 0 0 1]; % Initial end effector position

PAGE 61

Appendix 1 (continued) 52 TR30 = [0 1 0 0.355; 1 0 0 0.71+.400; 0 0 1 (0.930 0.530*h); 0 0 0 1]; % End effector positio n at step 30 (knob turned 90deg) Step1 = ctraj(TR1, TR30, 30); % Interperlates the steps between 0 and 30 qi = (((1:70) 1)/(70 1))*pi/2; % Creates a 1x70 array of angle q from 0 to 90deg Step2 = zeros(4,4,0); % Creates an empty 4x4x0 array for q=qi Step2 = cat(3,Step2,[sin(q) cos(q) 0 0.355+2*0.355*(1 cos(q)) ; cos(q) sin(q) 0 0.710*(1 sin(q))+.4; 0 0 1 (0.930 0.530*h); 0 0 0 1]); end % Creates an array of homogeneous transforms using the array qi. (door % opening 90deg) TL = cat(3,Step1,Step2); % Combines Step1 and Step2 TR0 = [0 1 0 0.129*h; 1 0 0 0.254*h; 0 0 1 0.102*h; 0 0 0 1]; TR = ctraj(TR0,TR0,100); A.1.5 %Generate Trajectory for left arm drinking from a cup task. h = 2; TL1 = [0 1 0 0.1290*h; 1 0 0 0.2540*h; 0 0 1 0.1020*h; 0 0 0 1]; TL70 = [1 0 0 0.0540*h; 0 1 0 0.1540*h; 0 0 1 0.4*h; 0 0 0 1]; TL100 = [1 0 0 0.0540*h; 0 .01 .99 0.1540*h; 0 .99 0.01 0.4*h; 0 0 0 1]; Step1 = ctraj(TL1,TL70,70); Step2 = ctraj(TL70,TL100,30); TR0 = [0 1 0 0.129*h; 1 0 0 0.254*h; 0 0 1 0.102*h; 0 0 0 1]; TR = ctraj(TR0,TR0,100); TL = cat(3, Step1, Step2); A.1.6 %Lifting a Box Task %Right Side TR1 = [0 1 0 0.250; 1 0 0 0.254*h+.15; 0 0 1 1 0.530*h; 0 0 0 1]; TR33 = [0 1 0 0.250; 1 0 0 0.254*h .15; 0 0 1 1 0.530*h; 0 0 0 1]; TR67 = [0 1 0 0.250; 1 0 0 0.254*h .15; 0 0 1 1.6 0.530*h; 0 0 0 1]; TR100 = [0 1 0 0.250; 1 0 0 0.254*h+.15; 0 0 1 1.6 0.530*h; 0 0 0 1]; RStep1 = ctraj(TR1,TR33,33); RStep2 = ctraj(TR33,TR67,34); RStep3 = ctraj(TR67,TR100,33); TR = cat(3,RStep1, RStep2, RStep3); %Left Side TL1 = [0 1 0 0.250; 1 0 0 0.254*h+.15; 0 0 1 1 0.530*h; 0 0 0 1]; TL33 = [0 1 0 0.250; 1 0 0 0.254*h .15; 0 0 1 1 0.530*h; 0 0 0 1]; TL67 = [0 1 0 0.250; 1 0 0 0.254*h .15; 0 0 1 1.6 0.530*h; 0 0 0 1]; TL100 = [0 1 0 0.250; 1 0 0 0.254*h+.15; 0 0 1 1.6 0.530*h; 0 0 0 1]; LStep1 = ctraj(TL1,TL33,33);

PAGE 62

Appendix 1 (continued) 53 LStep2 = ctraj(TL33,TL67,34); LStep3 = ctraj(TL67,TL100,33); TL = cat(3,LStep1, LStep2, LStep3); A.1.7 %Generates trajectories for turning a wheel task h = 2; qi = (((1:25) 1)/(25 1))*pi/2; % Creates a 1x25 array of angle q from 0 to 90deg RStep1 = zeros(4,4,0); RStep2 = zeros(4,4,0); RStep3 = zeros(4,4,0); RStep4 = zeros(4,4,0); LStep1 = zeros(4,4,0); LStep2 = zeros(4,4,0); LStep3 = zeros(4,4,0); LStep4 = zeros(4,4,0); % Creates an empty 4x4x0 array for q=qi RStep1 = cat(3,RStep1,[0 cos(q) sin(q) 0.25*cos(q); 1 0 0 0.254*h; 0 sin(q) cos(q) 0.102*h 0.250*sin(q); 0 0 0 1]); LStep1 = cat(3,LStep1,[0 cos(q) sin(q) 0.25*cos(q); 1 0 0 0.254*h; 0 sin(q) cos(q) 0.102*h+0.250*sin(q); 0 0 0 1]); RStep2 = cat(3,RStep2,[0 cos(pi/2 q) sin(pi/2 q) 0.25*cos(pi/2 q); 1 0 0 0.254*h; 0 sin(pi/2 q) cos(pi/2 q) 0.102*h 0.250*sin(pi/2 q); 0 0 0 1]); LStep2 = cat(3,LStep2,[0 cos(pi/2 q) sin(pi/2 q) 0.25*cos(pi/2 q); 1 0 0 0.254*h; 0 sin(pi/2 q) cos(pi/2 q) 0.10 2*h+0.250*sin(pi/2 q); 0 0 0 1]); RStep3 = cat(3,RStep3,[0 cos( q) sin( q) 0.25*cos( q); 1 0 0 0.254*h; 0 sin( q) cos( q) 0.102*h 0.250*sin( q); 0 0 0 1]); LStep3 = cat(3,LStep3,[0 cos( q) sin( q) 0.25*cos( q); 1 0 0 0.254*h; 0 sin( q) cos( q) 0 .102*h+0.250*sin( q); 0 0 0 1]); RStep4 = cat(3,RStep4,[0 cos(q pi/2) sin(q pi/2) 0.25*cos(q pi/2); 1 0 0 0.254*h; 0 sin(q pi/2) cos(q pi/2) 0.102*h 0.250*sin(q pi/2); 0 0 0 1]); LStep4 = cat(3,LStep4,[0 cos(q pi/2) sin(q pi/2) 0.25*cos(q pi/2); 1 0 0 0.254*h; 0 sin(q pi/2) cos(q pi/2) 0.102*h+0.250*sin(q pi/2); 0 0 0 1]); end % Generates steps % Merge steps TR = cat(3,RStep1,RStep2,RStep3,RStep4); TL = cat(3,LStep1,LStep2,LStep3,LStep4);


xml version 1.0 encoding UTF-8 standalone no
record xmlns http:www.loc.govMARC21slim xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.loc.govstandardsmarcxmlschemaMARC21slim.xsd
leader nam Ka
controlfield tag 001 002007042
003 fts
005 20090616115859.0
006 m||||e|||d||||||||
007 cr mnu|||uuuuu
008 090616s2008 flu s 000 0 eng d
datafield ind1 8 ind2 024
subfield code a E14-SFE0002751
035
(OCoLC)401309946
040
FHM
c FHM
049
FHMM
090
TJ145 (Online)
1 100
Lura, Derek J.
0 245
Modeling upper body kinematics while using a transradial prosthesis
h [electronic resource] /
by Derek J. Lura.
260
[Tampa, Fla] :
b University of South Florida,
2008.
500
Title from PDF of title page.
Document formatted into pages; contains 53 pages.
502
Thesis (M.S.M.E.)--University of South Florida, 2008.
504
Includes bibliographical references.
516
Text (Electronic thesis) in PDF format.
520
ABSTRACT: The prostheses used by the majority of persons with upper limb amputations today offer a limited range of motion. Relative to anatomical joints transradial (below the elbow) prosthesis users lose at least two of the three degrees of freedom provided by the wrist and forearm. Some myoeletric prostheses currently allow for forearm pronation and supination (rotation about an axis parallel to the forearm) and the operation of a powered prosthetic hand. Body-powered prostheses, incorporating hooks and other cable driven terminal devices, have even fewer active degrees of freedom. In order to perform activities of daily living, an amputee must use a greater than normal range of movement from other anatomical body joints to compensate for the loss of movement caused by the amputation. By studying this compensatory motion of prosthetic users, the mechanics of how they adapt to the loss of range of motion in a given limb and specific tasks were analyzed.The purpose of this study is to create a robotic based kinematic model that can predict the compensatory motion of a given task using given subject data in select tasks. The tasks used in this study are the activities of daily living: opening a door, drinking from a cup, lifting a box, and turning a steering wheel. For the model the joint angles necessary to accomplish a task are calculated by a simulation for a set of prostheses and tasks. The simulation contains a set of configurations that are represented by parameters that consist of the joint degrees of freedom provided by each prosthesis, and a set of task information that includes joint constraints and trajectories. In the simulation the hand or prosthesis follows the trajectory to perform the task. Analysis of tasks is done by attaching prosthetic constraints to one of the arms of the upper body model in the simulation, other arm maintains an anatomical configuration.By running the model through this simulation with different configurations the compensatory motions were found. Results can then be used to select the best prosthesis for a given user, design prostheses that are more effective at selected tasks, and demonstrate some possible compensations given a set of residual joint limitations with certain prosthetic components, by optimizing the configuration of the prostheses to improve their performance.
538
Mode of access: World Wide Web.
System requirements: World Wide Web browser and PDF reader.
590
Advisor: Rajiv Dubey, Ph.D.
653
Robotics
Simulation
Transradial
Inverse Kinematics
Compensatory Motion
690
Dissertations, Academic
z USF
x Mechanical Engineering
Masters.
773
t USF Electronic Theses and Dissertations.
4 856
u http://digital.lib.usf.edu/?e14.2751