Online veröffentlicht: 31. März 2025
Seitenbereich: 172 - 176
Eingereicht: 10. Okt. 2023
Akzeptiert: 25. Juli 2024
DOI: https://doi.org/10.2478/ama-2025-0020
Schlüsselwörter
© 2025 Konrad K. Kwaśniewski et al., published by Sciendo
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Nowadays, the usage of robots in production services is constantly increasing. This trend extends even to domestic applications, such as vacuum cleaners and lawnmowers. The expanding range of fields where autonomous robots can be employed presents us with new challenges. Widely known are autonomous cars, which are specifically adapted to road environments. However, off-road areas are much more prevalent on Earth. Tasks such as rescue actions, emergency transportation, patrol, and exploration in natural disaster areas often occur in regions with limited or nonexistent transportation infrastructure. Therefore, robust navigation methods that consider travel time constraints are crucial for further development in these types of terrains. Path planning and obstacle avoidance methods are often based on graph algorithms such as A* [22, 1], Dijkstra [14], or D* [20]. The path obtained by those methods has to be smoothed before applying it to a controller [5]. Another approach is to use artificial neural networks (ANN) [3, 19, 21, 25]. An alternative way is to use optimization methods. Biology-inspired genetic algorithms [10, 7, 9, 14], ant colony optimization [22], particle swarm optimization [24], chicken swarm optimization [6], cuckoo search optimization [2], grey wolf algorithm [16], whale optimization algorithm [17]. Other noteworthy approaches are potential fields [11] and fuzzy-based potential fields [4]. An interesting field of path planning are methods based on the Dubins path. Worth mentioning are especially methods using the coverage path planning approach, which can be used for both a priori known [12] and unknown [13] environments.
When it comes to avoiding an obstacle, the solution is trivial. The robot can ride on its left or right side. The problem becomes more complex when there are multiple obstacles. But if we want to go from point A to point B as fast as possible, the task becomes very complex. When a robot knows only about obstacles in its surroundings it does not have enough knowledge to choose the best path in the general context. On the other hand, if it follows a path, that was found using only previously mapped obstacles, it cannot omit a new object in the working area. The 3K method combines two strategies: it finds a global path using a priori known obstacles from maps and optimizes it under the travel time criterion; then, during the ride, it uses the global path as a set of way-points and corrects the trajectory by finding a local obstacle-free path. These local obstacles are detected autonomously by the robot. The local path is also selected under the shortest travel time condition.
The characteristic features of the 3K method in comparison to the other ones are obstacles modeled as circles, division of the problem to the local and the global scales and introduction of the velocity reduction area around obstacles for more precise navigation in the immediate vicinity of obstacles, especially those not known a priori, for safety reasons.
The main algorithm is presented in Fig. 1. The current robot position is considered a start position, while the ordered travel point is considered a destination point. At first, the map of a priori known obstacles is loaded. Then the global path is found, and the travel begins. The robot moves along the sequence of the global path waypoints. If at least one obstacle is detected, the local path between the current robot position and one of the more distant global waypoints is determined, and the robot starts following the local path. The local path computation is repeated as long as at least one local obstacle is in the robot’s view range. When the robot has avoided all the obstacles, it continues following the global waypoints. The 3K method ends when the last global way-point, the destination point, is reached.
The map is modeled in a 2D Cartesian coordinate system. This simplification, in relation to the real form of Earth, facilitates its mathematical description and is a good approximation on short distances on the planet surface. The map is stored as a list of obstacles. It is shown in Fig. 2.
All obstacles are modeled as circles. In the case of bigger obstacles or those of complex shape, they can be either circumscribed by a large circle or covered by multiple smaller ones. Each
Around each obstacle, the velocity reduction area is applied. It is the additional circle, in which the velocity of the robot has to be reduced to provide better precision of steering when the robot moves close to the obstacle. This approach reduces the probability of a collision in the case of an error in the obstacle position estimation.
The path of the global path method is modeled using a B-spline curve, which is a special case of a NURBS curve (Non-Uniform Rational B-Spline) [18]. The B-spline has uniformly distributed knots, unlike the NURBS, in which the knots can be distributed non-uniformly. The shape of the B-spline is defined by a vector of control points and a degree of the curve. The number of control points has to be at least greater by one than the curve degree. In curves of a higher degree, more control points are considered when particular points of the curve are computed. The main advantage of the B-spline is its property, that translation of a control point of a curve modifies it only to a limited distance from the control point (depending on the curve degree). The size of the shape modification depends on the distance of the translation. It makes the B-spline very well suited to be a model of a path that undergoes operations of an optimization algorithm.
A collision between the B-spline and a circle can be detected by computing a set of equidistant curve points

Flowchart of 3K method

Example of map model

Example of collision detection between B-spline and circle-shaped obstacles

Visualization of the collision depth
To find a path of the shortest travel time, it is necessary to know the path travel time itself. To estimate it, the velocity profile of a path is needed. The travel, however, has to fulfill certain constraints:
the robot must not exceed the given maximum velocity, the robot must not exceed the maximum velocity of considered segment of the path, to secure the robot against skidding, the acceleration must not exceed the maximal acceleration value, either set or achievable by the robot, the deceleration, as in the case of the acceleration, must not exceed the maximal acceleration value, either set or achievable by the robot.
The acceleration and deceleration rate in the 3K method are considered as constant in time. The difference between the constant rates and the real ones is negligible because of many other factors present in a real environment, which can greatly affect the robot during the journey.
The computation of the velocity profile consists of the following steps:
computation of the maximum permissible velocities on all the segments of the path (between waypoints) – the maximum velocities profile, reduction of velocities from the maximum velocities profile in such a way that the given acceleration value is maintained, reduction of velocities from the reduced velocities profile in such a way that the given deceleration value is maintained, computation of the travel time of the individual path segments and the total travel time.
The main factor limiting the robot’s velocity is the friction between the robot wheels and the ground. The speed must be low enough to prevent the robot from getting out of a track due to the centrifugal force. The formula for the maximum velocity
In the velocity reduction steps, the new velocity for the
The acceleration and deceleration steps are computed in the same manner, although as the deceleration is a reverse operation to the acceleration, the reduction process has to proceed from the last waypoint to the first one.
The partial travel times, which mean times between each pair of the following waypoints, is computed by formula (8) which is derived from (7) [8].
Total travel time
The global path method is based on a genetic algorithm (GA). It is used for finding a collision free path, whose shape is optimized to minimize the travel time. The features of the used GA are:
roulette parents selection operator, arithmetical non-symmetric crossing operator, population size of 100 individuals, elitism: the best individual of a current generation is transferred into a next one, mutation operator of low probability and a narrow range of a gene value change, a chromosome is a sequence of following B-spline control points, control points are defined as complex numbers, optimization takes place under two criteria: collision (obstacle avoidance) and travel time.
The collision criterion is measured with a collision depth value which is introduced by the formula (1). It is a sum of the collision depths between the considered path and all the obstacles. The travel time is computed for the considered path by the velocity profiler. Sets of the fitness values, that mean the collision and the travel time, of the all individuals are then remapped to a new domain [0; 1] separately. Then they are weighted and summed. It is shown by the equation (10).
The initial population is generated by random modifications of the curve, that is built of equidistant control points, which are located on the straight line between the first and the last control point. The first point is equal to the robot start position and the last point is equal to the destination point. The robot start position and the destination point are converted from the ECEF coordinates system to the local coordinates system of the robot. The initial straight line variant of the curve is always included in the initial population. The modification range is limited to the area around known obstacles. The algorithm stops when the differences between the individuals become smaller than a set threshold.
When the algorithm stops, the result path is returned, that means the path with the lowest fitness value in the last generation of the individuals. Before use, it is converted to a set of the following waypoints.
The local path is computed in a geometrical way. The general idea of the method is presented in the Fig. 5. The map and obstacle models are the same as described in section 2. The method looks for a path constructed with two straight line segments between the local start

Flowchart of the local path finding method
The same process is done for the velocity reduction areas instead of the obstacles. Collisions, however, still are computed for the obstacles.
For the remaining paths, approximate travel times are computed. The approximate travel time
When the approximated travel times of every path are known, then the path of the shortest time is selected from the set as a result path and the local path algorithm ends.

Visualization of local path computation
The robot navigation method joins the results of the global path method (sec. 4) and the local path method (sec. 5). It consists of three layers: movement along the global path, deviation from the global path to avoid local obstacles (movement along the local path), return to the global path.
The global path is set for the algorithm as a sequence of the waypoints. The robot sets the course to the following waypoints. The current waypoint is changed to the next one, when the distance between the current waypoint and the robot is shorter than the given one. This distance is named point change distance. It is often set up to several meters. A shorter distance forces the robot to follow the path more strictly, a longer one is less prone to errors of losing the path.
Before beginning, the velocity profile for the global path is computed. During the ride, the robot velocity is set to the value from the profile that corresponds to the currently selected way-point.
If at least one obstacle is detected, then the local path method is used to create a path. The local destination point is set to a distant point from the set of not yet reached waypoints. The minimal distance for the selection is set by the robot operator. The result is a navigation point, which the robot sets the course to. The algorithm is frequently repeated while any obstacles are in sight. The robot velocity is set dependently on the local path - if it goes through the velocity reduction area (
When again no obstacle is detected, the closest global way-point to the robot is set as the navigation point. The point change distance smooths the return to the global path, because of the navigation point changing to the next waypoints as the robot comes closer to them.
The algorithm stops along with the robot, when the global destination point is reached within the given accuracy.
The 3K method described in the paper divides the path planning problem into two cases: the global context and the local context. Two distinct methods to both global and local path finding were developed in order to achieve necessary performance for successfully controlling the robot.
The global method is based on a genetic algorithm, and it uses the map of a priori known obstacles to produce a path. The local method is based on the geometrical path planning approach with numerous simplifications of the problem model. It uses the data about the obstacles that are detected during the run.
The third method was designed to control the robot using data obtained from the global and the local path finding methods. It leads the robot along the global path, but when an unknown obstacle is found, the local path is used to avoid it.
The main purpose of the 3K method is to minimize travel time of the robot in partially unknown environments. The results of the experiments in simulations and in the real world are described in a following paper.