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