Author Contributions
Conceptualisation, A.Š., M.S., M.B. and I.P.; methodology, A.Š., M.S. and M.B.; software, A.Š. and M.B.; validation, A.Š; formal analysis, A.Š.; investigation, A.Š.; resources, A.Š. and M.B.; data curation, A.Š.; writing-—original draft preparation, A.Š., M.S., M.B. and I.P.; writing–review and editing, A.Š., M.S. and M.B.; visualisation, A.Š.; supervision, M.S., M.B. and I.P.; project administration, M.S. and I.P.; funding acquisition, I.P. All authors have read and agreed to the published version of the manuscript.
Figure 1.
Solution examples of different methods for the TSP problem. (a) The RSTC algorithm, (b) The PT algorithm, (c) The ACO algorithm, (d) The HNN algorithm.
Figure 1.
Solution examples of different methods for the TSP problem. (a) The RSTC algorithm, (b) The PT algorithm, (c) The ACO algorithm, (d) The HNN algorithm.
Figure 2.
The pipeline of the smooth complete coverage path planning algorithm.
Figure 2.
The pipeline of the smooth complete coverage path planning algorithm.
Figure 3.
Example of the complete coverage path planning for the known environment step-by-step. The real obstacles collected by SLAM algorithm are presented with green dots. (a) Low resolution occupancy grid map, (b) Subdividing of grid cells, (c) The spanning tree (blue line), (d) Complete coverage path (black line).
Figure 3.
Example of the complete coverage path planning for the known environment step-by-step. The real obstacles collected by SLAM algorithm are presented with green dots. (a) Low resolution occupancy grid map, (b) Subdividing of grid cells, (c) The spanning tree (blue line), (d) Complete coverage path (black line).
Figure 4.
Illustration of the sharp turn smoothing by two clothoids.
Figure 4.
Illustration of the sharp turn smoothing by two clothoids.
Figure 5.
The enlarged part of the coverage path with two positions of the robot: (1) the robot’s starting position and (2) the robot’s position at the obstacle corner. The obstacle cell is shown in gray, the robot’s positions in dashed circles, the robot’s orientation in green, the spanning tree in blue, the RSTC path in black, and the smoothed path in red.
Figure 5.
The enlarged part of the coverage path with two positions of the robot: (1) the robot’s starting position and (2) the robot’s position at the obstacle corner. The obstacle cell is shown in gray, the robot’s positions in dashed circles, the robot’s orientation in green, the spanning tree in blue, the RSTC path in black, and the smoothed path in red.
Figure 6.
The smoothed path from
Figure 4 (red line) and the tracked trajectory (green diamonds).
Figure 6.
The smoothed path from
Figure 4 (red line) and the tracked trajectory (green diamonds).
Figure 7.
The calculated linear and angular velocities (blue line) and real linear and angular velocities (magenta diamonds) at which the robot tracked the trajectory.
Figure 7.
The calculated linear and angular velocities (blue line) and real linear and angular velocities (magenta diamonds) at which the robot tracked the trajectory.
Figure 8.
The comparison of the CCPP and SCCPP algorithms in the Lab scenario with the presented RSTC spanning tree (blue line), the RSTC path (black line), the smoothed path by the SCCPP algorithm (red line), the executed path by the CCPP and SCCPP algorithm (green line), the reference velocity profile (blue line), and the actual velocity profile (red line). (a) The CCPP path in the Lab scenario. (b) The SCCPP path in the Lab scenario. (c) The CCPP velocity profile in the Lab scenario. (d) The SCCPP velocity profile in the Lab scenario.
Figure 8.
The comparison of the CCPP and SCCPP algorithms in the Lab scenario with the presented RSTC spanning tree (blue line), the RSTC path (black line), the smoothed path by the SCCPP algorithm (red line), the executed path by the CCPP and SCCPP algorithm (green line), the reference velocity profile (blue line), and the actual velocity profile (red line). (a) The CCPP path in the Lab scenario. (b) The SCCPP path in the Lab scenario. (c) The CCPP velocity profile in the Lab scenario. (d) The SCCPP velocity profile in the Lab scenario.
Figure 9.
The RSTC algorithm in the Lab scenario with the presented RSTC spanning tree (blue line), the RSTC path (black line), the smoothed path by the SCCPP algorithm (red line), and the executed path by the smoothed RSTC algorithm (green line). Red points are the robots’ position where the replanning algorithm is executed. (a) The smoothed RSTC path in the Lab scenario before replanning. (b) The smoothed RSTC path in the Lab scenario after replanning.
Figure 9.
The RSTC algorithm in the Lab scenario with the presented RSTC spanning tree (blue line), the RSTC path (black line), the smoothed path by the SCCPP algorithm (red line), and the executed path by the smoothed RSTC algorithm (green line). Red points are the robots’ position where the replanning algorithm is executed. (a) The smoothed RSTC path in the Lab scenario before replanning. (b) The smoothed RSTC path in the Lab scenario after replanning.
Figure 10.
The SCCPP algorithm in the Aula scenario, which presents the smoothed path with red line and the executed path with green line.
Figure 10.
The SCCPP algorithm in the Aula scenario, which presents the smoothed path with red line and the executed path with green line.
Figure 11.
The SCCPP algorithm in the Gallery scenario: the RSTC spanning tree (blue line), the smoothed path (red line), and the executed path (green line).
Figure 11.
The SCCPP algorithm in the Gallery scenario: the RSTC spanning tree (blue line), the smoothed path (red line), and the executed path (green line).
Figure 12.
The complete coverage of the CCD* algorithm with the path and noted redundant numbers of cell visits (from 1 to 9).
Figure 12.
The complete coverage of the CCD* algorithm with the path and noted redundant numbers of cell visits (from 1 to 9).
Figure 13.
The complete coverage of the HDCP algorithm with hexagonal cell grid.
Figure 13.
The complete coverage of the HDCP algorithm with hexagonal cell grid.
Figure 14.
The wall following algorithm after SCCPP: driven trajectory (red line), and robot’s footprint in every point on the trajectory is presented degraded from black to gray.
Figure 14.
The wall following algorithm after SCCPP: driven trajectory (red line), and robot’s footprint in every point on the trajectory is presented degraded from black to gray.
Figure 15.
The calculated SCCPP path (red line) and trajectory tracked by the Pioneer 3DX robot (green line).
Figure 15.
The calculated SCCPP path (red line) and trajectory tracked by the Pioneer 3DX robot (green line).
Figure 16.
Calculated linear and angular velocities (blue line) and linear and angular velocities, while the Pioneer 3DX robot is tracking the trajectory (magenta line).
Figure 16.
Calculated linear and angular velocities (blue line) and linear and angular velocities, while the Pioneer 3DX robot is tracking the trajectory (magenta line).
Figure 17.
Real linear velocity, while the robot Pioneer 3DX is following the trajectory (magenta line), deviates from the applied linear velocity (blue line).
Figure 17.
Real linear velocity, while the robot Pioneer 3DX is following the trajectory (magenta line), deviates from the applied linear velocity (blue line).
Table 1.
Table of comparison of CCPP and SCCPP algorithms.
Table 1.
Table of comparison of CCPP and SCCPP algorithms.
| Lab CCPP | Lab SCCPP | Gallery CCPP | Gallery SCCPP | Aula CCPP | Aula SCCPP |
---|
Coverage path length | 77.22 m | 72.46 m | 141.04 m | 129.44 m | 1255.91 m | 1191.22 m |
Coverage time | 217.30 s | 193.26 s | 453.99 s | 409.58 s | 3479.51 s | 2834.23 s |
Coverage rate | 71.48% | 74.42% | 66.37% | 72.11% | 79.03% | 79.84% |
Coverage redundancy | 35.53% | 7.89% | 48.19% | 5.79% | 39.23% | 3.37% |
Nodes number | 61 | 61 | 97 | 97 | 744 | 744 |
Path calculation time | 0.5 ms | 0.9 ms | 0.6 ms | 1.2 ms | 5 ms | 10 ms |
Table 2.
Comparisons of the SCCPP, CCD* and HDCP algorithms for the Gallery scenario.
Table 2.
Comparisons of the SCCPP, CCD* and HDCP algorithms for the Gallery scenario.
| SCCPP | CCD* | HDCP |
---|
Coverage path length | 129.44 m | m | 163.48 m |
Coverage time | 409.58 s | 768.22 s | 879.65 s |
Coverage rate | 72.11% | 98.85% | 57.38% |
Coverage redundancy | 5.79% | 87.48% | 46.15% |
Table 3.
SCCPP algorithm on the Pioneer 3DX robot for the Lab scenario.
Table 3.
SCCPP algorithm on the Pioneer 3DX robot for the Lab scenario.
| SCCPP |
---|
Coverage path length | 53.85 m |
Coverage time | 179.5 s |
Coverage rate | 77.7% |
Coverage redundancy | 12.96% |
Tracking error | 6.43 |