Introduction to Dynamic Analysis of Mechanisms#

So far, our study has focused on kinematics: analyzing motion (position, velocity, and acceleration) without considering the causes that produce it. We now move on to dynamics, which relates that motion to the forces and torques acting on the mechanism.

Dynamic analysis is essential for design, since it lets us correctly size components (so they don’t fail) and select suitable actuators (motors, cylinders).

Types of Dynamic Problems#

Dynamics problems can be classified into two main categories:

  1. Direct Dynamics Problem:

    • GIVEN: The forces and torques acting on the mechanism (e.g. a motor’s torque curve, a spring force, a weight).

    • GOAL: Determine the resulting motion of the mechanism (i.e. compute \(\theta(t)\), \(\dot{\theta}(t)\), \(\ddot{\theta}(t)\)).

    • This problem is complex and generally requires solving the differential equations of motion.

  2. Inverse Dynamics Problem:

    • GIVEN: The desired motion of the mechanism (i.e. \(\theta(t)\), \(\dot{\theta}(t)\) and \(\ddot{\theta}(t)\) are known for every link).

    • GOAL: Determine the forces and torques (especially the input motor torque, \(\vec{M}_0\)) needed to produce that motion.

    • This is the most common problem in machinery design and will be our main focus. We ask ourselves: what motor do I need for this machine to move the way I want?


Classification by Constraints#

Depending on how constrained the bodies of a mechanical system are, the problem of writing its equations of motion grows in complexity. In increasing order of difficulty:

  1. Free rigid bodies (🡆 the focus of this lesson 🡄):

 

  1. Links in an open kinematic chain:

 

  1. Links in a closed kinematic chain:


Analysis Approaches#

Depending on how fast the mechanism operates, we can choose between two simplifications:

1. Quasi-static Analysis#

This analysis applies to mechanisms moving at low, constant (or zero) speeds.

  • In this case, the linear accelerations (\(\vec{a}_G\)) and angular accelerations (\(\vec{\alpha}\)) are zero or negligible.

  • Therefore, the inertia forces (\(m\vec{a}\)) and inertia torques (\(I\vec{\alpha}\)) are also negligible compared to the external forces (loads, weights, etc.).

  • The problem reduces to a simple static equilibrium. We apply the equations:

\[\begin{eqnarray*} \sum \vec{F} = 0 \\ \sum \vec{M} = 0 \end{eqnarray*}\]
  • ejemplo3_01 (robotic gripper) is a perfect example of this kind of analysis, where we only balance the gripping and actuator forces.

2. Dynamic Analysis (D’Alembert’s Principle)#

This is the general case, for mechanisms operating at speeds where accelerations are not negligible.

Newton’s 2nd Law for a rigid body states:

\[\begin{eqnarray*} \sum \vec{F} = m \vec{a}_G \\ \sum \vec{M}_G = I_G \vec{\alpha} \end{eqnarray*}\]

D’Alembert’s Principle offers a clever reformulation. It rearranges the equations to turn a dynamics problem into an equivalent “static equilibrium” problem:

\[\begin{eqnarray*} \sum \vec{F} + (-m \vec{a}_G) = 0 \\ \sum \vec{M}_G + (-I_G \vec{\alpha}) = 0 \end{eqnarray*}\]

We define two new terms:

  • Inertia force (\(\vec{F}_{in}\)): A fictitious force opposite to the acceleration of the center of gravity: \(\vec{F}_{in} = -m \vec{a}_G\).

  • Inertia torque (\(\vec{M}_{in}\)): A fictitious torque opposite to the angular acceleration: \(\vec{M}_{in} = -I_G \vec{\alpha}\).

With this, we can treat any dynamics problem as a statics problem, as long as we include these inertia forces and torques in our diagrams. This is called dynamic equilibrium.


Solution Methodology#

Regardless of the approach (quasi-static or dynamic), we will use an analytical, vector-based solution method.

1. Prerequisite: a COMPLETE Kinematic Analysis#

We cannot start the dynamic analysis without first solving the kinematics. To apply D’Alembert’s principle, we must know:

  • The acceleration of the center of gravity (\(\vec{a}_G\)) of every moving link.

  • The angular acceleration (\(\vec{\alpha}\)) of every moving link.

This data is obtained by applying the acceleration analysis methods studied in the previous lesson (e.g. vector loops and differentiation).

2. Vector Method (Systems of Equations)#

Although graphical methods exist (such as the superposition principle), they are laborious and less precise. We will focus on the analytical vector method, which is systematic and ideal for solving with a computer.

The procedure is as follows:

  1. Free body diagram (FBD): Split the mechanism into each of its links (including the ground/frame).

  2. Drawing the forces: For each link, draw ALL the forces and torques acting on it:

    • External forces: Weight (\(m\vec{g}\)), actuator forces, work loads.

    • Motor torque: The input torque (e.g. \(\vec{M}_0\)), applied to the driving link.

    • Reaction forces (joints): The forces one link exerts on another at their connection points.

    • Inertia forces and torques: \(\vec{F}_{in} = -m \vec{a}_G\) and \(\vec{M}_{in} = -I_G \vec{\alpha}\) (dynamic analysis only).

  3. Applying the equilibrium equations: For each link, write the 3 equilibrium equations (dynamic or static): \(\sum F_x = 0\) \(\sum F_y = 0\) \(\sum M_P = 0\) (sum of moments about a convenient point \(P\), usually a joint or the CG).

KEY NOTATION!#

To avoid mistakes, we will be very strict about the notation used for reaction forces:

\(\vec{F}_{ij}\) = Force that link \(i\) exerts on link \(j\).

By Newton’s 3rd Law (action-reaction), the force that \(j\) exerts on \(i\) is exactly the opposite:

\(\vec{F}_{ji} = -\vec{F}_{ij}\)

This rule is what “connects” the free body diagrams to each other. If in the FBD of link 2 we draw \(\vec{F}_{12}\) (force of the ground/frame 1 on link 2), then in the FBD of the ground/frame 1 we must draw \(\vec{F}_{21}\), where \(\vec{F}_{21} = -\vec{F}_{12}\).

3. Solving with MATLAB#

Applying the 3 equilibrium equations to each of the \(N\) moving links yields a large system of linear equations.

  • The unknowns will be the components of the reaction forces at the joints (e.g. \(F_{12x}\), \(F_{12y}\), \(F_{32x}\), \(F_{32y}\)…) and the input motor torque (\(M_{0k}\)).

  • The known data will be all the geometric properties, the external loads, and the inertia forces/torques (computed from the kinematics).

This system, although large, is algebraically simple and can be solved very efficiently and precisely using MATLAB’s solve function, as we will see in exercises ejemplo3_01 and ejemplo3_02.