Velocity iteration

This notebook illustrates computation of the forward kinematics and velocity iteration for a simple 2-link manipulator. This notebook assumes that the definitions in "velocity_kinematics_defs.nb" have already been evaluated.

Short hand display function

Nice[m_] := m // MatrixForm  //  TraditionalForm

DH parameters (two-link planar manipulator)

DH  =  {{0, 0, 0, θ1, 0}, {0, L1,  0,  θ2, 
            0},  {0,  L2,  0,  0, 0}}; 
DH  // TraditionalForm

Forward kinematics

First transform

T01  =  T[DH,  0,  1];
T01  //  TraditionalForm

Second transform

T12  =  T[DH, 1, 2];
T12  //  TraditionalForm

Last transform (to end-effector)

T23  =  T[DH, 2, 3];
T23  //  TraditionalForm

Complete transform

T03  =  T[DH,  0,  3]  //  Simplify; 
T03  //  TraditionalForm

Angular velocity iteration example

\(TraditionalForm
    \`\(\(\^0
            \)\(ω\_\(\ 0\)\)\)\)

ω[DH, 0, 0]  //  Nice

\(TraditionalForm
    \`\(\(\^1
            \)\(ω\_\(\ 1\)\)\)\)

ω[DH, 1, 1]  //  Nice

\(TraditionalForm
    \`\(\(\^2
            \)\(ω\_\(\ 2\)\)\)\)

ω[DH, 2, 2]  //  Nice

\(TraditionalForm
    \`\(\(\^3
            \)\(ω\_\(\ 3\)\)\)\)

ω[DH, 3, 3]  //  Nice

\(TraditionalForm
    \`\(\(\^0
            \)\(ω\_\(\ 3\)\)\)\)

ω[DH, 0, 3]  //  Nice

Linear velocity iteration example

\(TraditionalForm
    \`\(\(\^0\)\(v
            \_\(\ 0\)\)\)\)

v[DH, 0, 0]  //  Nice

\(TraditionalForm
    \`\(\(\^1\)\(v
            \_\(\ 1\)\)\)\)

v[DH, 1, 1]  //  Nice

\(TraditionalForm
    \`\(\(\^2\)\(v
            \_\(\ 2\)\)\)\)

v[DH, 2, 2]  //  Nice

\(TraditionalForm
    \`\(\(\^3\)\(v
            \_\(\ 3\)\)\)\)

v[DH, 3, 3]  //  Simplify //  Nice

\(TraditionalForm
    \`\(\(\^0\)\(v
            \_\(\ 3\)\)\)\)

v[DH, 0, 3]  // Simplify //  Nice