Vous êtes sur la page 1sur 8

Neural Comput & Applic (2013) 23:187–194

DOI 10.1007/s00521-012-0854-0

ORIGINAL ARTICLE

Inverse kinematics of a mobile robot


José de Jesús Rubio • Vı́ctor Aquino •

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

be divided into two subsystems, selecting the outputs as (x,


y), the following subsystems are obtained:
 !   !
x xd  r sin2 /  r sin2 /
 ¼B ; B¼ r cos / r cos / : ð2Þ
y xi 2 2

where the inverse matrix of B is obtained as B-1. Since


det(B) = 0, there is not an inverse matrix, so the selected
joined outputs do not work.
As the objective is detðBÞ 6¼ 0, it is obtained with the
selected joined outputs (y, /) as follows:
0 1
y    r cos / r cos / 
@  A ¼ B xd ; B ¼ 2 2 ð3Þ
r
/ xi b  br
2
/
where detðBÞ ¼  r cos
b :
Fig. 1 Mobile robot The inverse matrix of B is obtained with the following
equation:
velocities of each of the fixed wheels. Figure 1 presents the
AdjðBÞ
movements of a mobile robot with two fixed wheels and B1 ¼ ð4Þ
det B
one mobile wheel.
The forward kinematics is to determine the position and So:
orientation of the mobile robot, given the angular velocity !
1 b
r cos /
of each wheel. From the Fig. 1, the forward kinematics is B1 ¼ 1
2r
ð5Þ
as follows: r cos /  2rb
0 1 0 1
x r sin / r sin /   The direct kinematics is written as follows:
B C B  2  2
B y C ¼ @ r cos / r cos / C xd 
@ A A ð1Þ X ¼ Bx ð6Þ

2
r
2
r
xi
b  b
/ The inverse kinematics is written as follows:

The (1) can be seen as the following transformation: x ¼ B1 X : ð7Þ
C : x ¼ ½xd ðtÞ; xi ðtÞ 7! XðtÞ ¼ ½xðtÞ; yðtÞ; /ðtÞ Substituting (5) in (7) gives:
  !  !
where the angular velocities of the fixed wheels are con- 1 b
y
wd /
sidered as the input, and the position and orientation of the ¼ r cos 1
2r
b  ð8Þ
wi r cos /  2r /
mobile robot X(t) are considered as the output.
The inverse kinematics is to determine the angular From (1) and subsystem (3), the residual dynamic equation
velocity of each wheel, given the position and the orien- is:
tation of the mobile robot. The inverse kinematics is con-
 r r
sidered too as the following transformation: x ¼ wd sin /  wi sin / ð9Þ
2 2
C1 : XðtÞ ¼ ½xðtÞ; yðtÞ; /ðtÞ 7! x ¼ ½xd ðtÞ; xi ðtÞ
Equation (8) can be rewritten as follows:
where the position and the orientation X(t) are considered 1  b 
as the input, and the angular velocities of the fixed wheels wd ¼ yþ / ð10Þ
r cos / 2r
x are considered as the output.
1  b 
wi ¼ y / ð11Þ
r cos / 2r
2 Method 1 to obtain the inverse kinematics From (9) obtain xd and xi as follows:

Given the inputs xd and xi, one of the following joined 2 


wd ¼  x wi ð12Þ
outputs can be obtained: (x, y), (x, /), or (y, /), as a r sin /
consequence, in all the cases, there exists one residual 2 
dynamic. Considering [21, 22], the (1) can be rewritten to wi ¼  x wd ð13Þ
r sin /

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

Ax ¼ b ð19Þ From the aforementioned equation, the following equations


where A is m 9 n; x and b are vectors of n and m, system is obtained:
respectively. r sin / r cos / r
 a1 þ a2 þ a3 ¼ 1 ð21Þ
Theorem 1 [24] If the matrix A of m 9 n has a left 2 2 b
inverse, then the system (19) has at least one solution for 2r b
 a3 ¼ 1; a3 ¼ ; ð22Þ
all m-vector b. b 2r
Theorem 2 [24] Let A be a matrix of m 9 n, then: r sin / r cos / r
 a4 þ a5 þ a6 ¼ 0 ð23Þ
2 2 b
(i) A has a left inverse if and only if AT has a right
2r b
inverse.  a6 ¼ 1; a6 ¼  ð24Þ
b 2r
(ii) If n [ m, A does not have a left inverse.
(iii) If m [ n, A does not have a right inverse. From (22) and (24), a3 ¼ 2rb and a6 ¼  2rb is obtained,

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

Fig. 6 Comparison of yd ðtÞ and y(t)

Fig. 3 The position and orientation of the trajectory

Fig. 7 Error of ~yðtÞ ¼ yd ðtÞ  yðtÞ

Fig. 4 Comparison of xd ðtÞ and x(t)

Fig. 8 Comparison of /d ðtÞy/ðtÞ

Fig. 5 Error ~xðtÞ ¼ xd ðtÞ  xðtÞ

the input of the inverse kinematics yd ðtÞ and the output of


the forward kinematics yðtÞ.
Figure 8 shows the comparison of the trajectories of the
input of the inverse kinematics /d ðtÞ and the output of the
forward kinematics /ðtÞ. Figure 9 shows the error between
the input of the inverse kinematics /d ðtÞ and the output of
the forward kinematics /ðtÞ.
Example 2 The inputs of the inverse kinematics are sine
functions.
xd ðtÞ ¼  sinð0:5tÞ ð33Þ ~ ¼ / ðtÞ  /ðtÞ
Fig. 9 Error of /ðtÞ d

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. 13 Comparison of yd ðtÞ and y(t)


Fig. 10 The position and orientation of the trajectory

Fig. 11 Comparison of xd ðtÞ and x(t) Fig. 14 Error of ~yðtÞ ¼ yd ðtÞ  yðtÞ

Fig. 12 Error ~xðtÞ ¼ xd ðtÞ  xðtÞ Fig. 15 Comparison of /d ðtÞ y /(t)

123
Neural Comput & Applic (2013) 23:187–194 193

3. Fan X, Luo X, Yi S, Yang S, Zhang H (2003) Optimal path


planning for mobile robots based on intensified ant colony opti-
mization algorithm. In: Proceedings of IEEE International Con-
ference on Robotic Intelligent System, vol 1, pp 131–136
4. Georgiev A, Allen PK (2004) Localization methods for a mobile
robot in urban environments. IEEE Trans Robotic 20(5):851–864
5. Garulli A, Vicino A (2001) Set membership localization of
mobile robots via angle measurements. IEEE Trans Robotic
Autom 17(4):450–463
6. Liu HS, Pang KH (2001) Accelerometer for mobile robot posi-
tioning. IEEE Trans Ind Appl 37(3):812–819
7. Chwa D (2004) Sliding-mode tracking control of nonholonomic
wheeled mobile robots in polar coordinates. IEEE Trans Control
Syst Technol 12(4):637–644
~ ¼ / ðtÞ  /ðtÞ
Fig. 16 Error of /ðtÞ 8. Chang W-C, Lee S-A (2004) Autonomous vision-based pose
d
control of mobile robots with tele-supervision. In: Proceedings of
IEEE international conference on control applications, vol 2,
between the input of the inverse kinematics /d ðtÞ and the pp 1049–1054
output of the forward kinematics /ðtÞ. 9. Li T-H, Chang S-J, Tong W (2004) Fuzzy target tracking control
of autonomous mobile robots by using infrared sensors. IEEE
Trans Fuzzy Syst 12(4):491–501
4.1 Results for the two examples 10. Wei S, Zefran M (2005) Smooth path planning and control for
mobile robots. In: IEEE Proceedings of network sensing and
From Figs. 4, 5, 11, and 12, it can be seen that the input of control, March 2005, pp 894–899
11. Rubio JJ, Garcı́a E, Pacheco J (2011) Trajectory planning and
the inverse kinematics xd ðtÞ and the output of the forward collisions detector for robotic arms, Neural Comput & Appl
kinematics xðtÞ are almost equal for this trajectory. (online 2011)
From Figs. 6, 7, 13, and 14, it can be seen that the input 12. Christensen DJ, Campbell J, Stoy K (2010) Anatomy-based
of the inverse kinematics yd ðtÞ and the output of the for- organization of morphology and control in self-reconfigurable
modular robots. Neural Comput & Appl 19:787–805
ward kinematics yðtÞ are almost equal for this trajectory. 13. Chen C, Inoue Y, Shibata K (2011) Identification of a golf swing
From Figs. 8, 9, 15, and 16, it can be seen that the input robot using soft computing approach. Neural Comput & Appl
of the inverse kinematics /d ðtÞ and the output of the for- 20:729–740
ward kinematics /ðtÞ are almost equal for this trajectory. 14. Villaverde I, Graña M (2011) Neuro-evolutionary mobile robot
egomotion estimation with a 3D ToF camera. Neural Comput &
Appl 20:345–354
15. Bachrach J, Beal J, McLurkin J (2010) Composable continuous-
5 Conclusion space programs for robotic swarms. Neural Comput & Appl
19:825–847
16. Lee W-P, Yang T-H (2011) Combining GRN modeling and
In this paper, two methods to obtain the inverse kinematics demonstration-based programming for robot control. Neural
of a mobile robot were presented. The kinematics is an Comput & Appl 20:909–921
easier alternative for the application of mobile robots 17. Chaoui H, Sicard P (2011) Adaptive Lyapunov-based neural
because it does not require the knowledge of the torques or network sensorless control of permanent magnet synchronous
machines. Neural Comput & Appl 20:717–727
the forces. In the future, one observer and one control will 18. Chiu C-H (2010) Self-tuning output recurrent cerebellar model
be designed and applied for the mobile robot using the articulation controller for a wheeled inverted pendulum control.
inverse kinematics. Neural Comput & Appl 19:1153–1164
19. Wu Y, Sun F, Zheng J, Song Q (2010) A robust training algorithm of
Acknowledgments The authors are grateful with the editor and discrete-time MIMO RNN and application in fault tolerant control
with the reviewers for their valuable comments and insightful sug- of robotic system. Neural Comput & Appl 19:1013–1027
gestions, which can help to improve this research significantly. The 20. Celikkanat H, Sahin E (2010) Steering self-organized robot flocks
authors thank the Secretaria de Investigación y Posgrado and the through externally guided individuals. Neural Comput & Appl
Comisión de Operación y Fomento de Actividades Académicas del 19:849–865
IPN and the Consejo Nacional de Ciencia y Tecnologia for their help 21. Divelbiss AW, Wen JT (1997) Trajectory tracking control of a
in this research. car- trailer system. IEEE Trans Automat Control 5(3):269–278
22. Aranda E, Salgado T, Velasco M, Control no lineal discontinuo
de un robot movil, Computacion y Sistemas CIC- IPN
23. Ollero BA, Robótica, manipuladores y robots móviles. Editorial
References. Alfaomega. España
24. Stanley I, Algebra lineal, Grupo Editorial Iberoamericana, Méx-
1. Ge SS, Cui YJ (2000) New potential functions for mobile robot ico DF
path planning. IEEE Trans Robotic Autom 16(5):615–620 25. Ogata K, Ingenierı́a de control moderna. Editorial Prentice Hall,
2. Pathak K, Agrawal SK (2005) An integrated path-planning and Segunda edición, México
control approach for nonholonomic unicycles using switched 26. Kreyszig E, Matemáticas avanzadas para ingenierı́a. Tercera e-
local potentials. IEEE Trans Robotic 21(6):1201–1208 dición. Limusa Wiley

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

Vous aimerez peut-être aussi