low cost robot
TRANSCRIPT
-
8/2/2019 Low Cost Robot
1/6
Autonomous Mobile Robot System Concept Based On PSO Path Planner and
vSLAM
Abdullah Zawawi MOHAMED
Department of Advanced Manufacturing andMechanical Engineering
University of South AustraliaSouth Australia, Australia
Sang Heon LEE, Hung Yao HSU
Department of Advanced Manufacturing andMechanical Engineering
University of South AustraliaSouth Australia, Australia
Abstract
The idea of placing small mobile robots to move around in alarge building for potential intruders detection has been
aroused for some time. However it is still facing two major
hurdles: not to lose its ground truth and to make a decision onhow to move around safely and effectively within reasonablecomputation cost. This paper describes a mathematical modelfor a development of a scheme for an autonomous low costmobile robot system using visual SLAM (simultaneouslocalisation and mapping) and Particle Swarm Intelligent pathplanner. The result showed that this system could provide a
solution for the problem in indoor mobile robot navigation.The advancements of the computer technology make thistechnique as a cost effective solution for a future home servicerobot.
Keywords-component; autonomous robot; vSLAM; PSO;path planning
I. INTRODUCTIONSuccess behind navigation of autonomous mobile robots
heavily relies on the four factors : perception, the ability ofthe robot to interpret data from its sensors to meaningful
data; localisation, the ability of the robot to determine itsposition in the environment; cognition, the ability of the
robot deciding on how to act to achieve its goals; and
motion control, the ability of the robot to modulate its motor
outputs to achieve the desired trajectory [1]. However the
noise from the sensors is propagated with the time and this
would lead to misunderstandings of its true location. In theearly stages of autonomous robot development, theresearchers used to combine data from laser scanner,
encoder, ultrasonic or infrared beacon and others as devices
to avoid obstacles and get precise positions. Another critical
factor for a successful navigation of a mobile robot is path
planning. Path planning research dated few decades evenbefore the research on mobile robots was born. However
still there is no explicit answer for the autonomous mobile
robots navigation problem. Many suggestions and attempts
have been made by researchers to solve the problem, forexample, visibility graph, fuzzy logic, ant colony
optimization (ACO), artificial potential field (APF) and
genetic algorithm (GA). For the implementation of suchalgorithm in real-time applications, there is however one
important issue that must be addressed; the computationcost. In GA [2] based path planning, the environment
around the robot usually coded from starting point to the
goal and the optimal path is achieved through continuousoptimization using the selection, crossover and mutation
operator, which is characterized by the global optimization
ability and robustness. However, this technique has
disadvantages: the large searching space, complicated
coding and high computation cost. ACO on the other hand
has better robustness and global optimization. However thesearching ability is limited to the division of the grid. ACO
is a good option to solve shortest path searching problems
when the paths are already created [3]. On the other hand,
APF is a simple model and has low computation cost. It ishowever easily trapped into local minima. The magnitude of
grid division also affects the path planning directly [4]. A
larger size of grid division will decrease the computation
cost, however the capability of path finding will be
weakened. Fuzzy logic has good capability to overcome the
local minimum, however incompleteness of experiences andthe fuzzy reasoning table will rapidly expand with the
increase of input quantity are the disadvantages of the fuzzylogic [5].
A thorough literature review conducted indicates that
Particle Swarm Optimisation (PSO) proposed by Eberhart in
1995 has gained a lot of attentions among researchers in
numerous fields especially in computer science for its
special attributes which are fast convergence to the global
optima and robustness [6]. This research is conducted to
investigate the performance of PSO to solve the global pathplanning problem for mobile robot. Many experiments need
to be done to get the best parameter settings to achieved
desirable results. One of the biggest challenges iscompromising between computational cost and shortest
path. A higher number of particles will cost more
computational cost however it will produce shorter path
than the lower number of particles. The path planning is
generated as the robot moves since vSLAM is assumed to
be implemented in this experiment.
___________________________________
978-1-4244-8728-8/11/$26.00 2011 IEEE
-
8/2/2019 Low Cost Robot
2/6
II. CONCEPTUAL ARCHITENTURE OF AUTONOMOUSMOBIEL ROBOT CONSIDERED
Conceptual architecture of the autonomous mobile robot
consist of path planning, localisation and motion control toadapt to the real world using the perceptual information
obtained from sensors. It is widely known that v-SLAM can
provide a solution for accurate positioning for indoor
environment [7] and is considered as a major breakthrough
for consumer applications [8]. In v-SLAM, a mobile robotautonomously explores the environment with its on board
sensors, gains knowledge about the environment, interprets
the scene, builds an appropriate map and localises itself
relative to the map.
Continuous landmarks creation approach is a novelattributes of this technique [9]. The landmark is described
by an ordered set of data, where Ii is the image of the
landmark and Si is the position estimate of the landmark. Amap, m, is consists of a set ofk landmarks. In the first run
the robot estimates the landmarks based on its odometry
data alone however when it revisits the landmarks it uses
information from known landmarks to estimate an improved
robot pose. This technique will minimize the positioning
error produced by the odometry drift. In any occasions when
the robot does not sense any known landmarks this system
will take two specific actions. The first action is the systemwill update robots pose estimation based on odometry
measurements relative to the last position estimation. In thiscase the odometry inputs from the encoders are fairly
accurate for a short moving distance however for a longer
travel distance it might introduce large errors due to
accumulative errors in input readings. When the error grows
larger and the system might accept an old landmark as a
new landmark due to the position errors. This will be
compensated when the system finds the reference landmarks
in system library. The landmarks position will be taken intoconsideration and the accurate re-adjustment of the robots
position according to it will be made by the system. Thissystem also helps the robot to locate itself when it is
manually moved to another position in the environment,
known as kidnapping, by the user. A problem with current
implementation of v-SLAM is the landmark database. The
number of landmarks grows as the size of area grows. One
of the approach to overcome this problem is the system
would not register two landmarks which are located tooclose to each other. Detail on the mathematical modeling for
this technique can be obtained from the recent research
papers [10, 11].
In this paper, v-Slam is implemented as follows.Localisation uncertainties generated from the odometry
changes when the robot moves to a new position is updated
in the Extended Kalman Filter (EKF) using odometry
update. Landmarks which meet the pre-filter algorithm are
then updated to the system memory when the robots moveto a new position. These landmarks are then compared with
landmarks library in the system using Speeded Up Robust
Features (SURF) object recognition technique [12].
III. PSO FORPATHPLANNINGParticle Swarm Optimisation (PSO) is a method to find
the optimal solution by imitating social behaviour of fish
schooling bird flocking [13]. The group of individualachieves the objective based on common information from
every member. L. Lu et al [14] have researched on the
potential of PSO for path planning in unknown
environment. Basic principle in their algorithm is an agent's
position which is nearer to the target will produce greaterfitness value, in contrast if the position of an agent nearer to
the obstacle will produce lower fitness value. They have
tested their algorithm with two robots moving in opposite
direction to the target with the existence of a moving
obstacle. Their robots arrived to the target without singlecollision. However in the initial setting they set the speed of
the mobile robot at a relatively slow speed in order to allow
the computer to optimize the path planning. Comparing tothe other systems this system only needs partial informationfrom the limited range sensors in order to navigate without
collision in dynamic environment.
PSO algorithm works by simultaneously maintaining
several particles or potential solutions in the search space.
For each iteration of the algorithm, each particle is
evaluated by the objective function being optimized, based
on the fitness of that solution.
The PSO algorithm is made in three steps, which only
will the when meet the exit condition. The pseudo code forthe canonical PSO shows below:
Step 1: Initialiase population with random positions and
velocities
Step 2: Evaluate-compute fitness of each particle in
swarm
Step 3: Do for each particle in swarm {
Step 3.1: Find particle best (pbest) - calculate
fitness value of each particle.Ifpbestin current iteration > previouspbest
Pbest= currentpbest
Endif
Step 3.2: Find global best (gbest) best fitness of
allpbest
Step 3.3: Update velocity of particle as per Eq. 1
Step 3.4: Update position of particle as per Eq. 2
Step 4 :} Repeat step 3.1 through 3.4 until terminationcondition is reached
( + 1) = () + 11[ () ()] + 22[ () ()]...... (1)( + 1) = () + ( + 1 ) (2)
Where parameters used are:= inertia coefficient( + 1 )= current particles velocity()= previous particles velocity( + 1)=current particles position
-
8/2/2019 Low Cost Robot
3/6
()= previous particles position1 = uniformly distributed random number [0:1]2
= uniformly distributed random number [0:1]
1 and 2= acceleration constants ()= current pbest()=previous particles position ()= current gbestA population of particles is created and then evaluated to
compute their fitness and find both the particle and global
best from the population of swarm. The particle best, pbest,
represents the best fitness value for a particle up to that
moment in time, whereas the global best, gbest, represents
the best particles fitness value in the swarm. Each particle
is accelerated toward its pbest and gbest locations usingacceleration values c1 and c2 at each time step. These
constants c1 and c2 decide the relative influence of the socialand cognition components, typically these constants are set
to the same value to give equal weight to each social and
cognition component. The search process is terminated
whengbestarrives at the target position.
In order to keep the particles from moving too far beyond
the search space, if the particles move too far away from the
search space there are two common problems will occur;
firstly the system will converge in fewer iterations howeverthe paths are not smooth and secondly the particles willmove outside the search space without converge. Velocityclamping is a technique to limit the maximum velocity of
each particle. For a search space bounded by the range
[-xmax, xmax], velocity clamping limits the velocity to the
range [-vmax, vmax], where = . The value ofcan be set by the user.Another important element in PSO is , an inertia factor
which is introduced by Eberhart and Shi [15] after they
found PSO searched wide area effectively, however tends to
lack local search precision. helps PSO to dynamically
adjusts the velocity over the time by gradually focusing thePSO into local search.
A.Fitness evaluation
1 =( )2
()2 (3)
2 = ( 1 1) , 0 , > (4) = 1 + 2 (5)Where; and = particles position atx andy coordinates1= Euclidean distance from the robots position to thetarget2 = Safety distance from the particle to the obstacles
F= Fitness function for the whole path planning
optimization problem
= radius of the circled obstacle
=particles distance to the centre point of the obstacleThe goal of PSO is to minimize the fitness function F.Therefore the path planning problem must be described as
fitness function, this path planning problem becomes an
optimization problem. The path planning problem in this
research divided into two smaller fitness function; First
fitness function f1 is to make the path to the target andsecond fitness function f2 is to avoid the obstacles. is the particle distance to the centre point of theobstacle. If the particle distance is larger than the radius of
the circle obstacle, the particle is in safe distance hence no
correction action needs to be taken. Fig. 1 shows the processof determining centre point of the obstacle by using image
processing technique. Detected obstacles area is wrapped
into rectangular box Fig 1. (a). to find the centre point anddiameter. Based on this centre point and diameter a circle is
created to simplify the obstacle avoidance system as well as
minimizing the risk of local optima trap.
(a) ( b )
Figure 1. (a) Wrapped obstacle in rectangular box.(b) Obstacle in circle
Figure 2. Particles obstacle avoidance algorithm
Where,
A : New coordinates
B : Particles position fall into obstacles area
C: Centre point of the circled obstacle
r: Radius of the circled obstacle
p: Distance from B to C
The particles obstacle avoidance is based on the equation
below.
-
8/2/2019 Low Cost Robot
4/6
= ()
(6)If any particle fall into the obstacles area and obstacleavoidance mechanism based on Eq. 6. is activated to find
the new position for the particle. The particle is forced out
perpendicular to the perimeter of the obstacle.
IV. SIMULATION SET UPThis PSO path planner performed in MATLAB with the
simulation environment as presented below.
x Fig. 3. shows the simulation space is 100 pixel by100 pixel rectangle plane with 3 obstacles.
Figure 3. The position of the obstacles in the
simulation study
x Only several parts of the obstacles body perceivedby the camera, simulating partial known
environment path planning.
x The safety distance from the robot to obstacles is 5pixels.
x The robot perceived the obstacles one after anothermeans the path planning will change depending on
the detection of the obstacles by the camera.
x Population size: In general, any evolutionarysearch algorithm show improved performance with
relatively larger population. However, very large
population size will take greater cost in terms offitness function evaluations without producing
significant improvements. In this simulation thepopulation size is set to 1000, 100 and 30.
Figure 4. Graphical representation of the gbestswarm (left) and lbest (right) neighbourhood
topologies
x The neighbourhood topology: In this simulationgbest swarm as shown in Fig. 4. is used as
neighbourhood topology, all particles areneighbour of each other; thus, the position of the
best overall particle in the swarm is used in the
social term of the velocity update equation. This is
based on the assumption that gbest swarms
converge fast because all the particles are attracted
simultaneously to the best position of the search
space. The swarm will converge slower in lbest
swarm form because only a specific number of
particles can affect the velocity of a given particle
[16].x Safety distance: The safety distance between the
robot and obstacles is set to 5 pixels.
x Cognitive and social coeffiecient c1 and c2: Both ofthese coefficients are set to 2.05 (full model) based
on the setting experiment from previous studies[17,
18]. However in cognitive and social coefficient
experiment these values are varied.
x Inertia is set to 1.3 as a benchmark.x vSLAM is assumed implemented in this
simulation.
V. RESULTSThree different situations simulated in this experiment. Thefirst experiment is the simulation for the path planning in
the known environment both complex and simple obstacle
avoidance. Second situation is the path planning with time
updated obstacles information. In this experiment thenumber of the obstacle will increase as the robot moves
toward the target. The results from final simulation show theeffect of cappingXmax.
Figure 5. Simulation results for the path planning in for
unknown environment.
Fig. 5 shows the simulation results of the unknown
environment. The robots will update the path planning based
on the information from the camera at the time t. In this
experiment the robots managed to find the path and avoidedthe obstacles appears in its vision system. Every time the
robot finds new obstacle which is not in its library it willstop and recalculate the path.
-
8/2/2019 Low Cost Robot
5/6
A.Xmax setting
(a)Xmax 100 , 3.6 secs (b)Xmax 50, 5 secs
Xmax 25, 7.9secs (d)Xmax 10, 17.1 secs
Figure 6. Paths created by system in several differentXmaxsetting
In addition to canonical PSO, to control the randomness
of the possible solution in this algorithm Xmax is
implemented. Xmax is the maximum distance that a particle
can move. As shown in Fig. 6. limiting the maximum
distance will help the particles find more set of solution thus
it will create a smoother path in comparison to non cappingalgorithm. On other hands this effort will slow down theconverging time by the system. The number of particles
either 100 or 10000 would not affect the computational cost
much however implementing Xmax will increase 5 times of
the non capping algorithm.
Figure 7. Invalid path in complex known environmentXmax =100
Based on the Fig. 7. when Xmax is set too high the
possibilities of the system to create an invalid path is higher
as shown in the black square. Xmax not just important to
smooth and optimized the path but it is also a major factor
to create valid path to the target.
B.Population sizePopulation size gives a big impact to the performance of
the path planner. Even though Shi and Eberhart [19]reported that PSO is not sensitive to the population size
however for the path planning the fact is contradict to their
belief. Carlisle [20] suggested a population size of 30 is a
good option, however he also indicated that it might be too
small to be efficient, yet large enough to produce reliableresult. Table 1 shows the results from the experiments of
various particles population. When the number of
population increased it resulted shorter distance however asmall amount of the computational cost increased. The
environment for this simulation is based on the Fig. 5 where
the target is (800, 900).
TABLE I. EFFECTS OF THE POPULATION SIZE TO THE PERFORMANCE
Population 30 100 500 1000
Distance 1327 1322 1315 1310
Time(sec) 8.7 9 11.8 14.9
C. Cognitive and Social RatioIn [21], Kennedy suggested that the sum of the values of
cognitive and social components of the PSO (C1 and C2)should be about 4.0 and it is common to set both of the
components 2.05 each. Carlisle [20] varied the setting of C1and C2 and found by setting a higher social component the
performance of the PSO increased. He set C1 to 1.3 and C2
to 2.8. Based on the Table 2, it is clear that a higher social
coefficient as suggested by Carlisle produced an optimal
distance in comparison to other settings.
TABLE II. EFFECTS OF THE COGNITIVE AND SOCIAL RATION TO THEPERFORMANCE
Inertia
Value
C1 and
C2=1.49
C1 and
C2=2.05
C1 and
C2=2.5
C1=1.3
C2=2.8
Distance 1320 1310 1307 1295
Time(sec) 15.2 15 14.6 14.6
D. Genetic Algorithm vs PSOVarious studies show that PSO algorithm can outperform
genetic algorithm and other conventional algorithms [22] forsolving many optimization problems. This is partially due tothe fact that the broadcasting ability of current best
estimates gives a better and quicker convergence towards
the optimality. Even though a GA is theoretically ergodic
which means an individual can reach any point in problem
space with one jump or one generation, it is no ergodic in a
practical sense because of the multiple steps required in
space with obstacles.
Fig. 8. shows a comparison between path created by GA
[23] on the left side and the result created by PSO on the
-
8/2/2019 Low Cost Robot
6/6
right side for the same initial position and target. PSO
created better path in comparison to GA for the same path
planning problem.
a) Genetic Algorithm b) PSOFigure 8. A comparison results between Genetic Algorithm
and PSO
VI. CONCLUSIONIn this paper, investigative results on using particle swarm
optimization to solve near optimal path problem have been
reported. A higher population PSO will increase the quality
of the results however it drawback is higher computationalcosts are needed. Based on the application either fast
decision of optimal path the number of particle can be
decided. Social ratio also plays important role to increase
the performance of the PSO. A higher value social ratioleads to better results in contrast with full model where the
cognitive and social ratios are the same value. The next step
in this research is to solve the optimization problem of
simultaneous localization and mapping by using particle
swarm optimization.The results are highly encouraging with much better
performance exhibited by the proposed particle swarmoptimization based path planner. It should be noted that the
performance of the PSO path planner can be improved
further if the best parameters combinations are found and
further investigations are underway for this purpose.
ACKNOWLEDGMENT
The first author would like to acknowledge support by
Ministry of Higher Education, Malaysia for the scholarshipgiven to carry out this research.
REFERENCES
[1] Rusu, R.B. ; Robotin, R. ; Lazea, G. ; Marcu, C., Towards Open
Architectures for Mobile Robots:Zeero, In Proceedings InternationalConference On Automation, Quality and Testing, Robotics 2006,
pp.260
[2] Gao. M, Xu. J, Wu. H, Path planning for mobile robot based on chaosgenetic algorithm, In Proceedings 4 th International Conference on
Natural Computation, ICNC 2008, pp. 409-413
[3] C. Yuwan, S. Choingzhi, X. Nanggang, W. Lu, Path planning methodfor mobile robot based on Ant Colony Optimisation algorithm,Electronics and Applications, 3
rdIEEE Conference on Electronics and
Applications, pp.298-301.[4] Ningning Qi; Bojun Ma; Xian'en Liu; Zhenxin Zhang; Dongchun Ren;,
A modified artificial potential field algorithm for mobile robot path
planning, In Proceedings of World Congress on Intelligent Control andAutomation 2008, pp.2603-2607.
[5] Prandhan, S.K., Parhi, D.R. and Panda, A.K., Fuzzu logic techniquesfor navigation of several mobile robots, Applied Soft Computing
Journal 9(1), pp.290-304.
[6] Lu, M., Wu, D.-P., Zhang, J.-P., A particle swarm optimization-basedapproach to tackling simulation optimization of stochastic, large-scale
and complex systems, Lecture Notes in Computer Science (includingsubseries Lecture Notes in Artificial Intelligence and Lecture Notes inBioinformatics) 3930 LNAI, 2006, pp 528-537.
[7] Munguia, R.; Grau, A.; Closing Loops With a Virtual Sensor Based onMonocular SLAM Instrumentation and Measurement, IEEETransactionson Volume 58, Issue 8, Aug. 2009, pp. 23772384. DOI:
10.1109/TIM.2009.2016377
[8] P. Pirjanian, N. Karlsson, L.Goncalves E. D. Bernardo, Low-Cost,Visual Localization and Mapping for Consumer Robotics,http://www.wv.inf.tu-dresden.de/~wiki/Robotics/Media/Paolo%20Pirjanian/vSLAM-Paper.pdf
[9] Krim, S.A., Elaziz, O.A.A., Chatila, R., A computationally efficientEKF-vSLAM, In Proceedings of 16th Mediterranean Conference on
Control and Automation, pp. 511-516.
[10] Sren Riisgaard,; Morten Rufus Blas,; SLAM for Dummies : A
tutorial approach to Simultaneous Localization and Mapping
http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-412j-cognitive-robotics-spring-2005/projects/1aslam_blas_repo.pdf
[11] K. T. Song, L. D. Yuan, Mobile robot loop closing using monocularvision SLAM, In Proceedings of SICE Annual Conference 2010, pp.1920-1923
[12]Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool "SURF:Speeded Up Robust Features", Computer Vision and ImageUnderstanding (CVIU), Vol. 110, No. 3, pp. 346--359, 2008
[13]James Kennedy, Russell C. Eberhart, Yuhui Shi, The Particle Swarm,Swarm Intelligence, pp. 287-325
[14] Li Lu; Dunwei Gong;Robot Path Planning in Unknown Environments
Using Particle Swarm Optimization, Natural Computation, 2008. ICNC'08. Fourth International Conference onVolume 4, 18-20 Oct. 2008,
pp:422 - 426
[15] Shi, Y. H., Eberhart, R. C., (1998). Parameter Selection in Particle
Swarm Optimization, The 7th Annual Conference on EvolutionaryProgramming, San Diego, USA.
[16] J. Kennedy and R. Mendes; Population structure and particle swarm
performance, In Proceedings of the IEEE Congres on EvolutionaryComputation (CEC) 2002.
[17]K.E. Parsopoulos, M.N. Vrahatis, Parameter selection and adaptationin unified particle swarm optimization, Mathematical and ComputerModelling, Volume 46, Issues 1-2, pp. 198-213.
[18] Y.Shi and R.C. Eberhart, Parameter selection in particle swarmoptimization, In Proceedings of the Seventh Annual Conference on
Evolutionary Programming, pp. 591-600, 1998.
[19] Shi, Y. H., Eberhart, R. C., (1998), Empirical Study of Particle Swarm
Optimization, 1999 Congress on Evolutionary Computing, Vol. III, pp1945-1950.
[20] A. Carlisle, G. Dozier., An off-the-shelf PSO, Proceedings of the
Particle Swarm Optimization Workshop, pp. 1-6.[21] Kennedy, J. (1998). The Behavior of Particles, 7th Annual Conference
on Evolutionary Programming, San Diego, USA.
[22] Kennedy, J., Spears, W.M.: Matching algorithms to problems: anexperimental test of the particle swarm and some genetic algorithms onthe multimodal problem generator. In: Proceedings of the IEEE Intl
Conference on Evolutionary Computation, pp. 7883 (1998)
[23] Jianguo, W., Yilong, Z., Linlin, X., Adaptive Genetic Algorithm
Enhancements for Path Planning of Mobile Robots, Proceedings on
International Conference on Measuring Technology and MechatronicsAutomation 2010, pp. 416-419.