Articulated Body Dynamics The Basics Comp 768 October 23, 2007 Will Moss.

Slides:



Advertisements
Similar presentations
Four Five Physics Simulators for a Human Body Chris Hecker definition six, inc.
Advertisements

COMP Robotics: An Introduction
Mechatronics 1 Weeks 5,6, & 7. Learning Outcomes By the end of week 5-7 session, students will understand the dynamics of industrial robots.
© 2011 Autodesk Freely licensed for use by educational institutions. Reuse and changes require a note indicating that content has been modified from the.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
Chris Hall Aerospace and Ocean Engineering
Dynamics of Articulated Robots Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013.
R.Parent, CSE788 OSU Constrained Body Dynamics Chapter 4 in: Mirtich Impulse-based Dynamic Simulation of Rigid Body Systems Ph.D. dissertation, Berkeley,
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
ME 4135 Fall 2011 R. R. Lindeke, Ph. D. Robot Dynamics – The Action of a Manipulator When Forced.
Robot Dynamics – Newton- Euler Recursive Approach ME 4135 Robotics & Controls R. Lindeke, Ph. D.
Adaptive dynamics for Articulated Bodies. Articulated Body dynamics Optimal forward dynamics algorithm –Linear time complexity –e.g. Featherstone’s DCA.
ME Robotics Dynamics of Robot Manipulators Purpose: This chapter introduces the dynamics of mechanisms. A robot can be treated as a set of linked.
Ch. 7: Dynamics.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Ch. 4: Velocity Kinematics
Forward Kinematics.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Adaptive Dynamics of Articulated Bodies. Articulated bodies in Computer Graphics – Humans, hair, animals – Trees, forests, grass – Deformable bodies –
Dr. Y.P. Daniel Chang Weidong Zhang Velocity Transformation Based Multi-Body Approach for Vehicle Dynamics Abstract: An automobile is a complex close loop.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
CSCE 689: Forward Kinematics and Inverse Kinematics
Introduction to ROBOTICS
3.7. O THER G AME P HYSICS A PPROACHES Overview of other game engine physics approaches.
Velocities and Static Force
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
Definition of an Industrial Robot
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations.
Game Physics – Part IV Moving to 3D
ME451 Kinematics and Dynamics of Machine Systems
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.
An introduction to the finite element method using MATLAB
Dynamics of Articulated Robots. Rigid Body Dynamics The following can be derived from first principles using Newton’s laws + rigidity assumption Parameters.
Mixing deformable and rigid- body mechanics simulation Julien Lenoir Sylvère Fonteneau Alcove Project - INRIA Futurs - LIFL - University of Lille (France)
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
EEE. Dept of HONG KONG University of Science and Technology Introduction to Robotics Page 1 Lecture 2. Rigid Body Motion Main Concepts: Configuration Space.
KINEMATIC CHAINS & ROBOTS (I).
Advanced Computer Graphics Rigid Body Simulation Spring 2002 Professor Brogan.
ME451 Kinematics and Dynamics of Machine Systems Introduction to Dynamics 6.1 October 09, 2013 Radu Serban University of Wisconsin-Madison.
Dynamics of Linked Hierarchies
Chapter 7. Learning through Imitation and Exploration: Towards Humanoid Robots that Learn from Humans in Creating Brain-like Intelligence. Course: Robots.
ME451 Kinematics and Dynamics of Machine Systems
ME451 Kinematics and Dynamics of Machine Systems Dynamics of Planar Systems November 16, , starting 6.3 © Dan Negrut, 2010 ME451, UW-Madison TexPoint.
Robotics II Copyright Martin P. Aalund, Ph.D.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 1)
Sect. 4.5: Cayley-Klein Parameters 3 independent quantities are needed to specify a rigid body orientation. Most often, we choose them to be the Euler.
ME451 Kinematics and Dynamics of Machine Systems Dynamics of Planar Systems November 4, 2010 Chapter 6 © Dan Negrut, 2010 ME451, UW-Madison TexPoint fonts.
Robotics Chapter 3 – Forward Kinematics
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
Physics-Based Simulation: Graphics and Robotics Chand T. John.
Advanced Computer Graphics Rigid Body Simulation
Constrained Body Dynamics
Character Animation Forward and Inverse Kinematics
Mitsubishi robot arm.
Manipulator Dynamics 1 Instructor: Jacob Rosen
Introduction To Robotics
Lecture Rigid Body Dynamics.
Zaid H. Rashid Supervisor Dr. Hassan M. Alwan
CSCE 441: Computer Graphics Forward/Inverse kinematics
Manipulator Dynamics 2 Instructor: Jacob Rosen
Advanced Computer Graphics Spring 2008
© Sharif University of Technology - CEDRA By: Professor Ali Meghdari
KINEMATIC CHAINS & ROBOTS (I)
Adaptive dynamics for Articulated Bodies
Chapter 3. Kinematic analysis
Presentation transcript:

Articulated Body Dynamics The Basics Comp 768 October 23, 2007 Will Moss

October, Overview Motivation Background / Notation Articulate Dynamics Algorithms – Newton-Euler Algorithm – Composite-Rigid Body Algorithm – Articulated-Body Algorithm (Featherstone)‏ – Lagrange Multiplier approach (Baraff)‏

Originally a problem from robotics – Given a robotic arm with a series of joints that can apply forces to themselves (called motors)‏, find the forces to get the robot arm into the desired configuration October, History

October, Applications Computer Graphics – Humans, animals, birds, robots, etc. – Wires, chains, ropes, etc. – Trees, grass, etc. – Many more

October, Basics An articulated body is a group of rigid bodies (called links) connected by joints Multiple types of joints – Revolute (1 degree of freedom)‏ – Ball joint (3 degrees of freedom) – Prismatic, screw, etc.

October, Notation In rigid body dynamics we had two equations – F s is the vector of spatial forces – I s is the spatial inertia matrix (6 x 6) – a s is the spatial acceleration This is called spatial algebra – Combines the linear and angular components of the physical quantities into one 6 dimensional vector

October, Notation Transitioning this to articulated bodies – Q i is the force on link i – H is the joint-space inertia matrix (n x n) – are the coordinates, velocities and accelerations of the joints – C term produces the vector of forces that produce zero acceleration

October, Forward vs. Inverse Dynamics Inverse Dynamics – The calculation of forces given a set of accelerations Forward Dynamics – The calculation of accelerations given a set of forces

October, Algorithms Inverse Dynamics – Newton-Euler Algorithm Forward Dynamics – Composite-Rigid-Body Algorithm – Articulated-Body Algorithm – Lagrange Multiplier Algorithm

October, Newton-Euler Algorithm Goal – Given the accelerations and velocities at the joints, find the forces required at the joints to generate those accelerations Recursive approach – Finds the accelerations and velocities of link i in terms of link i - 1

October, Newton-Euler Algorithm Method 1.Calculate the velocities and accelerations at each link 2.Calculate the required net force acting on each link to generate those accelerations 3.Calculate the joint forces required to generate the net forces on each link

October, Newton-Euler Algorithm 1. Find the velocities and accelerations of the links

October, Newton-Euler Algorithm 2. Find the forces on each link

October, Newton-Euler Algorithm 3. Find the forces on the joints This can be reformulated in link coordinates to speed up the calculation Runs in O(n)

October, Forward vs. Inverse Dynamics Inverse Dynamics – The calculation of forces given a set of accelerations Forward Dynamics – The calculation of accelerations given a set of forces

October, Composite-Rigid-Body Algorithm – Q is the vector of the forces on the links – H is the joint-space inertia matrix (n x n) – C vector of forces that produce zero acceleration – Algorithm – Calculate the elements of C – Calculate the elements of H – Solve the set of simultaneous equations

October, Composite-Rigid-Body Algorithm Solve for C – Setting the acceleration to zero, we get – We can, therefore, interpret C as the forces which produce no acceleration – We can use a forward-dynamics solver (like Newton- Euler) to solve for the forces given the position, velocity and an acceleration of zero

October, Composite-Rigid-Body Algorithm Solve for H – If we set C to 0, we observe that is the vector of joint forces that will impart an acceleration of onto a stationary robot Therefore, the i th column of H is the vector of forces required to produce a unit of acceleration about joint i and no other acceleration. – Treat the links i…n as a rigid-body with inertia defined by – Treat the links from 1…i-1 are therefore unmoving

October, Composite-Rigid-Body Algorithm Solve for H (cont.) – Given that – Since none of the links from 1 … i-1 are moving, every joint transmits onto the subsequent link, so we can solve for H by solving – Which is a complete solution for H since it is symmetric – Runs in O(n 2 )

October, Composite-Rigid-Body Algorithm Once you have H and C, solve the system of equations using any solver – O(n 3 ), but the constant is small enough that for n less than ~12 the O(n 2 ) term dominates Like Newton-Euler, this can be reformulated in link coordinates – Faster for n ≤ 16

October, Articulated-Body Algorithm (Re)consider the equation of motion of an articulated body This is true for any link in the articulated body

October, Articulated-Body Algorithm Consider an articulate robot as a single joint attached to an articulated body – The problem simplifies to the forward dynamics of a one-joint robot (much simpler than the general case) – The first joint is simply a one-joint robot – The second joint is a one-joint robot with a moving base (slightly more complicated, but still much simpler that the general case) – Solving this requires two tasks Solving the one-joint robot forward dynamics problem Finding the articulated-body inertias (I) and bias forces (p)

October, Articulated-Body Algorithm Solving the one-joint robot problem

October, Articulated-Body Algorithm Finding the articulated-body inertia (I A ) and bias force (p) Where is called the velocity-product force and is defined to be

October, Articulated-Body Algorithm These formulas can be reformulated recursively, so allow us to find and in terms of only and Our algorithm is then – Calculate the series of articulated body inertias and bias forces – Using these inertias and bias forces, calculate the joint accelerations Since these are both defined recursively, they each take O(n), making the entire algorithm O(n )

October, Lagrange-Multiplier Method The preceding methods are reduced- coordinate formulations – These methods remove some of the dof’s by enforcing a set of constraints (a joint can only rotate in a certain direction constraining the motion of the joint and the link) – Finding a parameterization for the generalized coordinates in terms of the reduced coordinates is not always easy The Lagrange Multiplier Method considers all the d.o.f.’s of the system

October, Lagrange-Multiplier Method Consider the equation of motion of i bodies – M describes the mass properties of the system is an d x d matrix where d is the number of dof’s of body i when not constrained Also consider a constraint i that removes m dof’s from the system, we can write it as – Where each j ik is a m x d matrix that represents the constraint on link k where d is again the number of dof’s of body k and m is the number of dof’s removed by the constraint

October, Lagrange-Multiplier Method To simplify the notation, we replace the q individual constraint equations With – Where J is a q x n matrix of the individual j ik matrices Where q is the total number of constraints on the system and n is the number of bodies – c is a q dimensional vector

October, Lagrange-Multiplier Method Just as we did when solving the constrained particle dynamics problems, we require that the constraint does no work. This results is a constraint force of the form: – Where λ i is an m (dof’s removed by constraint i) dimensional column vector and is referred to as the Lagrange multiplier The problem is now just to find a λ so the constraint forces and any external forces satisfy the constraints

October, Lagrange-Multiplier Method If we introduce an external force acting on the system and combine the equations, we get Solving for and plugging into our constraint equation, we get For constraints that act on two bodies, the matrix system is tightly banded and can be solved in O(n) – Using banded Cholesky decomposition, for example

October, Lagrange-Multiplier Method For more complicated constraints, is no longer sparse and we reformulate the equation as If we required acyclic constraints, then sparse- matrix theory tells us that has perfect elimination order – This means that if we factor into three matrices LDL T, L will be as sparse as H and can be computed in O(n) – We can then solve for λ, by solving each piece of LDL T separately, each also in O(n) time and combining the solutions

October, Summary Inverse Dynamics – Newton-Euler is the standard implementation in O(n) Forward dynamics – Composite-rigid-body algorithm is simpler and faster for n < 9, runs in O(n 3 ) – Articulated-body algorithm is faster for n > 9, runs in O(n) – Lagrange multiplier method is somewhat simpler than ABA and speed is comparable, runs in O(n)

October, References / Thanks R. Featherstone, Robot Dynamics Algorithms, Boston/Dordrecht/Lancaster: Kluwer Academic Publishers, D. Baraff, "Linear-Time Dynamics using Lagrange Multipliers," Proc. SIGGRAPH '96, pp , New Orleans, August Thanks to Nico for his slides from last year