Multi-Robot Traffic Planning Using ACO DR. ANUPAM SHUKLA, SANYAM AGARWAL ABV-Indian Institute of Information Technology and Management, Gwalior INDIA Sanyam.iiitm@gmail.com Abstract: - Path planning is useful in various ways that includes transportation. Traffic planning (direct vehicles through path planning) is a well known, really important and real time problem and it is important to make multi robot path planning scenario more similar to day to day traffic situation. Practically, reducing the monitoring time and to ensure that the system can adopt the dynamic changes, congestions and other situations are the main features required in a traffic planning system. We have proposed a fast approach for that situation to find the best shortest paths and also prepare other better alternatives paths. The main objective of each robot is to reach to its destination as soon as possible while avoiding collisions and deadlocks. We want to minimize the cost of travelling between the origin node and destination node. At intersection point robot are directed to an intermediate temporarily sub-goal. If quickest path is busy then next quickest alternative ways are selected. We proposed an Advance Ant Colony Optimization Algorithm in dynamically changing traffic scenario and compare the results with ACO as well as with Dijkstra algorithm. Key-Words: - ACO(Ant Colony Optimization), VANET(Vehicular Ad-hoc Network) 1 Introduction Intersection is a point where two or more roads are leading into. Robots are moving in planar on the roads with different speeds. Intersection agents and robotic agents are able to communicate with either type of agents [1]. In navigation and motion control of robots path planning is big issue. We want to guide the robots and decide the next step of their path at the intersection points such that they do not collide and reduce the congestion. 1.1 Objective Our objective is also to reduce the sum of time durations spent by all robots in crossing and to reach their respective destination. Dijkstra is a successful and the most popular path planning system. But in traffic system quick response is needed by robots and also the quick adaptation of the dynamic changes that reflects in the environment or network. We have assumed that each robot entered in the system knows the rough coordinate of its destination and data can be stored at robotic agents as well as at intersection agents. Number of robotic agents cannot be determined as new robots are continuously entering in the system. 1.2 Motivation Path planning to direct the vehicles to their destination in dynamic traffic situation and to use the road network resources efficiently is the main challenge. Properly guided route can decrease the congestion, pollution, fuel consumption and the time consumption. Robots, car like robots [5], can be considered as vehicles trying to travel from one node (place) to another. They are travelling through the edges (paths or roads) present between nodes. We need each robot to choose such a path that it reaches to its destination as fast as possible and to avoid collisions during the process, these concepts are path planning and motion coordination respectively [9]. When we try to handle more than one robot [3], among which each has its own source and different destination while avoiding their collision among themselves as well as from obstacles then multi robot planning comes in to the picture. As we discussed in real life traffic, there are lots vehicles. Each has its own starting point, destination and route. All of them want to reach to their respective destination as soon as possible while avoiding collision at same time and with covering minimum distance possible. Or we can say that we want to minimize the average running time [12]. 2 Literature Review Path planning can be done in three ways. Single robot planning is used when we have only one robot and we need to plan its path. Path planning of multi robot system is further categorized in two different ways. First is the Centralized approach, in which group of robots are considered as a single ISBN: 978-960-474-379-7 117
system. Another is decoupled approach, in which all robots work separately but with coordination for a single objective. And the last one is multi robot teams, in which there are multiple teams with different kind of tasks and with more than one member [3]. Fig. 1- Flow of Information VANET (Vehicular Ad-hoc network) establishes a local network between the vehicles close to each other. It could be used to connect robots with nearby bots [7]. And if we connect the main connection setter robot to the internet then we can provide external and important information to robots like traffic densities in other areas, next node or some other useful instructions [2]. Since we have an almost static map so there is an idea to divide the map in sub-map. Vehicles can move freely from one sub-map to another. Concept of sub-map is just to ease the complexity of coordination. Robots present in map have some risk of collision [11], so they need to take care only of those bots which are present in same sub-map [5]. For the purpose of more and accurate information and better path selection, we want to maximize the information present at each node. Robots can learn information from a node and pass that to the next nodes they visit [8]. Dijkstra algorithm is widely used and is a successful algorithm for routing problems to find the shortest path in a weighted directed graph network graph. It is often used in routing. For example, if the vertexes of the graph represent cities and edge path costs represent driving distances between pairs of cities connected by a direct road, Dijkstra algorithm can be used to find the shortest route between one city and all other cities. As a result, the shortest path first is widely used in network routing protocols [15]. The ACO (Ant Colony Optimization) algorithm is an optimization technique based on swarm intelligence [16]. Swarm intelligence deals with the systems of individuals present in nature who works in the groups in well self-organized manner. ACO is a system based on intelligent behavior of ants as they can find the most optimized way to the food including the mechanism of adaption cooperation [16]. 2.1 ACO ACO is based on the behavior of a group of ants searching for food. Ants randomly travel to search food with leaving a trace or marker (pheromones) on its way. When an ant finds the food source it comes back to its path. When it comes across the marker, it chooses traversing path with a probability which is function of length of edge, intensity of pheromone present at that path. Pheromone also evaporates after some time and it is detectable by other ants. So after certain time interval, ants find most optimal path. This algorithm has been used to solve travelling salesman problem and many other problems. Fig. 2- ACO (Ant Colony Optimization) [15] At an intersection point, selection of path is based on 2 parameters i.e. trail and attractiveness. Each ant evaluates the probability to select any path and with that it also modifies the value of the trail. At each step, each ant calculates the set of path that it can opt and for each possible option it calculates the probability of choosing that path (probability of moving from one state to another) which depends upon The attractiveness of the move that is a heuristic value. It decides the desirability of that move. The trail level that indicated that how frequently does that path has been opting by other ants in the recent past. Procedure ACO_MetaHeuristic While(not_termination) generateallsolutions() DaemonActions() PheromoneValueUpdate() endwhile() end procedure ISBN: 978-960-474-379-7 118
2.1.1 GenerateAllSolutions() First we find all the possible paths and probability of their selections. It includes the computation of amount of pheromone found at all paths and the probability factor. 2.1.2 ExecuteDaemonActions() Daemon activities are those which are not controlled and handled by a single ant. They are centralized actions. For example if we find congestion or blockage on any path then we removed that particular path from the options for an ant at that point. is the set of at edges that are starting from that intersection point. is the power of pheromone that shows how recently that path has been chosen. is the power of heuristic, it signify how much exploration has been done and with the large value ants will more prefer the edge with high value of the hueristic. 2.1.3 PheromoneValueUpdate() When an ant selects a path, we need to update the pheromone value of that path as it is recently selected. As we know that pheromone evaporates regularly with some rate so we need to update the pheromone values of all other paths as well. Ants are meant to travel from a single source to a single destination, but in the traffic network robot may have different sources and different destinations. So instead of a single type of universal pheromone we have multiple kinds of pheromone. These classified pheromones are for according to different sources and destination. In figure 4, all ants need to travel from F to N. In that case ants can sense the pheromone and make decision simply by its value. But in road map if a robot start travelling from node 1 to node 4 and other robot travelling from node 1 to node 3, then both of them cannot use same pheromone to make their decisions. We need to define different pheromone according to the source. Probability of selecting a path can be given as Fig. 3- Flow chart of ACO [15] defines the distance between two nodes. Pheromone levels also filter out the edges that lead to the dead end. If the chosen path is not better than previously known best path then the pheromone evaporates. It decreases the probability of that path to be selected in future path selection. Eq. 1- Probability of path selection (ACO) Equation 2- Heuristic value defines the level of pheromone present at that path that means how many times that path has been selected in previous iterations. is the heuristic value versus the level of pheromone that gives some value to the path which doesn t has pheromone or has low value of pheromone. Figure 4- ACO in dynamic environment ISBN: 978-960-474-379-7 119
In dynamic road network, we need to re-initialize the pheromone level each time when system face some changes, get some obstacles or congestion. 2.3 Gap Analysis We have taken the map as a directed graph. Locations or landmarks are the vertexes and the paths between them are edges. Edges will contain information of source, destination and distance. There are several assumptions that we have used 1- A memory is allotted to each node. 2- Robots have network connections. We could keep them informed. 3- Decisions can be made at nodes. If an edge is occupied and another robot tries to travel through the same edge then the edge is considered as busy. But if the travelling robots are suppose to leave the edge before the collision could take place or the arriving robot can overtake the travelling robots then that edge would not be considered as busy for that robot. Thus, our main aim is to find collision free quickest path. This approach is preferred because it assures to provide almost quickest path and avoid the deadlock situation. We have considered most practical scenario we can think of. Whole system never stops as new vehicles are continuously entering in the system. So the main objective of our approach is that each robot reaches to its destination without any collision in least possible time. Dijkstra is the best known algorithm that finds the shortest path from destination node to all the other nodes in static environment with time complexity. But in traffic planning we have a dynamic and ever changing system. Congestions and obstacles are the factors that make the system dynamic. And it will be inefficient to apply Dijkstra every time system faces any change. So we use Ant Colony Optimization in path planning for quick decision in dynamic environment which is very effective in high traffic scenario. When we left some ants in a maze and put some food on the destination point, ant start exploring the maze and start following the most optimal path within an hour. After that if we put some obstacle in that path then nearly within an hour ants have found the next optimal path available. We are proposing to apply this swarm mechanism to plan the traffic. 3 Implementation Initially we have a simple map drawn from the list of nodes and edges provided. Fig. 5- Map drawn Each node has its coordinates and each edge is associated with two nodes and the cost of that edge. Map is drawn dynamically from the data. Java enables to draw the lines that are used to denote the path present between those two nodes. Initially all edges are of black color. Now we will make the selected path to blue and the best known path will be shown as red. Figure 6- Data format as provided As any path got selected it colored to blue. Next path to traverse is decided through the algorithm. Figure 7- Map: selection of route (traversal node in blue) And after first iteration to the last iteration, after each iteration we get the best known path (most optimal path). Figure 8- Known most optimal path (by red) ISBN: 978-960-474-379-7 120
Best known path, weights of the edges and minimum cost according to the algorithm is displayed in the consol. Figure 9- Console would prefer to use to compare the time elapsed with other algorithms. For the 0.5 value of λ, Advanced ACO is exactly same as simple ACO. With the simple observation of graphs (Figure 14 and 15), we are sure on the value of λ that is most appropriate for path planning. These graphs are driven for the scenario with 35 nodes and 70 edges. Dijkstra provides minimal path of cost 76 on that. So we know where the algorithms are giving us the correct results. We are assured now that algorithm is giving right results. We run the algorithm for different value of λ, different number of robots, edges, nodes and number of iterations. We find the best suitable value of λ and compare that with ACO on the basis of elapsed time and accuracy. 4 Result 4.1 Appropriate value of λ We implemented Dijkstra, ACO and A-ACO with classified pheromone and checked their adaptability to the changes in the environment. We know Dijktra gives the most optimal path so we compare A-ACO with different values of λ for different number of iterations. In advance ACO we set the value of λ to 0.8 initially and after a threshold number of iteration we change it to 0.3. Cost of the shortest path in that scenario as given by Dijkstra is 76. And we can see that A-ACO found the short path just in around 30 iterations. We observe that with λ is equal to 0.8 we get the short path more quick so we adopt that in Advanced ACO and switch between the λ values according to the situation to get the shortest path more quick. Fig. 10 Distribution Analysis This helps us to determine the value of λ and to find out the most appropriate mix up values of λ that we Fig. 11 Comparison among different λ values 4.2 Compare with other Algorithms Now we have figured out the best value of λ in our Advanced Ant Colony Optimization. We are comparing here the Advanced ACO with the normal ACO and Dijkstra on the basis of time. For comparing these algorithms, we have taking different number of nodes and edges, and robots are initiated with multiple nodes and they have different destinations. So in the table (Table 2), we listed the costs of the best path found by the algorithms, the average cost of paths by the algorithms in the process of each robot to reach its destination while travelling and selecting the next path using those algorithms and the time elapsed in that process. Environment is also listed for the better understandability of the scenario dependency of the methods. As algorithms worked differently and the right selection of the algorithm depends on the environment. ISBN: 978-960-474-379-7 121
Following is the table of comparison of the three algorithms (ACO, Advanced ACO and the Dijkstra) time than Dijkstra but still runs better than normal ACO. As we increase number of edges, the complexity of system increases and the Dijkstra acts more costly and takes more time than Advanced ACO. Advanced Ant Colony Optimization is more appropriate than Ant Colony Optimization and Dijkstra in traffic network. 5 Future Discussion Fig 12. Dijkstra, ACO and A-ACO in dynamic changing environment As in the above table when we run the algorithms for (4 nodes, 7 edges) Dijkstra and Advanced ACO gave the same minimal cost and Dijkstra took less time than other algorithms. But as we keep on increasing the complexity of the environment and keep adding new nodes and the edges Dijkstra seems more time taking and costly than the advanced ACO. Dijkstra runs in polynomial time. So the elapsed time increases exponentially in Djkstra. Traffic network is a very vast network. It has a lot more number of edges and nodes than this one. So this table shows that for more number of edges and nodes, Advanced ACO runs better than ACO and Dijkstra. ACO is proved more costly in terms of the cost of the path. Average cost of the paths in the system is a large in ACO with compare to Advanced ACO and Dijkstra. We have plotted a graph with that table that displays clearly that as the complexity increases (as in traffic scenario) the advantage of advanced Ant Colony Optimization increases. Time is in the seconds. Figure 10- Time elapsed with increasing the complexity of the environment 4 Conclusion For the very less number of edges, Dijkstra runs perfectly and Advanced ACO takes a little more A-ACO, ACO and Dijkstra has implemented and compared in dynamic changing environment. Intervehicle communication could be used to better information exchange and more knowledge gain of robots. Ants use the lane mechanism to avoid traffic by communicating with each other and following the pre-defined path. Collision management is still to be explored. References: [1] V, Aditya Teja, Viswanath, D. V. Karthikeya and Krishna, K. Madhava, A Mixed Autonomy Coordination Methodology For Multi-Robotic Traffic Control, Bangkok, Thailand : IEEE, 2009. International Conference on Robotics and Biomimetics. p. 6. [2] Ray, Anjan Kumar, et al, Coordinated Traffic Scheduling for Communicating Mobile Robots, New Mexico, USA : IEEE, 2011. International Conference on System of Systems Engineering, Albuquerque. p. 6. [3] Svestka, Petr and Overmars, Mark H, Coordinated path planning for multiple robots, 1998, Robotics and Autonomous Systems 23 (1998) 125-152, p. 28. [4] Parker, Lynne E. Knoxville, Tennessee, Path planning and the motion coordination in teams of multiple mobile robots, USA : Springer, 2009. Encyclopedia of Complexity and System Science. p. 24. Springer. [5] Hollinger, Geoffrey and Singh, Sanjiv, Multi- Robot Coordination with Periodic Connectivity, p. 6. [6] Baumann, Rainer, Vehicular Ad-hoc Network, 2004, ETH Zurich. [7] Singh, Amarjeet, Krause, Andreas and Guestrin, Carlos, Efficient Planning of Informative Paths for Multiple Robots, UCLA. [8] Fleury, S., et a,l Multi-robot cooperation in the MARTHA project 1998, IEEE Robotics and Automation Magazine, pp. 36-47. ISBN: 978-960-474-379-7 122
[9] R.Alami, et al, Multi-robot cooperation through incremental plan-merging s.l. : IEEE, 1995. International Conference on Robotics and Automation. [10] Grossman, D.D., Traffic control of multiple robot vehicles. 1988, IEEE Journal of Robotics and Automation. [11] Nishiyama, S., Kato, S. and Takeno, J, Coordinating mobile robots by applying traffic rules, s.l. : leee, 1992. RSJ International Conference on Intelligent Robots and Systems. [12] Helbing, D, Traffic and Related Self-Driven Many-Particle Systems, 2001, rev. Modern Physics vol. 73. [13] Khatib, O., Real time obstacle avoidance for manipulators and mobile robots, 1985, International Journal of Robotics Research, Vol. 5(10). [14] Selamat, Ali, et al, A Fast Path Planning Algorithm for Route Guidance System, s.l. : IEEE, 2011. [15] Brand, Michael, Masuda, Michael and Wehner, Nicole, Ant Colony Optimization Algorithm for Robot Path Planning, s.l. : ICCDA, 2010. [16] Vaniya, S, Solanki, B and Gupte, S., Multi Robot Path Planning Algorithms, 2011, International Journal of Computer Science and Engineering Research and Development (IJCSERD), ISSN, p. 12. ISBN: 978-960-474-379-7 123