Chaotic Path Planning for 3D Area Coverage Using a Pseudo-Random Bit Generator from a 1D Chaotic Map

: This work proposes a one-dimensional chaotic map with a simple structure and three parameters. The phase portraits, bifurcation diagrams, and Lyapunov exponent diagrams are ﬁrst plotted to study the dynamical behavior of the map. It is seen that the map exhibits areas of constant chaos with respect to all parameters. This map is then applied to the problem of pseudo-random bit generation using a simple technique to generate four bits per iteration. It is shown that the algorithm passes all statistical NIST and ENT tests, as well as shows low correlation and an acceptable key space. The generated bitstream is applied to the problem of chaotic path planning, for an autonomous robot or generally an unmanned aerial vehicle (UAV) exploring a given 3D area. The aim is to ensure efﬁcient area coverage, while also maintaining an unpredictable motion. Numerical simulations were performed to evaluate the performance of the path planning strategy, and it is shown that the coverage percentage converges exponentially to 100% as the number of iterations increases. The discrete motion is also adapted to a smooth one through the use of B-Spline curves.


Introduction
Chaotic systems have long been integrated into numerous scientific fields and have found various applications in engineering, sensors, data encryption, secure communications, robotics, economics and more (see, e.g., [1,2]).
Due to their practical feasibility, there is always a need for new chaotic maps that can be used in real-world applications. This can be performed either by considering modifications of existing maps or by constructing new maps altogether, usually having as few terms and parameters as possible. This is especially the case for one-dimensional chaotic maps since they are easier to implement due to their simplicity and low computational cost (see, e.g., [3][4][5]).
Motivated by the above, this work proposes a simple one-dimensional chaotic map with three parameters and only two terms, having a simple nonlinearity introduced by the absolute value function. From the dynamical analysis of the map through bifurcation diagrams and Lyapunov exponent diagrams, it is shown that the map has constant chaotic behavior for a range of parameter values. Furthermore, the proposed map is then applied to two engineering problems, the problem of pseudo-random bit generation and chaotic path planning for 3D area coverage.
The problem of chaotic pseudo-random bit generation (PRBG) refers to constructing an algorithm for generating a bit sequence, using a chaotic system [4,[6][7][8][9][10][11][12][13]. Despite being deterministic in nature (hence, the term pseudo-random), the resulting bitstream should have the statistical characteristics of a random sequence, which can be verified by a series of tests. Here, the proposed method uses a simple modulo operator to generate four bits for each iteration of the map. The resulting bitstream passes all statistical tests successfully and has good correlation characteristics as well.
Second, the application of chaotic path planning is considered [14,15]. In path planning, the aim is to design a navigation strategy for an autonomous agent, such as an unmanned ground vehicle (UGV) or an unmanned aerial vehicle (UAV), that explores a given area. The generated path should guarantee efficient area exploration and eventually achieve complete coverage of the terrain. In chaotic path planning, there is an additional aim, that of unpredictability of motion. An unpredictable motion can be advantageous in adversarial situations. Examples include patrolling missions, where an agent must inspect a space for possible intruders. If the agent moves unpredictably, it would be impossible for an intruder to accurately draw a breaching plan. Moreover, from the defender's perspective, it would be challenging to efficiently trace an agent that moves unpredictably, putting an extra challenge in tracking problems. Similarly, chaotic motion would pose an extra challenge to the defender's side in the design of camera networks or obstacle placement.
Thus, in all of the above situations, the agent should follow a trajectory that is impossible to predict and looks random, while also ensuring the complete coverage of the given area, as the number of steps increases. The best way to achieve this is to integrate a chaotic system into the path generation algorithm. There are many possible approaches to this problem (see, e.g., [16][17][18][19][20]). In this paper, we consider the application of the proposed bitstream to the generation of commands for the chaotic motion. This method was previously discussed by the authors of [19,[21][22][23][24] for a robot exploring a 2D area moving in four or eight directions, by taking pairs or triples of bits to generate a motion command. Thus, here we expand this approach for a robot or UAV exploring a 3D area [25][26][27][28][29][30][31][32][33].
Numerical simulations were performed to evaluate the coverage that can be achieved by the proposed strategy with respect to the number of steps performed. It is shown that the coverage rate converges exponentially to complete coverage, as the number of steps increases. Thus, the proposed strategy gives satisfying results.
Notably, the simulations performed here only tested the path planning strategy itself, without taking into account the dynamics of a UAV that would implement the motion. The integration of the proposed path planning strategy with the model dynamics would surely pose a challenge. In addition, the energy and navigation limitations of a UAV would certainly give rise to errors between the theoretical and actual coverage performance. These are all subjects for future analysis. Implementations of chaotic path planning strategies have been performed previously [22,[34][35][36], but all works consider the 2D case.
The rest of the paper is organized as follows. In Section 2, the proposed map is introduced and analyzed. In Section 3, the PRBG algorithm is presented and statistical tests are performed. In Section 4, the application to path planning is considered. Section 5 concludes the paper with a brief discussion on future research topics.

The Proposed Map
The 1D map proposed in this work is the following: The map has three parameters and only two terms, so it has a very simple structure, similar to the known tent map [2] and the maps proposed in [37,38], which also utilize absolute nonlinearities, with only two terms. These maps are listed in Table 1. The proposed map differentiates from the given ones, in having additional parameters as well as in including the parametric exponentiation of the term |x i−1 | r . For example, the fourth map proposed in [37] can be considered a special case of (1) for a = 1, r = 1.
To understand how each parameter affects the behavior of the map, its phase portraits are first plotted. The phase portrait of a discrete map depicts the function x i = f (x i−1 ) with respect to x i−1 . This can help identify how each parameter affects the shape of the mapping function f . In Figure 1a, the curve is plotted for a = 1, b = 1.99, for different values of r. It is seen that the parameter r in the exponent can control the curvature of f . In Figure 1b, the curve is plotted for b = 1.99, r = 1, for different values of a. The parameter a leaves the shape of f invariable, but translates it lower on the phase space. In Figure 1c, the curve is plotted for a = 1, r = 1, for different values of r. As a scaling factor of the term b|x i−1 | r in (1), the parameter b can affect the slope of f . Note that in all figures the dashed line indicates the bisector, whose intersections with f indicate equilibrium points In addition, two different cobweb diagrams of the map (1) are plotted in Figure 2 for different parameter values. The cobweb diagram shows the successive iterations of the map and can visualize the chaotic behavior of the system, as indicated by the non-periodic succession of points (x i−1 , x i ).
To further explore the dynamical behavior of the map, its bifurcation diagrams and corresponding Lyapunov exponent (LE) diagrams with respect to parameters r, a, and b are plotted. The bifurcation diagram with respect to parameter r, for a = 1, b = 1.99, is shown in Figure 3. One can see that the system exhibits chaos with a mapping on the interval [−1, 1] for most values of the parameter r in the range of 1 to roughly 4.7, with some small periodic windows appearing. After 4.7, the system falls into periodic behavior. This behavior is verified by the diagram of Lyapunov exponent shown in Figure 4. The last was computed following the method in [39]. For both diagrams, the initial condition chosen in each iteration is x 0 = 0.1, which is also the case for all subsequent diagrams.
The bifurcation diagram with respect to parameter a, for b = 1.99, r = 1, is shown in Figure 5. The system exhibits constant chaos, with a mapping on the interval The constant chaotic behavior is verified by the diagram of its Lyapunov exponent shown in Figure 6.
Similarly, the bifurcation diagram with respect to parameter b, for a = 1, r = 1, is shown in Figure 7. One can see that the system exhibits chaotic behavior roughly for b ∈ (1, 2). This fact is verified by the diagram of Lyapunov exponent shown in Figure 8. It is worth noting that parameter a works as a scaling factor here, changing the mapping interval of the values x i , as can be seen in Figure 9, where multiple bifurcation diagrams with respect to b, for different values of a are overlapped. The change of parameter a, however, does not affect the Lyapunov exponent of the system.
To determine the values of nonlinearity parameters that are suitable to generate pseudo-random sequences using map (1), a two-dimensional LE diagram with respect to a and b, for different values of the parameter r, is plotted in Figure 10. Negative LE values correspond to white color, while positive LE values are marked black. In Figure 10c for r = 1, it can be seen that the system exhibits steady chaotic behavior with respect to both a ∈ (0.2, 3) and b ∈ (1, 2). For lower values r = 0.8, 0.9 and higher values r = 1.1, 1.2, 1.3, regions of constant chaotic behavior still exist, but their range is smaller, as shown in Figure 10a,b,d-f. Based on these six graphs, in the rest of the paper, the parameter r is fixed as r = 1.

The Proposed Generator
Based on the proposed map, a pseudo-random bit generator (PRBG) is proposed using a simple technique, which is outlined as follows: Step 1. First, the initial value x 0 of the proposed map is chosen, along with parameters b and a. These parameters constitute the secret keys of the algorithm. In addition, four bit sequences b 1,0 , b 2,0 , b 3,0 , b 4,0 are initialized.
Step 3. The bit sequences produced are combined into a single bitstream as Using the above algorithm, four bits are produced in each iteration, which makes the algorithm faster than traditional algorithms that produce only one bit in each step. Gayathri and Subashini [40] presented the results of comparing the encryption speed of different algorithms based on discrete chaotic maps. Most of the considered techniques involve generating sequences of pseudo-random bits and then summing them to the plaintext bits using the XOR operation. Following this idea, we implemented a similar encryption scheme based on the proposed generator. As one can see, the approach based on the proposed algorithm demonstrates the best performance, which indicates a high bit generation rate ( Table 2).

NIST Tests
Nowadays, the NIST statistical test suite is considered [49] as a proper tool to test the randomness of the produced bitstream. The NIST package consists of 15 tests, for which a p-value is returned. If the p-value is larger than a chosen significant value a, the test is successful. Here, 40 bit sequences of 10 6 bits are tested, generated for x 0 = 0.1, a = 1, b = 1.99, and r = 1. The results are shown in Table 3, where it is seen that the bitstream passes all the tests.

ENT Tests
The ENT statistical test suite consists of six different randomness tests [50]. The test considers byte sequences, and, for each of the tests, the following result is expected for a random sequence: Since the ENT suite is tested on bytes of data rather than bits, a set of 120 × 10 6 bits is generated for the same parameters noted above. Then, the sequential pairs of 8 bits are converted to bytes (integers within [0, 255]), leading to a byte stream of length 15 × 10 6 . The test results are shown in Table 4, and it can be seen that they are successful. Moreover, Figure 11 shows the correlation plots for a bitstream of length 10 4 , generated with keys x 0 = 0.1, b = 1.99, a = 1, and r = 1. The auto-correlation measures the correlation of a signal with a time shifted (lagged) copy of itself, as a function of the chosen lag [51]. For a random sequence, the auto-correlation should be as close to zero for all time lags, with the exception of a peak appearing at lag zero, which is expected since, at zero lag, the sequence is similar to itself. This is verified in Figure 11a.
Similarly, the cross-correlation measures the similarity between two sequences as a function of their relative time shift. For unrelated sequences, the cross-correlation should be close to zero [6]. This can be verified in Figure 11b-d. In each case, only one key parameter is changed and the rest are fixed. In Figure 11b, the initial condition is chosen as x 0 = 0.1 andx 0 = 0.1 + 10 −16 , with b = 1.99, a = 1, r = 1. In Figure 11c, the parameter b is taken as b = 1.99 andb = 1.99 − 10 −15 , with x 0 = 0.1, a = 1. In Figure 11d, the parameter a is taken The zero cross-correlation for two sequences generated from almost identical initial values verifies that the chaotic PRBG inherits the key sensitivity property from the chaotic map it uses as its source. Thus, any small change in the key values will lead to the generation of a totally different bitstream.

Key Space
Regarding the key space, the system has four key parameters, so Keys = {a, b, r, x 0 }. Thus, for a 16-digit accuracy, the upper bound for the key space is 10 4×16 = 10 64 = (10 3 ) 21.3 ≈ (2 10 ) 21.3 = 2 213 , which is higher than the required bound of 2 100 to resist brute force attacks [52]. It must be noted, however, that, since the system is not chaotic for all parameter values, the acceptable key space is lower. An appropriate choice for the key values can be made using the results in Figure 10 as a guide. Fixing the value of parameter r = 1 limits the key space to 10 3×16 = 10 48 ≈ 2 160 , which is still higher than the required bound. In the future, more robust chaotic maps will be considered, that is, chaotic maps that exhibit constant chaotic behavior with the absence of periodic windows and coexisting attractors in some neighborhood of the parameter space [53,54], to achieve an even higher key space.

The Proposed Chaotic Motion Generator
In this section, our aim is to apply the proposed PRBG to the problem of chaotic path planning. Most works that consider this problem in 2D surface motion using PRBGs take pairs or triples of bits for motion in four or eight discrete directions, respectively, and generate a series of chaotic motion commands for a robot exploring the area [19,[21][22][23]. Here, we consider an adaptation of the above approaches for a UAV exploring a 3D area, using the following steps: Step 1. First, the initial value x 0 of the proposed map is chosen, along with parameters b and a. These three parameters constitute the secret keys of the algorithm. Then, four-bit sequences b 1,0 , b 2,0 , b 3,0 , and b 4,0 are initialized.
Step 2. At each iteration, four bits are generated, b 1,i , b 2,i , b 3,i , and b 4,i , based on the procedure described in the previous section. Then, the bits [b 2,i , b 3,i , b 4,i ] are combined to generate a motion command for the robot in the horizontal plane, using the rules found in Table 5.
Step 3. Based on the value of b 1,i , the robot moves vertically up for b 1,i = 0 or down for b 1,i = 1.
Thus, the robot performs two consecutive moves per iteration, one horizontally and one vertically. In the above steps, when a motion command is to bring the UAV outside the given barriers, the motion is discarded and the robot waits for the next command. A similar approach was considered by Moysis et al. [33]. In that work, the values of a chaotic map were taken modulo 26, and at each iteration the UAV performed a motion among 26 discrete directions, signifying its adjacent cells. The algorithm we consider here differentiates from the previous one by introducing a statistically random bitstream to generate the motion, as well as by having the robot perform two motions per each iteration, changing its altitude as well.   Figure 13. Similarly, a simulation for 60,000 iterations is shown in Figure 14, where it can be seen that, compared to Figure 13, the coverage is significantly increased to about 50%.

Coverage Performance
In order to formally study the relation between coverage and the number of iterations of the algorithm, the average of 50 simulations is considered with an increasing number of steps. In each simulation, the initial condition of the chaotic map and the UAV are chosen randomly. The iterations start from 20,000 steps and go up to 500,000, with a 20,000-step increment, and the results are shown in Figure 15. It can be observed that the coverage converges to 100% exponentially, as resulted from a curve fitting to the curve: with A = −99.11941, z = −85,329.59663, y 0 = 99.82191, and reduced chi-square R = 0.00664. Thus, the algorithm has overall good coverage characteristics.

Adjusting the Discrete Steps to Smooth Motion
One way to convert the discrete steps taken into smooth motion is through the use of B-Spline curves. B-Spline curves are extensively used in path planning, since they are easy to generate using a set of points called control points. They also possess properties that make them attractive for path planning, namely affine invariance under linear transformations, strong convex hull property, the local control with respect to changes in the control points, and the smoothness of the curve. Hence, many works use B-Spline curves to design motion trajectories for ground vehicles and UAVs [33,[55][56][57].
To generate a smooth curve, the discrete cells that the UAV visits are used as the control points for a B-Spline curve of nth degree. The closed form of the curve is where p + 1 is the number of control points, which as mentioned is equal to the number of iterations of the algorithm; n is the degree of the curve; N n i (t) is the B-Spline polynomial basis; P i is the visited cells that are used as control points. The curve is defined over the uniform knot sequence An example of a 2D cubic (n = 3) B-Spline curve is shown in Figure 16. The curve consists of 15 control points, given by From its shape, one can observe that, while the curve interpolates the first and last control points, its shape approximates the polygon defined by the control points, and it also lies inside the convex hull defined by the control points, shown in light green. In Figure 17, a simulation is performed for 500 iterations of the algorithm, that is, 1000 steps along with the corresponding cubic B-Spline curve. The curve is generated after the simulation is performed, using the algorithms found in [58,59].
What must be mentioned is that the performed numerical simulations are just a simple test for the path planning technique, and the UAV navigation dynamics are not taken into account. Thus, a future challenge would be to integrate the proposed algorithm in an experimental real-world implementation.

Conclusions
In this study, a simple three-parameter one-dimensional chaotic map was proposed. The map exhibits chaotic behavior for a wide spectrum of parameter values. Based on the proposed map, a pseudo-random number generator was developed, being able to produce 4 bits at each iteration of the map. The proposed PRBG passes all NIST statistical tests and has good correlation characteristics. The PRBG was applied to the problem of chaotic path planning for a UAV exploring a 3D area. The simulation results show good coverage characteristics. Future aspects of this work will consider different path planning techniques, the combination of intelligent approaches to improve coverage, and an experimental implementation. In addition, the study of robust chaotic maps for relevant security applications is of interest.