Scroll back to top
Position, Velocity, Acceleration (PVA) analysis is used to analytically determine the motion of a mechanism. Position determines the configuration of the mechanism. Velocity is used to understand the kinetic energy and momentum of the system. Finally, acceleration is used to understand the forces in the system. PVA takes the known geometry, initial configurations, and PVA data of one link (the inputs) and determines the PVA data for the other links (the outputs).
In PVA analysis, links are represented using vectors. Using complex vectors is the easiest way to represent the link data as it utilizes the link length \( |R| \) and starting link angle \( \theta \) to create a vector. There are two forms of complex vectors that we will be focusing on: complex number form and polar form. Complex number form takes a Cartesian approach to complex numbers. Meanwhile polar form takes a polar approach (as the name suggests).
The \( j \) in each vector represents the imaginary number \( sqrt{-1 \). The Euler formula can be used to break the polar form into the complex form.
Let's look at the polar vector form. Angle \( \theta \) depends on time because the system is not static. This means that taking the derivative of the angle with respect to time will give the angular velocity \( \omega \).
Also note that when you rotate a vector \( \overrightarrow R_{AB} \) by 180 degrees, it becomes \( -\overrightarrow R_{AB} \). Upon inspection, we can see that \( -\overrightarrow R_{AB} \) is also equal to \( \overrightarrow R_{BA} \). This can be a useful transformation to use when creating vector loops.
Vector loops are used to create equations that can be used to solve complex linkage problems. Vector loops work by creating a "loop" of vectors that start and end in the same location. This also means that the sum of these vectors is equal to zero. For example, take a look at a four bar linkage. If you choose a joint and trace around the links in one direction (making position vectors along the way) you end up creating a vector loop.
You can start the vector loop at any joint and go in any direction to finish the loop.
Alternatively, you can start at one point and go two different directions to end at a different point. As long as the two paths start and end at the same point, a vector loop can be created.
Since position, velocity, and acceleration are all path-independent vectors, we can usually write an equation in the form of \( \Sigma_0^n \overrightarrow R_n=0 \). This gives us an equation we are able to solve.
Because linkage 1 is grounded, we also know that \( \frac{d\theta _1}{dt}=\omega _1 = 0 \)
Or more specifically,
In this velocity vector loop \( \overrightarrow V_{AB} \) represents the velocity of joint \( B \) with respect to \( A \).
Now we can see terms with \( \alpha \) and \( \omega^2 \) appearing for each linkage. The angular acceleration term \( \alpha \) appears due to tangential, acceleration of the linkage while the \( \omega^2 \) term appears due to the centripetal acceleration of the linkage. In total, four different types of acceleration can appear in acceleration analysis. For a refresher on these terms, refer to the particle kinematics page on the dynamics reference page. With this information, we can simplify the equation further to focus on the different acceleration terms:
Or more specifically,
If you have more unknowns than equations, you can likely create more vector loops. If this is the case, think carefully about the constraints on your problems.
For example, take a look at this slider-crank example. If you create a position loop with three vectors, this leads to three unknowns (\( \theta_3 \), \( s(t) \), and \( \beta (t) \)).
By breaking up the position loop into four position vectors, it makes it clear that there are only two unknowns (\( \theta_3 \) and \( d(t) \)).
This leads to the following position vector loop:
Since \( \theta_4 \) equals 90 degrees and \( \theta_1 \) equals zero degrees, the equation can be simplified to:
When taking the time derivative of this equation, keep in mind that \( d=d(t) \) is still a value that changes with respect to time. This will result in the terms \( \dot(d) \ddot(d) \), which represents the change and rate of change in length of the link with respect to time.
Similarly, if you set up a three-position vector loop for an inverted crank-slider, you will see three unknowns (\( \theta_3 \), \( s(t) \), and \( \beta (t) \)).
By breaking up the inverted crank-slider into four position vector loops, there are still three unknown variables (\( \theta_3 \), \( \beta (t) \), and \( \theta_4 \)), but another equation appears due to geometry of the four-bar linkage. The angle \( \gamma \) is constant because link four and the slider are fixed in an inverted crank-slider. This reveals the equation:
With three unknown variables and three equations, we can use a solver to obtain the values of all unknown variables.