Sei sulla pagina 1di 8

Neural Comput & Applic (2013) 23:187194

DOI 10.1007/s00521-012-0854-0

ORIGINAL ARTICLE

Inverse kinematics of a mobile robot


Jose de Jesus Rubio Vctor 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


motion of the robotic system without consideration of the
forces and torques causing the motion. This paper presents
two methods to obtain the inverse kinematics of a mobile
robot. In the first method, two rows of the forward kinematics are selected, the inverse of these two rows is
obtained, and later the inverse matrix is combined with the
third row of the forward kinematics. In the second method,
the pseudo-inverse matrix of the forward kinematics matrix
is obtained. The comparison result of the two proposed
methods is presented. Two simulations show the effectiveness of the proposed inverse kinematics algorithm.
Keywords Forward kinematics  Inverse kinematics 
Mobile robot

1 Introduction
The research about the mobile robots is classified in three
kinds: the trajectory planning [13], the position estimation
[46] and the control [79].
The trajectory planning of a mobile robot has the
objective to provide the best trajectory of the mobile robot
from an initial point to a final point [10]. In [11], the trajectories planning and a collisions detector for robotic arms
are presented. In [12], they address the challenge of realizing full-body behaviors in scalable modular robots.

J. de Jesus Rubio (&)  V. Aquino  M. Figueroa


ESIME Azcapotzalco, Instituto Politecnico Nacional,
Seccion de Estudios de Posgrado e investigacion,
Av. de las Granjas No. 682 Col. Sta. Catarina
Delegacion Azcapotzalco, Mexico D.F., Mexico
e-mail: jrubioa@ipn.mx; rubio.josedejesus@gmail.com

The position estimation is to estimate the parameters of


the position and the orientation using other parameters as
are the parameters of an image, an identifier or an observer
can be used for the position estimation. The paper of [13]
investigates the identification of a golf swing robot based
on four kinds of soft computing methods. In [14], an
innovative neuro-evolutionary approach for mobile robot
ego-motion estimation with a 3D camera is proposed. In
[15], show that spatial computing language (Proto) can be
applied to multi-mobile-robot systems with an actuator that
turns a vector field into device motion.
The control has the objective that the robotic system has
to follow a desired trajectory. In [16], they adopt a network
structure develop a biologically plausible GRN model for
robot control. In [17], an adaptive neural network sensorless control scheme for machines is introduced. In [18], a
model-free self-tuning output recurrent cerebellar model
articulation controller to control an inverted pendulum is
investigated. In [19], a robust training algorithm of multiinput multi-output recurrent neural network and its application in the fault tolerant control of a robotic system are
investigated. In [20], they study how a self-organized
mobile robot flock can be steered toward a desired direction through externally guiding some of its members.
For the trajectory planning, the position estimation, or
the control, in some cases the dynamic models help to
obtain the objective, but it sometimes is hard to obtain
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
knowledge of the torques or the forces.
This work is interested in the study of the motion of a
mobile robot using the inverse and the forward kinematics,
the mobile robot has two fixed wheels and one free wheel,
this mobile robot changes the direction depending on the

123

188

Neural Comput & Applic (2013) 23:187194

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


y), the following subsystems are obtained:
!
 !
 
x
 r sin2 /  r sin2 /
xd
; B
B
:
2

r cos /
r cos /
xi
y
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 detB 6 0, it is obtained with the
selected joined outputs (y, /) as follows:
0 1
 
 r cos / r cos / 
y
@  A B xd ; B
2
2
3
r
xi
 br
b
/
2

Fig. 1 Mobile robot

velocities of each of the fixed wheels. Figure 1 presents the


movements of a mobile robot with two fixed wheels and
one mobile wheel.
The forward kinematics is to determine the position and
orientation of the mobile robot, given the angular velocity
of each wheel. From the Fig. 1, the forward kinematics is
as follows:
0 1 0
1
x
r sin /
r sin /
 


2
2
B C B
xd
r cos / C
B y C @ r cos /
1
A
@ A
2
2
xi
r
r


b
b
/
The (1) can be seen as the following transformation:

/
where detB  r cos
:
b
The inverse matrix of B is obtained with the following
equation:

B1

C1 : Xt xt; yt; /t 7! x xd t; xi t


where the position and the orientation X(t) are considered
as the input, and the angular velocities of the fixed wheels
x are considered as the output.

So:
1
r cos /
1
r cos /

B1

b
2r
 2rb

X Bx

The inverse kinematics is written as follows:




x B1 X :


Substituting (5) in (7) gives:


!  !

1
b
y
wd
/
2r

r cos
1
b
wi

/
r cos /
2r

From (1) and subsystem (3), the residual dynamic equation


is:
r
r

x wd sin /  wi sin /
9
2
2
Equation (8) can be rewritten as follows:
wd

1  b 
y /
r cos /
2r

10

wi

1  b 
y /
r cos /
2r

11

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


outputs can be obtained: (x, y), (x, /), or (y, /), as a
consequence, in all the cases, there exists one residual
dynamic. Considering [21, 22], the (1) can be rewritten to

wd 

123

The direct kinematics is written as follows:

C : x xd t; xi t 7! Xt xt; yt; /t


where the angular velocities of the fixed wheels are considered as the input, and the position and orientation of the
mobile robot X(t) are considered as the output.
The inverse kinematics is to determine the angular
velocity of each wheel, given the position and the orientation of the mobile robot. The inverse kinematics is considered too as the following transformation:

AdjB
det B

wi 

2 
x wi
r sin /

12

2 
x wd
r sin /

13

Neural Comput & Applic (2013) 23:187194

189

Substituting (10) in (13) and (11) in (12) gives:


2 
1  b 
y /
x
r sin /
r cos /
2r

14

2 
1  b 
y /
x
r sin /
r cos /
2r

15

wd 
wi 

The equations (14) and (15) are the inverse kinematics, and
the inverse kinematics can be rewritten in matrix form as
follows:
!0  1
 
x
1
b
 r sin2 /  r cos
wd
/
2r
@ y A:
16

2
1
b

wi
 r sin /  r cos /  2r
/

3 Method 2 to obtain the inverse kinematics


The pseudo-inverse of a matrix is used to obtain the inverse
kinematics [23], and it is solved to obtain the unknown
parameters of an independent linear equation system [24].
Let us introduce the following definition of pseudoinverses:
Definition 1 Left and right inverses. Set A a matrix of
n 9 m, then:

A has a right inverse if there exists a matrix R of n 9 m


such that:
AR Im

17

A has a left inverse if there exists a matrix L of n 9 m


such that:
LA In

18

where
AR is of m  n  n  m m  m dimensions;
LA is of n  m  m  n n  n dimensions; The
following two theorems will be used to obtain the pseudoinverse. Let us consider the following system:
Ax b

19

where A is m 9 n; x and b are vectors of n and m,


respectively.
Theorem 1 [24] If the matrix A of m 9 n has a left
inverse, then the system (19) has at least one solution for
all m-vector b.
Theorem 2

[24] Let A be a matrix of m 9 n, then:

A has a left inverse if and only if AT has a right


inverse.
(ii) If n [ m, A does not have a left inverse.
(iii) If m [ n, A does not have a right inverse.
(i)

From the forward kinematics of (1), the inverse kinematics will be obtained using the aforementioned theorems,
from (1), B is:
0
1
 r sin2 /  r sin2 /
B
/
r cos / C
B @ r cos
A
2
2
r
r
b
b
Using Theorem 2, the matrix B is in the point iii, so the
matrix B does not have the right inverse, so the left inverse
will be obtained. Substituting the matrix B in (18) and
making the product gives:
0
1

  r sin /  r sin /
2
2
a1 a2 a3 B r cos /
r cos / C I
20
@ 2
A
n
2
a4 a5 a6
r
r

b
b
!
/
r sin /
r cos /
r
r
a

a

a

a

a
 r sin2 / a1 r cos
2
3
1
2
3
2
2
2
b
b
/
r sin /
r cos /
r
r
 r sin2 / a4 r cos
2 a5 b a6  2 a4 2 a5  b a6
I2



a1 a2 a3
where L
, and A = B. Rewriting
a4 a5 a6
equation system (20) as an increased matrix and using
the row operations [25], the reduced matrix is obtained
using the method of Gauss Jordan:
0 r sin / r cos / r
1
0
0
0 1
 2
b
2
B  r sin / r cos /  r
0
0
0 0C
B
C
b
2
2
LB B
C
/
r
@ 0
A
0
0  r sin2 / r cos
0
2
b
/
r
0
0
0  r sin2 / r cos

1
b
2
where LB is the increased matrix. Using the
Jordan method gives the following matrix:
0 r sin / r cos / r
0
0
0
 2
b
2
2r
0
0

0
0
0
 B
b
LB B
/
@ 0
r
0
0  r sin2 / r cos
2
b
0
0
0
0
0  2rb

Gauss
1
1
1 C
C
0 A
1

From the aforementioned equation, the following equations


system is obtained:
r sin /
r cos /
r
a1
a2 a3 1
2
2
b
2r
b
 a3 1; a3 ;
b
2r
r sin /
r cos /
r
a4
a5 a6 0

2
2
b
2r
b
 a6 1; a6 
b
2r


21
22
23
24

From (22) and (24), a3 2rb and a6  2rb is obtained,

123

190

Neural Comput & Applic (2013) 23:187194

respectively. Substituting (22) in (21) and (24) in (23) gives


the following equations:
r sin /
r cos /
1
a1
a2
2
2
2
r sin /
r cos /
1
a4
a5

2
2
2

25

26

From the equations system (25), (26), a1 a4 y a2 a5 is


considered because (25) and (26) are equal. So it is
rewritten as:
r sin /
r cos /
1
a1
a2
2
2
2
r sin /
r cos /
1
a1
a2

2
2
2

4 Simulations
28

To obtain the solution of the aforementioned system, the


Theorem of RoucheFrobenius [26] is used. The theorem is
as follows:
Theorem 3
(i)

If the rank of the coefficient matrix is equal to the rank


of the increased matrix and is equal to the number of
unknown parameters of the system, it is a determined
system.
(ii) If the rank of the coefficient matrix is equal to the
rank of the increased matrix, and the number of
unknown parameters is lower, it is an in-determined
system.
(iii) If the rank of the coefficient matrix is different to the
rank of the increased matrix, it is an incompatible
system.
For the system of this work, the point (ii) is satisfied, so
the system has infinite solutions, the proposed solution is as
follows:
2
;
r sin /

a2 a5 

1
r cos /

Substituting the found parameters in L of (20) and making


the matrices product gives:
0
1
!  r sin /  r sin /
1
b
2
2
 r sin2 /  r cos
/
2r
B r cos /
r cos / C I
@ 2
A
n
2
1
b
2
 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
 
x
2
1
b


wd
r sin /
r cos /
2r
@yA
29

1
b

wi
 r sin2 /  r cos
/  2r
/

123

Remark 2 There is some recent research about mobile


robots, as is [2732], and the difference of these papers and
this work is that in almost all the papers they use the
dynamic model, only in [30] they use the forward kinematics, while in this work the inverse kinematics are proposed as other alternative.

27

a1 a4 

Remark 1 Please note that the inverse kinematics of


method 1 of (16) is equal to the inverse kinematics of
method 2 of (29), so both methods give an acceptable
result.

Figure 2 shows the blocks diagram of the simulations. As


the multiplication of the inverse kinematics and the forward kinematics gives an identity matrix, the inputs of the
inverse kinematics may be equal to the outputs of the
forward kinematics.
Example 1 The inputs of the inverse kinematics are lineal
functions with a slope.
xd t 0:21818 t

30

yd t 0:21818 t
p
/d t 
4

31
32

Figure 3 shows the position and the orientation of the


desired input trajectory.
Figure 4 shows the comparison of the trajectories of the
input of the inverse kinematics xd t and the output of the
forward kinematics xt. Figure 5 shows the error between
the input of the inverse kinematics xd t and the output of
the forward kinematics xt.
Figure 6 shows the comparison of the trajectories of the
input of the inverse kinematics yd t and the output of the
forward kinematics yt. Figure 7 shows the error between

Fig. 2 Blocks diagram of the simulations

Neural Comput & Applic (2013) 23:187194

191

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

Fig. 3 The position and orientation of the trajectory

Fig. 7 Error of ~yt yd t  yt


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

Fig. 8 Comparison of /d ty/t


Fig. 5 Error ~xt xd t  xt

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


the forward kinematics yt.
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
functions.

The inputs of the inverse kinematics are sine

xd t  sin0:5t

33

~ / t  /t
Fig. 9 Error of /t
d

123

192

Neural Comput & Applic (2013) 23:187194

yd t sint

34

/d t mt

35

Figure 10 shows the position and the orientation of the


desired input trajectory.
Figure 11 shows the comparison of the trajectories of
the input of the inverse kinematics xd t and the output of
the forward kinematics xt. Figure 12 shows the error

Fig. 10 The position and orientation of the trajectory

between the input of the inverse kinematics xd t and the


output of the forward kinematics xt.
Figure 13 shows the comparison of the trajectories of
the input of the inverse kinematics yd t and the output of
the forward kinematics yt. Figure 14 shows the error
between the input of the inverse kinematics yd t and the
output of the forward kinematics yt.
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. 11 Comparison of xd t and x(t)

Fig. 14 Error of ~yt yd t  yt

Fig. 12 Error ~xt xd t  xt

Fig. 15 Comparison of /d t y /(t)

123

Neural Comput & Applic (2013) 23:187194

~ / t  /t
Fig. 16 Error of /t
d

between the input of the inverse kinematics /d t and the


output of the forward kinematics /t.
4.1 Results for the two examples
From Figs. 4, 5, 11, and 12, it can be seen that the input of
the inverse kinematics xd t and the output of the forward
kinematics xt are almost equal for this trajectory.
From Figs. 6, 7, 13, and 14, it can be seen that the input
of the inverse kinematics yd t and the output of the forward kinematics yt are almost equal for this trajectory.
From Figs. 8, 9, 15, and 16, it can be seen that the input
of the inverse kinematics /d t and the output of the forward kinematics /t are almost equal for this trajectory.

5 Conclusion
In this paper, two methods to obtain the inverse kinematics
of a mobile robot were presented. The kinematics is an
easier alternative for the application of mobile robots
because it does not require the knowledge of the torques or
the forces. In the future, one observer and one control will
be designed and applied for the mobile robot using the
inverse kinematics.
Acknowledgments The authors are grateful with the editor and
with the reviewers for their valuable comments and insightful suggestions, which can help to improve this research significantly. The
authors thank the Secretaria de Investigacion y Posgrado and the
Comision de Operacion y Fomento de Actividades Academicas del
IPN and the Consejo Nacional de Ciencia y Tecnologia for their help
in this research.

References.
1. Ge SS, Cui YJ (2000) New potential functions for mobile robot
path planning. IEEE Trans Robotic Autom 16(5):615620
2. Pathak K, Agrawal SK (2005) An integrated path-planning and
control approach for nonholonomic unicycles using switched
local potentials. IEEE Trans Robotic 21(6):12011208

193
3. Fan X, Luo X, Yi S, Yang S, Zhang H (2003) Optimal path
planning for mobile robots based on intensified ant colony optimization algorithm. In: Proceedings of IEEE International Conference on Robotic Intelligent System, vol 1, pp 131136
4. Georgiev A, Allen PK (2004) Localization methods for a mobile
robot in urban environments. IEEE Trans Robotic 20(5):851864
5. Garulli A, Vicino A (2001) Set membership localization of
mobile robots via angle measurements. IEEE Trans Robotic
Autom 17(4):450463
6. Liu HS, Pang KH (2001) Accelerometer for mobile robot positioning. IEEE Trans Ind Appl 37(3):812819
7. Chwa D (2004) Sliding-mode tracking control of nonholonomic
wheeled mobile robots in polar coordinates. IEEE Trans Control
Syst Technol 12(4):637644
8. Chang W-C, Lee S-A (2004) Autonomous vision-based pose
control of mobile robots with tele-supervision. In: Proceedings of
IEEE international conference on control applications, vol 2,
pp 10491054
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):491501
10. Wei S, Zefran M (2005) Smooth path planning and control for
mobile robots. In: IEEE Proceedings of network sensing and
control, March 2005, pp 894899
11. Rubio JJ, Garca E, Pacheco J (2011) Trajectory planning and
collisions detector for robotic arms, Neural Comput & Appl
(online 2011)
12. Christensen DJ, Campbell J, Stoy K (2010) Anatomy-based
organization of morphology and control in self-reconfigurable
modular robots. Neural Comput & Appl 19:787805
13. Chen C, Inoue Y, Shibata K (2011) Identification of a golf swing
robot using soft computing approach. Neural Comput & Appl
20:729740
14. Villaverde I, Grana M (2011) Neuro-evolutionary mobile robot
egomotion estimation with a 3D ToF camera. Neural Comput &
Appl 20:345354
15. Bachrach J, Beal J, McLurkin J (2010) Composable continuousspace programs for robotic swarms. Neural Comput & Appl
19:825847
16. Lee W-P, Yang T-H (2011) Combining GRN modeling and
demonstration-based programming for robot control. Neural
Comput & Appl 20:909921
17. Chaoui H, Sicard P (2011) Adaptive Lyapunov-based neural
network sensorless control of permanent magnet synchronous
machines. Neural Comput & Appl 20:717727
18. Chiu C-H (2010) Self-tuning output recurrent cerebellar model
articulation controller for a wheeled inverted pendulum control.
Neural Comput & Appl 19:11531164
19. Wu Y, Sun F, Zheng J, Song Q (2010) A robust training algorithm of
discrete-time MIMO RNN and application in fault tolerant control
of robotic system. Neural Comput & Appl 19:10131027
20. Celikkanat H, Sahin E (2010) Steering self-organized robot flocks
through externally guided individuals. Neural Comput & Appl
19:849865
21. Divelbiss AW, Wen JT (1997) Trajectory tracking control of a
car- trailer system. IEEE Trans Automat Control 5(3):269278
22. Aranda E, Salgado T, Velasco M, Control no lineal discontinuo
de un robot movil, Computacion y Sistemas CIC- IPN
23. Ollero BA, Robotica, manipuladores y robots moviles. Editorial
Alfaomega. Espana
24. Stanley I, Algebra lineal, Grupo Editorial Iberoamericana, Mexico DF
25. Ogata K, Ingeniera de control moderna. Editorial Prentice Hall,
Segunda edicion, Mexico
26. Kreyszig E, Matematicas avanzadas para ingeniera. Tercera edicion. Limusa Wiley

123

194
27. Yue M, Hu P, Sun W (2010) Path following of a class of nonholonomic mobile robot with underactuated vehicle body. IET
Control Theory Appl 4(10):18981904
28. Yoo SJ (2010) Adaptive tracking control for a class of wheeled
mobile robots with unknown skidding and slipping. IET Control
Theory Appl 4(10):21092119
29. Li Z, Zhang J, Yang Y (2010) Motion control of mobile underactuated manipulators by implicit function using support vector
machines. IET Control Theory Appl 4(11):23562368
30. Bi FY, Wei YJ, Zhang JZ, Cao W (2010) Position-tracking
control of under-actuated autonomous underwater vehicles in the

123

Neural Comput & Applic (2013) 23:187194


presence of unknown ocean currents. IET Control Theory Appl
4(11):23692380
31. Cho HC, Fadali MS, Lee KS, Kim NH (2010) Adaptive position
and trajectory control of autonomous mobile robot systems with
random friction. IET Control Theory Appl 4(12):27332742
32. Park BS, Park JB, Choi YH (2011) Robust adaptive formation
control and collision avoidance for electrically driven non-holonomic mobile robots. IET Control Theory Appl 5(3):514522

Potrebbero piacerti anche