Academia.eduAcademia.edu

Dynamics

AI-generated Abstract

This paper discusses various techniques and technologies in the field of dynamics, particularly focusing on modeling and simulation methods. It contrasts force-based modeling, which presents challenges in tuning parameters and achieving desired effects, with constraint-based modeling, which autonomously enforces constraints, simplifying the user’s role in simulation. Key areas such as integration techniques, contact and friction modeling, and linear complementarity problems (LCP) are explored, alongside advancements such as parallelization and the development of robust algorithms aimed at improving performance in simulation applications.

Dyna m ic s Sim ula t ion A whirlwind tour. (Current State, and New Frontiers) Russell Smith Dec 2004 Copyright ©2004 Russell Smith What I’ll Talk About 1. Dynamics simulation. – – – What is it? Existing applications. Technology (the whirlwind tour) . 2. Making simulation easier for the end user. – Technical challenges. 3. New techniques and applications. Copyright ©2004 Russell Smith Chapter 1 Dynamics Simulation Copyright ©2004 Russell Smith What is Dynamics? • Classical physics: Newton’s law[s]. High school f = ma d p ∂V = − dt 2 ∂p 2 M T Grad school • In this talk “dynamics” is mostly “articulated rigid body dynamics”. • But also: – Particle dynamics, cloth dynamics, wave dynamics, fluid dynamics, flexible body dynamics, fracture dynamics… Copyright ©2004 Russell Smith Dynamics Simulation Libraries • API primitives: rigid or flexible bodies, joints, contact with friction, collision detection, etc… • Many techniques, many libraries, lots of research. Copyright ©2004 Russell Smith Applications: Games – Interactive 3D worlds – typically FPS games. – Limited uses: stacks of boxes, rag-dolls, collapsing buildings. But: need fast, stable and predictable simulation. Copyright ©2004 Russell Smith Applications: 3D animation tools – The big three (Maya, SoftImage, 3DS Max), many others. – Simulate dead things, or in combination with motion capture. – Many custom tools, e.g. Massive (“Lord of the Rings”). Copyright ©2004 Russell Smith Applications: Industrial – Robot prototyping / modeling / research (e.g. Honda ASIMO, NASA mars rover). – Biomechanics. – Vehicle operator training, prototyping. Copyright ©2004 Russell Smith • My rigid body simulation library. – Many others: Havok, PhysX (Novodex, Meqon), SD/Fast… • A platform for research. – Simulation algorithms, simulation applications. • Open source (BSD license). – Dynamics should be ubiquitous: encourage innovation. – Closed source libraries constrain users: endless customization and integration hassles. – Why customization: ODE  SoftImage XSI  ILM • Used in “Eternal Sunshine of the Spotless Mind”. Copyright ©2004 Russell Smith • Over 1000 users: widely used in games, game engines, robot simulation, 3D animation. Copyright ©2004 Russell Smith Technology #1 – Equations of Motion • Lagrange multiplier (LM). – State space includes all body degrees of freedom. Model constraint forces explicitly. Invert a big matrix in each step. • Reduced coordinate (RC). – State space has minimum size. Constraint forces are implicit. Spatial algebra. Fast tree-based factorization. • State of the art: hybrids. – LM more flexible, RC faster – combine the two. • Jakobsen – the easy way. – Particle system, Verlet integrator. Fast but limited. • Impulse dynamics – also a popular choice. • Transformations of constraint manifold. • Many more… Copyright ©2004 Russell Smith Technology #2 – Integration • Integrator type. – Explicit: acceleration a function of current forces. • Numerical energy gains. – Implicit: acceleration a function of future forces. • Numerical damping, therefore more stable. • Accuracy and stability. – Higher order = more stable (usually). – Higher order = more accurate? (it depends…) • Integrator or time-stepper – Integrator: plug in dy/dt=f(y) – Time stepper: integrator mixed with model. • State of the art: second order time steppers with pyramidal friction [Stewart and Trinkle]. • Symplectic integration – but what about nonconservative systems? Copyright ©2004 Russell Smith Technology #3 – Contact and Friction • Old way: spring and damper. – Spring and damper prevent penetration. – Tangential damping gives viscous friction. • New way: constraint based. – Non-penetration constraints, solve LCP. • Constraint based friction. – Coulomb friction cones ideal – but solution may not exist! – Static and dynamic friction. – Approximating friction is the big problem: friction pyramids, friction boxes, time-steppers. • Impact modeling – Velocity constraints give impulses for free. • Frontiers: differential inclusions, non-convex LCP. Copyright ©2004 Russell Smith Technology #4 –LCP • Lagrange multiplier technique: Solve the linear complementarity problem (LCP): A x = b + w, x ≥ 0, w ≥ 0, x w = 0 T • If x=0 this is just factorization. • Otherwise it’s a discrete optimization problem. – Find the subset of variables in x to clamp to zero. – If A is SPD, a single unique solution exists, otherwise existence and uniqueness is not guaranteed. – Various search and factorization-based algorithms, both direct and iterative. Jury still out on the “best” technique for RBD. • Frontiers: Interior point methods, multi-grid LCP, nonconvex LCP, nonlinear-CP. Copyright ©2004 Russell Smith Technology #5 – Optimization • For Lagrange multiplier technique, must factorize the “system matrix” (also principle sub-matrices). • Matrix may be singular (PSD) or close to it. – Must use numerically robust algorithms. • It’s not about MFLOPS, it’s about MBytes/s – Naïve implementations starve floating point units, as main memory bandwidth is very small compared to peak MFLOPS. – Many tricks: minimize memory traffic, cache-friendly algorithms, pipelining, SIMD, ATLAS. • Frontiers: – – – – Multi-frontal solvers for sparse matrices. Reduced coordinate hybrid techniques. Iterative solvers. GPUs, custom hardware. Copyright ©2004 Russell Smith Technology #6 – Collision • Collision detection an entirely separate field. – Computational geometry. – Many problems to solve. • Standard approaches: – – – – Primitive–to–primitive, O(N2) functions to write. GJK / VClip (convex polyhedra). Culling (AABBs, OBBs, BSPs, etc). Triangle mesh (RAPID). • More than just intersection tests. – Generate contact points, contact normals and depths. – Contact culling for good physical behavior. – Frontiers: Continuous collision detection to prevent interpenetration. Copyright ©2004 Russell Smith Chapter 2 Making Simulation Easier to Use (and therefore cheaper) Copyright ©2004 Russell Smith Why Simulation is Hard • Modeling real-world mechanisms is hard. • Unexpected behavior. – Hard-to-debug numerical explosions, jitter, poor contact behavior and general unexpected weirdness. • APIs force the user to learn arcane concepts. – Many simulation primitives not intuitive – angular velocity, inertia tensors. • Too slow for big models. • Force-based modeling is tricky. • Too many numerical parameters to tune. – Many modeling / numerical approximations used, all with their own tradeoff parameters. Little guidance available, need to experiment. Copyright ©2004 Russell Smith Case Study: Game Worlds • Don’t have to script all behavior (easier content creation?) – But: hard to script any behavior. Lack of artist control. • Improved realism and world consistency. – Objects “do the right thing” – but only if the model is good, and this might not be what you want anyway (e.g., vehicle centers of mass). • Emergent behavior. – Often pleasantly surprising, often annoying. Game design must allow for unpredictable outcomes. • Players can exercise more creativity and control. – World building, story telling. • Other problems: – Extra control / AI needed for virtual creatures. – Allow a dynamic player to participate in a dynamic environment. – More computation needed – eats the CPU budget. Copyright ©2004 Russell Smith Case Study: Robot Control • Simulations are quicker to build than robots. – But realistic simulations are hard to build: need to model actuators (electrical motor dynamics, hydraulics / pneumatics, gear boxes, friction, stiction, flexion and slip), sensors, robot geometry and mass distribution, joint geometries, flexible bodies (vibration effects). • Simulations let you cheat. – Easy to make controllers that exploit quirks of the simulated world, that don’t work so well in real life. • Simulated robots don’t break. – The cost of experimentation may be lower. • The best tradeoff: – Prototype robot control algorithms on a good-enough simulation, then move to the real hardware. Copyright ©2004 Russell Smith API Issues • In the old days it was harder: – MDH parameters, weird reference frames, text file configuration, poor documentation, implementation exposed. • Now we think about the user experience. – Absolute positions, utility functions (e.g. for rotation), interactive setup (3D tools), documentation, API consistency, only essential concepts in the API. • Still lots of room for improvement. – Constructive modeling: glue, split, clone, deform, etc. – Dynamics debuggers – identify model physical / numerical errors. – Standardized data formats. Copyright ©2004 Russell Smith Speed • Higher speed  real time simulation of more complex worlds. • Big-matrix methods need lots of Optimization. – Coding tricks: minimize memory traffic, cache-friendly algorithms, pipelining, SIMD. • Parameterized code, search for efficient parameters (ATLAS). • CPU budgeting. – Iterative methods allow us to cap effort per frame. – But accuracy is an issue. • Parallelization. – – – – Problem is not coarse grained – so clusters don’t work well. Parallel direct factorization – only for large problems. Iterative techniques the easiest to parallelize. ODE QuickStep inner loop: 3x speedup using 6 CPUs – [SGI Altix]. Copyright ©2004 Russell Smith Force Based Modeling (bad!) • User calculates and applies forces to bodies, e.g.: – Contacts and friction: spring and damper contact points. – Actuators and brakes: PD control of joint forces. • Why it’s bad: – Lots of parameters to tune (spend all your time searching a high-dimensional parameter space). – Usually hard to achieve desired effects (e.g. non-penetration of contacts). – Stiff forces react badly with explicit integrators. • Implicit integrators are slow on user-supplied forces. Copyright ©2004 Russell Smith Constraint Based Modeling (good!) • Velocity / acceleration [in]equality constraints (LCP): f u ( v ) = 0, f v ( v ) ≥ 0 or f a (a) = 0, f b (a) ≥ 0 • Contacts and friction. – Relative velocity & force normal to contact surface ≥ 0. – Tangential forces limited by Coulomb friction (various models). – Constraint modeling is now commonplace for contacts. • Actuators and brakes. – Joint velocity = v, but don’t apply too much force. • Simulator enforces constraints automatically – No parameters to tune. – Integration problems hidden away. • Can also model stiff springs, e.g. suspensions. Copyright ©2004 Russell Smith Joints are Constraint ODE’s “robot” joints: ODE’s special purpose joints: Copyright ©2004 Russell Smith Constraint Also Good For: • Mechanisms – Gears, linked platforms, steering geometry, suspensions, roller coasters, weird joints (e.g. screw joints), etc. • Modeling – Contact geometry, various kinds of friction, various actuators, spongy / flexible joints, etc. • Disadvantages: – More expensive than forces. • Must factor a matrix of constraint information. – More mathematically difficult to formulate. • But “intuitive” guidance available, see Game Gems IV ch3.4. Copyright ©2004 Russell Smith Chapter 3 New Techniques and Applications Copyright ©2004 Russell Smith New Ways of Using Simulation • Animation Tools. – – – – – Artist control. Ghosting Motion retargeting. Motion scripting, time-extended constraints. Realistic movement: alternatives to key-framing / MoCap. • Robot Control. – – – – – Simulation-in-the-loop Behavioral constraints, e.g. balancing. Motion retargeting. Model fitting (converge on robot model). Look-ahead, look-ahead constraints. • Other categories: – Haptics (e.g. virtual surgery), biomechanics research / diagnosis, industrial prototyping (vehicles, robots), product presentation, operator training. Copyright ©2004 Russell Smith Artist Control #1: Kinematic Control • First order dynamics used for posing (click+drag positioning). – First order: velocity (not acceleration) driven by force. – Easier than inverse kinematics, all constraints in the toolbox can be applied. – E.g.: Endorphin (www.naturalmotion.com) Also: ghosting (Endorphin, XSI) Copyright ©2004 Russell Smith Artist Control #2: Motion Control • Motion retargeting. – Source motion drives end effector constraints, or inverse collision constraints. – Constraints added to target structure so that it follows the relevant features of the source motion. • Motion scripting. – Constrain the end-state of a simulation, or a functional of the trajectory. Get high level motion control. – Point-and-shoot techniques. Dynamic programming? – Hybrid systems - combine kinematics (MoCap) with dynamics. – Need good designer interfaces - still experimental. Copyright ©2004 Russell Smith Simulation-in-the-Loop (to Augment Intelligent Control) • A popular approach: modular, hierarchical design. – “Biologically inspired”. – Adaptive control used in lower levels. – E.g.: Supervisor level Trainer Medium level control of “synergies” Adaptive Controller Low level control of joints Actuators Sensors Robot Copyright ©2004 Russell Smith A Common Problem: Compensation For Internal Disturbance. • A high level command descending through the hierarchy may inadvertently affect other parts of the hierarchy, e.g.: 1) “Reach for cup” 2) “Move left arm” 3) New joint trajectories 5) Influence felt elsewhere in body, compensation required 4) Motors activated, positions change Robot Copyright ©2004 Russell Smith Standard Solutions 1. Add extra associativity to the low level controllers. 2. Use global inverse dynamics to determine joint forces. • Lack of flexibility, e.g. fully specified motion for all joints – a problem if we want joint compliance. Trainer Adaptive Controller With extra internal sensors this unit is able to anticipate and correct for disturbances. Robot Copyright ©2004 Russell Smith Simulation-in-the-Loop • • • Simulation input: joint force / velocity reference. Joint forces read out. Constraints automatically compensate for disturbances. Robot Simulation Robot Copyright ©2004 Russell Smith Behavioral Constraints • E.g. balancing: control center of mass projection onto floor: T ∑m n ∑m i i pi = whatever (n is floor normal) i i • We can express this as a velocity constraint:   d momentum = n T ∑ mi vi =  ∑ mi  whatever i  dt  i • The trick: compute the actuator forces that could substitute for the constraint forces.. – Least squares problem. – Can not always find a solution, e.g. depends on initial conditions. Copyright ©2004 Russell Smith Example: Balancing Constraint • Simple biped model: – – – – Left foot anchored to ground. The only control rule: keep left leg straight. Right leg dragged by an external force. Balance constraint implies actuator commands  biped posture changes to keep balance. Copyright ©2004 Russell Smith The End Copyright ©2004 Russell Smith