Kinematics
Kinematics
Kinematics is very important for modeling robot position, frames, links, and joints.
Kinematics involves:
Describing a task.
Using models to determine the position and orientation of the end effector.
Transforming descriptions between links.
Representing position and orientation.
Manipulators
A manipulator is defined by a set of links connected through joints.
The first link is fixed (the base).
The last link is the gripper (end effector).
The purpose of the manipulator is to move the gripper in space for manipulation, though links themselves can be used.
Joints
Two primary types of joints:
Revolute joints: rotation about a fixed axis (one degree of freedom).
Prismatic joints: translation along a fixed axis (one degree of freedom).
Any set of joints can be reduced to these two types.
Links
represents the number of moving links plus the base link (fixed link).
Working with one degree of freedom joints allows connecting them to generalized coordinates.
A spherical joint has three degrees of freedom and can be represented using three revolute joints with zero link length.
Representing Manipulator Configuration
The configuration of the manipulator needs to be represented with respect to a fixed frame.
One approach involves fixing each link individually using multiple vectors (e.g., three vectors at three different points).
This requires nine parameters (three parameters per vector in 3D) per link, totaling parameters for links.
Configuration Parameters
Any set of parameters that fully describes the configuration is a set of configuration parameters.
A minimal set of independent parameters is desirable.
Generalized Coordinates
Generalized coordinates are a set of completely independent configuration parameters.
They are useful for dynamics and directly indicate the number of degrees of freedom of the robot.
Degrees of Freedom
To determine the number of degrees of freedom, imagine removing the joints, leaving rigid bodies in space.
Each rigid body requires six parameters to describe its position and orientation (three for position, three for orientation), totaling parameters.
Placing the joints back introduces constraints. Each one-degree-of-freedom joint introduces five constraints.
Revolute joint: three position constraints and two rotation constraints.
Prismatic joint: five constraints as well, eliminating two rotational and three position degrees of freedom.
Total degrees of freedom: .
For a manipulator with a fixed base and one-degree-of-freedom joints, the number of degrees of freedom equals the number of joints ().
For a humanoid robot, if the base (one foot) is fixed, the same logic applies. However, if the base is free to move, there are six additional degrees of freedom (n + 6), though these are not actuated.
End Effector
The end effector is the last rigid body.
It has the freedom to position and orient itself.
A frame attached to the end effector rotates with it, describing its position and orientation.
The end effector has at most six degrees of freedom, depending on constraints.
End Effector Configuration Parameters
The configuration of the end effector can be described using configuration parameters or generalized (independent) coordinates (task or operational coordinates).
With parameters describing the position and orientation of the end effector with respect to a fixed frame as configuration parameters.
Examples:
Three Euler angles (or fixed angles) for orientation plus X, Y, and Z for position (minimal representation with six parameters).
Three vectors to three different points (nine parameters, non-minimal).
Euler parameters (four parameters).
Direction cosines (nine parameters for orientation) plus position (three parameters), totaling 12 parameters.
Operational Coordinates
Operational coordinates (or task coordinates) are a set of independent coordinates that describe the position and orientation of the end effector where the task is defined.
This involves an operational point where the robot is acting.
If represents the number of independent parameters, it also represents the number of degrees of freedom of the end effector.
For a robot moving in 3D space with six degrees of freedom, the end effector can be positioned and oriented anywhere (maximum six degrees of freedom).
For a planar robot, the end effector has three degrees of freedom (X, Y, and one angle).
Redundancy
If one more joint is added to the robot, the end effector position is fixed, but the robot configuration can vary due to redundancy.
A robot is redundant if the number of degrees of freedom of the robot is greater than the number of degrees of freedom of the end effector .
Redundancy enables the robot to avoid obstacles. The degree of redundancy is measured by the difference between and .
Vector Representation
A point in space is defined with respect to another point (origin) represented by a vector .
Changing the origin changes the vector.
Coordinate Frames
Vectors can be expressed with respect to a coordinate frame .
Changing the orientation of the frame changes the components of the vector.
Transformations are used to relate descriptions in different frames.
Orthonormal frames are used.
Transformations must account for rotations and translations of the frame.
Rigid Body Transformation
A frame is attached to a rigid body.
Need to describe frame with respect to a fixed frame .
The vector locates the origin of frame with respect to frame , described in frame .
The orientation of frame is described by the vectors , and , also described in frame .
The rotation matrix is used to describe these rotations.
Rotation Matrix
Focusing solely on rotations:
The rotation from frame to frame is described by a rotation matrix with components .
The vector defined in frame is transformed to its description in frame using the rotation matrix.
Mathematically, this is written as:
Where \XB in frame is (1, 0, 0), \YB in frame is (0, 1, 0), and in frame is (0, 0, 1).
This implies that the rotation matrix is composed of the components of the axes in frame .
The rotation matrix from to is the component of in , the component of in , and the component of in .
The element in the rotation matrix is obtained through the dot product between the vectors of the two frames.
The rotation matrix is either the component of in or the transpose of the rows of in .
The inverse of the rotation matrix from to (i.e., from to ) is simply its transpose:
Example
Consider a rotation where and are aligned, is along the -axis, and is along the negative -axis.
The rotation matrix from to is:
Rigid Body Representation
A frame is fully defined with respect to frame by combining the rotation matrix from to with the location of the origin of with respect to .
Mapping
A rotation matrix allows describing the same vector (a vector ) in two different frames.
The vector is described by its dot product with to give its component in .
Translation
Consider frames and with the same orientation, but a different origin. The relationship between and for a point P is:
This operation, involving a translation, changes the description from origin to origin .
General Transformation
For a point described with respect to an arbitrary frame that is rotated with respect to , the transformation is:
The description of is rotated to frame , and then added to the translation of the origin.
Homogeneous Transformation
The general transformation can be expressed in a homogeneous form using 4D space:
This allows representing transformations as matrix multiplications.
Example
Using the previous rotation matrix and a translation vector of (0, 3, 1):
For point in frame described by (0, 1, 1):
Dropping the one, the vector is (0, 2, 2).
Operators
A rotation matrix can be used to rotate a vector.
Whereas before it describes a vector in two different frames, it is now performing a rotation in one frame.
Rotations about specific axes are of special interest.
A general rotation rotates a vector into a vector about an arbitrary vector .
Example for a rotation of theta degrees about the x-axis:
Translations as Operators
With mapping, vectors were translated with respect to two different frames. With operators, translation is applied to a point in space.
Where is a translation operation:
Can be broken down into:
Then we can define the operator as:
General Transformations as Operators Combined
The general operator that can be imagined is this operator rotating about some vector with some angle theta and translating .
This can be described as:
Summarizing:
The most general form of transformation has 2 components, rotation and translation.
The transformation can give us Mapping - changing the description; OR
The transofmration results in changing the vector itself, hence change the point.