Low Cost Robot

Published on June 2017 | Categories: Documents | Downloads: 37 | Comments: 0 | Views: 202
of 6
Download PDF   Embed   Report

Comments

Content

Autonomous Mobile Robot System Concept Based On PSO Path Planner and vSLAM

Abdullah Zawawi MOHAMED Department of Advanced Manufacturing and Mechanical Engineering University of South Australia South Australia, Australia [email protected]

Sang Heon LEE, Hung Yao HSU Department of Advanced Manufacturing and Mechanical Engineering University of South Australia South Australia, Australia [email protected]

Abstract The idea of placing small mobile robots to move around in a large 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 on how to move around safely and effectively within reasonable computation cost. This paper describes a mathematical model for a development of a scheme for an autonomous low cost mobile robot system using visual SLAM (simultaneous localisation and mapping) and Particle Swarm Intelligent path planner. 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 this technique as a cost effective solution for a future home service robot. Keywords-component; autonomous robot; vSLAM; PSO; path planning

I.

INTRODUCTION

Success behind navigation of autonomous mobile robots heavily relies on the four factors : perception, the ability of the robot to interpret data from its sensors to meaningful data; localisation, the ability of the robot to determine its position 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 the early stages of autonomous robot development, the researchers 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 even before 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, for example, visibility graph, fuzzy logic, ant colony optimization (ACO), artificial potential field (APF) and
___________________________________ 978-1-4244-8728-8/11/$26.00 ©2011 IEEE

genetic algorithm (GA). For the implementation of such algorithm in real-time applications, there is however one important issue that must be addressed; the computation cost. 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 continuous optimization 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 the searching 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 is however 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 and the fuzzy reasoning table will rapidly expand with the increase of input quantity are the disadvantages of the fuzzy logic [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 path planning 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 is compromising 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.

II.

CONCEPTUAL ARCHITENTURE OF AUTONOMOUS MOBIEL ROBOT CONSIDERED

III.

PSO FOR PATH PLANNING

Conceptual architecture of the autonomous mobile robot consist of path planning, localisation and motion control to adapt 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 robot autonomously 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 novel attributes 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. A map, m, is consists of a set of k 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 system will update robot’s pose estimation based on odometry measurements relative to the last position estimation. In this case 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 landmark’s position will be taken into consideration and the accurate re-adjustment of the robot’s position according to it will be made by the system. This system 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 too close 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 move to a new position. These landmarks are then compared with landmarks library in the system using Speeded Up Robust Features (SURF) object recognition technique [12].

Particle Swarm Optimisation (PSO) is a method to find the optimal solution by imitating social behaviour of fish schooling bird flocking [13]. The group of individual achieves 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 greater fitness 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 single collision. 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 to the other systems this system only needs partial information from 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 for the 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. If pbest in current iteration > previous pbest Pbest= current pbest Endif Step 3.2: Find global best (gbest) – best fitness of all pbest 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 termination condition is reached
( + 1) = ( )+
1 1[

( )−

( )] +

2 2[

( )−

( )]

( + 1) =

( )+

( + 1)

...... (1) (2)

Where parameters used are: = inertia coefficient ( + 1)= current particle’s velocity ( )= previous particle’s velocity ( + 1)=current particle’s position

( )= previous particle’s position = uniformly distributed random number [0:1] 1 2 = uniformly distributed random number [0:1] 1 and 2 = acceleration constants ( )= current pbest ( )= previous particle’s position ( )= current gbest A 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 particle’s fitness value in the swarm. Each particle is accelerated toward its pbest and gbest locations using acceleration values c1 and c2 at each time step. These constants c1 and c2 decide the relative influence of the social and 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 when gbest arrives 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 however the paths are not smooth and secondly the particles will move outside the search space without converge. Velocity clamping 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 = × . The value of range [-vmax, vmax], where can 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 the PSO into local search. A. Fitness evaluation
1

F = Fitness function for the whole path planning optimization problem = radius of the circled obstacle = particle’s distance to the centre point of the obstacle The 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 and second fitness function f2 is to avoid the obstacles. is the particle distance to the centre point of the obstacle. 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 process of determining centre point of the obstacle by using image processing technique. Detected obstacle’s area is wrapped into rectangular box Fig 1. (a). to find the centre point and diameter. 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

= ( ( 0 + 2


1

)2 − ( − −
1

)2

(3) Figure 2. Particle’s obstacle avoidance algorithm Where, A : New coordinates B : Particle’s position fall into obstacle’s area C: Centre point of the circled obstacle r: Radius of the circled obstacle p: Distance from B to C The particle’s obstacle avoidance is based on the equation below.

2

=
1

) ,

,

≤ > (4) (5)

=

Where; and = particle’s position at x and y coordinates = Euclidean distance from the robot’s position to the 1 target 2 = Safety distance from the particle to the obstacles

=

× −( − )× −

(6)
x x

If any particle fall into the obstacle’s area and obstacle avoidance 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 UP

This PSO path planner performed in MATLAB with the simulation environment as presented below. x Fig. 3. shows the simulation space is 100 pixel by 100 pixel rectangle plane with 3 obstacles.

x x

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]. Safety distance: The safety distance between the robot and obstacles is set to 5 pixels. Cognitive and social coeffiecient c1 and c2: Both of these 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. Inertia is set to 1.3 as a benchmark. vSLAM is assumed implemented in this simulation. V. RESULTS

x

Figure 3. The position of the obstacles in the simulation study Only several parts of the obstacle’s body perceived by the camera, simulating partial known environment path planning. The safety distance from the robot to obstacles is 5 pixels. The robot perceived the obstacles one after another means the path planning will change depending on the detection of the obstacles by the camera. Population size: In general, any evolutionary search algorithm show improved performance with relatively larger population. However, very large population size will take greater cost in terms of fitness function evaluations without producing significant improvements. In this simulation the population size is set to 1000, 100 and 30.

Three different situations simulated in this experiment. The first 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 obstacle’s information. In this experiment the number of the obstacle will increase as the robot moves toward the target. The results from final simulation show the effect of capping Xmax.

x x x

x

Figure 4. Graphical representation of the gbest swarm (left) and lbest (right) neighbourhood topologies The neighbourhood topology: In this simulation gbest swarm as shown in Fig. 4. is used as neighbourhood topology, all particles are neighbour 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

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 avoided the obstacles appears in its vision system. Every time the robot finds new obstacle which is not in its library it will stop and recalculate the path.

A. Xmax setting

B. Population size Population 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 reliable result. Table 1 shows the results from the experiments of various particle’s population. When the number of population increased it resulted shorter distance however a small 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

(a) Xmax 100 , 3.6 secs

(b)Xmax 50, 5 secs

Population Distance Time(sec) (d) Xmax 10, 17.1 secs © Xmax 25, 7.9secs Figure 6. Paths created by system in several different Xmax setting 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 capping algorithm. On other hands this effort will slow down the converging 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.

30 1327 8.7

100 1322 9

500 1315 11.8

1000 1310 14.9

C. Cognitive and Social Ratio In [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 C1 and 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 THE
PERFORMANCE

Inertia Value Distance Time(sec)

C1 and C2=1.49 1320 15.2

C1 and C2=2.05 1310 15

C1 and C2=2.5 1307 14.6

C1=1.3 C2=2.8 1295 14.6

D. Genetic Algorithm vs PSO Various studies show that PSO algorithm can outperform genetic algorithm and other conventional algorithms [22] for solving many optimization problems. This is partially due to the 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

Figure 7. Invalid path in complex known environment Xmax =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.

right side for the same initial position and target. PSO created better path in comparison to GA for the same path planning problem.

[5] Prandhan, S.K., Parhi, D.R. and Panda, A.K., Fuzzu logic techniques for 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-based approach to tackling simulation optimization of stochastic, large-scale and complex systems, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 3930 LNAI, 2006, pp 528-537. [7] Munguia, R.; Grau, A.; Closing Loops With a Virtual Sensor Based on Monocular SLAM Instrumentation and Measurement, IEEE Transactionson Volume 58, Issue 8, Aug. 2009, pp. 2377 – 2384. DOI: 10.1109/TIM.2009.2016377

a) Genetic Algorithm b) PSO Figure 8. A comparison results between Genetic Algorithm and PSO VI. CONCLUSION

[8] P. Pirjanian, N. Karlsson, L.Goncalves E. D. Bernardo, Low-Cost, Visual Localization and Mapping for Consumer Robotics,
http://www.wv.inf.tudresden.de/~wiki/Robotics/Media/Paolo%20Pirjanian/vSLAM-Paper.pdf

In 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 computational costs 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 ratio leads 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 swarm optimization 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 scholarship given 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 International Conference On Automation, Quality and Testing, Robotics 2006, pp.260 [2] Gao. M, Xu. J, Wu. H, Path planning for mobile robot based on chaos genetic 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 method for mobile robot based on Ant Colony Optimisation algorithm, Electronics and Applications, 3rd IEEE 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 and Automation 2008, pp.2603-2607.

[9] Krim, S.A., Elaziz, O.A.A., Chatila, R., A computationally efficient EKF-vSLAM, In Proceedings of 16 th Mediterranean Conference on Control and Automation, pp. 511-516. [10] Søren Riisgaard,; Morten Rufus Blas,; SLAM for Dummies : A tutorial approach to Simultaneous Localization and Mapping http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-412jcognitive-robotics-spring-2005/projects/1aslam_blas_repo.pdf [11] K. T. Song, L. D. Yuan, Mobile robot loop closing using monocular vision 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 Image Understanding (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 Evolutionary Programming, San Diego, USA. [16] J. Kennedy and R. Mendes; Population structure and particle swarm performance, In Proceedings of the IEEE Congres on Evolutionary Computation (CEC) 2002. [17] K.E. Parsopoulos, M.N. Vrahatis, Parameter selection and adaptation in unified particle swarm optimization, Mathematical and Computer Modelling, Volume 46, Issues 1-2, pp. 198-213. [18] Y.Shi and R.C. Eberhart, Parameter selection in particle swarm optimization, 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, pp 1945-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, 7 th Annual Conference on Evolutionary Programming, San Diego, USA. [22] Kennedy, J., Spears, W.M.: Matching algorithms to problems: an experimental test of the particle swarm and some genetic algorithms on the multimodal problem generator. In: Proceedings of the IEEE Intl Conference on Evolutionary Computation, pp. 78–83 (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 Mechatronics Automation 2010, pp. 416-419.

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close