ME451 Kinematics and Dynamics of Machine Systems

Slides:



Advertisements
Similar presentations
ME751 Advanced Computational Multibody Dynamics Section 9.3 February 18, 2010 © Dan Negrut, 2010 ME751, UW-Madison Discontent is the first necessity of.
Advertisements

1 C02,C03 – ,27,29 Advanced Robotics for Autonomous Manipulation Department of Mechanical EngineeringME 696 – Advanced Topics in Mechanical Engineering.
© 2011 Autodesk Freely licensed for use by educational institutions. Reuse and changes require a note indicating that content has been modified from the.
ME751 Advanced Computational Multibody Dynamics Section 9.2 February 2, 2010 © Dan Negrut, 2010 ME751, UW-Madison “My own business always bores me to death;
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
ME751 Advanced Computational Multibody Dynamics Section 9.2 February 9, 2010 © Dan Negrut, 2010 ME751, UW-Madison “In England, if you commit a crime, the.
Chris Hall Aerospace and Ocean Engineering
2D Geometric Transformations
Chapter 4.1 Mathematical Concepts
Chapter 4.1 Mathematical Concepts. 2 Applied Trigonometry Trigonometric functions Defined using right triangle  x y h.
CSCE 590E Spring 2007 Basic Math By Jijun Tang. Applied Trigonometry Trigonometric functions  Defined using right triangle  x y h.
Ch. 4: Velocity Kinematics
Ch 7.3: Systems of Linear Equations, Linear Independence, Eigenvalues
ME Robotics DIFFERENTIAL KINEMATICS Purpose: The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
MOHAMMAD IMRAN DEPARTMENT OF APPLIED SCIENCES JAHANGIRABAD EDUCATIONAL GROUP OF INSTITUTES.
CS 450: Computer Graphics 2D TRANSFORMATIONS
ME451 Kinematics and Dynamics of Machine Systems
Velocities and Static Force
ME451 Kinematics and Dynamics of Machine Systems Review of Elements of Calculus – 2.5 Vel. and Acc. of a Point fixed in a Ref Frame – 2.6 Absolute vs.
ME751 Advanced Computational Multibody Dynamics Introduction January 21, 2010 Dan Negrut University of Wisconsin, Madison © Dan Negrut, 2010 ME751, UW-Madison.
ME451 Kinematics and Dynamics of Machine Systems Review of Matrix Algebra – 2.2 Review of Elements of Calculus – 2.5 Vel. and Acc. of a point fixed in.
ME451 Kinematics and Dynamics of Machine Systems Review of Matrix Algebra – 2.2 September 13, 2011 Dan Negrut University of Wisconsin-Madison © Dan Negrut,
ME751 Advanced Computational Multibody Dynamics Section 9.2 January 28, 2010 © Dan Negrut, 2010 ME751, UW-Madison “Age is an issue of mind over matter.
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 2: Review of Basic Math
ME751 Advanced Computational Multibody Dynamics Review Calculus Starting Chapter 9 of Haug book January 26, 2010 © Dan Negrut, 2010 ME751, UW-Madison "Motivation.
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 Review of Linear Algebra 2.1 through 2.4 Th, Sept. 08 © Dan Negrut, 2011 ME451, UW-Madison TexPoint fonts.
15/09/2015handout 31 Robot Kinematics Logics of presentation: Kinematics: what Coordinate system: way to describe motion Relation between two coordinate.
ME451 Kinematics and Dynamics of Machine Systems
ME451 Kinematics and Dynamics of Machine Systems Singular Configurations of Mechanisms 3.7 October 26, 2010 © Dan Negrut, 2010 ME451, UW-Madison TexPoint.
ME451 Kinematics and Dynamics of Machine Systems Numerical Solution of DAE IVP Newmark Method November 1, 2013 Radu Serban University of Wisconsin-Madison.
ME451 Kinematics and Dynamics of Machine Systems
1 C03 – Advanced Robotics for Autonomous Manipulation Department of Mechanical EngineeringME 696 – Advanced Topics in Mechanical Engineering.
ME451 Kinematics and Dynamics of Machine Systems Review of Linear Algebra 2.1 through 2.4 Tu, Sept. 07 © Dan Negrut, 2009 ME451, UW-Madison TexPoint fonts.
ME751 Advanced Computational Multibody Dynamics Section 9.3 February 16, 2010 © Dan Negrut, 2010 ME751, UW-Madison “Courage is fear holding on a minute.
ME451 Kinematics and Dynamics of Machine Systems
ME451 Kinematics and Dynamics of Machine Systems Review of Linear Algebra 2.1, 2.2, 2.3 September 06, 2013 Radu Serban University of Wisconsin-Madison.
ME451 Kinematics and Dynamics of Machine Systems Vel. And Acc. of a Fixed Point in Moving Frame Basic Concepts in Planar Kinematics February.
KINEMATIC CHAINS & ROBOTS (I).
ME451 Kinematics and Dynamics of Machine Systems Basic Concepts in Planar Kinematics 3.1, 3.2 September 18, 2013 Radu Serban University of Wisconsin-Madison.
ME451 Kinematics and Dynamics of Machine Systems Driving Constraints 3.5 October 19, 2010 © Dan Negrut, 2010 ME451, UW-Madison.
ME451 Kinematics and Dynamics of Machine Systems Introduction to Dynamics 6.1 October 09, 2013 Radu Serban University of Wisconsin-Madison.
ME451 Kinematics and Dynamics of Machine Systems Singular Configurations 3.7 October 07, 2013 Radu Serban University of Wisconsin-Madison.
ME451 Kinematics and Dynamics of Machine Systems Driving Constraints 3.5 September 30, 2013 Radu Serban University of Wisconsin-Madison.
ME451 Kinematics and Dynamics of Machine Systems Review of Differential Calculus 2.5, 2.6 September 11, 2013 Radu Serban University of Wisconsin-Madison.
M. Zareinejad 1. 2 Grounded interfaces Very similar to robots Need Kinematics –––––– Determine endpoint position Calculate velocities Calculate force-torque.
ME451 Kinematics and Dynamics of Machine Systems
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 4)
ME451 Kinematics and Dynamics of Machine Systems Relative Kinematic Constraints, Composite Joints – 3.3 October 6, 2011 © Dan Negrut, 2011 ME451, UW-Madison.
CSCE 552 Fall 2012 Math By Jijun Tang. Applied Trigonometry Trigonometric functions  Defined using right triangle  x y h.
ME451 Kinematics and Dynamics of Machine Systems Newton-Raphson Method 4.5 Singular Configurations of Mechanisms 3.7 March 5, 2009 © Dan Negrut, 2009 ME451,
ME451 Kinematics and Dynamics of Machine Systems Driving Constraints 3.5 Start Position, Velocity, and Acc. Analysis 3.6 February 26, 2009 © Dan Negrut,
ME451 Kinematics and Dynamics of Machine Systems Start Position, Velocity, and Acc. Analysis 3.6 October 21, 2010 © Dan Negrut, 2010 ME451, UW-Madison.
ME451 Kinematics and Dynamics of Machine Systems Absolute Constraints 3.2 September 20, 2013 Radu Serban University of Wisconsin-Madison.
ME451 Kinematics and Dynamics of Machine Systems Relative Constraints 3.3 September 23, 2013 Radu Serban University of Wisconsin-Madison.
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 1)
ME451 Kinematics and Dynamics of Machine Systems Review of Elements of Calculus – 2.5 Vel and Acc of a Point fixed in a Ref Frame – 2.6 Jan. 29, 2009 ©
ME451 Kinematics and Dynamics of Machine Systems Dynamics of Planar Systems November 4, 2010 Chapter 6 © Dan Negrut, 2010 ME451, UW-Madison TexPoint fonts.
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
Character Animation Forward and Inverse Kinematics
ME451 Kinematics and Dynamics of Machine Systems
ME451 Kinematics and Dynamics of Machine Systems
KINEMATIC CHAINS & ROBOTS (I)
Chapter 4 . Trajectory planning and Inverse kinematics
Chapter 3. Kinematic analysis
CHAPTER 3-2. Planar Cartesian Kinematics
Presentation transcript:

ME451 Kinematics and Dynamics of Machine Systems Kinematics: Review October 9, 2013 Radu Serban University of Wisconsin, Madison

Vectors and Matrices Differential Calculus

Vectors in 2D Geometric vectors → Reference Frames → Algebraic Vectors We always use right-handed orthogonal RFs Operations on geometric vectors ↔ Operations on algebraic vectors: Scaling Addition Dot product Calculating the angle between two vectors

Matrix Algebra Operations on matrices Special matrices Scaling Addition Matrix-matrix multiplication Matrix-vector multiplication Transposition Special matrices Symmetric and skew-symmetric matrices Singular matrices Inverse matrix Orthogonal matrix Some important properties

Linear independence of vectors Matrix rank Row rank of a matrix Largest number of rows of the matrix that are linearly independent A matrix is said to have full row rank if the rank of the matrix is equal to the number of rows of that matrix Column rank of a matrix Largest number of columns of the matrix that are linearly independent

Matrix Rank Example What is the row rank of the following matrix? What is the column rank of J?

Singular vs. Nonsingular Matrices Let A be a square matrix of dimension n. The following are equivalent:

Transformation of Coordinates Expressing a vector given in one reference frame (local) in a different reference frame (global): This is also called a change of base. Since the rotation matrix is orthogonal, we have

Example

Kinematics of a Rigid Body The position and orientation of a body (that is, position and orientation of the LRF) is completely defined by 𝐫 , 𝜙 . The position of a point P on the body is specified by: 𝐬′ 𝑃 in the LRF 𝐫 𝑃 in the GRF

Derivative, Partial Derivative, Total Derivative The derivative of a function (of a single variable) is a measure of how much the function changes due to a change in its argument. A partial derivative of a function of several variables is the function derivative with respect to one of its variables when all other variables are held fixed. The total derivative of a function of several variables is the derivative of the function when all variables are allowed to change.

Time Derivative of a Vector Consider a vector 𝐫 whose components are functions of time: which is represented in a fixed (stationary) Cartesian RF. In other words, the components of r change, but not the reference frame: the basis vectors 𝑖 and 𝑗 are constant. Notation: Then: 12

Time derivatives of a matrix

Partial Derivatives, General Case: Vector Function of Several Variables You have a set of “m” functions each depending on a set of “n” variables: Collect all “m” functions into an array F and collect all “n” variables into an array q: So we can write:

Partial Derivatives, General Case: Vector Function of Several Variables Then, in the most general case, we have Example 2.5.2: The result is an m x n matrix!

Chain Rule of Differentiation Formula for computing the derivative(s) of the composition of two or more functions: We have a function f of a variable q which is itself a function of x. Thus, f is a function of x (implicitly through q) Question: what is the derivative of f with respect to x? Simplest case: real-valued function of a single real variable:

Vector Function of Vector Variables F is a vector function of 2 vector variables q and p : Both q and p in turn depend on a set of k other variables 𝐱= 𝑥 1 , ⋯, 𝑥 𝑘 𝑇 : A new function (x) is defined as: Example: a force (which is a vector quantity), depends on the generalized positions and velocities

Chain Rule Vector Function of Vector Variables Question: how do you compute 𝚽 𝐱 ? Using our notation: Chain Rule:

Example

Time Derivatives In the previous slides we talked about functions f depending on q, where q in turn depends on another variable x. The most common scenario in ME451 is when the variable x is actually time, t You have a function that depends on the generalized coordinates q, and in turn the generalized coordinates are functions of time (they change in time, since we are talking about kinematics/dynamics here…) Case 1: scalar function that depends on an array of m time-dependent generalized coordinates: Case 2: vector function (of dimension n) that depends on an array of m time-dependent generalized coordinates:

Chain Rule Time Derivatives Question: what are the time derivatives of  and ? Applying the chain rule of differentiation, the results in both cases can be written formally in the exact same way, except the dimension of the result will be different Case 1: scalar function Case 2: vector function

Velocity and Acceleration of a Point Fixed in a Moving Frame A moving rigid body and a point P, fixed (rigidly attached) to the body The position vector of point P, expressed in the GRF is: and changes in time because both 𝐫 (the body position) and 𝐀 (the body orientation) change. Questions: What is the velocity of P? That is: what is 𝐫 𝑃 ? What is the acceleration of P? That is: what is 𝐫 𝑃 ?

Matrices of Interest Important relations (easy to check): Orthogonal Rotation Matrix Note that when applied to a vector, this rotation matrix produces a new vector that is perpendicular to the original vector (counterclockwise rotation) The matrix The B matrix is always associated with a rotation matrix A. Important relations (easy to check):

Velocity and Acceleration of a Point Fixed in a Moving Frame

Kinematics

What is Kinematics? Study of the position, velocity, and acceleration of a system of interconnected bodies that make up a mechanism, independent of the forces that produce the motion Flavors Kinematic Analysis - Interested how components of a certain mechanism move when motion(s) are applied Kinematic Synthesis – Interested in finding how to design a mechanism to perform a certain operation in a certain way

Nomenclature Rigid body Body-fixed Reference Frame (also called Local Reference Frame, LRF) Absolute Reference frame (aka Global Reference Frame, GRF) Generalized coordinates Cartesian generalized coordinates Constraints Kinematic (scleronomic) Driver (rheonomic) Degrees of Freedom KDOF NDOF Jacobian

Kinematic Analysis We include as many actuators as kinematic degrees of freedom – that is, we impose KDOF driver constraints We end up with NDOF = 0 – that is, we have as many constraints as generalized coordinates We find the (generalized) positions, velocities, and accelerations by solving algebraic problems (both nonlinear and linear) We do not care about forces, only that certain motions are imposed on the mechanism. We do not care about body shape nor inertia properties

Kinematic Analysis Stages Position Analysis Stage Challenging Velocity Analysis Stage Simple Acceleration Analysis Stage OK To take care of all these stages, ONE step is critical: Write down the constraint equations associated with the joints present in your mechanism Once you have the constraints, the rest is boilerplate

Once you have the constraints… Each of the three stages of Kinematics Analysis: position analysis, velocity analysis, and acceleration analysis, follow very similar recipes for finding the position, velocity and acceleration, respectively, of every body in the system. All stages crucially rely on the Jacobian matrix q q – the partial derivative of the constraints w.r.t. the generalized coordinates All stages require the solution of linear systems of equations of the form: What is different between the three stages is the expression for the RHS b.

Position Analysis As we pointed out, it all boils down to this: Step 1: Write down the constraint equations associated with the model Step 2: For each stage, construct q and the specific b, then solve for x So how do you get the position configuration of the mechanism? Kinematic Analysis key observation: The number of constraints (kinematic and driving) should be equal to the number of generalized coordinates In other words, NDOF=0 is a prerequisite for Kinematic Analysis IMPORTANT: This is a nonlinear systems with: nc equations and nc unknowns that must be solved for q

Velocity and Acceleration Analysis Position analysis: The generalized coordinates (positions) are solution of the nonlinear system: Take one time derivative of constraints (q,t) to obtain the velocity equation: Take yet one more time derivative to obtain the acceleration equation:

Producing the RHS of the Acceleration Equation The RHS of the acceleration equation was shown to be: The terms in 𝛾 are pretty tedious to calculate by hand. Note that the RHS contains (is made up of) everything that does not depend on the generalized accelerations Implication: When doing small examples in class, don’t bother to compute the RHS using expression above You will do this in simEngine2D, where you aim for a uniform approach to all problems Simply take two time derivatives of the (simple) constraints and move everything that does not depend on acceleration to the RHS

Kinematic Analysis Stages (1/2) Stage 1: Identify all physical joints and drivers present in the system Stage 2: Identify the corresponding set of constraint equations 𝚽 𝐪,𝑡 =𝟎 Stage 3: Position Analysis Find the Generalized Coordinates as functions of time Needed: 𝚽 𝐪,𝑡 and 𝚽 𝐪 Stage 4: Velocity Analysis Find the Generalized Velocities as functions of time Needed: 𝚽 𝐪 and 𝛎(𝐪, 𝑡) Stage 5: Acceleration Analysis Find the Generalized Accelerations as functions of time Needed: 𝚽 𝐪 and 𝛄(𝐪, 𝐪 ,𝑡)

Kinematic Analysis Stages (2/2) The position analysis [Stage 3]: The most difficult of the three Requires the solution of a system of nonlinear equations What we are after is determining the location and orientation of each component (body) of the mechanism at any given time The velocity analysis [Stage 4]: Requires the solution of a linear system of equations Relatively simple Carried out after completing position analysis The acceleration analysis [Stage 5]: Challenge: generating the RHS of acceleration equation, 𝛄(𝐪, 𝐪 ,𝑡) Carried out after completing velocity analysis

Implicit Function Theorem Informally, this is what the Implicit Function Theorem says: Assume that, at some time tk we just found a solution q(tk) of 𝚽 𝐪,𝑡 =𝟎. If the constraint Jacobian is nonsingular in this configuration, that is then, we can conclude that the solution is unique, and not only at tk, but in a small interval  around time tk. Additionally, in this small time interval, there is an explicit functional dependency of q on t; that is, there is a function f such that: Practically, this means that the mechanism is guaranteed to be well behaved in the time interval 𝑡∈ 𝑡 𝑘 −𝛿 , 𝑡 𝑘 +𝛿 . That is, the constraint equations are well defined and the mechanism assumes a unique configuration at each time.

Singular Configurations Abnormal situations that should be avoided since they indicate either a malfunction of the mechanism (poor design), or a bad model associated with an otherwise well designed mechanism Singular configurations come in two flavors: Physical Singularities (PS): reflect bad design decisions Modeling Singularities (MS): reflect bad modeling decisions In a singular configuration, one of three things can happen: PS1: Mechanism locks-up PS2: Mechanism hits a bifurcation MS1: Mechanism has redundant constraints The important question: How can we characterize a singular configuration in a formal way such that we are able to diagnose it?

Identifying Singular Configurations

Newton-Raphson Method Geometric Interpretation

Newton-Raphson Systems of nonlinear equations Let 𝚽: ℝ 𝑛+1 → ℝ 𝑛 , with 𝚽=𝚽 𝐪,𝑡 . Find 𝐪 ∗ ∈ ℝ 𝑛 such that 𝚽 𝐪 ∗ ,𝑡 =0, for a fixed value of 𝑡 Algorithm becomes given an initial guess 𝐪 (0) Actual implementation The Jacobian matrix is defined as

Newton-Raphson Method Possible issues Divergence Division by zero close to stationary points Convergence to a different root than the one desired (root jumping) Cycle Degradation of convergence rate if the Jacobian is close to singular at the root. Nothing we can do to fix problem 5. This is a pathological (and rare) case. All other issues can be resolved if the initial guess is close enough to the solution (in which case the method also has quadratic convergence). Fortunately, when using N-R in Kinematic Analysis, we usually solve the position analysis problem on a time grid, 𝑡 𝑘 ;𝑘=0,1,2,… . As such, we always have a good initial guess: the values of the generalized coordinates at the previous time step! (with one exception, the assembly problem at 𝑡=0)

Systematic Derivation of Constraints Kinematic (Geometric, Scleronomic) constraints Time invariant Absolute constraints Location and/or orientation of a body w.r.t. GRF is constrained in a certain way Examples: abs. x, abs. y, abs. angle, abs. dist Using AGC, these constraints will only involve the GCs for a single body! Relative constraints Restrict relative motion of two bodies Examples: rel. x, rel. y, rel. angle, rel. dist, rev., transl., gears, cam-followers Using AGC, these constraints will only involve the GCs for two bodies! Driver (Rheonemic) constraints Explicit time dependency Absolute drivers Examples: abs. x, abs. y, abs. angle Relative drivers Examples: rel. x, rel. y, rel. angle, rel. dist, rev.-rotational, transl.-dist. Recall:

Attributes of a Constraint Attributes of a Constraint: That information that you are supposed to know by inspecting the mechanism It represents the parameters associated with the specific constraint that you are considering When you are dealing with a constraint, make sure you understand What the input is What the defining attributes of the constraint are What constitutes the output (the algebraic equation(s), Jacobian, , , etc.)

Kinematics: Summary We looked at the KINEMATICS of a mechanism That is, we are interested in how this mechanism moves in response to a set of kinematic drivers (motions) applied to it Kinematic Analysis Steps: Stage 1: Identify all physical joints and drivers present in the system Stage 2: Identify the corresponding constraint equations 𝚽 𝐪,𝑡 =𝟎 Stage 3: Position Analysis – Find 𝐪 as functions of time Stage 4: Velocity Analysis – Find 𝐪 as functions of time Stage 5: Acceleration Analysis – Find 𝐪 as functions of time

Putting it all together: Mechanism Analysis

Kinematics Modeling & Simulation We are given a mechanism… Describe how we would model this mechanism. How many bodies? How many GCs? What kinematic constraints would we use? What is KDOF? Write down the equations that model those constraints. How many equations do we end up with? We are given a prescribed motion for this mechanism. How do we impose that? How many equations do we write down? Can this mechanism reach a singular configuration? Why or why not? Perform Kinematic Analysis at the initial time t=0. Find the position, velocity, acceleration of some point on some body at t=0 How would the N-R process start in order to solve for positions at the next point in the time grid (say, at t= 0.01)?

Mechanism Analysis

Mechanism Analysis