Jacobian Matrix
Notes on Jacobian matrix in robotics.
Introduction
Jacobian matrix defines the relation between joint velocities and end-effector velocities.
Just like forward kinematics from the previous note, which calculates the end-effector positions from the joint angles, Jacobian matrix provides the end-effector velocities from joint angle velocities.
Here, we define the end-effector position as x and joint angle as q.
Formally, a Jacobian is a set of partial derivatives:
J=∂x∂qOr, if we manipulate a bit so J=∂x∂q=∂x∂t∂t∂q , we can get
˙x=J˙qThen we know that the Jacobian defines the relation between the end-effector velocities and the joint angle velocities.
Linear Velocity Jacobian
The simplest Jacobian matrix provides the relation end-effector linear velocity (we can call it linear velocity Jacobian Jv).
Let us write the equation for an nR planar robot (2D robot in n joints).
The end-effector velocity is defined as
˙x=J˙qFrom the equation above, we can see that for any joint i, the Jacobian for its end-effector has a dimension of 2×i (in 2D space).
Full Jacobian Matrix
A full Jacobian matrix consists of linear velocity part and angular velocity part. Simply,
J=[JvJω]With Jv=∂x∂q for the linear velocity part and Jω=∂ω∂q for the angular velocity part. ω denotes the angular rotation of the end-effector.
Building the Jacobian Matrix
We have known that a linear velocity Jacobian is
Jv=∂x∂qSo, after we know the position of end-effector xi=[xiyi] of a joint i, we can easily create the set of partial derivatives for the linear velocity Jacobian as:
Jv=[∂xi∂q1…∂xi∂qi∂yi∂q1…∂yi∂qi]2×iThe same method applies for the angular velocity Jacobian Jω.
Canonical example: 2R robot
Let’s try with an example of a 2R robot.
A planar 2-DOF serial link robot
From the previous note, using forward kinematics, we can get the position of end-effector of each joint i as
x1=[L1c1L1s11]With c1=cos(q1), s1=sin(q1), c12=cos(q1+q2), s12=sin(q1+q2), and L0=0.
The linear velocity Jacobian can be calculated as:
J1v=[∂x1∂q1∂y1∂q1]=[−L1s1L1c10](Note that we define the position as a 3×1 matrix here. So, the Jacobian matrix is 3×i matrix)