3.7. Other Game Physics Approaches

Slides:



Advertisements
Similar presentations
COMP Robotics: An Introduction
Advertisements

1 C02,C03 – ,27,29 Advanced Robotics for Autonomous Manipulation Department of Mechanical EngineeringME 696 – Advanced Topics in Mechanical Engineering.
Rotational Motion Chapter Opener. Caption: You too can experience rapid rotation—if your stomach can take the high angular velocity and centripetal acceleration.
© 2011 Autodesk Freely licensed for use by educational institutions. Reuse and changes require a note indicating that content has been modified from the.
Beams and Frames.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Physics Montwood High School R. Casao
Chris Hall Aerospace and Ocean Engineering
Some Ideas Behind Finite Element Analysis
Systems of Linear Equations
3.6. R ESTING C ONTACTS AND F RICTION Exploration of resting contacts and friction.
Chapter 10 Angular momentum Angular momentum of a particle 1. Definition Consider a particle of mass m and linear momentum at a position relative.
Chapter 11 Angular Momentum.
3.5. C ONTACT R ESOLUTION Resolving a set of contacts.
Dynamics of Articulated Robots Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013.
Robot Dynamics – Newton- Euler Recursive Approach ME 4135 Robotics & Controls R. Lindeke, Ph. D.
Ch. 7: Dynamics.
Game Physics Chris Miles. The Goal To learn how to create game objects with realistic physics models To learn how to simulate aspects of reality in order.
Physics 106: Mechanics Lecture 07
1 Geometry A line in 3D space is represented by  S is a point on the line, and V is the direction along which the line runs  Any point P on the line.
UNC Chapel Hill S. Redon - M. C. Lin Rigid body dynamics II Solving the dynamics problems.
Ch. 4: Velocity Kinematics
Chapter 10 Rotational Motion
Articulated Body Dynamics The Basics Comp 768 October 23, 2007 Will Moss.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
1/17/ L IAP 2006  Last Lecture  Everything you need to know about dynamics of rotation  Today  Pendulums and Kinetic Energy of rotation  Important.
3.7. O THER G AME P HYSICS A PPROACHES Overview of other game engine physics approaches.
Velocities and Static Force
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 5)
States, operators and matrices Starting with the most basic form of the Schrödinger equation, and the wave function (  ): The state of a quantum mechanical.
Rotations and Translations
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Game Physics – Part IV Moving to 3D
ME451 Kinematics and Dynamics of Machine Systems Numerical Solution of DAE IVP Newmark Method November 1, 2013 Radu Serban University of Wisconsin-Madison.
Robot Dynamics – Slide Set 10 ME 4135 R. R. Lindeke, Ph. D.
Dynamics.  relationship between the joint actuator torques and the motion of the structure  Derivation of dynamic model of a manipulator  Simulation.
1 C03 – Advanced Robotics for Autonomous Manipulation Department of Mechanical EngineeringME 696 – Advanced Topics in Mechanical Engineering.
Lecture Fall 2001 Physically Based Animation Ordinary Differential Equations Particle Dynamics Rigid-Body Dynamics Collisions.
Advanced Computer Graphics Rigid Body Simulation Spring 2002 Professor Brogan.
Chapter 11 Angular Momentum. Angular momentum plays a key role in rotational dynamics. There is a principle of conservation of angular momentum.  In.
Spring Rigid Body Simulation. Spring Contents Unconstrained Collision Contact Resting Contact.
Just a quick reminder with another example
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 4)
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
1/16/ L IAP 2007  Last Lecture  Everything you need to know about dynamics of rotation  Today  Pendulums and Kinetic Energy of rotation  Important.
Fundamentals of Computer Animation
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
Advanced Computer Graphics Rigid Body Simulation
Physically Based Simulations For Games
Dynamics: Newton’s Laws of Motion
ECE 3301 General Electrical Engineering
Manipulator Dynamics 1 Instructor: Jacob Rosen
Introduction To Robotics
CHAPTER 4: Systems of Particles
Oscillations AP Physics C.
KINETIC ENERGY, WORK, PRINCIPLE OF WORK AND ENERGY
Chapter 10. Numerical Solutions of Nonlinear Systems of Equations
Manipulator Dynamics 2 Instructor: Jacob Rosen
Simple Harmonic Motion
Same format as first quiz. Total of 50 points
KINEMATIC CHAINS & ROBOTS (I)
Advanced Games Development Game Physics
Outline: 5.1 INTRODUCTION
Solving simultaneous equations
Math review - scalars, vectors, and matrices
Physics 319 Classical Mechanics
Chapter 4 . Trajectory planning and Inverse kinematics
Pivoting, Perturbation Analysis, Scaling and Equilibration
Presentation transcript:

3.7. Other Game Physics Approaches Overview of other game engine physics approaches

Other Approaches Overview of other game engine physics approaches

Simultaneous Contact Resolution As an alternative to resolving contacts one at a time, a group of contacts can be solved simultaneously. Physics engines using this approach tend to employ force calculations rather than impulses, i.e. resting objects are kept apart by a constant force (and not a series of single-frame impulses). A simultaneous resolution calculation tries to find the forces and impulses to apply at each contact, taking the interaction of all contacts into account. The most common approach to doing this is by using a Jacobian and solving what is known as the “linear-complementary problem”.

The Jacobian The Jacobian is a mathematical construct (a matrix) that encodes how one contact affects another. It can be solved (usually) to provide a set of forces to be applied. It operates by firstly combining the forces and torques for all objects into a single (long) vector (requiring 6xn entries, where n is the number of rigid bodies – 3 force components, 3 torque components). Next, all accelerations (linear and angular) for all objects are also combined into another (long) vector. The entries in the Jacobian matrix relate these two vectors, i.e. each location in the matrix encodes the amount of acceleration caused by the application of a unit of force or torque.

The Jacobian Some of the entries in the matrix are very simple to calculated (using the equations of motion and rotation as used earlier). The more complex entries arise when encoding the interaction of objects at contact points, but the same approach holds true – i.e. the effect per unit of applied force is calculated and encoded. Components within the Jacobian will also be used to model frictional forces. The flexibility of the Jacobian to represent interactions between objects, as well as the basic motion of the object itself, allows it to be used to create a much wider range of joints. For example, the motion of one object along one axis can be fixed; motors can be implemented by adding elements to the Jacobian that generate forces, etc.

Linear Complementary Problem Resolving all the contacts, using a constructed Jacobian, J , requires that the following be resolved: where f is a vector of force and torque components for all rigid bodies and is the resulting accelerations. f comprises two components: Where f known is the set of forces and torques we know we are applying (forces due to gravity or due to other force generators) and fcontacts is the set of forces that are generated in the contacts, which is what we’re trying to find out. Relying on the distributive properties of matrices (i.e. A×(B +C) = A×B+A×C.), this can be written as: In other words, the Jacobian is multiplied by the known force vector to get a known acceleration.

Linear Complementary Problem Calculating is accomplished before contact resolution (i.e. this value does not change during the resolve process). Stated as such, one approach (albeit computationally expensive and possibly without a solution) is to solve the equation by computing the inverse of the Jacobian. However, this does not take into account an additional constraint that: where r is a vector of limits on how big the forces can be (frictional forces will have a defined limit) The final calculation, finding f so that it fulfils both equations, is called the “linear complementary problem”.

Linear Complementary Problem A commonly used algorithm for solving the LCP is called the “pivot algorithm.” It works by making guesses for components in f and checking the results. The errors from one set of guesses can be used to modify components one at a time and converge at a solution. Under some assumptions that are commonly met in rigid body simulations, the guesses will always converge toward the solution. Complications can arise due to numerical instability and the approximation of fixed- length time steps. This can result in a situation where the pivot algorithm cannot be solved. A robust implementation must detect such situations and provide alternatives (although this adds to the overall complexity).

Breakable / Deformable Bodies Overview of breakable and deformable bodies

Video not available in on-line slides

Video not available in on-line slides

Directed Reading Directed reading concerning other physics approaches

Directed reading Directed reading

Summary Today we explored: Summary of other physics approaches To do: Think if you want to explore the more complex physics approaches.