Manipulator Robotics Introduction
Notes of book Introduction ot Robotics Mechanics and Control.
Content
Focus on mechanical manipulator type of robot.
Table of content
- Introduction
- Describe pose in 3D
- Position & rotation
- Attach a coordinate system or frame to an object, then describe its pose w.r.t other reference coordinate systems
- Geometry of mechanical manipulators. Static Kinematics
- Manipulator
- consist of rigid links, which are connected by joints
- joint angles (rotation), joint offset (translation)
- tool frame is attached to end-effector
- base frame is attached t o nonmoving base of manipulator
- Kinematics
- Treats motions without regard to the forces which cause it
- Study time-based properties of the motion
- Forward kinematics of manipulator
- Given a set of joint angles, compute the pose of tool frame w.r.t the base frame
- Inverse kinematics of manipulator
- Given the pose of end-effector of the manipulator, calculate all possible sets of joint angles
- non-linear optimization problem
- Manipulator
- Kinematics with velocities and static forces
- Jocobian of manipulator
- mapping from velocities in joint space to Cartesian space
- singularity of the mechanism
- mechanism become locally degenerate and behaves as if it only has 1 DoF
- Jocobian of manipulator
- Manipulator dynamics
- Study forces required to cause motion
- Motion of manipulator. Trajectory in space
- Trajectory generation
- spline: refer to a smooth function and passes through a set of via points
- Trajectory generation
- Mechanical design
- How to design a manipulator, including its mechanical structure, attached sensors
- linear/non-linear control theory
- actuator perform torque on the joint
- position and velocity sensors are monitored by control algorithm
- linear control
- linear approximations to the dynamics of a manipulator
- non-linear control
- consider nonlinear dynamics
- Active fore control
- Force control vs position control
- Programming robots
- Off-line simulation
Notation
: vector or matrix : scalars : position vector under coordinate system {A} : rotation matrix {B} relative to {A}.- Vectors are taken to be column vectors
Spatial Descriptions and transformations
- Position under universal coordinate frame {A}.
is the vector from frame {A} to frame {B} origin, and expressed under frame {A}
- Rotation matrix (3x3), frame {B} relative to frame {A}
where are the coordinate of unit axes vectors of frame {B} in frame {A}. Row vectors are the axes vectors of frame {A} in frame {B} since

- Maps position from frame {B} to frame {A}
or in homogenous coordinate, write as - Transformation operators. Not transforming the frame, move the point under the same frame instead
The transform that rotates by and translate by is the same as the transform that describes a frame rotated by and translated by relative to the reference frame. - Other rotation forms
- 3 rotations taken about fixed axes (fixed-angle sets) yield the same final orientation as the same three rotations taken in opposite order about the axes of the moving frame (Euler-angle sets).
- Equivalent angle-axis representation
. Rotating around unit vector by - Euler parameters. Unit quaternion
- Different vectors
- line vector: dependent on its line (or point) of action to cause its effect
- free vector: only its direction and magnitude matters, can be placed in anywhere in space
- Reduce computation
- Compare matrix calculations vs matrix vector calculations
- Calculate first 2 columns, use cross product to get the third column
Manipulator Kinematics
Joints, Links
- joint axis: revolute or prismatic
- joint 1 is the first movable joint in the robot
- joint n is the last movable joint in the robot
- link: the arm. link
is from axis to axis- link 0 is from the non-moving base of the robot to the first movable joint
- link n is from the last movable joint to the end-effector
- link length: length of line which is perpendicular to the 2 axes (mutual perpendicular, current axe and next axe)
= distance from to measured along because axis joint could be chosen arbitrary because there is no more other joints behind
- link twist: angle in the projected plane from axis
to axis . The plane’s normal vector is , the angle follows the right-hand law = angle from to measured about because axis joint could be chosen arbitrary becaus there is no more other joints behind

- link offset: distance between intersection of
on axis and on . Distance is measured along the axis = distance from to measured along for revolute joint zero position could be chosen arbitrary for prismatic joint
same as above
- joint angle: angle between from
to around axis . Also follows right-hand law = angle from to measured about zero position could be chosen arbitrary for revolute joint for prismatic joint
same as above

- link parameters: 3 fixed parameters
- joint variable: 1 changeable parameter
for revolute joint i for prismatic joint i
Frames
- frame {i} attach to link i (axis i)
- Origin is the intersection point of the common perpendicular line on axis
. - Z-axis coincident with joint axis i
- X-axis points along
in the direction from joint to joint- or orthonormal to the
plane
- or orthonormal to the
- Frame {0} is arbitrary, but usually chose coincides with frame {1}. Frame {0} is the one stationary and serve as reference frame
- Frame {n}
- X-axis is chosen it aligns with X-axis of frame {n-1} when
- Origin is chosen at axis
when
- X-axis is chosen it aligns with X-axis of frame {n-1} when
- Origin is the intersection point of the common perpendicular line on axis

- Frame naming convention
- Base frame {B}: frame {0}, link {0}, nonmoving
- Wrist frame {W}: frame {N}, last link the manipulator. Refer as
- Tool frame {T}: the end of any tool held by robot, or in the middle of fingertips. Refer as
- Station frame {S}: task-relevant location, task frame, world frame, universal frame. Refer as
- Goal frame {G}: location to which the robot is to move the tool. Tool frame and Goal frame will coincident in the end. Refer as
- WHERE function
, present where the tool is relative to the station

- Frame kinematics transformation
is a function of joint parameters- Difference spaces
- actuator space: the parameters of actuators
- joint space: the space of the
joint vector formed by joint variables - Cartesian space: the relationship between different frames
- Reduce computation
- Store sin cos values into lookup table
- Store intermediate variables
Inverse Manipulator Kinematics
- What to solve: find the required joint angles to get the required
are known- Find required joint angles to get the required
- Workspace: the volume of space that end-effector of manipulator can reach
- Dextrous workspace: volume of space that end-effector can reach with all orientations
- Reachable workspace: volume of space that end-effector can reach in at least one orientation
- But we usually care about the workspace of wrist frame {W} instead of the end-effector tool frame {T} since
is known - Workspace is a subset of the n-DoF subspace, where subspace is the reachable workspace without constraints of parameters
- Solvable of inverse Kinematics
- Solution existence = desired position and orientation of wrist frame {W} is in the workspace
- Multiple solutions = desired position and orientation of wrist frame {W} is in the Dextrous workspace
- 6 DoF manipulator could have up to 16 possible solutions
- Proved: all systems with revolute and prismatic joints having 6 DoF in a single series chain are solvable
- But solution is in numerical
- Closed-form solutions of 6 DoF is solvable in special cases
- e.g. 3 neighboring joint axes intersect at a point
- Method of solution
- numerical solutions: iterative method, slow, not guaranteed to find all solutions
- closed-form solutions
- construct the desired
matrix (subspace) according to the required position and orientation - construct equations between the constructed
and kinematics matrix - replace sin cos with single variable
, to convert transcendental equations to polynomial equations- Proved. Polynomials up to degrees 4 could be solved in closed form
- forms triangles
- construct the desired
- Special cases
Pieper’s solution
- Any 3 DoF manipulator’s closed-from solution can be solved
- Compute a modified goal frame
such that lies in manipulator’s subspace and is “near” to - Compute inverse kinematics for
Pieper’s solution to get closed-form solution
- Solve for first 3 joints given the position of the origin of frame {4} {5} {6}
- Solve for the later 3 joints given the orientation
Jocobians: velocities and static forces
Linear and angular velocities
- Linear velocity vector for a point
is the velocity of position vector Q whose differentiation is done in frame {B} and finally expressed in frame {A}. - Short write cases
is the velocity of origin of frame {C} differentiation in reference frame {U} is the above velocity but expressed in frame {A}
- Angular velocity vector for a body
is the rotation of frame {B} relative to frame {A}, and finally expressed in frame {C}- The direction of vector is the rotation axis
- The magnitude of vector is the current speed of rotation
- Short write cases
is the angular velocity of frame {C} relative to reference frame {U} is the above angular velocity but expressed in frame {A}
Simultaneous linear and rotational velocity
- where frame {A} is the reference frame and fixed
- frame {B} has both linear velocity
and rotational velocity - point Q also has a linear velocity
in frame {B}
Velocity of link i is given by vector
and , which are gotten relative to frame {0} and can be expressed in any framevelocity propagation: velocity of link i+1 is velocity of link i, plus new velocity components added by joint i+1
where
is the coordinate of origin of frame {i+1} in frame {i}
where
Velocity transformation
Jocobian
- Equation
where is the Cartesian velocities of the link n expressed in frame {0} is the vector of joint velocity is the Jocobian matrix, which represents the derivate of each term of Cartesian position and orientation on each term of joint angle. Its value changes as the joint angles change.
- Changing frame
- Inverse of the Jocobian could be used to calculate joint velocities given desired Cartesian velocities of link n
- Singularities: where the joint angles make the
singular- Workspace-boundary singularities: manipulator fully stretched out or folded back
- Workspace-interior singularities: caused by a lining up of 2 or more joint axes
Force and torque
- Force propagation from link to link
where is force exerted on link i by link i-1 is torque exerted on link i by link i-1
- Torque for joint
- For revolute joint
- For prismatic joint
- For revolute joint
- Jocobian
where is the Cartesian forces acting at the hand, and is the joint torques - Force transformation
and
Trajectory generation
- Motions is tool frame {T} relative to station frame {S}
- To generate a trajectory of motions
- Spatial constraints: Path points
- a set of intermediate frames that the tool frame should reaches
- including initial, target point, and via points
- Temporal attributes: the time between points
- Spatial constraints: Path points
- In order to make the trajectory smooth, the function of the trajectory and its first derivate should be continuous
- Convert path joints to joint angles by inverse kinematics
- For each 2 path points, fit a function of the joint angles
- Cubic polynomial
- 4 entries since each 2 path points provides 4 constraints (2 position constraints, 2 velocities constraints)
- Constraints of each 2 point
- Higher-order polynomials
- Quintic polynomial (5 degree, 6 entires), enabling specify position, velocity, and acceleration.
- Linear function with parabolic blends
Reference
- Rodd, Michael G. “Introduction to robotics: Mechanics and control: John J. Craig.” (1987): 263-264.