Forward and Inverse Kinematics A&R
Forward and Inverse Kinematics A&R
Pre-requisite:
To study the basic knowledge of kinematics of mechanisms.
To study the Euler, Lagrangian formulation of Robot dynamics.
To study the basic components and layout of linkages in the assembly of mechanisms.
OUTCOMES:
FORWARD KINEMATICS
A manipulator is composed of serial links which are affixed to each other revolute or prismatic
joints from the base frame through the end-effector. Calculating the position and orientation of the
end-effector in terms of the joint variables is called as forward kinematics. In order to have forward
kinematics for a robot mechanism in a systematic manner, one should use a suitable kinematics
model. Denavit-Hartenberg method that uses four parameters is the most common method for
describing the robot kinematics. These parameters ai-1, α −1i , di and θi are the link length, link
twist, link offset and joint angle, respectively. A coordinate frame is attached to each joint to
determine DH parameters. Zi axis of the coordinate frame is pointing along the rotary or sliding
direction general manipulator.
REVERSE KINEMATICS
The inverse kinematics problem of the serial manipulators has been studied for many decades. It
is needed in the control of manipulators. Solving the inverse kinematics is computationally
expansive and generally takes a very long time in the real time control of manipulators. Tasks to
be performed by a manipulator are in the Cartesian space, whereas actuators work in joint space.
Cartesian space includes orientation matrix and position vector. However, joint space is
represented by joint angles. The conversion of the position and orientation of a manipulator end-
effector from Cartesian space to joint space is called as inverse kinematics problem. There are
two solutions approaches namely, geometric and algebraic used for deriving the inverse
kinematics solution, analytically.
To describe this robot arm, a few geometric parameters are needed. First, the length of each link
is defined to be the distance between adjacent joint axes. Let points O, A, and B be the locations
of the three joint axes, respectively, and point E be a point fixed to the end-effecter. Then the link
lengths are A1 = OA, A 2 = AB, A 3 = BE . Let us assume that Actuator 1 driving
link 1 is fixed to the base link (link 0), generating angle θ1 , while Actuator 2 driving link 2 is
fixed to the tip of Link 1, creating angle θ 2 between the two links, and Actuator 3 driving Link 3
is fixed to the tip of Link 2, creating angle θ3 , as shown in the figure. Since this robot arm performs
tasks by moving its end-effecter at point E, we are concerned with the location of the end-effecter.
To describe its location, we use a coordinate system, O-xy, fixed to the base link with the origin
at the first joint, and describe the end-effecter position with coordinates xe and ye . We can relate
the end-effecter coordinates to the joint angles determined by the three actuators by using the link
lengths and joint angles defined above:
This three dof robot arm can locate its end-effecter at a desired orientation as well as at a desired
position. The orientation of the end-effecter can be described as the angle the centerline of the end-
effecter measured from the positive x coordinate axis. This end-effecter orientation φe is related
to the actuator displacements as
φe = θ1 +θ2 +θ3
The above three equations describe the position and orientation of the robot end-effecter viewed
from the fixed coordinate system in relation to the actuator displacements. In general, a set of
algebraic equations relating the position and orientation of a robot end-effecter, or any significant
part of the robot, to actuator or active joint displacements, is called Kinematic Equations, or more
specifically, Forward Kinematic Equations in the robotics literature.
The vector kinematic equation derived in the previous section provides the functional relationship between
the joint displacements and the resultant end-effecter position and orientation. By substituting values of
joint displacements into the right-hand side of the kinematic equation, one can immediately find the
corresponding end-effecter position and orientation. The problem of finding the end-effecter position and
orientation for a given set of joint displacements is referred to as the direct kinematics problem. This is
simply to evaluate the right-hand side of the kinematic equation for known joint displacements. In this
section, we discuss the problem of moving the end-effecter of a manipulator arm to a specified position and
orientation. We need to find the joint displacements that lead the end-effecter to the specified position and
orientation. This is the inverse of the previous problem, and is thus referred to as the inverse kinematics
problem. The kinematic equation must be solved for joint displacements, given the end-effecter
position and orientation. Once the kinematic equation is solved, the desired end-effecter motion
can be achieved by moving each joint to the determined value. In the direct kinematics problem,
the end-effecter location is determined uniquely for any given set of joint displacements. On the
other hand, the inverse kinematics is more complex in the sense that multiple solutions may exist
for the same end-effecter location. Also, solutions may not always exist for a particular range of
end-effecter locations and arm structures. Furthermore, since the kinematic equation is comprised
of nonlinear simultaneous equations with many trigonometric functions, it is not always possible
to derive a closed-form solution, which is the explicit inverse function of the kinematic equation.
When the kinematic equation cannot be solved analytically, numerical methods are used in order
to derive the desired joint displacement
Consider the three dof planar arm The problem is to find three joint angles θ1 ,θ2 ,θ3 that lead the
end effecter to a desired position and orientation, xe , ye ,φe . We take a two-step approach. First,
we find the position of the wrist, point B, from xe , ye ,φe . Then we find θ1 ,θ2 from the wrist
position. Angle θ3 can be determined immediately from the wrist position.
Let w and w be the coordinates of the wrist. point B is at distance 3 from the given end-effecter
position E. Moving in the opposite direction to the end effecter orientation x y A φe , the wrist
coordinates are given by
Next, let us consider the triangle OAB and define angles β ,γ , as shown in the figure. This triangle
is formed by the wrist B, the elbow A, and the shoulder O. Applying the law of cosines to the
elbow angle β yields
where , the squared distance between O and B. Solving this for angle
Inverse kinematics problems often possess multiple solutions, like the above example, since they
are nonlinear. Specifying end-effecter position and orientation does not uniquely determine the
whole configuration of the system. This implies that vector p, the collective position and
orientation of the end-effecter, cannot be used as generalized coordinates.
Jacobian is Matrix in robotics which provides the relation between joint velocities (q) & end-
effector velocities (x) of a robot manipulator.
If the joints of the robot move with certain velocities then we might want to know with what
velocity the end effector would move. Here is where Jacobian comes to our help. The relation
between joint velocities and end-effector velocities is given as below,
x=jq
where,
q is the column matrix representing the joint velocities. Size of the this matrix is nx1. 'n' is
the number of joints of the robot. x is the column matrix representing the end-effector velocities.
Size of this matrix is mx1. 'm' is 3 for a planar robot and 6 for a spatial robot. J is the Jacobian
matrix which is a function of the current pose . Size of jacobian matrix is mxn.
Columns of the Jacobian matrix are associated with joints of the robot. Each column in the
Jacobian matrix represents the effect on end-effector velocities due to variation in each joint
velocity.