32
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

  • Upload
    zalika

  • View
    32

  • Download
    1

Embed Size (px)

DESCRIPTION

ME451 Kinematics and Dynamics of Machine Systems. Driving Constraints 3.5 September 30, 2013. Radu Serban University of Wisconsin-Madison. Before we get started…. Last Time: Gears, Cam – Followers, Point – Follower This completes the derivation of Kinematic ( scleronomic ) Constraints - PowerPoint PPT Presentation

Citation preview

Page 1: ME451  Kinematics and Dynamics of Machine Systems

ME451 Kinematics and Dynamics

of Machine Systems

Driving Constraints3.5

September 30, 2013

Radu SerbanUniversity of Wisconsin-Madison

Page 2: ME451  Kinematics and Dynamics of Machine Systems

2

Before we get started…

Last Time: Gears, Cam – Followers, Point – Follower This completes the derivation of Kinematic (scleronomic) Constraints

Today: Driving (rheonomic) Constraints

Assignments: HW 6 – due October 4, in class (12:00pm)

3.5.1 3.5.4 (hint: model using only body 1) 3.5.5 3.5.6 (note: change driving constraint to be )

Matlab 3 – due October 2, Learn@UW (11:59pm)

Page 3: ME451  Kinematics and Dynamics of Machine Systems

Driving Constraints3.5

Page 4: ME451  Kinematics and Dynamics of Machine Systems

4

Driving Constraints

The context

Up until now, we only discussed time invariant kinematic constraints

Normally the mechanism has a certain number of DOFs

Some additional time dependent constraints (“drivers”) are added to control these “unoccupied” DOFs Physically, these represent actuators whose inputs describe time history

of some coordinates or relative positions You thus control the motion of the mechanism For Kinematics Analysis, you need NDOF=0

Page 5: ME451  Kinematics and Dynamics of Machine Systems

5

Driving Constraints: Types

Absolute Drivers

Absolute x-coordinate driver Absolute y-coordinate driver Absolute angle driver

Absolute distance driver

Relative Drivers

Relative x-coordinate driver Relative y-coordinate driver Relative angle driver

Relative distance driver

Revolute-rotational driver Translational-distance driver

Page 6: ME451  Kinematics and Dynamics of Machine Systems

Absolute Drivers3.5.1

Page 7: ME451  Kinematics and Dynamics of Machine Systems

7

Absolute Coordinate Drivers (1)

Indicate that the coordinate of a point expressed in the global reference frame assumes a certain value that changes with time

Page 8: ME451  Kinematics and Dynamics of Machine Systems

8

Absolute Coordinate Drivers (2)

Straightforward calculation, starting from the corresponding kinematic constraint: Jacobian stays the same Add to expression of Add to expression of

Page 9: ME451  Kinematics and Dynamics of Machine Systems

9

Step 2: Identify (see Eq. 3.2.1 on page 57)

Step 3: (see Eq. 3.2.2 on page 58)

Step 4: (see page 58)

Step 5: (see page 58)

Absolute Distance Driver

Page 10: ME451  Kinematics and Dynamics of Machine Systems

Relative Drivers3.5.2

Page 11: ME451  Kinematics and Dynamics of Machine Systems

11

Relative Coordinate Drivers

Indicate that the difference in a certain coordinate of points on the two bodies, expressed in the global reference frame, has a specified time evolution.

Page 12: ME451  Kinematics and Dynamics of Machine Systems

12

Relative Distance Driver (1) The distance between Pi and Pj is a prescribed function

of time:

O’

X

Y

O

' iPs

jPiP

( )C t

Body i

Body j

jxjy

ix

iy i

Pir

ir

j

jr

Page 13: ME451  Kinematics and Dynamics of Machine Systems

13

Relative Distance Driver (2)

Identify (see Eq. 3.3.7 on page 63)

Step 3: (see Eq. 3.3.8 on page 63)

Step 4: (see page 63)

Step 5: (see page 63)

Page 14: ME451  Kinematics and Dynamics of Machine Systems

14

Revolute-Rotational Driver

Setup Two bodies connected by a revolute joint at point We prescribe the time evolution of the angle in the revolute joint

Constraint equation:

Notes and are attributes of the constraint with an appropriate choice of the LRFs

and/or modifying C(t), they can be madeequal to zero.

Page 15: ME451  Kinematics and Dynamics of Machine Systems

15

Translational-Distance Driver (1) Setup

Two bodies connected by a translational joint We prescribe the displacement in the translational joint

Model Direction of translational joint on body is defined by the vector This driver says that the distance between point on body and point

on body , measured along the direction of , changes in time according to a user prescribed function :

Page 16: ME451  Kinematics and Dynamics of Machine Systems

16

Translational Distance Driver (2)

The book complicates the formulation for no good reason There is nothing to prevent us from specifying the direction using a unit

vector (that is making )

The mathematical representation of this driver is then simply:

resulting in:

Important: the direction of translation is indicated now through a unit vector (you are going to get the wrong motion if you work with a vi that is not unit length)

Keep this in mind when working on HW problem 3.5.6

Page 17: ME451  Kinematics and Dynamics of Machine Systems

17

Driver Constraints: Conclusions (1)

What is after all a driving constraint? We start with a kinematic constraint, which indicates that a

certain kinematic quantity should stay equal to zero Rather than equating this kinematic quantity to zero, we

allow it to change with time:

or equivalently:

Page 18: ME451  Kinematics and Dynamics of Machine Systems

18

Notation used: Kinematic Constraints: Driver Constraints: Note the arguments: for Kinematic Constraints, there is no explicit

time dependency

Correcting the RHS… Computing the right hand sides of the velocity and acceleration

equations for driver constraints is straightforward

Once we know how to compute these quantities for , converting to is just a matter of correcting… … (RHS of velocity equation) with the first derivative of … (RHS of acceleration equation) with second derivative of Section 3.5.3 discusses these issues

Driver Constraints: Conclusions (2)

Page 19: ME451  Kinematics and Dynamics of Machine Systems

19[handout]

Example: Relative Distance Drivers

Generalized coordinates:

Prescribed motions:

Derive the constraints acting on the system

Derive the linear system whose solution provides the generalized velocities

Page 20: ME451  Kinematics and Dynamics of Machine Systems

20

MATLAB: How to Handle Arbitrary MotionsProblem: Given a string that represents the expression of some function of time t, how do you evaluate the function, as well as its first two derivatives?

% Assume the string ‘str’ contains the expression of the function % (e.g. as read from the ‘fun’ property of a driver constraint in the ADM file)fun_str = ‘(1.5 * sin(t) + 3 * t^2)^2’;

% Declare a symbolic variable for timesyms t;

% Evaluate the given string as a symbolic expression.% NOTE: we must play a trick here to deal with the case where ‘fun_str’% represents a constant function; i.e. there is no explicit dependency% on t. In this case, ‘eval’ by itself would return a double, not a sym!fun_sym = sym(eval(fun_str));

% Symbolically differentiate the function.funD_sym = diff(fun_sym);funDD_sym = diff(fnuD_sym);

% Create Matlab function handles from the three symbolic functions abovefun_handle = matlabFunction(fun_sym, ‘vars’, t)funD_handle = matlabFunction(funD_sym, ‘vars’, t);fundDD_handle = matlabFunction(funDD_sym, ‘vars’, t);

Page 21: ME451  Kinematics and Dynamics of Machine Systems

Position, Velocity, and Acceleration Analysis

3.6

Carl Gustav Jacob Jacobi(1804 – 1851)

Page 22: ME451  Kinematics and Dynamics of Machine Systems

22

Kinematic Analysis: Steps

Step A: Identify all physical joints and drivers present in the system

Step B: Identify the corresponding set of constraint equations

Step C: Position AnalysisFind the Generalized Coordinates as functions of timeNeeded: and

Step D: Velocity AnalysisFind the Generalized Velocities as functions of timeNeeded: and

Step E: Acceleration AnalysisFind the Generalized Accelerations as functions of timeNeeded: and

Page 23: ME451  Kinematics and Dynamics of Machine Systems

23

Kinematic Analysis

The position analysis [Step C]: 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 [Step D]: Requires the solution of a linear system of equations Relatively simple Carried out after completing position analysis

The acceleration analysis [Step E]: Requires the solution of a linear system of equations Challenge: generating the RHS of acceleration equation, Carried out after completing velocity analysis

Page 24: ME451  Kinematics and Dynamics of Machine Systems

24

Position Analysis (1)

Framework: Somebody presents you with a mechanism and you select the set

of nc generalized coordinates to position and orient each body of the mechanism:

You inspect the mechanism and identify a set of nk kinematic constraints that must be satisfied by your coordinates:

Next, you identify the set of nd driver constraints that move the mechanism:

NOTE: You must end up with nc = nk + nd

Page 25: ME451  Kinematics and Dynamics of Machine Systems

25

We end up with this problem: given a time value t, find that set of generalized coordinates q that satisfy the equations:

What’s the idea here? Set time t=0, and find a solution q by solving above equations Then advance the time to t=0.001 and find a solution q by solving above equations Then advance the time to t=0.002 and find a solution q by solving above equations Then advance the time to t=0.003 and find a solution q by solving above equations … Stop when you reach the end of the interval in which you are interested in the position

What you do is find the time evolution on a time grid with step size t=0.001 (in this example) You can then plot the solution as a function of time and get the time evolution of your

mechanism

Position Analysis (2)

Page 26: ME451  Kinematics and Dynamics of Machine Systems

26

Two issues associated with the methodology described on previous slide:

The first issue: related to the fact that you are solving nonlinear equations. Does a solution exist? Example: x2+4=0 (no real number x will do here)

Is the solution unique? Example: x2-4=0x (both 2 and -2 are solutions)

The second issue: The equations that we have to solve at each time t are nonlinear. How do you actually solve them? For instance, how do you find the solution (x=-1.2) of this nonlinear equation:

Deal with this issue next week (discuss Newton-Raphson method)

Position Analysis (3)

Page 27: ME451  Kinematics and Dynamics of Machine Systems

27

Implicit Function Theorem (IFT)

Page 28: ME451  Kinematics and Dynamics of Machine Systems

28

IFT: Implications for Position Analysis

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.

Page 29: ME451  Kinematics and Dynamics of Machine Systems

29

Velocity Analysis (1)

This is simple. What is the framework?

You just found q at time t, that is, the location and orientation of each component of the mechanism at time t, and now you want to find the velocity of each component (body) of the mechanism

Taking one time derivative of the constraints leads to the velocity equation:

In other words, once you have you can find at time by solving the linear system

Page 30: ME451  Kinematics and Dynamics of Machine Systems

30

Observations: Note that as long as the constraint Jacobian is nonsingular, you can

solve this linear system and recover the velocity

The reason velocity analysis is easy is that, unlike for position analysis where you have to solve a nonlinear system, now you are dealing with a linear system, which is easy to solve

Note that the velocity analysis comes after the position analysis is completed, and you are in a new configuration of the mechanism in which you are about to find out its velocity

Velocity Analysis (2)

Page 31: ME451  Kinematics and Dynamics of Machine Systems

31

Acceleration Analysis (1)

This is also fairly simple. What is the framework?

We just found a at time , that is, where the mechanism is and what its velocity is at that time

We now want to know the acceleration of each component of the model

Taking two time derivatives of the constraints leads to the acceleration equation:

Page 32: ME451  Kinematics and Dynamics of Machine Systems

32

In other words, you find the acceleration (second time derivative of q at time tk) as the solution of a linear system:

Observations: The equation above illustrates why we have been interested in the

expression of , the RHS of the acceleration equation:

Note that you again want the constraint Jacobian to be nonsingular, since then you can solve the acceleration linear system and obtained the acceleration

Acceleration Analysis (2)