me451 kinematics and dynamics of machine systems

Post on 10-Feb-2016

32 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

ME451 Kinematics and Dynamics

of Machine Systems

Driving Constraints3.5

September 30, 2013

Radu SerbanUniversity of Wisconsin-Madison

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)

Driving Constraints3.5

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

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

Absolute Drivers3.5.1

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

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

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

Relative Drivers3.5.2

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.

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

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)

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.

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 :

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

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:

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)

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

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);

Position, Velocity, and Acceleration Analysis

3.6

Carl Gustav Jacob Jacobi(1804 – 1851)

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

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

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

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)

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)

27

Implicit Function Theorem (IFT)

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.

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

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)

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:

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)

top related