What is the Inverse Kinematics
• Kinematic analysis is one of the first steps in the design of most industrial robots. Kinematic analysis allows the designer to obtain information on the position of each component within the mechanical system
Analytical Inverse Kinematics with Body Posture Control
What is solution
What does the paper do?
• This paper studies and implements the inverse kinematics.
• Moreover, the FPGA-implementation of inverse kinematics for two type’s robot manipulators is presented.
What is robot manipulator?• A robot manipulator is composed of a
serial chain of rigid links connected to each other revolute or prismatic joints.
• A revolute joint rotates about a motion axis
• A prismatic joint slide along a motion axis.
x0y0
z0
x0y0
z0
x1z1
y1x2z2
y2x3z3
y3 x4
z4y4
x5
z5y5
d1
d5
a3a2
2
1
3 4
5
IK formulations
1000
100
010
001
z
y
x
THR
1000
010
00
00
1
11
11
10
d
CS
SC
A
1000
0100
0
0
2222
2222
21 SaCS
CaSC
A
1000
0100
0
0
3333
3333
32 SaCS
CaSC
A
1000
0010
00
00
44
44
43 CS
SC
A
(1)
(2)
(4)
(5)
(6)
(7)
1000
A 54
43
32
21
10
50
zzzz
yyyy
xxxx
HR
paon
paon
paon
AAAAAT
The parameters of robot manipulator‘s
Table 2.The parameters robot manipulator‘s
The Implementation in FPGA
• The implementation of inverse kinematics, we use parallel processing method,
• it is resource consumption in FPGA. The FPGA chip adopts herein is an Altera DE2 Cyclone II EP2C35F672
The Implementation in FPGA• The implementation of inverse kinematic is
developed by VHDL; therefore, the finite state machine method is applied.
• In Fig.3, there are 42 steps to perform the inverse kinematics in (34)~(40).
• The circuit needs 3 multipliers, 2 dividers, 2 adders, 1 square root function, 1 component for arctangent function, 1 component for arccosine function, 1 look-up-table for sine function and some comparator for atan2 function.
Finite state machine
s1
+
x
21V
51 ,
-
s0
(228)
Z
Y
X2
xX
Y2
Y/X
M2
M1
D1
A1x
1V
M1
+22V
A1
+A1
+A2
(88100)
S1
D2
-
(80000)
3V
s2 s3 s4 s5
tan-1
s6
C1
s7
x
(160)
cos-1
C2
s8 s9
6V
(250)
+M3 A1
5V
s15
atan2
s16
3
2V
LUT for sin
t1
)(sin
V
3
4
s17
x
1/r3
M3
s18
*3
Table II
Y/X
21 dd
23
22 aa 32aa2
2a3a
(a)
s20
x
s19
x
M1
M3
s22 s23 s24 s29 s30 s39 s40 s41
4V
1V
5V
7V
2V
xM2
+-
A1
s21
x
x
M1
M2
7V
2V
5V
1V +A1
2S
2C
D1
22 C/S
x
1/r1
M1
*11
x
1/r5
M3
*55
s25
tan-1
C1
2atan2
Table II
s38
x
1/r2
M3
*2
+
3
-- 4
x
1/r4
M1
*4
2
(160)3a
(b)
Simulation results in Quartus II and Matlab