* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download ME451 Kinematics and Dynamics of Machine Systems
Survey
Document related concepts
First class constraint wikipedia , lookup
Newton's laws of motion wikipedia , lookup
Fictitious force wikipedia , lookup
Four-vector wikipedia , lookup
Frame of reference wikipedia , lookup
Centripetal force wikipedia , lookup
Numerical continuation wikipedia , lookup
Derivations of the Lorentz transformations wikipedia , lookup
Classical central-force problem wikipedia , lookup
Dirac bracket wikipedia , lookup
N-body problem wikipedia , lookup
Lagrangian mechanics wikipedia , lookup
Routhian mechanics wikipedia , lookup
Analytical mechanics wikipedia , lookup
Transcript
ME451 Kinematics and Dynamics of Machine Systems Dynamics of Planar Systems Tuesday, April 16, 2009 Constraint Reaction Forces – 6.6 © Dan Negrut, 2009 ME451, UW-Madison Quote of the day: Nobody goes there no more; it’s too crowded. Yogi Berra Before we get started… On Tuesday… No class, I’m out of town Exam coming up on April 23 Review session on Wd evening, 7:15 pm Look at an example Answer your questions We’ll meet in 3126ME I’m open to having the Thursday exam in the evening Thursday 7:30 – 9:00 PM would be a possibility If we shift the time of the exam we will use the regular Thursday lecture to cover one more example and review the material 2 Reaction Forces: The Basic Idea Recall the partitioning of the total force acting on our mechanical system Applying a variational approach (principle of virtual work) we ended up with this equation of motion After jumping through hoops, we ended up with this: It’s easy to see that 3 The Important Observation IMPORTANT OBSERVATION: Actually, you don’t care for the “generalized” QC flavor of the reaction force, but rather you want the actual force represented in the Cartesian global reference frame You’d like to have Fx, Fy, and a torque T that is due to the constraint You report these quantities as they would act at a point P The strategy: Look for a force (the classical, non-generalized flavor), that when acting on the body would lead to a generalized force equal to QC 4 The Nuts and Bolts There is a joint acting between Pi and Pj and we are after finding the reaction forces/torques Fi and Ti, as well as Fj and Tj Figure is similar to Figure 6.6.1 out of the textbook Textbook covers topic well (pp. 234), I’m only modifying one thing: The book expresses the reaction force/torque Fi and Ti in a body-fixed reference frame attached at point Pi I didn’t see a good reason to do it that way Instead, start by deriving in global reference frame OXY and then multiply by AT to take it to the body-fixed reference frame 5 The Main Result (Expression of reaction force/torque in a joint) Suppose that two bodies i and j are connected by a joint, and that the equation that describes that joint, which depends on the position and orientation of the two bodies, is Suppose that the Lagrange multiplier associated with this joint is Then, the presence of this joint in the mechanism will lead at point P on body i to the presence of the following reaction force and torque: 6 Comments (Expression of reaction force/torque in a joint) Note that there is a Lagrange multiplier associated with each constraint equation Number of Lagrange multipliers in mechanism is equal to number of constraints Each Lagrange multiplier produces (leads to) a reaction force/torque combo Therefore, to each constraint equation corresponds a reaction force/torque combo that throughout the time evolution of the mechanism “enforces” the satisfaction of the constraint that it is associated with Since each constraint equation acts between two bodies i and j, there will also be a Fj/Tj combo associated with each constraint, acting on body j Example: the revolute joint brings along a set of two kinematic constraints and therefore there will be two Lagrange multipliers associated with this joint According to Newton’s third law, they oppose Fi and Ti, respectively Note that you apply the same approach when you are dealing with driving constraints (instead of kinematic constraints) You will get the force and/or torque required to impose that driving constraint 7 Reaction Forces ~ Remember This ~ As soon as you have a joint (constraint), you have a Lagrange multiplier As soon as you have a Lagrange multiplier you have a reaction force/torque: The expression of for all the usual joints is known, so a boiler plate approach renders the value of the reaction force in all these joints Just in case you want another form for the torque T above, note that 8 Example 6.6.1: Reaction force in Revolute Joint of a Simple Pendulum Pendulum driven by motion: 1) Find the reaction force in the revolute joint that connects pendulum to ground at point O 2) Express the reaction force in the reference frame 9 End Constraint Reaction Forces 10 ME451 Kinematics and Dynamics of Machine Systems Dynamics of Planar Systems April 30, 2009 Elements of the Numerical Solution for Ordinary Differential Equations Chapter 7 Before we get started… Exam coming up in one week (Tu, Dec. 4, 9:30 AM) Exam draws on Dynamics Analysis topic (material covered since first exam) Take home component emailed to you over the weekend Rough guidelines provided for what’s expected from you in terms of the preliminary report on the Final Project Review session at 7:15 PM on Monday, Dec. 3, in this room Last Time Discussed about initial conditions (ICs) Second order differential equations needs ICs for positions and velocities These ICs should be consistent with the joint constraints associated with your mechanism Learned how to compute the constraint reaction force that appears in the joints that connect bodies in a mechanism 12 Today’s Lecture… Looking at algorithms to find an approximation of the solution of the equations that govern the time evolution of a dynamic system Finding an exact solution within pen/paper framework impossible even for the swinging motion of a pendulum in gravitational field We need to resort to numerical methods (algorithms) to produce an approximation of the solution We’ll continue this discussion on Th when we focus on an ME451 specific method Chris Hubert from Oshkosh Truck will talk about use of kinematics/dynamics analysis in their work Chris is with Modeling and Simulation group at Oshkosh Truck Analysis goes beyond kinematics and dynamics (CFD, FEA, etc.) 13 Numerical Method (also called Numerical Algorithm, or simply Algorithm) Represents a recipe, a succession of steps that one takes to find an approximation the solution of a problem that otherwise does not admit an analytical solution Analytical solution: sometimes called “closed form” or “exact” solution The approximate solution obtained with the numerical method is also called “numerical solution” Examples: Evaluate the integral Solve the equation Solve the differential equation that governs time evolution of simple pendulum Many, many others (actually very seldom can you find the exact solution of a problem…) 14 Where/How are Numerical Methods Used? Powerful and inexpensive computers have revolutionized the use of numerical methods and their impact Simulation of a car crash in minute detail Formation of galaxies Folding of a protein Finding the electron distribution around nuclei in a nanostructure Numerical methods enable the concept of “simulation-based engineering” You use computer simulation to understand how your mechanism (mechanical system) behaves, how it can be modified and controlled 15 Numerical Methods in ME451 In regards to ME451, one would use numerical method to solve the dynamics problem (the resulting set of differential equations that capture Newton’s second law) The particular class of numerical methods used to solve differential equations is typically called “numerical integrators”, or “integration formulas” A numerical integrator generates a numerical solution at discrete time points (also called grid points, station points, nodes) This is in fact just like in Kinematics, where the solution is computed on a time grid Different numerical integrators generate different solutions, but the solutions are typically very close together, and [hopefully] closed to the actual solution of our problem Remember: In 99% of the cases, the use of numerical integrators is the only alternative for solving complicated systems described by non-linear differential equations 16 Numerical Integration ~Basic Concepts~ So what’s the problem? Initial Value Problem: (IVP) You are looking for a function y(t) that depends on time (changes in time), whose time derivative is equal to a function f(t,y) that is given to you (see IVP above) In other words, I give you the derivative of a function, can you tell me what the function is? Remember that both y0 and the function f are given to you. You want to find y(t). In ME451, the best you can hope for is to find an approximation of the unknown function y(t) at a sequence of discrete points (as many of them as you wish) The numerical algorithm produces an approximation of the value of the unknown function y(t) at the each grid point. That is, the numerical algorithm produces y(t1), y(t2), y(t3), etc. 17 Relation to ME451 When carrying out Dynamics Analysis, what you can compute is the acceleration of each part in the model Acceleration represents the second time derivative of your coordinates Somewhat oversimplifying the problem to make the point across, in ME451 you get the second time derivate This represents a second order differential equation since it has two time derivatives taken on the position q 18 How do you go about solving an Initial Value Problem? A look at: Euler’s Method Predictor-Corrector Method Runge-Kutta Method 19 Numerical Integration: Euler’s Method Find solution of this Initial Value Problem: y(t ) f ( y, t ) y(t0 ) y0 The idea: at each grid point tk, turn the differential problem into an algebraic problem by approximating the value of the time derivative: This step is called “discretization”. It transforms the problem from a continuous ODE problem into a discrete algebraic problem Euler’s Method (t is the step size): yk 1 yk t f (tk , y k ) 20 y 10 y 0 Example: y (0) 1 - Integrate 5 steps using Euler’s Method - Compare to exact solution Exact solution: y(t) = e-10t f(t,y) = -10y (note no explicit dependency on time t for f) k=0 k=1 k=2 k=3 k=4 k=5 y0 = 1.0 y1 = y0+f(t0,y0)t y2 = y1+f(t1,y1)t y3 = y2+f(t2,y2)t y4 = y3+f(t3,y3)t y5 = y4+f(t4,y4)t = 1.0 + (-10*1.0 )*0.01 = 0.9 = 0.9 + (-10*.9 )*0.01 = 0.81 = 0.81 + (-10*.81 )*0.01 = 0.729 = 0.729 + (-10*.729 )*0.01 = 0.6561 = 0.6561 + (-10*.6561)*0.01 = 0.5905 Solution: y(0) =1.0000 y(0.01)=0.9048 y(0.02)=0.8187 y(0.03)=0.7408 y(0.04)=0.6703 y(0.05)=0.6065 21 Predictor-Corrector Methods Instead of computing f(y,t) at one point, you can average over multiple points (two in this case) t yk 1 yk f (tk , y k ) f (tk 1 , y k 1 ) 2 To implement, must predict yk+1 using forward Euler Method yk( p1) yk t f (tk , y k ) yk 1 yk t f (tk , y k ) f (tk 1 , yk( p1) ) 2 The predictor The corrector 22 Example - Integrate in Matlab for 1 second using Euler’s Method - Compare to exact solution y 10 y 0 y (0) 1 Matlab y0=1; % Euler’s Method dt=.01; t=0:.01:1.; yh=y0; for i=2:length(t) f=-10*yh(i-1); yh(i)=yh(i-1)+f*dt; end % Exact solution y=y0*exp(-10*t); % Plot and compare plot(t,y,'b-',t,yh,'ro'); 1 0.8 0.6 X 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 Time (s) 23 Euler Method: ~ Effect of Step Size ~ y 0.1y sin t y (0) 0 Solve using step sizes t=0.1, 1 and 5 sec dt=5 sec Matlab % Exact solution t=0:.01:50; y=.99*exp(-t/10)+.995*sin(t-1.47); % Numerical solution dt=.1; th=0:dt:50; yh=0; for i=2:length(th) f=-yh(i-1)/10+sin(th(i)); yh(i)=yh(i-1)+f*dt; end plot(t,y,'b-',th,yh,'ro-'); dt=1 sec dt=0.1 sec 6 4 2 0 -2 -4 -6 0 10 20 30 Conclusion: If you use large step-sizes t, the ACCURACY of the solution is very poor (you can’t be too aggressive with size of t) 40 50 24 MATLAB Support for solving IVP 25 Ordinary Differential Equations (Initial Value Problem) y f (t , y ) An ODE + initial value: y (t0 ) y0 Use ode45 for non-stiff IVPs and ode23t for stiff IVPs (concept of “stiffness” discussed shortly) [t,y] = ode45(odefun,tspan,y0,options) function dydt = odefun(t,y) [initialtime Initialvlue finaltime] • Use odeset to define options parameter 26 IVP Example (MATLAB at work): function dydt = myfunc(t,y) dydt=zeros(2,1); dydt(1)=y(2); dydt(2)=(1-y(1)^2)*y(2)-y(1); » [t,y]=ode45('myfunc',[0 20],[2;0]) 3 27 Note: Help on odeset to set options for more accuracy and other useful utilities like drawing results during solving. 2 1 0 -1 -2 -3 0 2 4 6 8 10 12 14 16 18 20 The concept of stiff differential equations, and how to solve the corresponding IVP 28 Example: IVP y 100 y 0 100 t y ( t ) e y (0) 1 - Integrate 5 steps using forward Euler formula: t=0.002, t=0.01, t=0.03 - Compare the errors between numerical and analytical solutions (Algorithm Error) Algorithm Error when t=0.002: 0 0.01873075307798 0.03032004603564 0.03681163609403 0.03972896411722 0.04019944117144 Algorithm Error when t=0.01: 0 0.36787944117144 0.13533528323661 0.04978706836786 0.01831563888873 0.00673794699909 Algorithm Error when t=0.03: 0 2.04978706836786 -3.99752124782333 8.00012340980409 -15.99999385578765 32.00000030590232 29 y 100 y 0 100 t y ( t ) e y (0) 1 Example: 5000 1 Numerical Solution 0.9 0.8 0.7 0 0.6 0.5 0.4 -5000 0.3 0.2 0.1 0 -10000 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 Forward Euler Analytical Solution (t=0.03) 30 Concept of stiff IVP’s IVP’s for which forward Euler doesn’t work well (see example) In general, the entire class of so called explicit formulas doesn’t work Forward Euler, Runge-Kutta (RK23, RK45), DOPRI5, Adams-Bashforth, etc. Stiff IVP’s require a different class of integration formulas Implicit formulas Example: backward Euler yk 1 yk f (tk 1 , y k 1 )t 31 Explicit vs. Implicit Formulas (look at Euler family) Initial Value Problem y f (t , y ) y (t0 ) y0 • Forward Euler yk 1 yk t yk yk f ( yk , tk ) yk 1 yk f (tk , y k )t • Backward Euler yk 1 yk t yk+1 f ( yk 1 , tk 1 ) yk+1 yk 1 yk f (tk 1 , y k 1 )t 32 y 100 y 0 100 t y ( t ) e y (0) 1 Example: Exact Solution 1 5000 Solution Approximation Numerical Solution 0.9 0.8 0.7 0 0.6 0.5 0.4 -5000 0.3 0.2 0.1 0 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 -10000 0 0.05 Backward Euler and Analytical Solution 0.1 0.15 0.2 0.25 0.3 0.35 0.4 Forward Euler (t=0.03) 33 Other Popular Algorithms for Stiff IVPs The family of BDF methods (Backward-Difference Formulas): BDF of 1st order: yn1 yn hyn+1 BDF of 2nd order: 4 1 2 yn+1= yn yn-1 hyn+1 3 3 3 BDF of 3rd order: yn+1= BDF of 4th order: yn+1= 48 36 16 3 12 yn yn-1 yn-2 yn-3 hyn+1 25 25 25 25 25 BDF of 5th order: yn+1= 300 300 200 75 12 60 yn yn-1 yn-2 yn-3 yn-4 hyn+1 137 137 137 137 137 137 18 9 2 6 yn yn-1 yn-2 hyn+1 11 11 11 11 34 The Two Key Attributes of a Numerical Integrator Two attributes are relevant when considering a numerical integrator for finding an approximation of the solution of an IVP The STABILITY of the numerical integrator The ACCURACY of the numerical integrator 35 Numerical Integration Formula: The STABILITY Attribute The stability question: How big can I choose the integration step-size t and be safe? Tough question answered in a Numerical Analysis class Different integration formulas, have different stability regions You’d like to use an integration formula with large stability region: Example: Backward Euler, BDF methods, Newmark, etc. Why not always use these methods with large stability region? There is no free lunch: these methods are implicit methods that require the solution of an algebra problem at each step (we’ll see this on Th) 36 Numerical Integration Formula : The ACCURACY Attribute The accuracy question: How accurate is the formula that I’m using? If I start decreasing t , how will the accuracy of the numerical solution improve? Tough question answered in a Numerical Analysis class Examples: Forward and Backward Euler: accuracy O(t ) RK45: accuracy O(t 4) Why not always use methods with high accuracy order? There is no free lunch: these methods usually have very small stability regions Therefore, you are limited to very small values of t 37 ODE solvers in MATLAB Solver Problem Type Order of Accuracy ode45 Nonstiff Medium ode23 Nonstiff Low ode113 Nonstiff Low to high ode15s Stiff Low to medium ode23s Stiff Low If using crude error tolerances to solve stiff systems and the mass matrix is constant ode23t Moderately stiff Low For moderately stiff problems is you need a solution without numerical damping ode23tb Stiff Low If using crude error tolerances to solve stiff systems When to use Most of the time. This should be the first solver tried For problems with crude error tolerances or for solving moderately stiff problems. For problems with stringent error tolerances or for solving computationally intensive problems If ods45 is slow because the problem is stiff 38 End Numerical Methods at Large Beginning Numerical Methods for ME451 39 ME451 Kinematics and Dynamics of Machine Systems Dynamics of Planar Systems November 29, 2007 Elements of the Numerical Solution of the Dynamics Problem Chapter 7 Before we get started… Exam coming up in one week (Tu, Dec. 4, 9:30 AM) Exam covers Dynamics (material covered since first exam) Take home component emailed to you: due at the time of the exam Preliminary report on Final Project due Review session at 6:00 PM on Monday, Dec. 3, in this room Last Time Discussed how numerical algorithms (methods) play an essential part in finding the time evolution of a mechanism (or any dynamic system for that matter) Solution of IVP found by either explicit or implicit numerical integration formulas Key Idea: Differential problem transformed into Algebraic problem through discretization (use of discretization formulas) Two important attributes associated with a numerical integration algorithm: Stability Accuracy 41 Summary of the Lagrange form of the Constrained Equations of Motion Equations of Motion: Position Constraint Equations: The Most Important Slide of ME451 Velocity Constraint Equations: Acceleration Constraint Equations: 42 What’s special about ME451 problems? Looking at the previous slide there are several things that make the ME451 dynamics problem challenging: The problem is not in standard form Furthermore, our problem is not a first order Ordinary Differential Equation (ODE) problem Rather, it’s a second order ODE problem, due to form of the equations of motion (contain the second time derivative of the positions) After all, it’s not even an ODE problem The unknown function q(t); that is, the position of the mechanism, is the solution of a second order ODE problem (first equation previous slide) but it must also satisfy a set of kinematic constraints at position, velocity, and acceleration levels, which are formulated as a bunch of algebraic equations To conclude, you have to solve a set of differential-algebraic equations (DAEs) DAEs are much tougher to solve than IVPs This lecture is about using a numerical method to solve DAEs of multibody dynamics 43 Example: Find the time evolution of the pendulum Simple Pendulum: Mass 20 kg Length L=2 m Force acting at tip of pendulum Although not shown in the picture, assume RSDA element in revolute joint F = 30 sin(2 t) [N] k = 45 [Nm/rad] & 0=3/2 c = 10 [N/s] ICs: hanging down, starting from rest Stages of the procedure (three): Stage 1: Derive constrained equations of motion Stage 2: Indicate initial conditions (ICs) Stage 3: Apply numerical integration algorithm to discretize DAE problem and turn into algebraic problem 44 Example: Simple Pendulum Stage 1: Deriving EOM (see also posted solution) Stage 2: Indicate Initial Conditions (ICs) 45 Detour: Algorithm for Resolving Dynamics of Mechanisms If you have the EOM and ICs, how do you go about solving the problem? This is a research topic in itself We’ll present almost the simplest algorithm possible It is based on Newmark’s integration formulas That is, we are going to use Newmark’s formulas to discretize our differential problem 46 Solution Strategy: Important Slide This slide explains the strategy through which the numerical solution; i.e., an approximation of the actual solution of the dynamics problem, is produced Step 1: two integration formulas (Newmark in our case) are used to express the positions and velocities as functions of accelerations These are also called “discretization formulas” Step 2: everywhere in the constrained equations of motion, the positions and velocities are replaced using the discretization formulas and expressed in terms of the acceleration This is the most important step, since through this “discretization” the differential problem is transformed into an algebraic problem The algebraic problem, which effectively amounts to solving a nonlinear system, is approached using Newton’s method (so again, we need to produce a Jacobian) Step 3: solve a nonlinear system to find the acceleration and the Lagrange multipliers 47 Overview Newmark Integration Formulas Newmark method (N.M. Newmark – 1957) One step method designed to integrate directly second order equations of motion: The “discretization” formulas that relate position to acceleration and velocity to acceleration are: The goal is to find the positions, velocities, accelerations and Lagrange multipliers on a grid of time points 48 Newmark (Cntd.) Newmark Method 1st Order Very good stability properties Choose =0.3025, and =0.6 (these are two parameters that control the behavior of the method) If we write the equation of motion at each time tn+1 one gets Now is the time to replace and with the discretization formulas (see previous slide) You end up with an algebraic problem in which the unknown is exclusively the acceleration 49 The Problem at Hand Our rigid multibody dynamics problem is slightly more complicated than the Linear Finite Element problem used to introduce Newmark’s discretization formulas More complicated since we have some constraints that the solution must satisfy We also have to deal with the Lagrange multipliers that come along with these constraints (from a physical perspective remember that they help enforce satisfaction of the constraints) Linear Finite Element dynamics problem Nonlinear multibody dynamics problem. Newmark algorithm still works as before, problem is slightly messier… 50 Quantities we are interested in Generalized accelerations: Generalized velocities: Generalized positions: Reaction Forces: All these quantities are functions of time (they change in time) 51 Stage 3: The Discretization of the Constrained Equations of Motion The Discretized Equations Solved at each Time-Step tn+1: Above you see and functions of the accelerations: 52 , but remember that they are Again, these are Newmark’s formulas that express the generalized position and velocity as functions of generalized accelerations The Discretization of the Constrained Equations of Motion (Cntd.) Remarks on the discretization and its outcome: Your unknowns are the accelerations and the Lagrange multipliers The number of unknowns is equal to the number of equations The equations that you have to solve now are algebraic and nonlinear Differential problem has been transformed into an algebraic one The new problem: find acceleration and Lagrange multipliers that satisfy You have to use Newton’s method This calls for the Jacobian of the nonlinear system of equations (chain rule will be used to simplify calculations) This looks exactly like what we had to do when we dealt with the Kinematics analysis of a mechanism (there we solved (q,t)=0 to get the positions q) 53 Solving the Nonlinear System =0 ~ Newton Method ~ Based on Newmark Integration formulas, the Jacobian is calculated as: Corrections Computed as : 54 Note: subscripts “n+1” dropped to keep presentation simple Simple Pendulum Example: Looking at Stage 3 55 End Numerical Methods Begin Formulating EOM in NonCartesian Generalized Coordinates 56 ME451 Kinematics and Dynamics of Machine Systems Dynamics of Planar Systems December 6, 2007 EOM in non-Cartesian Reference Frames ~ not in textbook~ Before we get started… HW due next Th HW emailed to you, has two main components Formulating eqs of motion following example presented in class Find solution of EOM using MATLAB’s ode45. Next Tu: Director of Engineering Learning Center to come to class to discuss with you about ME451 and my teaching I will have to leave the room when this happens Last Time Exam Hope to get it graded over the weekend and return next Tu 58 A Look Ahead Cover of Kinematics and Dynamics of 2D mechanisms has been completed Moving on to discuss some topics related to material covered Formulating the equations of motion using non-Cartesian generalized coordinates (today) Equilibrium and Inverse Dynamics problems (Tuesday) Rotation matrix A in 3D kinematics (Thursday, last lecture of semester) 59 Today lecture’s Question: You have a mechanism and are interested in finding its time evolution What if you want to express the equations of motion (EOM) in a set of generalized coordinates that is not Cartesian? Example: Simple Pendulum Why not use the angle to express the time evolution of the pendulum? 60 Non-Cartesian GCs: Further comments Benefits of working with non-Cartesian GCs: You might be able to formulate the problem as an ODE problem as opposed to a DAE problem as it is almost always the case when you use Cartesian coordinates For ODE problems you don’t have the complications deriving from the use of Newmark’s formulas, and using any classical numerical integration formula will do The dimension of the problem in general is reduced Typically, you can reduce it all the way to having a number of differential equations equal to the number of degrees of freedom associated with your mechanism Example: For the simple pendulum you’d have one second order ODE For the double pendulum you’d have two second order ODEs 61 Non-Cartesian GCs: Further comments (Cntd.) Drawbacks of working with non-Cartesian GCs: You might lose the ability to compute the reaction forces since you eliminate their presence from the problem This goes back to trading the DAE for an ODE problem (there are no Lagrange multipliers associated with an ODE problem…) The expression that the ODE problem assumes is tremendously messy Ex: Slider-Crank 62 EOM for Slider Crank: Where k1, k2, and k3 are defined as: Nomenclature & Notation OLD NEW 64 Example: Simple Pendulum Scenario 1: Note that there are no constraints on w Scenario 2: 65 Taxonomy Based on how we select the generalized coordinates w, we can be in one of TWO cases: 1) There are no constraints that the new GCs must satisfy These GCs are called Lagrangian GCs They are equal in number to the number of degrees of freedom See Scenario 1 on previous slide, the angle was not subject to any constraints 2) There are some constraints that the new GCs must satisfy See Scenario 2 on previous slide w must satisfy in this case the nonlinear algebraic equations 66 The case of Lagrangian Gen. Coordinates Here w can change in an arbitrary fashion, no constraints that need to be satisfied How is a virtual displacement in q related to a virtual displacement in w? Go back to variational form of the equations of motion: 67 The case of Lagrangian Gen. Coordinates (Cntd.) Note that the acceleration in q and w are related: Simple manipulation lead to From here, since w is arbitrary (no constraints acting on w), 68 Example: Simple Pendulum Simple Pendulum: Mass 20 kg Length L=2 m Force acting at tip of pendulum F = 30 sin(2 t) [N] ICs: hanging down, starting from rest FIND EQUATION OF MOTION IN TERMS OF NOTE: This is a Lagrangian generalized coordinates scenario 69 The case of non-Lagrangian and non-Cartesian Gen. Coordinates (this is pretty thick…) 70 The case of non-Lagrangian and nonCartesian Gen. Coordinates Here w cannot change in an arbitrary fashion, it must satisfy constraints How is a virtual displacement in q related to a virtual displacement in w? It can be proved that if w represents a consistent virtual displacement, that is, … then by taking q = ww you got yourself a consistent virtual displacement q, that is, 71 The case of non-Lagrangian and nonCartesian Gen. Coordinates Proof of previous result is skipped but it relies on the following observation: If w is a consistent configuration, that is … then q= (w) is also a consistent configuration, that is 72 The case of non-Lagrangian and nonCartesian Gen. Coordinates Note: Here w must satisfy at all times Variational form of the equations of motion: The above holds only when w is consistent, that is Applying Lagrange’s theorem, one ends up with the following: 73 What GCs do people use? ADAMS uses Cartesian GCs, as does the second most widely used commercial package out of US Most widely used commercial packages out of Asia, RecurDyn, uses nonCartesian GCs For open tree topologies they use Lagrangian GCs Most widely used commercial packages out of Europe, SimPack, uses nonCartesian GCs My take on this: I prefer Cartesian GCs EOMs are larger, but sparser EOMs are easy to formulate, I let the computer deal with their solution Where are non-Cartesian GCs widely used? In robotics When you have open tree topologies In these cases you can actually easily select a set of Lagrangian GCs and end up with an ODE problem for your EOM. ME451 Kinematics and Dynamics of Machine Systems Dynamics of Planar Systems December 11, 2007 Inverse Dynamics 6.4 Equilibrium Analysis 6.5 Before we get started… HW due Th Today: Director of Engineering Learning Center to come to class to discuss with you about ME451 (last 30 minutes of the class) You can have two HWs dropped (instead of one) when you fill out survey put together by the Engineering Learning Center Provides a snapshot of my teaching in this class. It takes 10 minutes to fill out Helps with organizing & teaching ME451 better next time I emailed details about survey yesterday. Very grateful if you fill out. Last Time Discussed about formulating the equations of motion using a set of generalized coordinates (GCs) different than Cartesian GCs The idea is that you use precisely the same ingredients that you use in the Cartesian case Additionally, you need only one thing – a “bridging” function that tells you how the Cartesian GCs are obtained in terms of the new GCs that you prefer to use Cartesian GCs New GCs 76 Exam 2: Grade Distribution 100% 90% 80% 70% 60% 1 2 3 Exam 2 Grades: Average: 88 % Solution posted online 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Inverse Dynamics: The idea First of all, what does dynamics analysis mean? In *inverse* dynamics, the situation is quite the opposite: You apply some forces/torques on a mechanical system and look at how the configuration of the mechanism changes in time How it moves also depends on the ICs associated with that mechanical system You specify a motion of the mechanical system and you are interested in finding out the set of forces/torques that were actually applied to the mechanical system to lead to this motion When is *inverse* dynamics useful? It’s useful in controls. For instance in controlling the motion of a robot: you know how you want this robot to move, but you need to figure out what joint torques you should apply to make it move the way it should 78 Inverse Dynamics: The math When can one talk about Inverse Dynamics? Given a mechanical system, a prerequisite for Inverse Dynamics is that the number of degrees of freedom associated with the system is zero You have as many generalized coordinates as constraints (THIS IS KEY) This effectively makes the problem a Kinematics problem The two stages of the Inverse Dynamics analysis First solve for accelerations (recall the acceleration equation): Next you solve for the reaction forces: 79 Inverse Dynamics: Closure Are we done once we computed the reaction forces? Yes, because among the forces you computed, you get all the forces/torques that are necessary to impose the driving constraints D that you imposed on the system Here constraint D acts between body i and some other body. Reaction forces are computed as “felt” by body i This gives you the forces/torques that you need to apply to get the prescribed motion 80 Example: Inverse Dynamics Compute torque that electrical motor applies to open handicapped door like Free angle of the spring: Mass m = 30 Mass Moment of Inertia J’ = 2.5 Spring/damping coefficients: K=8 C=1 All units are SI. 81 82 End Inverse Dynamics Beginning Equilibrium Analysis 83 Equilibrium Analysis: The Idea A mechanical system is said to be in equilibrium if the following conditions hold: Equivalently, the system is at rest, with zero acceleration So what does it take to be in this state of equilibrium? You need to be in a certain configuration q The applied forces should assume certain values (OK, tell me more about what “certain” means…) 84 Equilibrium Analysis: The Math Equations of Motion: Position Constraint Equations: Velocity Constraint Equations: Acceleration Constraint Equations: 85 Equilibrium Analysis: The Math (Cntd.) To conclude, one needs a configuration q and the applied forces QA should be such that How can you go about finding such a configuration? Approach 1 (dumb, but powerful) Approach 2 (OK, but you need a good starting point) Add damping in a system and watch it move till it stops Simply solve the nonlinear system to find q and QA Approach 3 (not that common) Cast it as an optimization problem Works for conservative systems only 86 Example: Pendulum Equilibrium Free angle of the spring: Spring constant: k=25 Mass m = 10 Length L=1 All units are SI. 87 88 ME451 Kinematics and Dynamics of Machine Systems Dynamics of Planar Systems December 13, 2007 Rotation in 3D Before we get started… Last class of the semester, no more HW ;-) Final Project presentation coming up on Dec. 22 One presentation per group Each team member gets to talk and then answers questions at end of presentation Final Project Score Project and PPT presentation packaging & looks - 10% Project content – 65 % Your presentation of your contribution to the project – 25% Each of you will have to stand up and make a presentation The 25% is meant to reflect your contribution to the project Email was sent to you regarding scheduling of the presentations 90 The Problem at Hand… In Kinematics, the starting point is to position and orient a body in space In 2D Kinematics, The position of a body is given by x and y coordinates of the origin of a REFERENCE FRAME attached to the rigid The orientation of that body is then described by the orientation angle You end up with three generalized coordinates the describe the position/orientation In 3D Kinematics, For position you need x, y, and z, no big difference other than that However, for orientation you need three angles Orientation in 3D is quite a different animal and it leads to some major differences You end up with six generalized coordinates the describe the position/orientation THIS LECTURE IS A VERY QUICK OVERVIEW OF HOW PEOPLE GO ABOUT DESCRIBING (SPECIFYING) THE ORIENTATION IN 3D KINEMATICS 91 Specifying Orientation in 3D There are several ways to describe how a rigid body is oriented in space Euler angles (probably the most common) Rodriguez Parameters Quaternions Euler Parameters, as a sub-case Bryant angles 92 Purpose of the Orientation Matrix A The matrix A is what you need to take the representation of a vector in a local RF and then find its representation in the global RF Recall that when we deal with s`P, we have a representation of a vector in the local RF If you want to get the location of P in the global RF, THIS RELATION STAYS THE SAME FOR 3D KINEMATICS How is A obtained? Suppose that you have a global RF, OXYZ, and some other RF, O`x`y`z`. Given a vector s` represented in O`x`y`z`, you’d like to know what it’s representation of the vector is in the global OXYZ reference frame This is what the matrix A does… It turns out that The first column of A is the representation in the global reference frame of the unit vector along the O`x` axis The second column of A is the representation in the global reference frame of the unit vector along the O`y` axis The third column of A is the representation in the global reference frame of the unit vector along the O`z` axis 94 How is A obtained? (Cntd.) Example: Derive the orientation matrix for the 2D case Steps: Consider unit vector in the x` direction and represent in global RF Consider unit vector in the y` direction and represent in global RF Assemble matrix A by using the two columns determined above 95 How is A obtained? (Cntd.) It all hinges upon representing a vector, which is a quantity/entity independent of a reference frame, in two different reference frame: This is the important step: the unit vectors i’ and j’, when expressed in the new reference frame, become ex and ey This is our buddy A… NOTE: if you express any other vector , you end up with the same matrix A. In other words, it is an invariant associated with switching from one reference frame to a different one (and it’s not specific to or above): 96 Z Euler Angles y Euler Angles: A set of three angles used to describe the orientation of a reference frame in 3D space Draws on the following observation (intuitive but mathematically deep/rich, not going to get into details): You can align the global reference frame to any arbitrary reference frame through a sequence of THREE rotation operations z Y x X The sequence of three angle rotations that we’ll be working with is about axes Z then X then Z again (sometimes called 3-1-3 sequence) The three angles are denoted by , , and , respectively, and called the Euler angles http://prt.fernuni-hagen.de/lehre/KURSE/PRT001/course_main_sh3d/node10.html 97 Relationship between Euler Angles and Orientation Matrix A Why do we keep talking about both the orientation matrix A and the Euler angles , , in parallel? Because these angles will help us get the orientation matrix A of the local reference frame with respect to the global reference frame In other words, if I choose any vector b` represented in the local reference frame, it’s representation (“image”) in the global reference frame will be 98 Expressing A using Euler Angles (Part 1 of 3) Recall that I have a 3-1-3 rotation sequence. The last sequence, is a rotation of angle about z`` to get O`x`y`z`. Therefore, the rotation matrix that relates O`x`y`z` to O``x``y``z`` is In other words, if I have a vector represented as a` in O`x`y`z`, it will be represented in O``x``y``z`` as 99 Expressing A using Euler Angles (Part 2 of 3) Just dealt with the last “3” in the 3-1-3 rotation sequence (angle ) Focus next on the “1” rotation in the 3-1-3 rotation sequence This the rotation of angle The rotation of angle about the axis O```x```, takes O```x```y```z``` into O``x``y``z`` In other words, if I have a vector represented in O``x``y``z`` as a``, the same vector will be represented in O```x```y```z``` as 100 Expressing A using Euler Angles (Part 3 of 3) Just dealt with the “1” in the 3-1-3 rotation sequence (angle ) Focus next on the first “3” rotation in the 3-1-3 rotation sequence This is the rotation of angle The rotation of angle about the axis OX, takes OXYZ into O```x```y```z``` In other words, if I have a vector represented in O```x```y```z``` as a```, the same vector will be represented in OXYZ as 101 Expressing A using Euler Angles ~ Putting it Together ~ Z A Z-X-Z (or 3-1-3) rotation sequence takes OXYZ to O`x`y`z` Recall that Given a`, you get a`` as Given a`` you get a``` as 102 y z Y x Given a``` you get a as X Therefore, Expressing A using Euler Angles ~ Putting it Together ~ Using the expression of the matrices A1, A2, A3, one gets for the expression of the orientation matrix A Carry out multiplications to get Note: it’s easy to see that AT A=A AT=I 103 Expressing A using Euler Angles ~ Critical Considerations ~ Some questions that should be asked 1. 2. Should the order (sequence) - - be observed? In general, how many parameters do you actually need to capture an arbitrary orientation of a rigid body? 3. For any arbitrarily oriented reference frame, can you always find a set of 3-1-3 Euler angles to relate the global and local reference frame? 4. Suppose that you can always find one set of - - angles. Are they unique? Do you run into any type of singularity issue when you have an infinite number of 3-1-3 rotations that can relate the global and local reference frame? 104 Expressing A using Euler Angles ~ Critical Considerations ~ 1. 2. 3. 4. Answers to previous four questions: The order of the rotation should be observed since it’s important. If you change the order this will land you in a completely different configuration Euler’s theorem says that you need three parameters to represent an arbitrary orientation of any rigid body Yes, you can always find a set of angles - - that take the global reference frame into another reference frame and the transformation matrix is A given on the previous slide (the really ugly 3X3 matrix) In fact the situation can become quite bad, when you end up having not one but an infinite number of rotations to lead to a good matrix A (see below) The only time when you run into a problem is when the angle turns out to be zero (the “1” rotation in the 3-1-3 sequence is zero). In this case it’s not clear how to split the rotations about the Z axes (the first and the last rotations “3”). 105 Expressing A using Euler Angles ~ Critical Considerations ~ Example: Take =20, =0, and =60. Compute A Take =60, =0, and =20. Compute A Take =40, =0, and =40. Compute A In all cases you will end up with the same A This is called the singularity associated with the Euler angles, and there is no way around it That’s why people have been attempting to use different generalized coordinates to determine in a more robust fashion the orientation of a body with respect to a global reference frame 106 Angular Velocity of a Body 107 Preliminary Discussion The concept of skew-symmetric matrix (for 3X3 matrices) Matrix D is skew-symmetric if it satisfy the condition Note that diagonal entries of a skew-symmetric matrix are zero Moreover, the skew-symmetric matrix will look like Note that all it takes to assemble the matrix D is a set of three values: d1, d 2, and d3 In general you’d store only the vector d = [ d1 d2 d3]T and quickly generate D on an as needed basis For this reason, d is called the “generator” of D If you have the generator vector d, the matrix D is denoted by “tilde d”: 108 The KEY Slide Note that since A is orthonormal, Take a time derivative to eventually get This means that the matrix product at the left is a skew-symmetric matrix Therefore there is a generator vector that can be used to represent this Identity matrix skew-symmetric matrix: By definition, the generator vector is called the angular velocity of the body on which the local reference frame is attached NOTE: is an attribute of the body, and not of the reference frame attached to the body (it’s easy to see this…) 109 Angular Velocity for 3-1-3 Euler Sequence When using the 3-1-3 Euler angles, based on the expression of A, one gets: 110 What you additionally know is that: Angular Velocity for 3-1-3 Euler Sequence If you carry out the horrific matrix multiplications you end up with the following expression for the generator vector : Equivalently, you can write this in matrix form like …where the array is defined as 111 Angular Velocity for 3-1-3 Euler Sequence The previous slide says that you can compute the time derivatives of the Euler angles given by solving the linear system Note that det(B)=sin, which yet again indicates that when the second rotation (the “1” in the 3-1-3 sequence) is a integer multiple of , the matrix B is singular and you are in trouble yet again (singular configuration) 112 To avoid this situation people introduced a set of four “Euler parameters” which always work, except that you have some redundancy in information (three parameters are necessary, yet you have four Euler parameters ) leads to one additional constraint equation) This is ME751 material… Title 113 Title 114 Title 115 Title 116 Title 117 Title 118 Example 2.4.1 Express the position of P as a function of the two angles 1 and 2 11 Virtual Displacement: Examples 12 Example 3.2.3: Slider Crank (HW, due date: TBD) For slider crank in Figure 3.1.3, a motion is prescribed on 1 Find the equations of motion (use Cartesian coordinates as in Figure) Write MATLAB or C code to find the time evolution of the mechanism Plot the position, velocity, and acceleration of points O2 and P1 Is the motion of O2 in the x direction sinusoidal? Explain why (don’t use the plots, but look at the equations) Is the motion of P1 in the y direction sinusoidal? Explain why (don’t use the plots, but look at the equations) 121 ME451 Kinematics and Dynamics of Machine Systems Absolute Constraints 3.2 Relative Constraints 3.3 September 25, 2007 © Dan Negrut, 2009 ME451, UW-Madison Before we get started… Next lecture: We’ll continue coverage of Section 3.3 HW: MATLAB problem (to be emailed to you this morning), 3.1.1, 3.1.2, 3.1.4, 3.3.2, 3.3.5 Last Time We discussed some very key concepts: In Kinematics, it all boils down to being able to identify the set of constraints associated with your mechanism If you have these constraints (expressed as (q,t)=0) the time evolution of the kinematic system is easy to determine: Perform position analysis (challenging) Perform velocity analysis (simple) Perform acceleration analysis (OK) If you keep these concepts in mind the first half of the semester will make sense, otherwise you won’t be seeing the forest for the leaves 123 Important Slide of Last Lecture The most critical point in this course is being able to produce the set of constraints that are present in the physical system The three stages of Kinematics Analysis: position analysis, velocity analysis, and acceleration analysis they each follow *very* similar recipes for finding for each body of the mechanism its position, velocity, and acceleration, respectively ALL STAGES RELY ON THE CONCEPT OF JACOBIAN MATRIX: q – the partial derivative of the constraints wrt the generalized coordinates ALL STAGES REQUIRE THE SOLUTION OF A SYSTEM OF EQUATIONS WHAT IS DIFFERENT BETWEEN THE THREE STAGES IS THE EXPRESSION OF THE RIGHT-SIDE OF THE LINEAR EQUATION, “b” 124 Example Consider the slider-crank in Fig. P3.3.2. Come up with the set of kinematic constraint equations to kinematically model this mechanism Length of crank and connecting rod is L1 and L2 125 ME451 Kinematics and Dynamics of Machine Systems Position, Velocity, and Acc. Analysis 3.6 October 16, 2007 Before we get started… HW due next Tu: Redo Problem 3.5.5 in ADAMS Are you getting the same results as in the solution posted at Learn@UW? Last Time ADAMS demo Prior to that (last Tu): Finished driving constraints Started to talk about the Kinematic Analysis solution procedure: Step A: Identify *all* physical joints and drivers present in the system Step B: Identify the corresponding constraint equations (q,t) Step C: Solve for the Position as a function of time (q is needed) Step D: Solve for the Velocities as a function of time ( is needed) Step E: Solve for the Accelerations as a function of time ( is needed) 12 Grade Distribution: ME451 Exam 1 Exam 1 Grades: 100 95 90 Max: 100 Min: 72.5 Average: 91.45 85 80 75 70 65 60 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Further remarks: Each bar in plot above represents a student (22 students in class) With few exceptions, almost everybody received a full 50% for the take home component Difficulties taking partial derivatives (the bonus problem) Overall, the results were good 21 22