A MOVING OBSTACLES PLANNER ALGORITHM FOR A SIX-WHEELED SURVEYING ROBOT

: Nowadays, robotic systems such as ground vehicle robots are mostly used in many industrial and military applications. Therefore, the path planning problem in the robotics domain is very important. Moving Obstacles Planner (MOP) algorithms have got the researchers interests in recent years and some of the most recent ones have been implemented in Robot Operating System (ROS) which is an open source middle wear to work with robots. This paper aims to compare the state-of-the-art MOP algorithms including Rapidly exploring Random Tree (RRT) and those implemented in the ROS navigation stack such as Dynamic Window Approach (DWA) local planner coupled with Dijkstra and A* as global planners on a six-wheeled robot known as MOOR in simulation environment. The results reveal that all of these algorithms have been designed for a square shape footprint robot and thus have limitations for MOOR with a rectangular footprint shape.


INTRODUCTION
Path planning is a well-known problem in the areas of robotics (LaValle, 2006) and autonomous systems.Generally, path planning for a mobile robot refers to find the collision free, shortest, and smooth route from the specified start location to the desired goal location with optimal path cost.The operational environment of the robot is rarely static, and it often has many moving obstacles (Connell & La, 2017).This environment is called dynamic environment and is representative of the real world.The robot will need to decide how to proceed when one of these obstacles is obstructing its path (Connell & La, 2017) without a collision probability.The algorithms for path planning are classified into different categories.In one case, they are global and local.Global algorithms use a priori knowledge e.g. a map of the environment to plan the path, and are thus applicable to planning in static environments.Local algorithms by the movement of the robot through the environment, revising the path based on environmental changes (Samadi & Othman, 2013).This paper looks to an algorithm to path planning the surveying robot known as MOOR.A robot with six wheels, which includes the control boards, battery and various sensors such as cameras, GPS, IMU, laser scanner and odometer.The robot programs are developed under open source middle-ware tools known as ROS.ROS consists of a set of useful sources by which the robot is capable of moving in a known environment, unknown and less known.It has a package known as the navigation stack (Franklin et al., 2013) to path planning.The aim of this research is to compare the MOP algorithms including RRT and those implemented in the ROS navigation stack such as DWA local planner coupled with Dijkstra and A* as global planners on the MOOR in simulation environment.Figure 1 shows MOOR.The remaining sections of this paper are organized as follows.
In the following section, the state-of-the-art MOP methods considered in this article are described and after that, in section 3 their implementation on MOOR is explained.The simulation results are shown and discussed in section 4. Finally, the concluding remarks are presented in section 5.

MATERIALS AND METHODS
Robot motion planning problem, as the name suggests, is to provide an efficient path between a given initial state and a target state, under the condition that the motion is constrained.After many years of development, motion planning has matured, and various algorithms and methods of determining a path have been researched.Path planning algorithms are mainly divided into the following categories: graph-based search methods, random sampling-based methods, potential field approaches and many other different planning methods.In the following sections are provided the brief description of each kind of the path planning methods.A series of graph-based and sampling-based algorithms are discussed particularly includes Dijkstra and A* as a global planner, DWA as a local planner and RRT algorithm.

Graph-Based Search Algorithms
Graph-based search methods are node-based algorithms (Yang et al., 2016); they are named by the reason that commonly deal with nodes and arcs weight information and is also called grid (network) algorithms (Zhan & Noon, 1998).These algorithms calculate the cost by exploring through the nodes in configuration space in order to find the minimal cost paths.Search algorithms are usually preferred to solve path planning problems of mobile robots with low-speed (Pivtoraiko, Knepper, & Kelly, 2009) in low-dimensional space (Daniel, Nash, Koenig, & Felner, 2010;Veeraswamy & Amavasai, 2006).Across the years, a number of classical graph-based algorithms have been developed.Recently some of grid-based methods treating nonholonomic constraints have been proposed (Pivtoraiko et al., 2009).The attention of this paper is on the Dijkstra and A* algorithms.

Dijkstra Algorithm
Dijkstra (Dijkstra, 1959) is a simplest graph-based solution to find the less weight path from the starting point to the goal.It was conceived by computer scientist Edsger W. Dijkstra in 1956 and published three years later.The weight of a path in a weighted graph equal to the sum of the weights of its edges.This algorithm assumes that there are n vertices and the length of all pair of points that are connected together is known and there is at least one connection between the two vertices.The aim of this algorithm is to find a path with the shortest total length from the first point to the target point.In each stage, the algorithm chooses the shortest distance to the starting point and the distance of the other vertices are updated according to the distance x.For each vertex v: where ( , ) w x v = weights of the arc between x and v

A* Algorithm
Peter Hart, Nils Nilsson and Bertram Raphael of Stanford Research Institute first described A* algorithm in 1968.It is an extension of Edsger Dijkstra's algorithm.The A* algorithm (Seo & Kim, 2013) is another graph-based path planning method to help the robot to find the optimal path in grid decomposed static grid maps.The environment with free space and obstacles is presented by a set of uniformed regular grids.
The A* uses a heuristic based Dijkstra algorithm to obtain the optimal result for the robot.The drawback is that the A* uses uniformed grids representation which must allocate specific large amounts of memory for regions that may never be traversed or may not contain the obstacles.This drawback may affect the efficiency of the method.A* algorithm shown in Figure 2. A* tries to minimize the cost for the path by the formulized function as (Korkmaz & Durdu, 2018): where () gn = cost of each move from the starting node () hn = heuristic in which estimates future costs A velocity-based local path planning algorithm (Tomović) that first discretely sampled the control space and then simulated the robot movement in the path and chosen through the potential orders.The DWA algorithm is a more efficient algorithm because of smaller space sampling (Fox, Burgard, & Thrun, 1997).Figure 3 shows the DWA algorithm.

Sampling-Based Algorithms
Sampling-based algorithms all-share themerits of using an initial guess; they differ in how to do post processing to ensure completeness or optimum.The random initial guess ensures escaping of local minimum, and this kind of algorithms does not rely much on environmental representation.Sampling-based Planning (SBP) approaches are appropriate for planning in high dimensional spaces (Pivtoraiko et al., 2009).In these approaches, major limitation of is their slow convergence rate (Noreen, Khan, & Habib, 2016).LaValle et al. focused mainly on sampling based algorithms.

Rapidly Exploring Random Tree Algorithm
Rapidly Exploring Random Tree method is first proposed by LaValle (LaValle, 1998), that is a randomized path planning based on sampling algorithms that taking an initial point as the root node and incrementally generations a roadmap tree from samples (leaf nodes) drawn randomly and to quickly explore the a large area of the configuration space (Karova et al., 2015).When leaf nodes in the random tree contain the goal point or enter the goal region, a path from the initial point to the goal point can be found (Xinyu, Xiaojuan, Yong, Jiadong, & Rui, 2019).RRT is suitable algorithm to solve path planning problems under holonomic and non-holonomic constraints (Korkmaz & Durdu, 2018).Figure 4 shows the RRT algorithm.

IMPLEMENTATION
The cited algorithms in the previous section were implemented on MOOR with respect to its characteristics in simulation environment in this section.This experiment was run in the VMware Workstations Ubuntu 14.04 on a computer with an Intel Core i5-720M CPU and 4GB RAM.

Running on simulation
Simulation is provided for MOOR 1 , which provides a suitable environment for evaluating the performance of the MOP algorithms.The simulation is developed based on Gazebo on ROS and has all the robot sensors.In ROS, URDF tool used for modeling a robot and navigation stack used for moving that robot in the simulated environment (Gupta, Umrao, & Kumar).Gazebo has been used as a virtual world for the robot.Modeled MOOR with six motor actuated wheels on the sides and a Hokuyo 2D laser scanner in front of the robot to receive information about the environment during its motion as shown in Figure 5. Wheels are equipped with wheel encoders to obtain odometry information of the robot.Created 3D world in Gazebo simulator as shown in Figure 6.LiDAR 2 sensor is commonly used in robot navigation to create a map of environment (Gupta et al.).MOOR uses a 180 ̊ LiDAR sensor to get wide view of the environment.Figure 7 shows mapping in simulation environment with MOOR.

RESULTS
Set of experiments has been conducted to evaluate the performance of the MOP algorithms.In order to implementation path planning algorithms on MOOR, we simulated robot in a virtual environment with zero-degree-of-freedom.Rviz (ROS Visualization Tool) used for visualization of robot's motion in the world.We built the simulation environment of the robot in Gazebo based on ROS and displayed it in Rviz.This section discusses the performance of the RRT, DWG, Dijkstra and A* and compares the results.The ROS navigation stack is used to autonomously navigate MOOR in the simulation environment.Simulation results show that surveying robot was unable to successfully pass the obstacles in the environment and couldn't change its path to reach the goal, i.e. these algorithms couldn't achieve good performance on rectangular robots.

CONCLUSION
With development of robotics, path planning is applicable to robots and many other fields.Therefore, it is necessary to study path planning algorithms.This paper presented the implementation and compare of path planning based on MOP algorithms and ROS navigation stack on the six-wheeled robots known as MOOR in simulation environment.The results reveal that all of these algorithms have been designed for a square shape footprint robot and thus have limitations for MOOR with a rectangular footprint shape.

Figure 7 .
Figure 7. Mapping by MOOR in simulation environment

Figure 9 .
Figure9.Connection between RRT package's nodes(Umari & Mukhopadhyay, 2017) Figure 10 and 11 show the simulation results of performance of Dijkstra and A* algorithms as global planner with DWA as local planner.In Figure 12, RRT algorithm performance result has been represented.

Figure 10 .
Figure 10.Performance of Dijkstar algorithm on a cost map