PATH FINDING FOR A MOBILE ROBOT USING FUZZY … · mobile robot using Fuzzy Logic (FL) and Genetic...
Transcript of PATH FINDING FOR A MOBILE ROBOT USING FUZZY … · mobile robot using Fuzzy Logic (FL) and Genetic...
http://www.iaeme.com/IJMET/index.asp 659 [email protected]
International Journal of Mechanical Engineering and Technology (IJMET) Volume 8, Issue 8, August 2017, pp. 659–669, Article ID: IJMET_08_08_072
Available online at http://www.iaeme.com/IJMET/issues.asp?JType=IJMET&VType=8&IType=8
ISSN Print: 0976-6340 and ISSN Online: 0976-6359
© IAEME Publication Scopus Indexed
PATH FINDING FOR A MOBILE ROBOT USING
FUZZY AND GENETIC ALGORITHMS
Rame Likaj
University of Prishtina / Faculty of Mechanical Engineering,
Prishtina, Kosovo
Xhevahir Bajrami*
University of Prizrena / Faculty of Computer Science,
Prizren, Kosovo. *Correspondence
Ahmet Shala*, Arbnor Pajaziti*
University of Prishtina / Faculty of Mechanical Engineering,
Prishtina, Kosovo. *Correspondence
ABSTRACT
In this paper is presented a new algorithm for global path planning to a goal for a
mobile robot using Fuzzy Logic (FL) and Genetic Algorithm (GA). We have also
shown the detection and avoidance of static and dynamic obstacles in a closed
environment using a single camera to record the state of environment in which the
mobile robot operates. This is done by mapping the environment and optimization
using genetic algorithm. During this process for the mobile robot steps generated by
Fuzzy logic algorithm have been taken, in order to reach the target. Locations of
target and obstacles to find an optimal path are given in a 2-D workplace
environment. Besides, optimization steps of path finding; also we did not use real
sensors for avoiding obstacle. This problem is solved by using virtual sensors to
achieve fast detection and response. For the given mobile robot model, the results of
simulation have been also shown by figures.
Keywords: mobile robot, genetic algorithm, fuzzy logic, camera, virtual sensors,
kinematics, dynamics.
Cite this Article: Rame Likaj, Xhevahir Bajrami*, Ahmet Shala* and Arbnor
Pajaziti*, Path Finding for A Mobile Robot Using Fuzzy and Genetic Algorithms,
International Journal of Mechanical Engineering and Technology 8(8), 2017,
pp. 659–669.
http://www.iaeme.com/IJMET/issues.asp?JType=IJMET&VType=8&IType=8
1. INTRODUCTION
A mobile robot must be able to move in an environment avoiding obstacles in its way and in
the same time must be able to find the shortest path, the smoothest path or the safest path.
Path finding and obstacle avoidance from a mobile robot by using different sensors presents a
Path Finding for A Mobile Robot Using Fuzzy and Genetic Algorithms
http://www.iaeme.com/IJMET/index.asp 660 [email protected]
problem and there is always room for improvement. In this context several methods of
solutions like different predictable methods [19], global C-space methods [20], potential field
methods and neural networks approaches have been explored. Another method for controlling
mobile robot movement in an environment with static and dynamic obstacles is Genetic
Algorithm, which is proposed at the beginning of 1975 [21]. Fuzzy logic is one of the
algorithms that can be used for path finding in a closed environment as well [22]. In this paper
is presented a method for path finding by making the combination of Genetic Algorithm with
Fuzzy logic outputs and using a camera as a single sensor [23]. In our case to detect position
of the mobile robot we can use several image processing methods taken by a camera sensor.
After detection of the mobile robot position, this position is used as the starting point of the
path, needed for path finding. In the same way, we detect all needed information for the
mobile robot to reach the target.
2. MODELING – KINEMATICS AND DYNAMICS OF MOBILE ROBOT
Kinematics model analysis of vehicle are derived on the basis of known linear velocity of the
vehicle, point B: x�, y�, respectively v� = v , and steering angle of front wheels: ϕ
respectively ∅ [1]. From the non–holonomic constraints follows that the mobile robot moves
in the direction normal to the axis of the driving wheels (rear axle) [2], 4], and it is assumed
that no slipping occurs [6].
From the condition of no slipping towards the rear wheel axis CD at point B (Fig. 1)
follows:
0)cos()sin( =⋅−⋅ θθ BB yx && (1)
From the condition of no-slipping towards the front wheel axis EF at point A (Fig. 1)
follows:
0)cos()sin( =+⋅−+⋅ φθφθ AA yx && (2)
Further follows:
})sin(2)cos(2 θθ ⋅+=⋅+= byybxx BABA (3)
})cos(2)sin(2 θθθθ ⋅⋅+=⋅⋅−= &&&&&& byybxx BABA (4)
⋅+⋅=
=⋅⋅−+⋅−+⋅
=+⋅⋅⋅−+⋅−+⋅⋅⋅−+⋅
)sin()cos(
0)cos(2)cos()sin(
0)cos()cos(2)cos()sin()sin(2)sin(
θθ
φθφθφθ
φθθθφθφθθθφθ
BBB
BB
BB
yxv
byx
bybx
&&
&&&
&&&&
(5)
yB
xB
x
Pv1
Pv2
A
B
E
F
θ
φ
a
Pv
D
C
θ
φ
θ
θ
φ
φ
φ
θ
θ&
mpa
P
a
b
b
θ
φ
v
y
O
Rmin
Figure 1 Position analysis and kinematics model of mobile robot.
Rame Likaj, Xhevahir Bajrami, Ahmet Shala and Arbnor Pajaziti
http://www.iaeme.com/IJMET/index.asp 661 [email protected]
The non–holonomic constraint states that the vehicle can only move in the direction
normal to the axis of the driving wheels (rear axle) i.e., the vehicle platform satisfies the
conditions of pure rolling and non-slipping in the matrix form:
0)( =⋅ ssC & (6)
Where, [ ]TBB yxs θ= and [ ]TBB yxs θ&&&& = - represents general variables, and finally:
The solution of equation (1) actually represents the inverse kinematics of mobile robot.
From Figure 1 is performed calculation of the following expressions:
)tan()tan(
φθθφ b
vbvvB =⇒⋅== &&
(7)
})sin()cos( θθ ⋅=⋅= vyvx BB&&
(8)
From the equation (7) is calculated angle :
( )BB xya && /tan=θ (9)
And, from equation (6) is calculated angle ϕ
( )vba /tan θφ &⋅= (10)
In Figure 2 is shown the implementation of MATLAB model of the inverse kinematics for
mobile robot.
Figure 2 MATLAB Model-solution for inverse kinematic of mobile robot.
Figure 3 Coordinates of point B in X axle-direction. Figure 4 Coordinates of point B in Y
axle-direction.
Figure 5 Velocity vx of point B. Figure 6 Velocity vy of point B.
0 0.5 1 1.5 2 2.5 3 3.50
10
20
30
40
Time (Seconds)
x(t
)
0 0.5 1 1.5 2 2.5 3 3.5
-10
-5
0
5
10
Time (Seconds)
y(t
)
0 0.5 1 1.5 2 2.5 3 3.5
8
10
12
14
16
Time (Seconds)
vx
(t)
0 0.5 1 1.5 2 2.5 3 3.5-15
-10
-5
0
5
10
15
Time (Seconds)
vy
(t)
Path Finding for A Mobile Robot Using Fuzzy and Genetic Algorithms
http://www.iaeme.com/IJMET/index.asp 662 [email protected]
Figure 7 The angleθ between mobile robot and x – axle. Figure 8 Steering angleφ of front wheels
The following Figures (Figure 3 - Figure 8) shows the simulation results of mobile robot
model, for the position of mobile robot in X and Y axis during its movement as well as the
angle of mobile robot platform and steering angle of the front wheels.
2.1. Dynamic modeling of the mobile robot
The Lagrange formulations are used to derive the dynamic equations of the vehicle:
τ=∂
∂−
∂
∂
q
L
q
L
dt
d
& (10)
After the calculation of Lagrange function (kinetic and potential energy), the dynamic
equations of the vehicle can be expressed in matrix form:
τ=+⋅ ),()( qqHqqD &&& (11)
Where:
=
=
=
d
sh
M
F
H
HqqH
DD
DDqD τ
2
1
2221
1211),()( &
(12)
22
2
1
2
1θ&⋅⋅+⋅⋅= PPpa
pak JvmE
(13)
Where:
pam - Mobile robot platform mass, perm - general mass, a2 - width of mobile robot platform
)4(2
1 21
2bamJ paP +⋅= - moment of inertia for mobile robot platform
=
∂
∂
∂
∂=
=
∂
∂
∂
∂==++=
∂
∂
∂
∂=
2
)tan(4
)(tan12
2
22
2
21122
11
Rm
LD
b
Rm
v
LDDmmm
v
L
vD
rr
rrperrrpa
φφ
φφ
φ
&&
&
(14)
+⋅
⋅⋅+⋅⋅=
+⋅
⋅+⋅⋅⋅=
)1)((tan2
)tan(
)1)((tan4
)tan(2
22
22
222
1
φφφ
φφφφ
&
&&
vb
RmvmH
b
RmvmH
rrper
rrper
(15)
The final vehicle model - Lagrange equations which describe the movement of the vehicle
are defined by:
0 0.5 1 1.5 2 2.5 3 3.5
-1
-0.5
0
0.5
1
Time (Seconds)
teta
(t)
0 0.5 1 1.5 2 2.5 3 3.5-0.6
-0.4
-0.2
0
0.2
0.4
0.6
Time (Seconds)
Fi(
t)
Rame Likaj, Xhevahir Bajrami, Ahmet Shala and Arbnor Pajaziti
http://www.iaeme.com/IJMET/index.asp 663 [email protected]
+
⋅
++
φφ
φφ
&&
&v
Rm
b
Rm
b
Rmmmm
rrrr
rrperrrpa
2)tan(
4
)tan(4
)(tan12
22
22
=
+⋅
⋅⋅+⋅⋅
+⋅
⋅+⋅⋅⋅
+d
sh
rrper
rrper
M
F
vb
Rmvm
b
Rmvm
)1)((tan2
)tan(
)1)((tan4
)tan(2
22
2
222
φφφ
φφφφ
&
&&
(16)
Where 1τ denotes the nominal driving force acting on the rear axle and 2τ denotes torque
for steering wheels. In order to be able to follow the sinusoid trajectory, the vehicle nominal
driving force )(tFsh (acting on the rear axle CD), and its torque for steering wheels )(tMd
(nominally to front wheels E, F) are obtained by equation (16).
Figure 9 Nominal driving forces acting on the rear axle. Figure 10 Steering wheels nominal torque.
3. DETECTION OF MOBILE ROBOT AND OBSTACLES
In our case, since the mobile robot must operate in order to be detected by camera, a selected
color from the constructed environment is used [3]. In each edge of the mobile robot a unique
color is located as a single point, which can be detected from camera (Fig. 11), and based on
these points we don’t detect only our mobile robot, but also we use it as a scale factor between
image taken from camera and real environment. By using color detection to take information,
the target point is also detected. The detection of obstacles is made based on shapes
(polygons). After detection of the mobile robot and obstacles, a matrix is generated by using
MATLAB, where each element has the information whether there is detection of an obstacle
or not [13].
Figure 11 Image taken from camera. Figure 12 Plotted mobile robot and virtual sensors on the
generated matrix.
Path Finding for A Mobile Robot Using Fuzzy and Genetic Algorithms
http://www.iaeme.com/IJMET/index.asp 664 [email protected]
In this matrix, we added three virtual distance sensors based on mobile robot size, which
are used to detect obstacles and generate information’s from these sensors, which will be used
as Fuzzy logic inputs (Fig. 12) [13].
3.1. Convert Pixel Distance to Metric Distance
The distance computed in the previous stage does not represent the real distance in meters to
the wall, but only the image distances specified by pixels. If one knows the optics of the
camera-mirror system, it is however possible to recover the metric distance (Figure 13).
Figure 13 Camera-mirror system.
Let d be the distance in meters on the ground floor and ρ the distance in pixels at the
image plane. Then, we have: )tan()( θθ hd =
(17)
For most omnidirectional cameras, the relation between θ and ρ can be approximated by a
first order Taylor expansion, that is: ραθ )/1(≈
(18)
Where, α depends on the mirror shape and the camera-mirror distance. Then, the final
relation becomes: ( )αρρ /tan)( hd =
(19)
In our case, we use α = 95 pixel, while the height h must be calibrated in meter, in order to
get the correct distance measurements. A reference distance measured on the ground floor is
used and compared with the results which have been obtained by equation (19).
4. FUZZY LOGIC FOR OBSTACLE AVOIDANCE
Fuzzy logic algorithm used to control mobile robot direction to the target, takes four inputs
which are left, middle and right sensor states, where each sensor state detects whether there is
or not an obstacle, and the fourth input is angle from the starting point to the target [11], [16].
Combination of six rules which are created on Fuzzy logic, provide different outputs based on
the inputs given by the actual state of mobile robot and obstacles [12], [13]. Fuzzy logic
algorithm is used in this work, for path finding from starting point to the target [5], [7]. In the
case when one of the mobile robot sensors is activated then a steps counter starts in
background. When counter reaches the limit the mobile robot should move toward the target.
Thus, we must repeat the same process until the mobile robot reaches the target.
Rame Likaj, Xhevahir Bajrami, Ahmet Shala and Arbnor Pajaziti
http://www.iaeme.com/IJMET/index.asp 665 [email protected]
Figure 14 Active Sensor. Figure 15 New direction of mobile robot after counter
reaches the limit.
In Fig. 14 the middle sensor of mobile robot is activated, after fuzzy logic receives the
information from this sensor, and the direction of mobile robot is changed based on rules, in
order to avoid the obstacle [16]. In Fig. 15 is presented the new direction of mobile robot
toward target, which is calculated by:
==
=<
=>
≠
−+
=
00
00
000
,0arctan2
),(atan2
22
yandxifundefined
yandxif
yandxif
yify
xyx
yx
π
(20)
Where: � = �� ���� � � ���������������� � �� ���� � � ������������
Figure 16 Controller design in Fuzzy Logic Control (FLC).
Figure 17 Membership functions (a) sensors activity and (b) angle to the target from middle sensor of
mobile robot [13].
In Figure 17(a) are presented membership functions of mobile robot sensors which might
be taken as inputs for two fuzzy values, active or passive. Based on the rules of fuzzy logic
the mobile robot has three options for choosing the right direction.
ifsensorleftisactiveandsensormiddleisnotactiveand
sensorrightisnotactivatethendirectionisright
Path Finding for A Mobile Robot Using Fuzzy and Genetic Algorithms
http://www.iaeme.com/IJMET/index.asp 666 [email protected]
While for the optimization of mobile robot path in the Fig. 17(b) is presented membership
function which takes the input only for the case when middle sensor of mobile robot is active
and by knowing the target angle it helps us to choose the direction.
ifsensorleftisnotactiveandsensormiddleisactiveand
sensorrightianotactiveandangletothetargetisright
Thendirectionisright
The simulation results show that the application of FLC (Fuzzy logic controller)
significantly reduces the errors of front wheels steering angle (φ ) as well as error of angle
between mobile robot platform and X axle (θ).
Figure 18 left Error of front wheels steering. Figure 19 right Error for angle theta between mobile
angle with FLC robot platform and x-axle with FLC.
Figure 20 Error of front wheels steering angle without applying Fuzzy logic.
5. GENETIC ALGORITHM
Using a static value for steps counter as mentioned in previous section, the path which is
generated by Fuzzy logic in most cases is not the optimal path, which means mobile robot has
taken some extra steps, which are not needed in order to go to the target. The generated path
in this way can be optimized by implementing Genetic Algorithm over steps counter, in order
to find the array of best possible steps counter for each case when one of the mobile robot
sensors is active. The first step of Genetic Algorithm implementation it to create an initial
population with a predefined population size. The population contains the numbers of
individuals [10]. Each individual represents a value for steps counter which will help us in
choosing the right time to re-calculate direction toward target. The initial population of n size
can be expressed as:
Initial Population = <p., p/, …, p0> (21)
0 0.5 1 1.5 2 2.5 3 3.5
-1
-0.5
0
0.5
1
x 10-3
Time (Seconds)
automjeti
Efi
0 0.5 1 1.5 2 2.5 3 3.5
-8
-6
-4
-2
0
2
4
6
8
x 10-4
Time (Seconds)
automjeti
Ete
ta
Rame Likaj, Xhevahir Bajrami, Ahmet Shala and Arbnor Pajaziti
http://www.iaeme.com/IJMET/index.asp 667 [email protected]
Each value p0 represents an Integer value between 1 and the maximum of steps, which
can be taken in a diagonal from point 0,0 to the point x, y where x, yare equal to image size.
Next step is fitness function, which represents an important part of Genetic Algorithm [8].
Appropriate selection of the fitness function will lead the search towards the optimal solution.
Since we already have a path which is generated by Fuzzy logic, where steps counter has a
default value, we can assume that the steps taken within that path are most optimal but less
possible. For each iteration which is performed by Genetic Algorithm a new path is generated
[9], for the cases where the steps counter value is equal to p0 value and in the same time the
smallest value of all steps related to that generated path now is considered as best possible
path. With the same logic, this process continues until Genetic Algorithm finds the optimized
path for actual state of mobile robot, target and obstacles position. This approach can be
presented as:
=
<
csreturn
asos
osasif
(22)
Where is: as = actual steps count
os =optimized steps count
sc =steps counter for recalculating direction toward target
The optimal path, in our case, is the shortest path between the starting and ending point.
Based on this, the fitness function is responsible for finding this path.
6. EXPERIMENTAL RESULTS
The environment shown at Figure 21, respectively Figure 22 is used as simulation-
environment. Based on the generated map, the mobile robot should move from the starting
position, which is its own actual position to the target. The angle from mobile robot position
toward target is pre-calculated using formula shown in (21). After starting the simulation,
Fuzzy logic takes care for mobile robot to avoid the obstacles during its path to the target. A
mobile robot position is plotted for each step and at the end we have visualized the mobile
robot’s path to reach the target [16].
Figure 21 Mobile robot and generated path Figure 22 Mobile robot and optimized path to the target
to the target.
From in the Fig. 21 it can be seen the total of 235 steps needed for achieving the goal,
same as the processing time needed for the path finding. In this GUI the Turn steps that
represent steps counter are also shown, which will help us in choosing the right time to re-
calculate the direction towards the target, which by default is 10. This path is shown in Fig. 21
Path Finding for A Mobile Robot Using Fuzzy and Genetic Algorithms
http://www.iaeme.com/IJMET/index.asp 668 [email protected]
and is generated by using only the Fuzzy logic, without Genetic Algorithm, but it results in
some steps which are not necessary, so path needs to be optimized [16]. In Fig. 21 we can see
the difference between path finding using only Fuzzy Logic vs path finding using Fuzzy
Logic and Genetic Algorithm. The simulations show that by adding Genetic Algorithm to
Fuzzy Logic, the optimization process is improved in terms of path length. There is a full
match between target and mobile robot position as shown in Fig. 21 and Fig. 22, but for the
case where the length of the path is taken into consideration, better results are obtained as is
shown in Fig. 22.
7. CONCLUSIONS
Knowing that the generation of the map can be performed by using several kinds of sensors
which might be very expensive, for the detection of obstacles in this paper we used only a
simple camera and image processing. In this way we were able to achieve better or almost
same results by using inexpensive devices. In this study we presented the idea for using
Genetic Algorithm approach in order to optimize the mobile robot path finding problem. We
proposed a simplified fitness function that utilizes the path length and our preliminary
experiments showed that the proposed approach is quite effective and efficient.
REFERENCES
[1] Shih, C.-L.; Lin, L.-C. (2017) Trajectory Planning and Tracking Control of a Differential-
Drive Mobile Robot in a Picture Drawing Application. Robotics 2017, 6, 17.
[2] Dehong, C., Qichen, G., Peng, X., Huadong, L., Hao, Z., & Kai, T. (2017, May). The
research about self-balancing mobile platform based on differential wheel. In Control And
Decision Conference (CCDC), 2017 29th Chinese (pp. 6072-6077). IEEE.
[3] Paolillo, A., Faragasso, A., Oriolo, G., & Vendittelli, M. (2017). Vision-based maze
navigation for humanoid robots. Autonomous Robots, 41(2), 293-309.
[4] Caceres, C., Rosario, J. M., & Amaya, D. (2017, July). Approach of Kinematic Control
for a Nonholonomic Wheeled Robot using Artificial Neural Networks and Genetic
Algorithms. In Bioinspired Intelligence (IWOBI), 2017 International Conference and
Workshop on (pp. 1-6). IEEE.
[5] Martínez, Ricardo, Oscar Castillo, and Luis T. Aguilar. (2009) Optimization of interval
type-2 fuzzy logic controllers for a perturbed autonomous wheeled mobile robot using
genetic algorithms. Information Sciences 179.13 pp. 2158-2174.
[6] Pajaziti, Arbnor, Ka C. Cheok, and Xhevahir Bajrami. (2013) Semi-autonomous mobile
robot for mine detection. Proceedings 10th International Symposium HUDEM and 11th
IARP WS HUDEM.
[7] Park, S. H., Kim, K. W., Choi, W. H., Jie, M. S., & Kim21, Y. I. (2016). The Autonomous
Performance Improvement of Mobile Robot using Type-2 Fuzzy Self-Tuning PID
Controller.
[8] Hamza, M. F., Yap, H. J., & Choudhury, I. A. (2017). Recent advances on the use of
meta-heuristic optimization algorithms to optimize the type-2 fuzzy logic systems in
intelligent control. Neural Computing and Applications, 28(5), 979-999.
[9] Xue, T., Li, R., Tokgo, M., Ri, J., & Han, G. (2017). Trajectory planning for autonomous
mobile robot using a hybrid improved QPSO algorithm. Soft Computing, 21(9), 2421-
2437.
[10] Macedo, J., Marques, L., & Costa, E. (2017, April). Robotic odour search: Evolving a
robot's brain with Genetic Programming. In Autonomous Robot Systems and
Competitions (ICARSC), 2017 IEEE International Conference on (pp. 91-97). IEEE.
Rame Likaj, Xhevahir Bajrami, Ahmet Shala and Arbnor Pajaziti
http://www.iaeme.com/IJMET/index.asp 669 [email protected]
[11] Berisha, J., Bajrami, X., Shala, A., & Likaj, R. (2016, June). Application of Fuzzy Logic
Controller for obstacle detection and avoidance on real autonomous mobile robot. In
Embedded Computing (MECO), 2016 5th Mediterranean Conference on (pp. 200-205).
IEEE.
[12] Khoswanto, H., Santoso, P, & Lim, R. (2016). Odometry Algorithm with Obstacle
Avoidance on Mobile Robot Navigation. In Proceedings of Second International
Conference on Electrical Systems, Technology and Information 2015 (ICESTI 2015) (pp.
155-161). Springer, Singapore.
[13] Bajrami, X., Dërmaku, A., Demaku, N., Maloku, S., Kikaj, A., & Kokaj, A. (2016, June).
Genetic and Fuzzy logic algorithms for robot path finding. In Embedded Computing
(MECO), 2016 5th Mediterranean Conference on (pp. 195-199). IEEE.
[14] Shala, A. (2004). New Fuzzy Neural Network design using Genetic Algorithm for
trajectory tracking of mobile robot. MECHROB’04.
[15] Lakhdari, A., & Achour, N. (2015). Probabilistic roadmaps and hierarchical genetic
algorithms for optimal motion planning. In Intelligent Systems in Science and Information
2014 (pp. 321-334). Springer, Cham.
[16] Bajrami, X., Dërmaku, A., & Demaku, N. (2015). Artificial neural fuzzy logic algorithm
for robot path finding. IFAC-PapersOnLine, 48(24), 123-127.
[17] El Harabi, R., Naoui, S. B. A., & Abdelkrim, M. N. (2012, March). Fuzzy control of a
mobile robot with two trailers. In Renewable Energies and Vehicular Technology
(REVET), 2012 First International Conference on (pp. 256-262). IEEE.
[18] Caraveo, C., Valdez, F., & Castillo, O. (2017). A New Meta-Heuristics of Optimization
with Dynamic Adaptation of Parameters Using Type-2 Fuzzy Logic for Trajectory
Control of a Mobile Robot. Algorithms, 10(3), 85.
[19] Latombe, J.C. (1991). Robot motion planning. Kluwer Academic Publisher, Boston, USA.
[20] Sharir, M. (1989) Algorithmic motion planning in robotics, Computer 22(3), pp. 9–19.
[21] Holland, J. (1975) Adaptation in natural and artificial systems. Ann Arbor, University of
Michigan Press.
[22] L. A. Zadeh, (1978) Fuzzy sets as a basis for a theory of possibility, Fuzzy Sets and
Systems, Vol. 1, No. 1, pp. 3–28.
[23] Machine vision, R Jain, R Kasturi, BG Schunck (1995), Chapter 15. Object Recognition
(pp. 459-491).
[24] A. Mubashira Anjum, Multifunction Mobile Robot-Virtual Human. International Journal
of Mechanical Engineering and Technology, 8(7), 2017, pp. 742– 749.
[25] Ashwani Kumar Aggarwal. Machine Vision Based SelfPosition Estimation of Mobile
Robots, International Journal of Electronics and Communication Engineering &
Technology, 6(10), 2015, pp. 20-29.
[26] Mukul Anand Pathak, Kshitij Kamlakar, Shwetant Mohapatra, Prof. Uma Nagaraj,
Development of Control Software For Stair Detection In A Mobile Robot Using Artificial
Intelligence and Image Processing, International Journal of Computer Engineering and
Technology, 7(3), 2016, pp. 93–98.