Inverse Kinematics and Geometric Constraints for Articulated Fig
Total Page:16
File Type:pdf, Size:1020Kb
INVERSE KINEMATICS AND GEOMETRIC CONSTRAINTS FOR ARTICULATED FIGURE MANIPULATION by Chris Welman BSc Simon Fraser University a thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in the Scho ol of Computing Science c Chris Welman SIMON FRASER UNIVERSITY Septemb er All rights reserved This work may not b e repro duced in whole or in part by photo copy or other means without the p ermission of the author APPROVAL Name Chris Welman Degree Master of Science Title of thesis Inverse Kinematics and Geometric Constraints for Articulated Fig ure Manipulation Examining Committee Dr L Hafer Chair Dr TW Calvert Senior Sup ervisor Dr J Dill Dr D Forsey External Examiner Date Approved ii Abstract Computer animation of articulated gures can b e tedious largely due to the amount of data which must b e sp ecied at each frame Animation techniques range from simple interp olation b etween keyframed gure p oses to higherlevel algorithmic mo dels of sp ecic movement patterns The former provides the animator with complete control over the movement whereas the latter may provide only limited control via some highlevel parameters incorp orated into the mo del Inverse kinematic techniques adopted from the rob otics literature have the p otential to relieve the animator of detailed sp ecication of every motion parameter within a gure while retaining complete control over the movement if desired This work investigates the use of inverse kinematics and simple geometric constraints as to ols for the animator Previous applications of inverse kinematic algorithms to computer animation are reviewed A pair of alternative algorithms suitable for a direct manipulationinterface are presented and qualitatively compared Application of these algorithms to enforce simple geometric constraints on a gure during interactive manipulation is discussed An implementation of one of these algo rithms within an existing gure animation editor is describ ed whichprovides constrained inverse kinematic gure manipulation for the creation of keyframes Contents Intro duction Organization Approaches to Figure Animation Bo dy Mo dels Scop e Skeleton Mo delling Kinematic Metho ds Forward Kinematics Inverse Kinematics Dynamic Metho ds Forward Dynamics Inverse Dynamics Control Issues Summary Inverse Kinematics The Inverse Kinematic Problem Resolved Motion Rate Control Redundancy Singularities OptimizationBased Metho ds Evaluation Applications to Computer Graphics Ecient Algorithms for Direct Manipulation A Simplied Dynamic Mo del The Jacobian Transp ose Metho d i CONTENTS ii Implementation Details Computing the Jacobian Scaling Considerations Integration Joint Limits A Complementary Heuristic Approach The CyclicCo ordinate Descent Metho d Overview Comparison Incorp orating Constraints Constraint Satisfaction Maintaining Constraints The Constraint Condition Computing the Constraint Jacobian Matrix Computing the ConstraintForce Solving for Lagrange Multipliers Feedback Overview Implementation Issues Skeletons as Ob jects Handles on Skeletons Constraints on Handles The Global Picture Summary A CCDbased Penalty Metho d An Interactive Editor A System Overview Skeletons The Sequence The Editor Direct Manipulation Constraints Conclusion Summary Results CONTENTS iii Comments ab out Constraints Directions Bibliography List of Figures a ob jects dened in lo cal co ordinate systems b Lo cal rotations applied cd Lo cal translations applied Three congurations of a D redundant manipulator A manipulator in a singular conguration Interactive control lo op mo del for Jacobian transp ose metho d A case not handled well with the Jacobian transp ose metho d Pulling inwards on the tip of the manipulator on the left will not pro duce an exp ected conguration like the one shown on the right Example CCD iteration step for rotation jointi A force applied to a p oint constrained to lie within a plane A constraining force normal to the plane is added to the applied force to obtain a legal force tangential to the plane Iteration steps for maintaining constraints A generic function blo ck Example network A branching chain with two endeector constraints Sample skeleton description Sequence editor screen Plan view of goal determination in a an orthographic view and b a p ersp ective view A gure b eing p ositioned by rst tilting then twisting the p elvis a First keyframe p ose b Interp olated p ose c Second keyframe p ose iv Chapter Intro duction Computer graphics has advanced to a p oint where generating images of striking realism and com plexity has b ecome almost commonplace However making ob jects moveconvincingly within these pictures remains dicult particularly as ob ject mo dels grow increasingly complex The sp ecication and control of motion for computer animation has emerged as one of the principal areas of research within the computer graphics community One area in particular which continues to receiveattention is that of gure animation The goal of work in this area is to provide a means of generating lifelike p ossibly humanlike articulated gures and to design and control their actions within simulated environments Animated human gures could for example b e placed in simulated environments for ergonomic evaluation or simply to provide some aesthetic qualities to a presentation In the arts and entertainment area the concept of computergenerated characters roaming through articial worlds seems universally app ealing Although gure animation raises technical challenges in b oth mo delling and rendering the fun damental problem of designing and controlling movement for these gures remains a particularly dicult one Part of the problem lies in deciding from whichlevel of detail to approach the task At one end of the scale the movements of individual parts of the b o dy must b e known for each instant in time At the other end of the scale co ordinating movements and handling interaction between gures and with the environmentmay require algorithms based on b ehavioural rules and knowledge bases Many of the most impressive examples of gure animation bycomputerhavebeen the result of algorithms implementing highlevel b ehavioural and motor control mo dels However these algorithms are often limited to generating sp ecic usually rep etitive movement patterns such as walking and running For the animator who wishes to create new movements there is little al ternative to painstakingly constructing the movementby hand Given the complex structure of a typical articulated gure this can involve an inordinate amountofwork CHAPTER INTRODUCTION The motivation b ehind this work is a desire to improve the animation capabilities of an existing interactive articulated gure animation package which is currently used to create movements for b oth dance and animation It is shown how inverse kinematic techniques for controlling rob otic manipulators can b e adopted to relieve the animator of some of the more tedious asp ects of creating new movements by hand After reviewing the inverse kinematic problem and solutions that have previously b een applied to gure animation a pair of alternative solution algorithms are presented and qualitatively compared These algorithms are simple yet eective and can supp ort b oth direct manipulation of articulated gures as well as the imp osition of simple geometric constraints up on a gure Implementations of these algorithms are presented and are applied to develop a basic set of interactive to ols for gure manipulation and animation Organization Chapter reviews computer animation techniques in general and discusses their applicabilityin the context of gure animation In Chapter the inverse kinematic problem is stated and com mon approaches to solving the problem are reviewed In Chapter a pair of fast reliable inverse kinematic algorithms are describ ed suitable for interactive manipulation tasks and diering from previous algorithms adopted for computer graphics In Chapter pro cedures for satisfying simple geometric constraints using these algorithms are considered Chapter intro duces an interactive gure animation editor and discusses implementation of the algorithms as p ositioning aids Chapter Approaches to Figure Animation Placing this work in context requires some understanding of computer animation techniques in general and of how they may b e applied to gure animation in particular This chapter provides an overview of the advantages and disadvantages of basic motion control techniques for gure animation The emphasis here is on metho ds to create and control the movements of articulated gures rather than simply replaying digitized movement It is fair to say that