{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

SimulatingHumans - SIMULATING HUMANS COMPUTER GRAPHICS...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: SIMULATING HUMANS: COMPUTER GRAPHICS, ANIMATION, AND CONTROL Norman I. Badler Cary B. Phillips1 Bonnie L. Webber Department of Computer and Information Science University of Pennsylvania Philadelphia, PA 19104-6389 Oxford University Press c 1992 Norman I Badler, Cary B. Phillips, Bonnie L. Webber March 25, 1999 1 Current address: Paci c Data Images, 1111 Karlstad Dr., Sunnyvale, CA 94089. i To Ginny, Denise, and Mark ii Contents 1 Introduction and Historical Background 1.1 Why Make Human Figure Models? : : : : : : : : : : : : : : : : 1.2 Historical Roots : : : : : : : : : : : : : : : : : : : : : : : : : : : 1.3 What is Currently Possible? : : : : : : : : : : : : : : : : : : : : 1.3.1 A Human Model must be Structured Like the Human Skeletal System : : : : : : : : : : : : : : : : : : : : : : : 1.3.2 A Human Model should Move or Respond Like a Human 1.3.3 A Human Model should be Sized According to Permissible Human Dimensions : : : : : : : : : : : : : : : : : : 1.3.4 A Human Model should have a Human-Like Appearance 1.3.5 A Human Model must Exist, Work, Act and React Within a 3D Virtual Environment : : : : : : : : : : : : 1.3.6 Use the Computer to Analyze Synthetic Behaviors : : : 1.3.7 An Interactive Software Tool must be Designed for Usability : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1.4 Manipulation, Animation, and Simulation : : : : : : : : : : : : 1.5 What Did We Leave Out? : : : : : : : : : : : : : : : : : : : : : 2 Body Modeling 2.1 Geometric Body Modeling : : : : : : : : : : : : : : 2.1.1 Surface and Boundary Models : : : : : : : : 2.1.2 Volume and CSG Models : : : : : : : : : : 2.1.3 The Principal Body Models Used : : : : : : 2.2 Representing Articulated Figures : : : : : : : : : : 2.2.1 Background : : : : : : : : : : : : : : : : : : 2.2.2 The Terminology of Peabody : : : : : : : : 2.2.3 The Peabody Hierarchy : : : : : : : : : : : 2.2.4 Computing Global Coordinate Transforms : 2.2.5 Dependent Joints : : : : : : : : : : : : : : : 2.3 A Flexible Torso Model : : : : : : : : : : : : : : : 2.3.1 Motion of the Spine : : : : : : : : : : : : : 2.3.2 Input Parameters : : : : : : : : : : : : : : : 2.3.3 Spine Target Position : : : : : : : : : : : : 2.3.4 Spine Database : : : : : : : : : : : : : : : : iii : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 4 7 11 12 12 14 15 15 16 18 19 20 23 23 23 25 27 28 29 30 31 33 33 34 36 37 38 38 CONTENTS iv 2.4 Shoulder Complex : : : : : : : : : : : : : : : : : : : 2.4.1 Primitive Arm Motions : : : : : : : : : : : : 2.4.2 Allocation of Elevation and Abduction : : : : 2.4.3 Implementation of Shoulder Complex : : : : 2.5 Clothing Models : : : : : : : : : : : : : : : : : : : : 2.5.1 Geometric Modeling of Clothes : : : : : : : : 2.5.2 Draping Model : : : : : : : : : : : : : : : : : 2.6 The Anthropometry Database : : : : : : : : : : : : : 2.6.1 Anthropometry Issues : : : : : : : : : : : : : 2.6.2 Implementation of Anthropometric Scaling : 2.6.3 Joints and Joint Limits : : : : : : : : : : : : 2.6.4 Mass : : : : : : : : : : : : : : : : : : : : : : : 2.6.5 Moment of Inertia : : : : : : : : : : : : : : : 2.6.6 Strength : : : : : : : : : : : : : : : : : : : : : 2.7 The Anthropometry Spreadsheet : : : : : : : : : : : 2.7.1 Interactive Access Anthropometric Database 2.7.2 SASS and the Body Hierarchy : : : : : : : : 2.7.3 The Rule System for Segment Scaling : : : : 2.7.4 Figure Creation : : : : : : : : : : : : : : : : : 2.7.5 Figure Scaling : : : : : : : : : : : : : : : : : 2.8 Strength and Torque Display : : : : : : : : : : : : : 2.8.1 Goals of Strength Data Display : : : : : : : : 2.8.2 Design of Strength Data Displays : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3.1 Direct Manipulation : : : : : : : : : : : : : : : : : : : : : 3.1.1 Translation : : : : : : : : : : : : : : : : : : : : : : 3.1.2 Rotation : : : : : : : : : : : : : : : : : : : : : : : : 3.1.3 Integrated Systems : : : : : : : : : : : : : : : : : : 3.1.4 The Jack Direct Manipulation Operator : : : : : : 3.2 Manipulation with Constraints : : : : : : : : : : : : : : : 3.2.1 Postural Control using Constraints : : : : : : : : : 3.2.2 Constraints for Inverse Kinematics : : : : : : : : : 3.2.3 Features of Constraints : : : : : : : : : : : : : : : 3.2.4 Inverse Kinematics and the Center of Mass : : : : 3.2.5 Interactive Methodology : : : : : : : : : : : : : : : 3.3 Inverse Kinematic Positioning : : : : : : : : : : : : : : : : 3.3.1 Constraints as a Nonlinear Programming Problem 3.3.2 Solving the Nonlinear Programming Problem : : : 3.3.3 Assembling Multiple Constraints : : : : : : : : : : 3.3.4 Sti ness of Individual Degrees of Freedom : : : : : 3.3.5 An Example : : : : : : : : : : : : : : : : : : : : : 3.4 Reachable Spaces : : : : : : : : : : : : : : : : : : : : : : : 3.4.1 Workspace Point Computation Module : : : : : : : 3.4.2 Workspace Visualization : : : : : : : : : : : : : : : 3.4.3 Criteria Selection : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 Spatial Interaction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 39 40 41 41 45 46 48 49 49 50 51 53 53 54 54 56 57 57 59 59 60 61 61 67 67 68 68 69 70 75 75 77 78 78 80 83 86 87 91 93 93 94 96 97 98 CONTENTS 4 Behavioral Control 4.1 An Interactive System for Postural Control 4.1.1 Behavioral Parameters : : : : : : : : 4.1.2 Passive Behaviors : : : : : : : : : : : 4.1.3 Active Behaviors : : : : : : : : : : : 4.2 Interactive Manipulation With Behaviors : 4.2.1 The Feet : : : : : : : : : : : : : : : 4.2.2 The Center of Mass and Balance : : 4.2.3 The Torso : : : : : : : : : : : : : : : 4.2.4 The Pelvis : : : : : : : : : : : : : : : 4.2.5 The Head and Eyes : : : : : : : : : 4.2.6 The Arms : : : : : : : : : : : : : : : 4.2.7 The Hands and Grasping : : : : : : 4.3 The Animation Interface : : : : : : : : : : : 4.4 Human Figure Motions : : : : : : : : : : : 4.4.1 Controlling Behaviors Over Time : : 4.4.2 The Center of Mass : : : : : : : : : 4.4.3 The Pelvis : : : : : : : : : : : : : : : 4.4.4 The Torso : : : : : : : : : : : : : : : 4.4.5 The Feet : : : : : : : : : : : : : : : 4.4.6 Moving the Heels : : : : : : : : : : : 4.4.7 The Arms : : : : : : : : : : : : : : : 4.4.8 The Hands : : : : : : : : : : : : : : 4.5 Virtual Human Control : : : : : : : : : : : v : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5.1 Forward Simulation with Behaviors : : : : : : : : : : : : 5.1.1 The Simulation Model : : : : : : : : : : : : : : : 5.1.2 The Physical Execution Environment : : : : : : 5.1.3 Networks of Behaviors and Events : : : : : : : : 5.1.4 Interaction with Other Models : : : : : : : : : : 5.1.5 The Simulator : : : : : : : : : : : : : : : : : : : 5.1.6 Implemented Behaviors : : : : : : : : : : : : : : 5.1.7 Simple human motion control : : : : : : : : : : : 5.2 Locomotion : : : : : : : : : : : : : : : : : : : : : : : : : 5.2.1 Kinematic Control : : : : : : : : : : : : : : : : : 5.2.2 Dynamic Control : : : : : : : : : : : : : : : : : : 5.2.3 Curved Path Walking : : : : : : : : : : : : : : : 5.2.4 Examples : : : : : : : : : : : : : : : : : : : : : : 5.3 Strength Guided Motion : : : : : : : : : : : : : : : : : : 5.3.1 Motion from Dynamics Simulation : : : : : : : : 5.3.2 Incorporating Strength and Comfort into Motion 5.3.3 Motion Control : : : : : : : : : : : : : : : : : : : 5.3.4 Motion Strategies : : : : : : : : : : : : : : : : : : 5.3.5 Selecting the Active Constraints : : : : : : : : : 5.3.6 Strength Guided Motion Examples : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 Simulation with Societies of Behaviors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 101 102 103 109 114 116 117 117 120 123 123 123 126 126 128 129 129 130 130 130 131 132 132 132 137 139 141 142 144 145 147 149 150 150 151 152 154 159 161 161 163 164 167 169 170 CONTENTS vi 5.3.7 Evaluation of this Approach : : : : : : : : : : : : : : : : 173 5.3.8 Performance Graphs : : : : : : : : : : : : : : : : : : : : 173 5.3.9 Coordinated Motion : : : : : : : : : : : : : : : : : : : : 174 5.4 Collision-Free Path and Motion Planning : : : : : : : : : : : : 180 5.4.1 Robotics Background : : : : : : : : : : : : : : : : : : : 180 5.4.2 Using Cspace Groups : : : : : : : : : : : : : : : : : : : 181 5.4.3 The Basic Algorithm : : : : : : : : : : : : : : : : : : : : 182 5.4.4 The Sequential Algorithm : : : : : : : : : : : : : : : : : 183 5.4.5 The Control Algorithm : : : : : : : : : : : : : : : : : : 185 5.4.6 The Planar Algorithm : : : : : : : : : : : : : : : : : : : 186 5.4.7 Resolving Con icts between Di erent Branches : : : : : 186 5.4.8 Playing Back the Free Path : : : : : : : : : : : : : : : : 187 5.4.9 Incorporating Strength Factors into the Planned Motion 189 5.4.10 Examples : : : : : : : : : : : : : : : : : : : : : : : : : : 190 5.4.11 Completeness and Complexity : : : : : : : : : : : : : : 191 5.5 Posture Planning : : : : : : : : : : : : : : : : : : : : : : : : : : 192 5.5.1 Functionally Relevant High-level Control Parameters : : 196 5.5.2 Motions and Primitive Motions : : : : : : : : : : : : : : 197 5.5.3 Motion Dependencies : : : : : : : : : : : : : : : : : : : 197 5.5.4 The Control Structure of Posture Planning : : : : : : : 199 5.5.5 An Example of Posture Planning : : : : : : : : : : : : : 200 6 Task-Level Speci cations 6.1 Performing Simple Commands : : : : : : : : : : : 6.1.1 Task Environment : : : : : : : : : : : : : : 6.1.2 Linking Language and Motion Generation : 6.1.3 Specifying Goals : : : : : : : : : : : : : : : 6.1.4 The Knowledge Base : : : : : : : : : : : : : 6.1.5 The Geometric Database : : : : : : : : : : 6.1.6 Creating an Animation : : : : : : : : : : : 6.1.7 Default Timing Constructs : : : : : : : : : 6.2 Language Terms for Motion and Space : : : : : : : 6.2.1 Simple Commands : : : : : : : : : : : : : : 6.2.2 Representational Formalism : : : : : : : : : 6.2.3 Sample Verb and Preposition Speci cations 6.2.4 Processing a sentence : : : : : : : : : : : : 6.2.5 Summary : : : : : : : : : : : : : : : : : : : 6.3 Task-Level Simulation : : : : : : : : : : : : : : : : 6.3.1 Programming Environment : : : : : : : : : 6.3.2 Task-actions : : : : : : : : : : : : : : : : : 6.3.3 Motivating Some Task-Actions : : : : : : : 6.3.4 Domain-speci c task-actions : : : : : : : : 6.3.5 Issues : : : : : : : : : : : : : : : : : : : : : 6.3.6 Summary : : : : : : : : : : : : : : : : : : : 6.4 A Model for Instruction Understanding : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 207 208 208 209 209 210 211 211 212 214 214 215 217 219 221 222 223 224 225 226 228 231 231 CONTENTS vii 7 Epilogue 243 7.1 A Roadmap Toward the Future : : : : : : : : : : : : : : : : : : 7.1.1 Interactive Human Models : : : : : : : : : : : : : : : : : 7.1.2 Reasonable Biomechanical Properties : : : : : : : : : : 7.1.3 Human-like Behaviors : : : : : : : : : : : : : : : : : : : 7.1.4 Simulated Humans as Virtual Agents : : : : : : : : : : : 7.1.5 Task Guidance through Instructions : : : : : : : : : : : 7.1.6 Natural Manual Interfaces and Virtual Reality : : : : : 7.1.7 Generating Text, Voice-over, and Spoken Explication for Animation : : : : : : : : : : : : : : : : : : : : : : : : 7.1.8 Coordinating Multiple Agents : : : : : : : : : : : : : : : 7.2 Conclusion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Bibliography Index 244 245 245 245 246 246 246 247 247 248 249 267 CONTENTS viii Preface The decade of the 80's saw the dramatic expansion of high performance computer graphics into domains previously able only to irt with the technology. Among the most dramatic has been the incorporation of real-time interactive manipulation and display for human gures. Though actively pursued by several research groups, the problem of providing a virtual or synthetic human for an engineer or designer already accustomed to Computer-Aided Design techniques was most comprehensively attacked by the Computer Graphics Research Laboratory at the University of Pennsylvania. The breadth of that e ort as well as the details of its methodology and software environment are presented in this volume. This book is intended for human factors engineers requiring current knowledge of how a computer graphics surrogate human can augment their analyses of designed environments. It will also help inform design engineers of the state-of-the-art in human gure modeling, and hence of the human-centered design central to the emergent notion of Concurrent Engineering. Finally, it documents for the computer graphics community a major research e ort in the interactive control and motion speci cation of articulated human gures. Many people have contributed to the work described in this book, but the textual material derives more or less directly from the e orts of our current and former students and sta : Tarek Alameldin, Francisco Azuola, Breck Baldwin, Welton Becket, Wallace Ching, Paul Diefenbach, Barbara Di Eungenio, Je rey Esakov, Christopher Geib, John Granieri, Marc Grosso, PeiHwa Ho, Mike Hollick, Moon Jung, Jugal Kalita, Hyeongseok Ko, Eunyoung Koh, Jason Koppel, Michael Kwon, Philip Lee, Libby Levison, Gary Monheit, Michael Moore, Ernest Otani, Susanna Wei, Graham Walters, Michael White, Jianmin Zhao, and Xinmin Zhao. Additional animation help has come from Leanne Hwang, David Haynes, and Brian Stokes. John Granieri and Mike Hollick helped considerably with the photographs and gures. This work would not have been possible without the generous and often long term support of many organizations and individuals. In particular we would like to acknowledge our many colleagues and friends: Barbara Woolford, Geri Brown, Jim Maida, Abhilash Pandya and the late Linda Orr in the Crew Station Design Section and Mike Greenisen at NASA Johnson Space Center; Ben Cummings, Brenda Thein, Bernie Corona, and Rick Kozycki of the U.S. Army Human Engineering Laboratory at Aberdeen Proving Grounds; James Hartzell, James Larimer, Barry Smith, Mike Prevost, and Chris Neukom of the A3I Project in the Aero ight Dynamics Directorate of NASA Ames Research Center; Steve Paquette of the U. S. Army Natick Laboratory; Jagdish Chandra and David Hislop of the U. S. Army Research O ce; the Army Articial Intelligence Center of Excellence at the University of Pennsylvania and its Director, Aravind Joshi; Art Iverson and Jack Jones of the U.S. Army TACOM; Jill Easterly, Ed Boyle, John Ianni, and Wendy Campbell of the U. S. Air Force Human Resources Directorate at Wright-Patterson Air Force Base; Medhat Korna and Ron Dierker of Systems Exploration, Inc.; Pete Glor CONTENTS ix and Joseph Spann of Hughes Missile Systems formerly General Dynamics, Convair Division; Ruth Maulucci of MOCO Inc.; John McConville, Bruce Bradtmiller, and Bob Beecher of Anthropology Research Project, Inc.; Edmund Khouri of Lockheed Engineering and Management Services; Barb Fecht of Battelle Paci c Northwest Laboratories; Jerry Duncan of Deere and Company; Ed Bellandi of FMC Corp.; Steve Gulasy of Martin-Marietta Denver Aerospace; Joachim Grollman of Siemens Research; Kathleen Robinette of the Armstrong Medical Research Lab at Wright-Patterson Air Force Base; Harry Frisch of NASA Goddard Space Flight Center; Jerry Allen and the folks at Silicon Graphics, Inc.; Jack Scully of Ascension Technology Corp.; the National Science Foundation CISE Grant CDA88-22719 and ILI Grant USE-9152503; and the State of Pennsylvania Benjamin Franklin Partnership. Martin Zaidel a contributed valuable L TEX help. Finally, the encouragement and patience of Don Jackson at Oxford University Press has been most appreciated. Norman I. Badler University of Pennsylvania Cary B. Phillips PDI, Sunnyvale Bonnie L. Webber University of Pennsylvania x CONTENTS Chapter 1 Introduction and Historical Background People are all around us. They inhabit our home, workplace, entertainment, and environment. Their presence and actions are noted or ignored, enjoyed or disdained, analyzed or prescribed. The very ubiquitousness of other people in our lives poses a tantalizing challenge to the computational modeler: people are at once the most common object of interest and yet the most structurally complex. Their everyday movements are amazingly uid yet demanding to reproduce, with actions driven not just mechanically by muscles and bones but also cognitively by beliefs and intentions. Our motor systems manage to learn how to make us move without leaving us the burden or pleasure of knowing how we did it. Likewise we learn how to describe the actions and behaviors of others without consciously struggling with the processes of perception, recognition, and language. A famous Computer Scientist, Alan Turing, once proposed a test to determine if a computational agent is intelligent Tur63 . In the Turing Test, a subject communicates with two agents, one human and one computer, through a keyboard which e ectively restricts interaction to language. The subject attempts to determine which agent is which by posing questions to both of them and guessing their identities based on the intelligence" of their answers. No physical manifestation or image of either agent is allowed as the process seeks to establish abstract intellectual behavior," thinking, and reasoning. Although the Turing Test has stood as the basis for computational intelligence since 1963, it clearly omits any potential to evaluate physical actions, behavior, or appearance. Later, Edward Feigenbaum proposed a generalized de nition that included action: Intelligent action is an act or decision that is goal-oriented, arrived at by an understandable chain of symbolic analysis and reasoning steps, and is one in which knowledge of the world informs and guides the reasoning." Bod77 . We can imagine an analogous Turing Test" that would have the 1 2 CHAPTER 1. INTRODUCTION AND HISTORICAL BACKGROUND subject watching the behaviors of two agents, one human and one synthetic, while trying to determine at a better than chance level which is which. Human movement enjoys a universality and complexity that would de nitely challenge an animated gure in this test: if a computer-synthesized gure looks, moves, and acts like a real person, are we going to believe that it is real? On the surface the question almost seems silly, since we would rather not allow ourselves to be fooled. In fact, however, the question is moot though the premises are slightly di erent: cartoon characters are hardly real," yet we watch them and properly interpret their actions and motions in the evolving context of a story. Moreover, they are not realistic" in the physical sense no one expects to see a manifest Mickey Mouse walking down the street. Nor do cartoons even move like people they squash and stretch and perform all sorts of actions that we would never want to do. But somehow our perceptio...
View Full Document

{[ snackBarMessage ]}