Spacetime Constraints Chris Moore CS 552. Purpose Physically Accurate Realistic Motion.

Slides:



Advertisements
Similar presentations
Zhen Lu CPACT University of Newcastle MDC Technology Reduced Hessian Sequential Quadratic Programming(SQP)
Advertisements

CS6800 Advanced Theory of Computation
Engineering Optimization
Spacetime Constraints David Coyne Joe Ishikura. The challenge of kinematics Successful animation requires control, but looks real Traditional principles.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Optimization methods Review
July 11, 2006 Comparison of Exact and Approximate Adjoint for Aerodynamic Shape Optimization ICCFD 4 July 10-14, 2006, Ghent Giampietro Carpentieri and.
A Momentum-based Bipedal Balance Controller Yuting Ye May 10, 2006.
Institute of Intelligent Power Electronics – IPE Page1 Introduction to Basics of Genetic Algorithms Docent Xiao-Zhi Gao Department of Electrical Engineering.
Oklahoma State University Generative Graphical Models for Maneuvering Object Tracking and Dynamics Analysis Xin Fan and Guoliang Fan Visual Computing and.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
Chapter 10: Rotation. Rotational Variables Radian Measure Angular Displacement Angular Velocity Angular Acceleration.
Methods For Nonlinear Least-Square Problems
Interactive Manipulation of Rigid Body Simulations Presenter : Chia-yuan Hsiung Proceedings of SIGGRAPH 2000 Jovan Popovi´c, Steven M. Seitz, Michael.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting TUDelft, 21 st June 2006 Lode Vanacken Expertise centre for Digital Media (EDM) Hasselt University.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
Monte Carlo Methods in Partial Differential Equations.
MATH 685/ CSI 700/ OR 682 Lecture Notes Lecture 9. Optimization problems.
Brandon Andrews.  What are genetic algorithms?  3 steps  Applications to Bioinformatics.
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
1. Optimization and its necessity. Classes of optimizations problems. Evolutionary optimization. –Historical overview. –How it works?! Several Applications.
Ranga Rodrigo April 6, 2014 Most of the sides are from the Matlab tutorial. 1.
Modelling and Simulation Dynamics. Dynamics Dynamics is a branch of physics that describes how objects move. Dynamic animation uses rules of physics to.
Basic Numerical methods and algorithms
ENCI 303 Lecture PS-19 Optimization 2
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
Integrating Neural Network and Genetic Algorithm to Solve Function Approximation Combined with Optimization Problem Term presentation for CSC7333 Machine.
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
Spacetime Constraints Revisited Joe Marks J. Thomas Ngo Using genetic algorithms to find solutions to spacetime constraint problems in 2D.
Spring Rigid Body Simulation. Spring Contents Unconstrained Collision Contact Resting Contact.
Robotics Chapter 5 – Path and Trajectory Planning
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
1/27 Discrete and Genetic Algorithms in Bioinformatics 許聞廉 中央研究院資訊所.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Derivative Free Optimization G.Anuradha. Contents Genetic Algorithm Simulated Annealing Random search method Downhill simplex method.
Motion Capture Motion Capture. Motion Capture Motion capture, Motion Tracking or Mocap, is a technique of digitally recording movements for entertainment,
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Optimization & Constraints Add mention of global techiques Add mention of calculus.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Iterative Improvement Algorithm 2012/03/20. Outline Local Search Algorithms Hill-Climbing Search Simulated Annealing Search Local Beam Search Genetic.
Advanced Computer Graphics Rigid Body Simulation Spring 2002 Professor Brogan.
1 Honors Physics 1 Summary and Review - Fall 2013 Quantitative and experimental tools Mathematical tools Newton’s Laws and Applications –Linear motion.
Optical Flow. Distribution of apparent velocities of movement of brightness pattern in an image.
Spacetime Constraints Andrew Witkin Michael Kass Presenter: Fayun Luo.
A Grasp-Based Motion Planning Algorithm for Character Animation M. Kalisiak, M. van de Panne Eurographics Workshop on Computer Animation & Simulation 2000.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Lecture 6 - Single Variable Problems & Systems of Equations CVEN 302 June 14, 2002.
Spacetime Constraints Revisited J. Thomas Ngo Graduate Biophysics Program Harvard University Joe marks Cambridge Research Lab Digital Equipment Corporation.
Lecture Fall 2001 Controlling Animation Boundary-Value Problems Shooting Methods Constrained Optimization Robot Control.
Rick Parent - CIS682 Rigid Body Dynamics simulate basic physics of an object subject to forces Keyframing can be tedious - especially to get ‘realism’
Application of the GA-PSO with the Fuzzy controller to the robot soccer Department of Electrical Engineering, Southern Taiwan University, Tainan, R.O.C.
Texas A&M University, Department of Aerospace Engineering AUTOMATIC GENERATION AND INTEGRATION OF EQUATIONS OF MOTION BY OPERATOR OVER- LOADING TECHNIQUES.
Genetic Algorithm(GA)
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
Advanced AI – Session 7 Genetic Algorithm By: H.Nematzadeh.
Hirophysics.com The Genetic Algorithm vs. Simulated Annealing Charles Barnes PHY 327.
Warehouse Lending Optimization Paul Parker (2016).
Advanced Computer Graphics Rigid Body Simulation
Animating Human Locomotion
Physically-Based Motion Synthesis in Computer Graphics
Using GA’s to Solve Problems
Bounded Nonlinear Optimization to Fit a Model of Acoustic Foams
Character Animation Forward and Inverse Kinematics
Traffic Simulator Calibration
Department of Aerospace Engineering
Synthesis of Motion from Simple Animations
Computer Animation Algorithms and Techniques
Presentation transcript:

Spacetime Constraints Chris Moore CS 552

Purpose Physically Accurate Realistic Motion

Components

Bodies

Components Bodies Inputs

Components Bodies Inputs Constraints

Components Bodies Inputs Constraints Objective Function

Bodies Single Particle / Rigid Body Articulated Bodies Multiple Bodies

Inputs Denoted Force Vector Components Spring Variables –Linear and Angular –Rest Length, Damping Coefficient, etc Object Positions

Constraints Function of Inputs:

Constraints Function of Inputs: Examples: –Newton’s 2 nd :

Constraints Function of Inputs: Examples: –Newton’s 2 nd : –Desired Keyframes

Constraints Function of Inputs: Examples: –Newton’s 2 nd : –Desired Keyframes –Maximum Force Magnitude

Constraints Function of Inputs: Examples: –Newton’s 2 nd : –Desired Keyframes –Maximum Force Magnitude –Collision Surfaces

Objective Function Function of Inputs: Optimization Problem

Objective Function Function of Inputs: Optimization Problem Examples

Objective Function Function of Inputs: Optimization Problem Examples –Minimize Force or Torque Where or is derived from

Objective Function Function of Inputs: Optimization Problem Examples –Minimize Force or Torque –Minimize Power Used

Objective Function Function of Inputs: Optimization Problem Examples –Minimize Force or Torque –Minimize Power Used –Minimize Distance to Keyframe

Objective Function Function of Inputs: Optimization Problem Examples –Minimize Force or Torque –Minimize Power Used –Minimize Distance to Keyframe –Maximize Jumping Height / Walking Distance

Process Start With Initial State Until a Desired Result is Found: –Evaluate Objective Function –Optimize Result –Constrain Solution

Optimization

Broyden-Fletcher-Goldfarb-Shanno (BFGS) –Quasi-Newton Method –Gradient Descent

Optimization Broyden-Fletcher-Goldfarb-Shanno (BFGS) Sequential Quadratic Programming (SQP)

Optimization Broyden-Fletcher-Goldfarb-Shanno (BFGS) Sequential Quadratic Programming (SQP) Lagrangians

Optimization Broyden-Fletcher-Goldfarb-Shanno (BFGS) Sequential Quadratic Programming (SQP) Lagrangians Monte Carlo Markov Chains (MCMC)

Optimization Broyden-Fletcher-Goldfarb-Shanno (BFGS) Sequential Quadratic Programming (SQP) Lagrangians Monte Carlo Markov Chains (MCMC) Genetic Algorithms (GA)

Applications Luxo - Generating realistic movement Generating intermediate frames between BVH sequences Creating realistic walking actions Causing the desired dice roll to occur

My Project

Bodies Inputs Constraints Objective Function

Implementation - Bodies Current Simulation: –Single Sphere

Implementation - Bodies Current Simulation: –Single Sphere –Potential for Complex Bodies

Implementation - Bodies Current Simulation: –Single Sphere –Potential for Complex Bodies –Represented within ODE

Implementation - Bodies Current Simulation: –Single Sphere –Potential for Complex Bodies –Represented within ODE –ODE handles system integration and collision detection

Implementation - Inputs Force Vector Components

Implementation - Inputs Force Vector Components –Inputs Represent Keyframes of

Implementation - Inputs Force Vector Components –Inputs Represent Keyframes of –Keyframes are linearly interpolated

Implementation - Inputs Force Vector Components –Inputs Represent Keyframes of –Keyframes are linearly interpolated –Applied at Center of Mass

Implementation - Constraints None Implemented So Far

Implementation - Constraints None Implemented So Far Challenge Mixing Newton’s 2 nd With Collision Response

Implementation - Objective Objective Function:

Implementation - Objective Objective Function: Influence Coefficients –Force Minimization

Implementation - Objective Objective Function: Influence Coefficients –Force Minimization –Velocity Error

Implementation - Objective Objective Function: Influence Coefficients –Force Minimization –Velocity Error –Position Error

Implementation – Class Layout Class Descriptions –STCSoln Represents one possible solution Contains real-valued input variables representing the components to force vectors Force vectors represent keyframes of the force function Discretize solution into N time steps: 3N variables per STCSoln

Implementation – Class Layout Class Descriptions –STCSolnPop Represents a population of STCSoln solutions Stored as a square grid –display purposes –compatibility with the GA parent selection

Implementation – Class Layout Class Descriptions –STCSolnPopEvaluator Interface class Initializes solutions Evaluates solution fitness Unique per problem

Implementation – Class Layout Class Descriptions –STCSolnPopEvaluator Interface class Initializes solutions Evaluates solution fitness Unique per problem –Problem Instance of STCSolnPopEvaluator Unique methods: –Initialize / Shutdown Physical System –Initializes & Updates Solution Playback –Evaluates STCSoln Objective Values

Implementation – Class Layout Class Descriptions –Solver Abstract Class for Optimizing Populations Uses the Problem Class to Calculate Fitness Optimizes Solutions based upon fitness value Subclasses: –GASolver –NewtonSolver

Implementation - Solvers GASolver –Genetic Algorithm based

Implementation - Solvers GASolver –Genetic Algorithm based –Population Specifics Size of Population Grid Layout –Choosing Parents –Maintaining Multiple Minima

Implementation - Solvers GASolver –Genetic Algorithm based –Gene Encoding Genes represented by STCSoln class Chromosomes represented by inputs

Implementation - Solvers GASolver –Genetic Algorithm based –Algorithm Order of Operations Within Iterations –Order of Operations –Succession of Children –Elitism Mutation Operator Crossover Operator –Choosing Parent –Random or Pivot

Implementation - Solvers NewtonSolver –Quasi-Newton Algorithm (Gradient Descent)

Implementation - Solvers NewtonSolver –Quasi-Newton Algorithm (Gradient Descent) –Potentially BFGS / SQP

Implementation - Solvers NewtonSolver –Quasi-Newton Algorithm (Gradient Descent) –Potentially BFGS / SQP –Requires Gradient Calculation of the Objective Function

Implementation - Solvers NewtonSolver –Quasi-Newton Algorithm (Gradient Descent) –Potentially BFGS / SQP –Requires Gradient Calculation of the Objective Function Jacobian

Implementation - Solvers NewtonSolver –Quasi-Newton Algorithm (Gradient Descent) –Potentially BFGS / SQP –Requires Gradient Calculation of the Objective Function Jacobian Hessian

Implementation - Solvers NewtonSolver –Quasi-Newton Algorithm (Gradient Descent) –Potentially BFGS / SQP –Requires Gradient Calculation of the Objective Function Jacobian Hessian –Still to be implemented

Implementation - Interface How it all works:

Implementation - Interface Components: –Scene Components: Green / Red / White Model

Implementation - Interface Components: –VCR-Style Playback Play / Pause / Stop

Implementation - Interface Components: –File Menu New / Load / Save

Implementation - Interface Components: –Population Graph Global Fitness Shading Local Fitness Shading Displays Selected Solution

Implementation - Interface Components: –GA Solver Button Starts / Stops the GA Solver

Implementation - Interface

Components: –Future Implementation: More Solvers Newton Solver Button Force Function Graph User Manipulation of Inputs

Conclusion Demo 1 Demo 2 Demo 3

Sources Spacetime Constraints, Andrew Witkins, Michael Kass Spacetime Constraints Revisited, J. Thomas Ngo, Joe Marks Motion from Spacetime Constraints, Matt Ahrens, Brett Levin © 2001 Spacetime Constraints Attempted, Taylor Shaw © 2001 Spacetime Constraints for Biomechanical Movements, David C. Brogan, Kevin P. Granata, Pradip N. Sheth Automatic Control for Animation, Ron Metoyer © 2004 Efficient Generation of Motion Transitions Using Spacetime Constraints, Charles Rose, Brian Guenter, Bobby Bodenheimer, Michael F. Cohen N-Body Spacetime Constraints, Diane Tang, J. Thomas Ngo, Joe Marks © 1994 Sampling Plausible Solutions to Multi-body Constraint Problems, Stephen Chenney, D. A. Forsyth