Present in many daily applications, path planning algorithm helps to solve many navigation problems. Dijkstra proposed one of the first path planning algorithms in 1956 [misa2010interview]. Although this algorithm was capable of finding the shortest path between two points, its use was limited to nodes with positive weights, and the computational cost is quadratic. To decrease the time complexity and allow negative weight between the nodes, others algorithms based on Dijkstra’s algorithm were created, such as A* and Dijkstra’s algorithm with Fibonacci heap [hart1968formal].
Motion planning is a specific application of path planning regarding autonomous robots. Different types of approaches can be used in motion planning, like Grid-based search (which transform the environment in a grid-mesh) [grid], Interval-based search (similar to grid-based search it but uses space data instead of a grid) [interval]reward]. Commonly, path planning using Grid-based and Interval-based presents some issues in a large or dynamic environment, due to the time complexity of these algorithms and the need to recalculate the route if a new object was found in an already mapped space [chen2016motion].
An important reason for the time complexity problem in the motion planning is because there are usually a lot of possible ways to get to the destination. Regarding the topic of information reducing, some algorithms of decomposition are applied in big data problems: Principal component analysis (PCA)[pca]
and Truncated Singular value decomposition (TSVD)[tsvd], Non-negative matrix factorization (NMF) [nmf], among others. Still, recently, these same solutions are used to reduce the number of possible ways to find the best route between two points [pcapp2, pcapp1, svdpp]. However, many of the solutions proposed to compact data are not able to do that considering the non linearity of the data. In 2006 [Hinton504]
, Hinton, G. proposed the use of Autoencoders to reduce the dimensionality of data, he showed how it is possible to represent data with much less information, because his proposal considered the non-linearity data. Since then, Autoencoders have been used to compress data, helping to solve various machine learning problems[ae2].
In this paper, we investigate the application of a Convolutional Neuronal Network Encoder to reduce the number of routes. Therefore, the combination between our proposal and any algorithm of path planning must spend less iterations to find the best path than conventional A*. Moreover, we also propose a new dataset for evaluating the performance of the proposed method.
2 CNN Encoder
Convolutional Neural Networks have an excellent capability to extract high-level features. For this reason, currently, it is being used to solve many problems in deep learning and computational vision problems[lecun2015deep]
. Simultaneously, Autoenconders are being used to code data information in unsupervised learning[firstae]. They are trained to reconstruct the input data using fewer data than the original input; this way, many times, they can eliminate useless information.
Thinking about the good results of CNNs and the capability of the Autoenconder to reduce the dimensionality of the data, we propose a CNN Encoder to eliminate useless routes from 2D maps.
2.1 Model architecture
The process of building the architecture was made interactively. After many combinations of parameters and applications of transfer learning of famous CNNs, like VGG16 and Resnet50, which gets a fewer number of iterations, can be seen in table1.
|Layer||Filters||Kernel Size||Activation||Batch Norm||Dropout|
3 Motion Planning Database
To check the efficiency of our solution and compare it to the conventional technique, we created an image database containing different scenarios, obstacles and goals. Figure 6 shows instances of all proposed scenes. With our database, it is possible to evaluate the generalization capability of our model, applying our proposed approach in different situations and scenarios. Our database contains five different scenarios, each of them composed of 10000 scenes (RGB images with pixels), where each one has some fixed obstacles and others that are arranged randomly over the rest of the scene. Also, for each of these, there is an image answer, representing the expected path, created based on grid search technique.
4 Experimental results
To evaluate our work, we compare the number of iterations of A*, and the CNN Encoder (our proposal) with A*. The best solution is the one which found the best route with the least number of iterations. The metrics that we used to evaluate the obtained results, how we split the database, the architecture, and the output processing are as following:
Metrics: Number of iterations. Represents the number of attempts until the algorithm found the shortest path.
Split database: The database was split by percent split validation, 80% to train set, and 20% to test set.
Output processing: The output processing has 5 steps, all of them can be seen in the Figure 7. They are:
To Transform the output of the CNN Encoder (3600 values) to a Gray scale image with size 60x60.
To Apply dilatation technique with kernel size equal to 3x3.
To Binarize the image with threshold equal to 50.
To Overlap the original scene and the processed output.
To Apply the A* to find the shortest path, and to count the number of iterations.
|Scene 1||Scene 2||Scene 3||Scene 4||Scene 5||Sum|
Analyzing the results of Table 2, we can see that in all database scenarios, the number of iterations of the proposed solution presents an improvement of over 60% compared to the conventional A*, which means that the number of iterations decreased considerably.
Observing the Image 10 note which the A* many times try to find the shortest path using paths completely wrong, including going to the opposite side of the goal, it makes which the solution spend much time. On another hand, after the application of our proposal, the A* find the shortest path using fewer iterations. The CNN Encoder went almost directly to the goal and found that in much fewer iterations.
This work aimed to show the capabilities of a new algorithm based on the deep learning encoder to eliminate useless paths for motion planning algorithms.
From the obtained results, we can assume that the proposed CNN architecture was able to learn to avoid of fixed and dynamic obstacles regardless of the presented scenario. This way, it is possible for other researchers to use our solution and our methods to improve their results on autonomous navigation issues. As such, our contribution is the CNN Enconder architecture, the database, and database creation methods using random obstacles, which are useful for Encoder learning process to motion planning tasks.
As future works, we hope to compare the efficiency of our solution with other motion planning algorithms, and data reduction techniques combined with path planning. Furthermore, we intend to study the computational cost of the proposed solution and other solutions in the literature, because many robotic solutions have limited hardware.