GPS Boundary Navigation using MATLAB Simulation



june 1a


Zulkifli Zainal Abidin
Postgraduate Student(Phd)
B.Eng Computer and Information Engineering (International Islamic University Malaysia)
Project title: A Novel Fly Optimization Algorithm: Animal-inspired Metaheuristic


DrosoBOTs: Swarms of Mini Autonomous Surface Vehicles with Animal Inspired Metaheuristic Algorithm Approach

GPS Boundary Navigation using MATLAB Simulation

In order to mobilize the movements of the ASVs at scattered positions around the navigation area within the boundary, an algorithm is created using the function rand in MATLAB which randomly generates a number with four decimal places that ranges from 0 to 1. This generates random positions as destinations for each ASV.

To obtain a random number within a desired range, we utilize the following equation:

oct 1a

oct 1b

Fig 1: Angles from the x-axis


By using equation (1), the random number generated will fall within the range of the upper and lower limit. The result will be inputted into the algorithm described in sections B, C and D to verify whether the position is within the boundary (Fig. 1).

The ASV may proceed to the position if it is positive. Otherwise, the iteration will be repeated. Once the ASV reaches the position, another new position will be generated and verified. The whole process (i.e. random number generation, verification, moving towards the destination) will be repeated until the number of positions required for each of the ASV is reached.

oct 1c

oct 1d

Fig. 2 displays the routes of a single DrosoBot created by connecting lines to the random positions (waypoints) generated. The X’s mark the positions for the DrosoBot.

The algorithm is such that the DrosoBot starts moving from the west-most and south-most corner of the boundary. Fig. 3 shows the routes of 8 Drosobots also within the same boundary. Each coloured line represents a DrosoBot with an ideal condition speed of 0.6 m/s.

A.Generating random positions using Lévy flight

We have also utilized another random algorithm; the Lévy flight to facilitate the presence of large jumps in locations. This will eventually increase the coverage area of the DrosoBots compared to those generated by the random function.

From Fig. 4, we can observe that there are huge transitions from one position to another compared to the positions generated by the random function. Fig. 5 depicts the routes of 8 Drosobots using Lévy flight. By comparing Fig. 3 and Fig. 5, the routes do not look much different from each other.

oct 1e

Fig. 4: Routes of a single Drosobot with 5 waypoints using Lévy flight

oct 1f

Fig 5: Routes of 8 Drosobots with 5 waypoints using Lévy flight


Table 1 displays the simulated times taken for using both normal random and Lévy flight random algorithms which may be exported and integrated onto the DrosoBots provided all the points or vertices of the boundary is to be determined first by using GPS. Thereafter, the longitude and latitude of the points may be entered into the programs to enable a unique navigational chart mapping for every single DrosoBot. Then, the DrosoBots will not drift away beyond the boundary and will only bounce within it.


oct 1g

Although the conventional lawn mower path may be adopted for the mapping application, we chose to focus this study in trying to find the optimum way to locate the deepest location and simultaneously generating the underwater contour.