PVA Intro

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

    Vector Calculus

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

    Complex Number Form
    R=|R|cos(θ)+j|R|sin(θ)

    Polar Form
    R=|R|ejθ

    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.

    Euler Formula Form
    e±jθ=cos(θ)+jsin(θ)

    Let's look at the polar vector form. Angle θ 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 ω.

    Time Derivative of Polar Form
    ddt(ejθ)=jejθdθdt=jejθω

    Also note that when you rotate a vector RAB by 180 degrees, it becomes RAB. Upon inspection, we can see that RAB is also equal to RBA. This can be a useful transformation to use when creating vector loops.

    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 Σ0nRn=0. This gives us an equation we are able to solve.

    Position Analysis

    Taking the same four bar linkage example as shown above, let us walk through position analysis.
    1. Identify known and unknown variables. In the four-bar linkage example, the linkage lengths (a, b, c, and d) and the initial angle of the crank (θ2) is known. The angle of the grounded link (θ1) is known to be zero. The initial angle of the coupler (θ3) and rocker (θ4) are unknown.
    2. Establish a vector loop and write out the vectors in polar form. Recall that the polar form of a vector is in the form of R=|R|ejθ. Since the vector loop we established uses two different paths to get from the same starting point to the same ending point, we have to set the sum of the two paths equal to each other.
    3. Position Vector Loop Equations
      R2+R3=R4+R1R2+R3R4R1=0RAO2+RBARBO4RO4O2=0aejθ2+bejθ3cejθ4dejθ1=0
    4. Break vector loop equation into real and imaginary parts. This can be done by using the Euler formula above.
      Position Vector Loop Equations in Cartesian Form
      aejθ2+bejθ3cejθ4dejθ1=0a(cosθ2+jsinθ2)+b(cosθ3+jsinθ3)c(cosθ4+jsinθ4)d(cosθ1+jsinθ1)=0
      Remember that θ1 is equal to zero. This means that d(cosθ1+jsinθ1) simplifies to just d+0j. Now we can easily break up the vector loop equation into its real and imaginary components.
      Real Component
      a(cosθ2)+b(cosθ3)c(cosθ4)d=0
      Imaginary Component
      a(sinθ2)+b(sinθ3)c(sinθ4)+0=0
    5. Solve for unknown positions and/or angles. Since lengths a, b, c, and d are given along with angles (θ1) and (θ2), the unknowns are (θ3) and (θ4). Since there are two equations and two unknowns, this system can be solved using an equation solver.

    Velocity Analysis

    Before starting velocity analysis, you must complete position analysis. Now, we can walk through velocity analysis.
    1. Identify known and unknown variables. All of the variables found in position analysis are known (including (θ3) and (θ4) as those were solved for in the last step of position analysis). In addition to these variables, ω2 is given. This leaves us with ω3 and ω4 as unknowns. Also, recall the position vector loop.
      Position Vector Loop
      aejθ2+bejθ3cejθ4d=0
    2. Take the time derivative of the position vector loop to get the velocity vector loop.
      Velocity Vector Loop Equations
      ddt(aejθ2+bejθ3cejθ4dejθ1)=0jadθ2dtejθ2+jbdθ3dtejθ3jcdθ4dtejθ4jddθ1dtejθ1=0

      Because linkage 1 is grounded, we also know that dθ1dt=ω1=0

      Simplified Vector Loop Equation
      jω2aejθ2+jω3bejθ3jω3cejθ4=0

      Or more specifically,

      Reduced Vector Loop Equation
      VA+VBAVB=0

      In this velocity vector loop VAB represents the velocity of joint B with respect to A.

    3. Break vector loop equation into real and imaginary parts.
      Velocity Vector Loop Equations in Cartesian Form
      jω2aejθ2+jω3bejθ3jω3cejθ4=0jω2a(cosθ2+jsinθ2)+jω3b(cosθ3+jsinθ3)jω3c(cosθ4+jsinθ4)=0
      Real Component
      aω2sin(θ2)bω3sin(θ3)+cω4sin(θ4)=0
      Imaginary Component
      aω2cos(θ2)+bω3cos(θ3)cω4cos(θ4)=0
    4. Solve for the unknown velocities. Using trigonometric identities, we can use the two above equations to solve for ω3 and ω4 using an equation solver.
    5. Warning: Computing Velocities #warn1

    Acceleration Analysis

    Before starting acceleration analysis, velocity analysis must be completed. Now we can walk through acceleration analysis.
    1. Identify known and unknown variables. In addition to the known values from the position and velocity analyses, α2 is given. That leaves α3 and α4 as unknowns. Also, recall the velocity vector loop.
    2. Velocity Vector Loop
      jω2aejθ2+jω3bejθ3jω3cejθ4=0
    3. Take time derivative of velocity vector loop to get acceleration vector loop.
      Acceleration Vector Loop Equations
      ddt(jω2aejθ2+jω3bejθ3jω3cejθ4)=0jdω2dtaejθ2+j2ω2dθ2dtaejθ2+jdω3dtbejθ3+j2ω3dθ3dtbejθ3jdω3dtcejθ4j2ω4dθ4dtcejθ4=0jα2aejθ2ω22aejθ2+jα3bejθ3ω32bejθ3jα4cejθ4+ω32cejθ4=0

      Now we can see terms with α and ω2 appearing for each linkage. The angular acceleration term α appears due to tangential, acceleration of the linkage while the ω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:

      Simplified Acceleration Loop Equation
      (jα2R2ω22R2)+(jα3R3ω32R3)(jα4R4ω42R4)=0

      Or more specifically,

      Reduced Acceleration Loop Equation
      (AAt+AAn)+(ABAt+ABAn)(ABt+ABn)=0AA+ABAAB=0
    4. Break vector loop equation into real and imaginary parts.
      Acceleration Vector Loop Equations in Cartesian Form
      jα2aejθ2ω22aejθ2+jα3bejθ3ω32bejθ3jα4cejθ4+ω32cejθ4=0(jα2ω22)aejθ2+(jα3ω32)bejθ3(jα4ω42)cejθ4=0(jα2ω22)a(cosθ2+jsinθ2)+(jα3ω32)b(cosθ3+jsinθ3)(jα4ω42)c(cosθ4+jsinθ4)=0
      Real Component
      aα2sinθ2aω22cosθ2bα3sinθ3bω32cosθ3+cα4sinθ4+cω42cosθ4=0
      Imaginary Component
      aα2cosθ2aω22sinθ2+bα3cosθ3bω32sinθ3cα4cosθ4+cω42sinθ4=0
    5. Solve for the unknown accelerations. Using trigonometric identities, we can use the two above equations to solve for α3 and α4 using an equation solver.
    6. Warning: Computing Accelerations #warn2

    Application Notes

    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 (θ3, s(t), and β(t)).

    By breaking up the position loop into four position vectors, it makes it clear that there are only two unknowns (θ3 and d(t)).

    This leads to the following position vector loop:

    Position Vector Loop for Crank Slider
    aejθ2bejθ3cejθ4dejθ1=0

    Since θ4 equals 90 degrees and θ1 equals zero degrees, the equation can be simplified to:

    Simplified Position Vector Loop for Crank Slider
    aejθ2bejθ3jcd=0
    Real Component
    acosθ2bcosθ3d=0
    Imaginary Component
    asinθ2bsinθ3c=0

    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 (˙d)(¨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 (θ3, s(t), and β(t)).

    By breaking up the inverted crank-slider into four position vector loops, there are still three unknown variables (θ3, β(t), and θ4), but another equation appears due to geometry of the four-bar linkage. The angle γ is constant because link four and the slider are fixed in an inverted crank-slider. This reveals the equation:

    Extra Equation for Inverted Crank-Slider
    θ3=γ+θ4

    With three unknown variables and three equations, we can use a solver to obtain the values of all unknown variables.