kb:robotics_kinematics

Kinematics (robotics)

The Jacobian matrix consists of the partial derivatives of the end-effector position with respect to joint angles/lengths.

2D case with 2 revolute joints:

J=[xeθ1xeθ2yeθ1yeθ2]

This can be used to convert joint speeds into end-effector velocity:

[vxvy]=J[˙θ1˙θ2]

Consider the columns of the Jacobian matrix J.

J=[J1J2]

Then, the velocity relation can be rewritten as:

[vxvy]=J1˙θ1+J2˙θ2

J1˙θ1 is the endpoint velocity generated by ˙θ1 when θ2 is fixed, and J2˙θ2 is the endpoint velocity generated by ˙θ2 when θ1 is fixed. That means that the velocity will point in the direction of J1 when θ1 is changed, and the it will point in the direction of J2 when θ2 is changed.

A rotation matrix consists of the unit vectors after rotating the frame of reference.

R=[ntb]

n, t, and b are the unit vectors of the new rotated coordinate frame in the x, y, and z directions respectively.

  • It represents the orientation of the coordinate frame and provides the coordinate transformation from the body frame to the fixed frame.
  • Its inverse is given by its transpose.
  • The three unit vectors n, t, and b span 3D space, so this matrix is non-singular.

The position of a rigid body can be described by the column vector:

x=[xyz]

This position is given in the terms of the new rotated coordinate frame, which is described by the orientation matrix R.

In order to convert this into the previous frame, we can multiply the orientation by the matrix.

To get the end-effector position, we can chain a bunch of coordinate transformations together by multiplying all of the rotation matrices that come before the vector, like this:

x0P=x01+R01x12+R01R12x23

Rotation about x-axis:

Rx(θx)=[1000cosθzsinθz0sinθzcosθz]

Rotation about y-axis:

Ry(θy)=[cosθy0sinθy010sinθy0cosθy]

Rotation about z-axis:

Rz(θz)=[cosθzsinθz0sinθzcosθz0001]

  • kb/robotics_kinematics.txt
  • Last modified: 2024-04-30 04:03
  • by 127.0.0.1