Coordinate System and Degrees of freedom
How do you describe the pose of a robot?
The only full description is a total coordinate system.
You can think about it with your right hand:
- Thumb along x-axis
- Index along y-axis
- Middle along z-axis
Order counts.
- Locomotion: the ability for the robot to move itself.
- Manipulation: the ability for the robot to move other objects.
Axis-Angle or Quaternion Notation
Three vertices (x, y, z) each with 3 values.
A point is a linear combination of three coefficients with basis vectors for the 3 axis:
p = c1[1,0,0] + c2[0,1,0] + c3[0,0,1]
You can transform this into a matrix multiplication where a rotation matrix is multiplied with a vector of coefficients:
p = [
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]
] * [c1, c2, c3]
We only need 4 values to express rotations (9 values):
- Each column is a basis vector
- They are orthogonal -> the third vector is given by the other two
- They are normal -> the third value is given by the other two
Degrees of Freedom
- Cartesian space
An airplane can be in all possible positions and orientations - 6 DoF.
A human arm can move in 6 DoF in cartesian space.
- Actuator Space
An airplane can pitch, roll, and accelerate along positive X - 3 DoF.
A human arm has 7 DoF in actuator space.
Kinematics
Develop equations for the translation and rotation along axis:
Using the "E Puck" as an example:
delta-x = r theta-l + r theta-r
delta-y = 0 // no wheel to move on y axis
delta-z = 0 // same...
rotate-x = 0
rotate-y = 0
rotate-z = (r theta-r - r theta-l)/d
Any time you change the configuration you have to re-think through each degree of freedom and derive the equations.
Coordinate Transforms
To understand what a position in coordinate system B means in coordinate system A, you have to take the dot product with a rotation matrix.
- The rotation matrix consists of the basis vectors of one coordinate system expressed in the target coordinate system.
- Constructing this element-by-element always works
Holonomy
Systems in which closed loops in joint space result in closed loops in cartesian space are holonomic.
- all robot arms
- robot sliding on a track
If that is not the case, they are non-holonomic
- most wheeled platforms