**2. Related Work**

An essential part of mobile robots is the navigation technique [2]. In [2], it was underlined that the the system has to balance among accuracy, efficiency, and robustness. The navigation consists of three main modules: map building, localization, and collisionfree path planning. A map of the environment is necessary for a mobile robot to perform its tasks. When mapping, a robot has to deal with different kinds of noise. Errors are divided into systematic, resulting from defects in the equipment, and nonsystematic, resulting from the conditions of use. Systematic odometry error is caused by a discretized sampling of wheel increments and wheel slippage. Nonsystematic errors result from terrain roughness and wheel slippage. Measurement noise problems also occur with sensors such as laser rangefinders, cameras, etc. Rapid and accurate techniques of data collection, calibration,

and processing are required to improve the accuracy [2]. In the literature, the map building problem is described as a chicken-and-egg problem. The task is to build an accurate map of the environment based on the robot's position and determine the robot's pose based on the created map and the sensors' indication. The reduced accuracy of the map and robot pose have a negative influence on the execution of the path planning task. There are two kinds of navigation systems: reactive navigation and map-based navigation. In the first method, the mobile robot has no map and acts based on the senors' indication [3]. In the case of the map-based navigation, the robot is able to sense, plan, and act. It plans [3] an obstacle-free path to a predetermined destination. Usually, it is assumed that the planned path is optimal, e.g., shortest and fastest. The method consists of four steps:


The first three steps are performed in a loop. The path is replanned if previously undetected obstacles appear on the robot's path.

The choice of the path planning method is closely related to environment representation. The maps described in the literature are divided into two main groups: metric maps and nonmetric maps (topological and semantic). Metric maps are represented as a grid of cells [4] or as a set of features [5].

The grid-based map initially proposed in [4] is one of the primary methods of an environment representation. In this approach, an environment is divided into square areas, and an occupancy value is attached to the corresponding grid cell. Usually, Bayesian theory is used in order to update the occupancy value based on the sensors' reading. Gridbased representation requires an enormous amount of memory, but is able to represent the uniformed objects. The experimental results presented in [6] showed that the improved grid map allows the robot to plan a collision-free path and navigate safely in a static and dynamic environment. A square-based grid map is a popular approach in the ROS system using the Universal Grid Map Library [7]. This library was used in the ATENA system demonstrator with a traversability estimation cost map. The square-based grid map is widely use in path planning based on the Hybrid A\* algorithm and uses estimated terrain traversability to find the path that optimizes both traversability and distance for the UGV [8]. A similar approach was tested in winter conditions in the ATENA system demonstrator; the results of the test were sufficient, but it is possible to optimize this approach with a hexagonal grid map. The square cells are also used in rough terrain with high vegetation density when the cells contain information about the "go" and "no go" information [9]. The grid map is also popular because of its ability to represent terrain by the 2.5D grid-type elevation map. Each cell holds a value of the height of the region. This approach can be used even in rough terrain [10]. A hexagonal grid map can be used in mapping static and dynamic environments. The shape of the cell is not important for dynamic approaches, but the advantages of the shape are preserved [11].

Feature-based maps are compact, so they do not require much memory. It is assumed that the features are predefined, so the structure of the environment has to be known in advance.

Square cells used in grid-based representation have some disadvantages. The distance from the center of a cell to the center of a diagonally adjacent cell is greater than the distance to the center of cells with which it shares an edge. Neighboring cells do not always share edges: diagonal cells contact only at a point. Curved shapes are not well represented on a rectangular lattice. In biological vision systems (for example, the human retina), photoreceptors are typically arranged in a hexagonal lattice. It has been shown that hexagonal grids have numerous advantages [12]. First of all, the distance between a given cell and its immediate neighbors is the same along any of the six main directions; curved structures are represented more accurately than by rectangular pixels. A smaller number of hexagonal pixels is required to represent the map. This allows reducing the

computation time and required storage space. In [13,14], it was shown that for a given resolution capability of the sensors, hexagon sampling gives a smaller quantization error. In the paper [15], it was shown that that hexagonal grid map representation was better than the quadrangular grid map representation for cooperative robot exploration, but the problem of collision-free path planning in a real environment was not considered in this article.

In the case of a square grid, we can easily calculate the coordinates of the cell of the array corresponding to the point (x,y). For hexagonal meshes, the calculation is more complex. The lack of an effective method of representing hexagonal meshes and a simple transformation algorithm from Cartesian coordinates to hexagonal coordinates precluded their usage. In [16], the array set addressing (ASA) method was described. The approach is based on representing the hexagonal grid as two rectangular arrays. Figure 4 presents the method of hexagonal grid representation. Different arrays are represented using different colors (pink and blue). The arrays are distinguished using a single binary coordinate. The complete address of a cell in a hexagonal grid is uniquely represented by three coordinates:

$$(a, r, c) \in \{0, 1\} \times \mathbb{Z} \times \mathbb{Z} \tag{1}$$

where *a*—binary index of an array, *r*—row index, *c*—column number, and Z—positive integers. The transformation from hexagonal (*<sup>a</sup>*,*r*, *c*) representation to Cartesian is defined by the formula:

$$\begin{array}{l} \mathbf{x} = d \cdot \frac{\mathbf{e}}{2} + c \\ y = d\sqrt{3} \cdot \left(\frac{\mathbf{e}}{2} + r\right) \end{array} \tag{2}$$

where *d* is the distance between the center of gravity and a vertex of the hexagon.

**Figure 4.** Array set addressing method.

An efficient method of transformation from Cartesian coordinates to hexagonal representation was presented in [16].

Figure 5 presents the addresses of the nearest neighbors of the cell (*<sup>a</sup>*,*r*, *c*) In this article, the hexagonal grid-based representation of the robot environment is presented. It is shown that hexagonal maps of an environment can be easily built based on sensors readings and is useful in collision-free path planning and mobile robot localization.

**Figure 5.** The addresses of the nearest neighbors of the cell (*<sup>a</sup>*,*r*, *c*).
