Author Contributions
Conceptualization, S.G.; methodology, S.G. and A.C.; software, S.G.; validation, A.C., G.G. and F.D.; formal analysis, A.C. and G.G.; investigation, S.G. and A.C.; resources, A.C., G.G. and F.D.; data curation, S.G. and A.C.; writing—original draft preparation, S.G., A.C. and G.G.; writing—review and editing, S.G., A.C. and G.G.; visualization, S.G. and A.C.; supervision, G.G. and F.D.; project administration, S.G., A.C., G.G. and F.D.; funding acquisition, A.C. and G.G. All authors have read and agreed to the published version of the manuscript.
Figure 1.
Visual-Inertial Odometry feature matching principle and IMU (Inertial Measurement Unit) measurements during motion [
28].
Figure 1.
Visual-Inertial Odometry feature matching principle and IMU (Inertial Measurement Unit) measurements during motion [
28].
Figure 2.
Loosely coupled sensor fusion approach.
Figure 2.
Loosely coupled sensor fusion approach.
Figure 3.
Tightly coupled sensor fusion approach.
Figure 3.
Tightly coupled sensor fusion approach.
Figure 4.
(a) Streaming video frequency variation example from 30 Hz to 20 Hz. (b) Decrease in resolution from 848 × 800 px on the center of the image.
Figure 4.
(a) Streaming video frequency variation example from 30 Hz to 20 Hz. (b) Decrease in resolution from 848 × 800 px on the center of the image.
Figure 5.
Platform employed in the warehouse: drone in a quadcopter configuration, developed by the Spanish company Dronomy.
Figure 5.
Platform employed in the warehouse: drone in a quadcopter configuration, developed by the Spanish company Dronomy.
Figure 6.
(a) 848 × 800 px; (b) 636 × 600 px; (c) 424 × 400 px. ROS camera-calibration process capture for each of the resolutions selected with the respective target feature extraction. The marker employed is a 7 × 6 chessboard with a square size of 5.9 cm.
Figure 6.
(a) 848 × 800 px; (b) 636 × 600 px; (c) 424 × 400 px. ROS camera-calibration process capture for each of the resolutions selected with the respective target feature extraction. The marker employed is a 7 × 6 chessboard with a square size of 5.9 cm.
Figure 7.
Example of modeling accelerometer and gyroscope bias by cubic B-spline.
Figure 7.
Example of modeling accelerometer and gyroscope bias by cubic B-spline.
Figure 8.
(a) Left cam reprojection error; (b) Right cam reprojection error. ROS reprojection errors after the calibration optimization process. Mean reprojection error (left cam) px: 0.1627. Mean reprojection error (right cam) px: 0.1734.
Figure 8.
(a) Left cam reprojection error; (b) Right cam reprojection error. ROS reprojection errors after the calibration optimization process. Mean reprojection error (left cam) px: 0.1627. Mean reprojection error (right cam) px: 0.1734.
Figure 9.
Example of a trajectory estimated inside the warehouse, with a resolution of 636 × 600 px at a sampling rate of 25 Hz.
Figure 9.
Example of a trajectory estimated inside the warehouse, with a resolution of 636 × 600 px at a sampling rate of 25 Hz.
Figure 10.
(a) X max error, 15 Hz; (b) Y error, 15 Hz; (c) Z max error, 15 Hz; (d) X max error, 20 Hz; (e) Y error, 20 Hz; (f) Z max error, 20 Hz; (g) X max error, 25 Hz; (h) Y error, 25 Hz; (i) Z max error, 25 Hz; (j) X max error, 30 Hz; (k) Y error, 30 Hz; (l) Z max error, 30 Hz. Translation error analysis along the trajectory performed by varying resolution.
Figure 10.
(a) X max error, 15 Hz; (b) Y error, 15 Hz; (c) Z max error, 15 Hz; (d) X max error, 20 Hz; (e) Y error, 20 Hz; (f) Z max error, 20 Hz; (g) X max error, 25 Hz; (h) Y error, 25 Hz; (i) Z max error, 25 Hz; (j) X max error, 30 Hz; (k) Y error, 30 Hz; (l) Z max error, 30 Hz. Translation error analysis along the trajectory performed by varying resolution.
Figure 11.
(a) X max err, 424 × 400; (b) Y err, 424 × 400; (c) Z max err, 424 × 400; (d) X max err, 636 × 600; (e) Y err, 636 × 600; (f) Z max err, 636 × 600; (g) X max err, 848 × 800; (h) Y err, 848 × 800; (i) Z max err, 848 × 800. Translation error analysis along the trajectory performed by varying frequency.
Figure 11.
(a) X max err, 424 × 400; (b) Y err, 424 × 400; (c) Z max err, 424 × 400; (d) X max err, 636 × 600; (e) Y err, 636 × 600; (f) Z max err, 636 × 600; (g) X max err, 848 × 800; (h) Y err, 848 × 800; (i) Z max err, 848 × 800. Translation error analysis along the trajectory performed by varying frequency.
Figure 12.
(a) 424 × 400, 15 Hz; (b) 424 × 400, 20 Hz; (c) 424 × 400, 25 Hz; (d) 424 × 400, 30 Hz; (e) 636 × 600, 15 Hz; (f) 636 × 600, 20 Hz; (g) 636 × 600, 25 Hz.; (h) 636 × 600, 30 Hz; (i) 848 × 800, 15 Hz; (j) 848 × 800, 20 Hz; (k) 848 × 800, 25 Hz; (l) 848 × 800, 30 Hz. 3D trajectory of all the conditions analyzed.
Figure 12.
(a) 424 × 400, 15 Hz; (b) 424 × 400, 20 Hz; (c) 424 × 400, 25 Hz; (d) 424 × 400, 30 Hz; (e) 636 × 600, 15 Hz; (f) 636 × 600, 20 Hz; (g) 636 × 600, 25 Hz.; (h) 636 × 600, 30 Hz; (i) 848 × 800, 15 Hz; (j) 848 × 800, 20 Hz; (k) 848 × 800, 25 Hz; (l) 848 × 800, 30 Hz. 3D trajectory of all the conditions analyzed.
Figure 13.
(a) CPU usage, 15 Hz; (b) CPU usage, 20 Hz; (c) CPU usage, 25 Hz; (d) CPU usage, 30 Hz. Jetson Nano board computational cost analysis along the trajectory performed by varying the resolution.
Figure 13.
(a) CPU usage, 15 Hz; (b) CPU usage, 20 Hz; (c) CPU usage, 25 Hz; (d) CPU usage, 30 Hz. Jetson Nano board computational cost analysis along the trajectory performed by varying the resolution.
Figure 14.
(a) CPU usage, 424 × 400; (b) CPU usage, 636 × 600; (c) CPU usage, 848 × 800. Jetson Nano board computational cost analysis along the trajectory performed by varying the frequency.
Figure 14.
(a) CPU usage, 424 × 400; (b) CPU usage, 636 × 600; (c) CPU usage, 848 × 800. Jetson Nano board computational cost analysis along the trajectory performed by varying the frequency.
Figure 15.
(a) FL, 15 Hz; (b) FL, 20 Hz; (c) FL, 25 Hz; (d) FL, 30 Hz. Feature loss analysis along the trajectory performed by varying resolution.
Figure 15.
(a) FL, 15 Hz; (b) FL, 20 Hz; (c) FL, 25 Hz; (d) FL, 30 Hz. Feature loss analysis along the trajectory performed by varying resolution.
Figure 16.
(a) FL, 424 × 400; (b) FL, 636 × 600; (c) FL, 848 × 800. Feature loss analysis along the trajectory performed by varying frequency.
Figure 16.
(a) FL, 424 × 400; (b) FL, 636 × 600; (c) FL, 848 × 800. Feature loss analysis along the trajectory performed by varying frequency.
Table 1.
Gyroscope and accelerometer calibration parameters. Equations are derived in [
34].
Table 1.
Gyroscope and accelerometer calibration parameters. Equations are derived in [
34].
Parameter | Symbol | BNI055 | Unit |
---|
Gyroscope “white noise” | | 0.0018491 | rad (s |
Accelerometer “white noise” | | 0.01094 | m (s2 |
Gyroscope “bias instability” | | | rad |
Accelerometer “bias instability” | | 0.00058973 | m |
Table 2.
Intrinsic and distortion parameters for left (
l) and right (
r) fisheye cameras for the three resolutions selected. The parameters
and
represent the focal length along X and Y. Instead,
and
are the principal point coordinates along X and Y. While
,
,
,
are the distortion parameters of the equidistant camera model [
36].
Table 2.
Intrinsic and distortion parameters for left (
l) and right (
r) fisheye cameras for the three resolutions selected. The parameters
and
represent the focal length along X and Y. Instead,
and
are the principal point coordinates along X and Y. While
,
,
,
are the distortion parameters of the equidistant camera model [
36].
Param | | | | | | |
---|
| 285.3568 | 285.3568 | 285.7695 | 285.5315 | 285.5315 | 285.3433 |
| 285.4461 | 285.4461 | 285.6246 | 285.5397 | 285.5397 | 285.1813 |
| 419.0777 | 310.2573 | 207.0993 | 414.3119 | 305.4019 | 202.1401 |
| 399.5762 | 297.1926 | 200.8910 | 396.4943 | 294.4193 | 196.9490 |
| −0.005900 | −0.005900 | −0.005900 | −0.006894 | −0.006894 | −0.006894 |
| 0.04159 | 0.04160 | 0.04160 | 0.04397 | 0.04397 | 0.04397 |
| −0.03861 | −0.03861 | −0.03861 | −0.04040 | −0.04040 | −0.04040 |
| 0.006450 | 0.006451 | 0.006451 | 0.006843 | 0.006843 | 0.006843 |
Table 3.
Low-resolution CPU usage values.
Table 3.
Low-resolution CPU usage values.
Freq (Hz) | Mean (% CPU) | Max (% CPU) | Min (% CPU) |
---|
15 | 13.968 | 16 | 5.5 |
20 | 16.578 | 19.25 | 4 |
25 | 18.148 | 21.5 | 9 |
30 | 19.056 | 24.25 | 7.5 |
Table 4.
Mean-resolution CPU usage values.
Table 4.
Mean-resolution CPU usage values.
Freq (Hz) | Mean (% CPU) | Max (% CPU) | Min (% CPU) |
---|
15 | 24.543 | 30.5 | 21.25 |
20 | 34.993 | 45.25 | 23.75 |
25 | 37.298 | 44.5 | 29.25 |
30 | 45.31 | 53 | 30.5 |
Table 5.
High-resolution CPU usage values.
Table 5.
High-resolution CPU usage values.
Freq (Hz) | Mean (% CPU) | Max (% CPU) | Min (% CPU) |
---|
15 | 40.658 | 46 | 34 |
20 | 48.048 | 50.75 | 44.25 |
25 | 49.467 | 51 | 48.5 |
30 | 49.637 | 53 | 48.25 |