Professional Documents
Culture Documents
DOI 10.1007/s00521-012-0854-0
ORIGINAL ARTICLE
Maricela Figueroa
Received: 8 September 2011 / Accepted: 11 January 2012 / Published online: 3 February 2012
Springer-Verlag London Limited 2012
Abstract The problem of kinematics is to describe the The position estimation is to estimate the parameters of
motion of the robotic system without consideration of the the position and the orientation using other parameters as
forces and torques causing the motion. This paper presents are the parameters of an image, an identifier or an observer
two methods to obtain the inverse kinematics of a mobile can be used for the position estimation. The paper of [13]
robot. In the first method, two rows of the forward kine- investigates the identification of a golf swing robot based
matics are selected, the inverse of these two rows is on four kinds of soft computing methods. In [14], an
obtained, and later the inverse matrix is combined with the innovative neuro-evolutionary approach for mobile robot
third row of the forward kinematics. In the second method, ego-motion estimation with a 3D camera is proposed. In
the pseudo-inverse matrix of the forward kinematics matrix [15], show that spatial computing language (Proto) can be
is obtained. The comparison result of the two proposed applied to multi-mobile-robot systems with an actuator that
methods is presented. Two simulations show the effec- turns a vector field into device motion.
tiveness of the proposed inverse kinematics algorithm. The control has the objective that the robotic system has
to follow a desired trajectory. In [16], they adopt a network
Keywords Forward kinematics Inverse kinematics structure develop a biologically plausible GRN model for
Mobile robot robot control. In [17], an adaptive neural network sensor-
less control scheme for machines is introduced. In [18], a
model-free self-tuning output recurrent cerebellar model
1 Introduction articulation controller to control an inverted pendulum is
investigated. In [19], a robust training algorithm of multi-
The research about the mobile robots is classified in three input multi-output recurrent neural network and its appli-
kinds: the trajectory planning [1–3], the position estimation cation in the fault tolerant control of a robotic system are
[4–6] and the control [7–9]. investigated. In [20], they study how a self-organized
The trajectory planning of a mobile robot has the mobile robot flock can be steered toward a desired direc-
objective to provide the best trajectory of the mobile robot tion through externally guiding some of its members.
from an initial point to a final point [10]. In [11], the tra- For the trajectory planning, the position estimation, or
jectories planning and a collisions detector for robotic arms the control, in some cases the dynamic models help to
are presented. In [12], they address the challenge of real- obtain the objective, but it sometimes is hard to obtain
izing full-body behaviors in scalable modular robots. because it requires the knowledge of the torques or forces,
in other cases the kinematics help to obtain the objective
and it is easier to obtain because it does not require the
J. de Jesús Rubio (&) V. Aquino M. Figueroa knowledge of the torques or the forces.
ESIME Azcapotzalco, Instituto Politécnico Nacional, This work is interested in the study of the motion of a
Sección de Estudios de Posgrado e investigación,
mobile robot using the inverse and the forward kinematics,
Av. de las Granjas No. 682 Col. Sta. Catarina
Delegación Azcapotzalco, Mexico D.F., Mexico the mobile robot has two fixed wheels and one free wheel,
e-mail: jrubioa@ipn.mx; rubio.josedejesus@gmail.com this mobile robot changes the direction depending on the
123
188 Neural Comput & Applic (2013) 23:187–194
123
Neural Comput & Applic (2013) 23:187–194 189
Substituting (10) in (13) and (11) in (12) gives: From the forward kinematics of (1), the inverse kine-
matics will be obtained using the aforementioned theorems,
2 1 b
wd ¼ x yþ / ð14Þ from (1), B is:
r sin / r cos / 2r 0 1
2 1 b r sin2 / r sin2 /
wi ¼ x y / ð15Þ B / r cos / C
B ¼ @ r cos A
r sin / r cos / 2r 2
r
2
r
b b
The equations (14) and (15) are the inverse kinematics, and
the inverse kinematics can be rewritten in matrix form as Using Theorem 2, the matrix B is in the point iii, so the
follows: matrix B does not have the right inverse, so the left inverse
!0 1 will be obtained. Substituting the matrix B in (18) and
x making the product gives:
wd r sin2 / r cos
1 b
¼ / 2r @ y A: ð16Þ 0 1
2 1 b
wi r sin / r cos / 2r
r sin / r sin /
/ a1 a2 a3 B r cos / 2 2
r cos / C ¼ I ð20Þ
@ 2 A n
a4 a5 a6 r
2
r
b b
!
3 Method 2 to obtain the inverse kinematics r sin2 / a1 þ r cos /
a þ r
a r sin /
a þ r cos /
a r
a
2 2 b 3 2 1 2 2 b 3
r sin2 / a4 þ r cos / r r sin /
2 a5 þ b a6 2 a4 þ 2 a5 b a6
r cos / r
The pseudo-inverse of a matrix is used to obtain the inverse
kinematics [23], and it is solved to obtain the unknown ¼ I2
parameters of an independent linear equation system [24].
Let us introduce the following definition of pseudo- a1 a2 a3
where L ¼ , and A = B. Rewriting
inverses: a4 a5 a6
equation system (20) as an increased matrix and using
Definition 1 Left and right inverses. Set A a matrix of the row operations [25], the reduced matrix is obtained
n 9 m, then: using the method of Gauss Jordan:
• A has a right inverse if there exists a matrix R of n 9 m 0 r sin / r cos / r 1
2 2 b 0 0 0 1
such that: B r sin / r cos / r
B 0 0 0 0C C
AR ¼ Im ð17Þ ðLBÞ ¼ B 2 2 b
C
@ 0 0 0 r sin2 / r cos
2
/ r
b 0 A
• A has a left inverse if there exists a matrix L of n 9 m 0 0 0 r sin2 / r cos
2
/
r
b 1
such that:
where ðLBÞ is the increased matrix. Using the Gauss
LA ¼ In ð18Þ
Jordan method gives the following matrix:
where 0 r sin / r cos / r 1
2 0 0 0 1
AR is of ðm nÞ ðn mÞ ¼ m m dimensions; 2 b
B 1 C
2r
0 0 0 0 0
LA is of ðn mÞ ðm nÞ ¼ n n dimensions; The ðLBÞ ¼ B
@ 0
b C
following two theorems will be used to obtain the pseudo- 0 0 r sin2 / r cos
2
/ r
b 0 A
inverse. Let us consider the following system: 0 0 0 0 0 2rb 1
123
190 Neural Comput & Applic (2013) 23:187–194
respectively. Substituting (22) in (21) and (24) in (23) gives Remark 1 Please note that the inverse kinematics of
the following equations: method 1 of (16) is equal to the inverse kinematics of
r sin / r cos / 1 method 2 of (29), so both methods give an acceptable
a1 þ a2 ¼ ð25Þ result.
2 2 2
r sin / r cos / 1 Remark 2 There is some recent research about mobile
a4 þ a5 ¼ ð26Þ robots, as is [27–32], and the difference of these papers and
2 2 2
this work is that in almost all the papers they use the
From the equations system (25), (26), a1 ¼ a4 y a2 ¼ a5 is
dynamic model, only in [30] they use the forward kine-
considered because (25) and (26) are equal. So it is
matics, while in this work the inverse kinematics are pro-
rewritten as:
posed as other alternative.
r sin / r cos / 1
a1 þ a2 ¼ ð27Þ
2 2 2
r sin / r cos / 1 4 Simulations
a1 þ a2 ¼ ð28Þ
2 2 2
Figure 2 shows the blocks diagram of the simulations. As
To obtain the solution of the aforementioned system, the the multiplication of the inverse kinematics and the for-
Theorem of Rouché–Frobenius [26] is used. The theorem is ward kinematics gives an identity matrix, the inputs of the
as follows: inverse kinematics may be equal to the outputs of the
Theorem 3 forward kinematics.
(i) If the rank of the coefficient matrix is equal to the rank Example 1 The inputs of the inverse kinematics are lineal
of the increased matrix and is equal to the number of functions with a slope.
unknown parameters of the system, it is a determined xd ðtÞ ¼ 0:21818 t ð30Þ
system.
yd ðtÞ ¼ 0:21818 t ð31Þ
(ii) If the rank of the coefficient matrix is equal to the
rank of the increased matrix, and the number of p
/d ðtÞ ¼ ð32Þ
unknown parameters is lower, it is an in-determined 4
system. Figure 3 shows the position and the orientation of the
(iii) If the rank of the coefficient matrix is different to the desired input trajectory.
rank of the increased matrix, it is an incompatible
system. Figure 4 shows the comparison of the trajectories of the
input of the inverse kinematics xd ðtÞ and the output of the
For the system of this work, the point (ii) is satisfied, so forward kinematics xðtÞ. Figure 5 shows the error between
the system has infinite solutions, the proposed solution is as the input of the inverse kinematics xd ðtÞ and the output of
follows: the forward kinematics xðtÞ.
2 1 Figure 6 shows the comparison of the trajectories of the
a1 ¼ a4 ¼ ; a2 ¼ a5 ¼ input of the inverse kinematics yd ðtÞ and the output of the
r sin / r cos /
forward kinematics yðtÞ. Figure 7 shows the error between
Substituting the found parameters in L of (20) and making
the matrices product gives:
0 1
! r sin / r sin /
r sin2 / r cos
1 b 2
B r cos /
2
/ 2r r cos / C ¼ I
2 1 b
@ 2 2
A n
r sin / r cos / 2r r r
b b
1 0 1 0
¼
0 1 0 1
So, the left inverse matrix is well obtained. The inverse
kinematics is written as follows:
!0 1
2
1 b x
wd r sin / r cos / 2r @yA
¼ ð29Þ
wi r sin2 / r cos
1 b
/ 2r
/ Fig. 2 Blocks diagram of the simulations
123
Neural Comput & Applic (2013) 23:187–194 191
123
192 Neural Comput & Applic (2013) 23:187–194
yd ðtÞ ¼ sinðtÞ ð34Þ between the input of the inverse kinematics xd ðtÞ and the
/d ðtÞ ¼ mt ð35Þ output of the forward kinematics xðtÞ.
Figure 13 shows the comparison of the trajectories of
Figure 10 shows the position and the orientation of the the input of the inverse kinematics yd ðtÞ and the output of
desired input trajectory. the forward kinematics yðtÞ. Figure 14 shows the error
Figure 11 shows the comparison of the trajectories of between the input of the inverse kinematics yd ðtÞ and the
the input of the inverse kinematics xd ðtÞ and the output of output of the forward kinematics yðtÞ.
the forward kinematics xðtÞ. Figure 12 shows the error Figure 15 shows the comparison of the trajectories of
the input of the inverse kinematics /d ðtÞ and the output of
the forward kinematics /ðtÞ. Figure 16 shows the error
Fig. 11 Comparison of xd ðtÞ and x(t) Fig. 14 Error of ~yðtÞ ¼ yd ðtÞ yðtÞ
123
Neural Comput & Applic (2013) 23:187–194 193
123
194 Neural Comput & Applic (2013) 23:187–194
27. Yue M, Hu P, Sun W (2010) Path following of a class of non- presence of unknown ocean currents. IET Control Theory Appl
holonomic mobile robot with underactuated vehicle body. IET 4(11):2369–2380
Control Theory Appl 4(10):1898–1904 31. Cho HC, Fadali MS, Lee KS, Kim NH (2010) Adaptive position
28. Yoo SJ (2010) Adaptive tracking control for a class of wheeled and trajectory control of autonomous mobile robot systems with
mobile robots with unknown skidding and slipping. IET Control random friction. IET Control Theory Appl 4(12):2733–2742
Theory Appl 4(10):2109–2119 32. Park BS, Park JB, Choi YH (2011) Robust adaptive formation
29. Li Z, Zhang J, Yang Y (2010) Motion control of mobile under- control and collision avoidance for electrically driven non-holo-
actuated manipulators by implicit function using support vector nomic mobile robots. IET Control Theory Appl 5(3):514–522
machines. IET Control Theory Appl 4(11):2356–2368
30. Bi FY, Wei YJ, Zhang JZ, Cao W (2010) Position-tracking
control of under-actuated autonomous underwater vehicles in the
123