low cost robot

Upload: goldenrajan

Post on 05-Apr-2018

217 views

Category:

Documents


0 download

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

    [email protected]

    Sang Heon LEE, Hung Yao HSU

    Department of Advanced Manufacturing andMechanical Engineering

    University of South AustraliaSouth Australia, Australia

    [email protected]

    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.