Professional Documents
Culture Documents
I. Introduction
Forward and Inverse kinematics are the fundamentals in the art of dictation of robotic
arms motion. The problem of kinematics is to describe the motion of a robotic arm without
consideration of the forces and torques causing the motion.
Forward kinematic: determine the position and orientation of the end-effector given
the value of the joint variables of the robot.
Inverse kinematic: determine the values of the joint variables given the end-effector
position and orientation.
II. Method
1. Forward kinematics
X3
Y0
Y3 X2
Y2
X1
Y1
L2
θ2
L1
θ1
X0
represented as a product of four basic transformations
where the for quantities i , ai , di , i are parameters associated with link i and joint i. The four
parameters i , ai , di , i are given the names joint angle, link length, link offset, link twist.
Link ai αi di 𝜃i
1 a1 0 0 𝜃1*
2 a2 0 0 𝜃2*
3 a3 0 0 𝜃3*
From the DH-parameters above, we can devise the transformation matrices.
T10 A1 T2 0 A1 A2
(1)
c123 s123 0 a1c1 a2c12 a3c123
s c3 0 a1s1 a2 s12 a3 s123
T30 A1 A2 A3 3
0 0 1 0
0 0 0 1 (2)
The first two entries of the last column of T30 are the x and y coordinate of the end-effector in
base frame (2)
Y0
Y3
P3(xp3, yp3)
X3
X2
L3
θ3
L3*sin(θ 1+θ 2+θ 3)
P2(xp2, yp2)
Y2
L2*sin(θ 1+θ 2)
Y1 L2 X1
θ2
P1(xp1, yp1)
L1
L1*sin(θ 1)
θ1
X0
L1*cos(θ 1) L2*cos(θ 1+θ 2) L3*cos(θ 1+θ 2+θ 3)
Figure 2. Geometric
For joint P1:
2.Inverse Kinematics
For the problems of inverse kinematics, we also have 2 approaches: the algebraic approach
and the geometric one.
In this approach, we calculate the position and the angles of each joints by determining the
travelling trajectory of those joints.
We can determine that the joint J1 is moving on an arc (C1) that has the formula:
( X 2 Px 2 ) (Y 2 Py 2 ) R12
R1 is equal to L3
if we intersect the arc (C1) with the circle (C2), which is the travelling trajectory of the joint
J1 if the 2 links L1 and L2 fully extended, we will obtain 2 intersections. These intersections
are the corresponding highest and lowest obtainable coordinate of the joint J1 on the arc (C1).
Their formulae are respectively:
PLOW(X2, Y2)
Then, we assign the horizontal coordinate of the random point (Pn) on the trajectory as a
value between X1 and X2. And we proceed to calculate the vertical coordinate of that point
base on the arc formula:
After we have determined the J1's coordinate, we can proceed to determine the one of joint
J2.
Following the same principle, we establish 2 travelling trajectories of joint J2 with one
around the joint J1 and the other around the base (J3).
Y0
(Px, Py)
2 2 2 2 2
(C3): (X - Pnx ) + (Y – Pny ) = L2
L3
θ3
J1
L2
P3
θ2
J2
L1 P4
θ1
O
X0
J3
P3(X3, Y3)
X 3 ( L12 L 22 Xrand 2 Yrand 2 (Yrand *( L12 * Yrand L 22 * Yrand Xrand 2 * Yrand Yrand 3
Xrand *(( L 22 2* L 2* L1 L12 Xrand 2 Yrand 2 ) *( L 22 2* L 2* L1 L12 Xrand 2 Yrand 2 )) (1/2) ))
/( Xrand 2 Yrand 2 )) / (2* Xrand )
Y3 ( L12 * Yrand L22 *Yrand Xrand 2 *Yrand Yrand 3 Xrand *((L 22 2* L 2* L1 L12
Xrand 2 Yrand 2 )*( L22 2* L2* L1 L12 Xrand 2 Yrand 2 ))(1/2) ) / (2*( Xrand 2 Yrand 2 ))
P4(X4, Y4)
X 4 ( L12 L 22 Xrand 2 Yrand 2 (Yrand *( L12 * Yrand L 22 * Yrand Xrand 2 * Yrand Yrand 3
Xrand *(( L 22 2* L 2* L1 L12 Xrand 2 Yrand 2 ) *( L 22 2* L 2* L1 L12 Xrand 2 Yrand 2 )) (1/2) ))
/( Xrand 2 Yrand 2 )) / (2* Xrand )
Y4 ( L12 * Yrand L22 *Yrand Xrand 2 *Yrand Yrand 3 Xrand *((L 22 2* L 2* L1 L12
Xrand 2 Yrand 2 )*( L22 2* L2* L1 L12 Xrand 2 Yrand 2 ))(1/2) ) / (2*( Xrand 2 Yrand 2 ))
These are the only 2 possible solutions for every random point Pn, which corresponds to the
elbow up and elbow down configurations.
From the set of equation we devise in the geometric approach of forward kinematics, we can
solve the angles of this manipulator based on the coordinate of its joints
With this method, we can have an infinite number of solution for every end-effector
coordinate.