The manipulator Jacobian relates infinitesimal joint displacement to infinitesimal tool translation and rotation.
flowchart LR DQ["Joint displacement<br/>dq"] --> A["Linear block<br/>A(q)"] --> DP["Tool translation<br/>dp"] DQ --> B["Angular block<br/>B(q)"] --> DPHI["Tool rotation<br/>d-phi"] DP --> DU["Tool displacement<br/>du"] DPHI --> DU
Let:
- be an infinitesimal tool-tip translation in base coordinates
- be an infinitesimal tool rotation in base coordinates
Combine them into the infinitesimal tool displacement vector:
For each joint configuration , there is a matrix such that:
This gives the displacement mapping:
Linear and angular blocks
Partition the manipulator Jacobian into two blocks:
Then:
Divide the linear relation by :
Differentiate the tool-tip position function :
The th row and th column are:
Angular block
Write the angular block by columns:
Then:
The column gives the angular tool displacement caused by joint when all other joints stay fixed.
For a prismatic joint, motion along causes no angular tool displacement:
For a revolute joint, rotation about gives:
Therefore:
Define the joint-type parameter:
The two cases combine into:
The joint axis in base coordinates is:
where is the third unit vector.
Complete form
The manipulator Jacobian is:
Calculation procedure
- Set and
- Calculate
- Update
- Set and repeat steps 2 to 3 until
- Calculate and
- Assemble from the columns and
Here, selects the position coordinates from the homogeneous coordinate vector.
Important
maps joint velocity to linear tool velocity. maps joint velocity to angular tool velocity.
See Link Coordinates, Denavit-Hartenberg (D-H) Representation, and Manipulator Jacobian of a Four-Axis SCARA Robot (Adept One).