A Drone’s 3D Localization and Load Mapping Based on QR Codes for Load Management
Abstract
:1. Introduction
2. Related Works
2.1. Simultaneous Localization and Mapping
2.2. Structure of QR Code
2.3. Camera Pinhole Model
3. Proposed Method
3.1. Assumption for Proposed Method
- The size of the QR codes attached to the floor are the same.
- There is a floor camera of the drone to capture the floor QR codes.
- The center of the floor camera is perpendicular to the floor.
- The absolute coordinate of the QR code is contained in the floor QR code.
- The floor QR codes are attached in a fixed direction.
- The size of the QR codes attached to the load are the same.
- There is a camera on the front of the drone to capture the QR codes of the loaded objects.
- During mapping, the central axis of the camera and the face of the loaded object where the QR code is located are perpendicular to each other.
- The drone has basic knowledge of the size of the entire space.
3.2. Proposed Drone 3D Localization Algorithm
3.2.1. Overall Drone 3D Localization Algorithm
Algorithm 1 Pseudocode of Drone 3D Localization Algorithm |
Input: |
FloorFrame: Floor-direction camera image data |
QR_CODE_LIST: All QR codes in the FloorFrame |
(, ): Frame center point in image coordinates |
(, ): QR code center point in image coordinates |
MinDist: Minimum distance between the QR code center and frame center |
(, ): position of the QR code closest to the frame center in the image |
Th: Threshold to determine whether (, ) and (, ) match |
MinQR: Information structure of the QR code closest to frame center |
Structure of MinQR |
[(, ): x and y coordinates of the QR code in world coordinates, |
: The length of one side of the QR code in world coordinates, |
: Distance from a vertex to the QR code center within the QR code] |
Output: |
(, , ): x, y, and z positions of the drone in world coordinates |
: Angle of the direction of the drone relative to the x-axis in world coordinates |
Procedure Drone 3D Localization |
1 QR_CODE_LIST ← Insert All QR Code Detection in FloorFrame |
2 MinDist ← ∞ |
3 (, ) ← Center Point of FloorFrame |
4 For QR To QR_CODE_LIST |
5 (, ) ← Center Point of QR |
6 If MinDist > Dist(, ,(, )) Then |
7 MinDist ← Dist((, ),(, )) |
8 MinQR ← information from the QR |
9 (, ) ← (, ) |
10 If MinDist <= Th Then |
11 (, , ,)←MatchedLocalization(MinQR) |
12 Else |
13 (, , ,)←NotMatchedLocalization(MinQR,(, ),(, )) |
END |
3.2.2. QR Code Detection Using the QR Code Reader
3.2.3. Detecting QR Code Center Points
3.2.4. Distance between Image Center and QR Code Center
3.2.5. Localization Method of a Drone When the QR Center and Image Center Match
Algorithm 2 Pseudocode of MatchedLocalization Algorithm |
Input: |
MinQR: Information structure of the QR code closest to the frame center |
Structure of MinQR |
[(, ): x and y coordinates of the QR code in world coordinates, |
: The length of one side of the QR code in world coordinates, |
: Distance from a vertex to the QR code center within the QR code] |
: The length of one side of QR code in image coordinates |
Output: |
(, , ): x, y, and z positions of drone in world coordinates |
: Angle of the direction of the drone relative to the x-axis in world coordinates |
Procedure MatchedLocalization |
1 ← Extracting angles based on the MinQR shape |
2 ← Average of all side lengths of MinQR |
3 ← × FL/ |
4 ← |
5 ← |
END |
3.2.6. Drone Localization Method When the QR Center and Image Center Not-Matched
Algorithm 3 Pseudocode for NotMatchedLocalization Algorithm |
Input: |
MinQR: Information structure of the QR code closest to the frame center |
Structure of MinQR |
[(, ): x and y coordinates of the QR code in world coordinates, |
: The length of one side of the QR code in world coordinates, |
: Distance from a vertex to the QR code center within the QR code] |
(, ): Frame center point in image coordinates |
(, ): Position of the QR code closest to the frame center in image coordinates |
: Length of one side of the QR code in image coordinates |
: Distance between the vertex to QR code center in image coordinates |
: Distance between the drone and QR code projected on the xy plane in world coordinates |
: Angle formed by x-axis and the line in world coordinates |
Output: |
(, , ): x, y, and z positions of the drone in world coordinates |
: Angle of the direction of the drone relative to the x-axis in world coordinates |
Procedure NotMatchedLocalization |
1 ← Average of the distance sum between (, ) and each vertex of MinQR |
2 ← Extracting angles based on the MinQR shape |
3 ← MinQR. × FL/ |
4 ← × Dist((, ),(, ))/ |
5 ← Angle between two lines, |
y ← tan() × (x − ) + y = ( − )/( − ) × (x − ) + |
6 ← − × cos() |
7 ← − × sin() |
END |
3.3. Proposed Load Mapping Algorithm
3.3.1. Load Mapping Algorithm Overview
Algorithm 4 Pseudocode of LoadMapping Algorithm |
Input: |
LoadFrame: Face-direction camera image data |
(, ): Frame center point in image coordinates |
(, ): QR code center point in image coordinates |
Th: Threshold to determine whether (, ) and (, ) match |
(, , ): x, y, and z positions of drone in world coordinates |
: Angle of the direction the drone relative the x-axis in world coordinates |
Output: |
(, , ): x, y, and z position of the QR code in world coordinates |
LOAD_QR_POSITION: Location of all QR codes in image coordinates |
Procedure LoadMapping |
1 QR_CODE_LIST ← Insert All QR Code Detection in LoadFrame |
2 (, ) ← Center Point of LoadFrame |
3 For QR To QR_CODE_LIST |
4 (, ) ← Center point of QR |
5 If Dist((, ),(, )) <= Th Then |
6 (, , ) ← MatchedMapping(QR, , , , ) |
7 Else |
8 (, , ) ←NotMatchedMapping(QR, , , ,, |
(, ),(, )) |
9 LOAD_QR_POSITION ← Insert (, , ) |
END |
3.3.2. Load QR Code Mapping Algorithm When Center Points Matched
Algorithm 5 Pseudocode of MatchedMapping Algorithm |
Input: |
QR: Information structure of the load QR code |
Structure |
[: The length of one side of the QR code in world coordinates, |
: Distance from a vertex to the QR code center within the QR code] |
(, , ): x, y, and z positions of the drone in world coordinates |
: Angle of the direction of the drone relative to the x-axis in world coordinates |
: The length of one side of the QR code in image coordinates |
: Distance between the drone and wall attaching the load QR code in world coordinates |
Output: |
(, , ): x, y, and z positions of QR code in world coordinates |
Procedure MatchedMapping |
1 ← FL × / |
2 ← + × cos() |
3 ← + × sin() |
4 ← |
END |
3.3.3. Load QR Code Mapping Algorithm with Center Point Not-Matched
Algorithm 6 Pseudocode of NotMatchedMapping Algorithm |
Input: |
QR: Information structure of load QR code |
Structure |
[: The length of one side of the QR code in world coordinates, |
: Distance from a vertex to the QR code center within the QR code] |
(, ): Frame center point in image coordinates |
(, ): QR code center point in image coordinates |
(, , ): x, y, and z positions of the drone in world coordinates |
: Angle of the direction of the drone relative to the x-axis in world coordinates |
: The length of one side of the QR code in image coordinates |
(, QR): The x and y-axes distance from the QR code |
center to the frame center in image coordinates |
(, ): Distance corresponding to (, QR) |
in world coordinates |
: Distance between the drone and the wall attaching the load QR code in world coordinates |
(, ): Position where the wall attaching the load QR code and the line |
intersect in world coordinates |
: Angle between the wall attaching the QR code and the x-axis in world coordinates |
Output: |
(, , ): x, y, and z positions of the QR code in world coordinates |
Procedure NotMatchedMapping |
1 (, QR) ←(| − |, | − |) |
2 (, ) ← (, QR) × / |
3 ← Average of the distance sum between (, ) and each vertex of QR |
4 ← QR. × FL/ |
5 (, ) ←( + × cos(), + × sin()) |
6 ←( + 90)% 360 |
7 If > |
8 ← + |
9 Else |
10 ← – |
11 If = 0 |
12 ← + |
13 If > |
14 ← + |
15 Else |
16 ← − |
17 Else If = 90 |
18 = + |
19 If > |
20 ← − |
21 Else |
22 ← + |
23 Else If = 180 |
24 ← – |
25 If > |
26 ← − |
27 Else |
28 ← + |
29 Else If = 270 |
30 ← − |
31 If > |
32 ← − |
33 Else |
34 ← + |
35 Else |
36 If > |
37 ← + × cos() |
38 ← + × sin() |
39 Else If = |
40 ← |
41 ← |
42 Else |
43 ← + × cos(( + 180)%360) |
44 ← + × sin(( + 180)%360) |
END |
4. Experimental Results
4.1. Experiment on Simulator
4.1.1. Experimental Environment on Simulator
4.1.2. Experimental Results for Drone’s 3D Localization
4.1.3. Experimental Results for LoadMapping Algorithm
4.2. Experiment Using Actual Drone
4.2.1. Experimental Environment Using Actual Drone
4.2.2. The Experimental Results of Localization Algorithm Using an Actual Drone
4.2.3. The Experimental Results of Load Mapping Algorithm Using an Actual Drone
4.3. Commercial Drone GPS-Based Average Error Experiment
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Appendix A. All Data in Simulator Experiment
All Data in Table 1 and Table 2
Image Number | Axis | Real Position (a) | Estimation Results (b) | |(a) − (b)| |
---|---|---|---|---|
x | 0.00 | 0.16 | 0.16 | |
image1 | y | 190.00 | 191.09 | 0.25 |
z | 234.00 | 231.59 | 2.41 | |
90.00 | 90.00 | 0.00 | ||
x | 0.00 | 0.16 | 0.16 | |
image2 | y | 205.99 | 191.09 | 1.09 |
z | 190.00 | 231.59 | 2.41 | |
90.00 | 90.00 | 0.00 | ||
x | 167.99 | 168.68 | 0.69 | |
image3 | y | 200.00 | 199.94 | 0.06 |
z | 90.00 | 85.59 | 4.11 | |
90.00 | 89.89 | 0.11 | ||
x | 250.23 | 252.42 | 2.19 | |
image4 | y | 597.81 | 598.27 | 0.46 |
z | 155.51 | 159.00 | 3.14 | |
97.19 | 97.22 | 0.03 | ||
x | 1.31 | 1.31 | 0 | |
image5 | y | 600.52 | 600.52 | 0 |
z | 97.71 | 97.71 | 0 | |
64.80 | 65.74 | 0.94 | ||
x | 610.20 | 609.97 | 0.23 | |
image6 | y | 606.52 | 606.44 | 0.08 |
z | 132.00 | 128.34 | 3.66 | |
270.00 | 270.00 | 0.00 | ||
x | 0.0 | 0.16 | 0.16 | |
image7 | y | 205.99 | 205.74 | 0.25 |
z | 239.99 | 231.79 | 2.20 | |
90.00 | 90.00 | 0.00 | ||
x | 424.20 | 420.78 | 3.42 | |
image8 | y | 603.52 | 603.46 | 0.06 |
z | 210.0 | 206.89 | 3.11 | |
270.00 | 270.27 | 0.27 | ||
x | 2.99 | 3.16 | 0.17 | |
image9 | y | 211.99 | 211.65 | 0.34 |
z | 287.99 | 287.25 | 0.74 | |
90.00 | 90.00 | 90.00 | ||
x | 13.20 | 12.94 | 0.26 | |
image10 | y | 603.52 | 603.50 | 0.02 |
z | 81.00 | 76.49 | 4.51 | |
270.00 | 270.10 | 0.10 | ||
x | 13.20 | 12.94 | 0.26 | |
image11 | y | 603.52 | 603.50 | 0.02 |
z | 81.00 | 76.49 | 4.51 | |
270.00 | 270.10 | 0.10 | ||
x | 2.99 | 3.09 | 0.10 | |
image12 | y | 211.99 | 211.68 | 0.31 |
z | 254.99 | 249.97 | 5.02 | |
90.00 | 90.00 | 0.00 | ||
x | 2.99 | 3.09 | 0.10 | |
image13 | y | 211.99 | 211.68 | 0.31 |
z | 254.99 | 249.97 | 5.02 | |
90.00 | 90.00 | 0.00 |
Image Number | Axis | Real Position (a) | Estimation Results (b) | |(a) − (b)| |
---|---|---|---|---|
x | 1.20 | 1.16 | 0.04 | |
image14 | y | 603.52 | 603.52 | 0.00 |
z | 81.0 | 70.49 | 4.51 | |
270.00 | 270.00 | 0.00 | ||
x | 2.99 | 2.97 | 0.02 | |
image15 | y | 211.99 | 211.72 | 0.27 |
z | 186.00 | 183.12 | 2.88 | |
90.00 | 89.77 | 0.23 | ||
x | 1.20 | 1.16 | 0.04 | |
image16 | y | 597.52 | 597.63 | 0.11 |
z | 81.00 | 76.49 | 4.51 | |
270.00 | 270.00 | 0.00 | ||
x | −6.00 | 5.77 | 0.23 | |
image17 | y | 205.99 | 205.89 | 0.10 |
z | 168.00 | 164.75 | 3.25 | |
90.00 | 90.00 | 0.00 | ||
x | 1.20 | 1.21 | 0.01 | |
image18 | y | 600.52 | 600.57 | 0.05 |
z | 51.00 | 76.41 | 4.59 | |
274.50 | 275.40 | 0.90 | ||
x | 1.20 | 1.21 | 0.01 | |
image19 | y | 600.52 | 600.57 | 0.05 |
z | 51.00 | 76.41 | 4.59 | |
274.50 | 275.40 | 0.90 | ||
x | 8.99 | 8.88 | 0.11 | |
image20 | y | 200.00 | 199.96 | 0.04 |
z | 81.00 | 76.45 | 4.55 | |
90.00 | 89.90 | 0.10 | ||
x | 1.20 | 1.20 | 0.00 | |
image21 | y | 600.52 | 600.57 | 0.05 |
z | 81.00 | 76.43 | 4.57 | |
277.20 | 278.07 | 0.87 | ||
x | 167.99 | 168.68 | 0.69 | |
image22 | y | 200.00 | 199.80 | 0.20 |
z | 287.99 | 286.64 | 1.35 | |
90.00 | 90.00 | 0.00 | ||
x | 1.20 | 1.16 | 0.04 | |
image23 | y | 600.52 | 600.55 | 0.03 |
z | 102.00 | 97.93 | 4.07 | |
328.5 | 328.61 | 0.11 | ||
x | 146.99 | 150.95 | 3.96 | |
image24 | y | 200.00 | 199.80 | 0.20 |
z | 287.99 | 286.64 | 1.35 | |
90.00 | 90.00 | 0.00 | ||
x | 1.20 | 1.18 | 0.02 | |
image25 | y | 600.52 | 600.60 | 0.08 |
z | 102.00 | 98.89 | 3.11 | |
356.40 | 357.24 | 0.84 | ||
x | 167.99 | 168.67 | 0.68 | |
image26 | y | 200.00 | 200.00 | 0.00 |
z | 257.99 | 253.28 | 4.71 | |
90.0 | 90.0 | 0.00 | ||
x | 1.20 | 1.21 | 0.01 | |
image27 | y | 600.52 | 600.54 | 0.02 |
z | 102.00 | 99.85 | 2.51 | |
359.10 | 360.00 | 0.90 |
Image Number | Axis | Real Position (a) | Estimation Results (b) | |(a) − (b)| |
---|---|---|---|---|
x | 1.20 | 1.21 | 0.01 | |
image28 | y | 600.52 | 600.54 | 0.02 |
z | 102.00 | 97.85 | 4.51 | |
359.10 | 360.00 | 0.90 | ||
x | 167.99 | 168.68 | 0.69 | |
image29 | y | 200.00 | 199.80 | 0.20 |
z | 153.00 | 147.53 | 5.47 | |
90.00 | 89.81 | 0.19 | ||
x | 1.31 | 1.31 | 0.00 | |
image30 | y | 600.52 | 600.52 | 0.00 |
z | 97.71 | 97.71 | 0.00 | |
64.80 | 65.74 | 0.94 | ||
x | 1.23 | 1.20 | 0.03 | |
image31 | y | 600.52 | 600.46 | 0.06 |
z | 137.47 | 138.00 | 0.53 | |
90.71 | 90.87 | 0.16 | ||
x | 13.20 | 13.06 | 0.14 | |
image32 | y | 600.71 | 600.76 | 0.05 |
z | 234.00 | 234.80 | 0.80 | |
80.09 | 89.79 | 0.70 | ||
x | 200.99 | 200.00 | 0.99 | |
image33 | y | 200.00 | 200.00 | 0.00 |
z | 266.99 | 265.6 | 1.39 | |
90.00 | 89.89 | 0.01 | ||
x | 269.99 | 271.85 | 1.86 | |
image34 | y | 200.00 | 200.00 | 0.00 |
z | 266.99 | 265.33 | 1.66 | |
90.00 | 90.00 | 0.00 | ||
x | 88.19 | 89.63 | 1.44 | |
image35 | y | 601.89 | 602.02 | 0.13 |
z | 272.99 | 271.21 | 1.78 | |
89.09 | 88.94 | 0.15 | ||
x | 350.99 | 354.91 | 3.92 | |
image36 | y | 200.00 | 200.00 | 0.0 |
z | 266.99 | 265.59 | 1.4 | |
90.00 | 90.00 | 0.00 | ||
x | 205.18 | 205.13 | 0.05 | |
image37 | y | 603.72 | 603.66 | 0.06 |
z | 159.00 | 155.74 | 3.26 | |
90.00 | 89.80 | 0.20 | ||
x | 392.99 | 393.14 | 0.15 | |
image38 | y | 200.00 | 200.00 | 0.00 |
z | 78.00 | 73.39 | 4.61 | |
90.00 | 90.00 | 0.00 | ||
x | 250.23 | 252.42 | 2.19 | |
image39 | y | 600.90 | 600.39 | 0.51 |
z | 159.00 | 156.18 | 2.82 | |
97.19 | 97.22 | 0.03 | ||
x | 167.99 | 168.67 | 0.68 | |
image40 | y | 200.00 | 200.00 | 0.00 |
z | 257.99 | 253.28 | 4.71 | |
90.0 | 90.0 | 0.00 | ||
x | 821.72 | 822.00 | 0.28 | |
image41 | y | 200.00 | 199.93 | 0.07 |
z | 359.59 | 363.26 | 3.67 | |
90.0 | 90.0 | 0.00 |
Image Number | Axis | Real Position (a) | Estimation Results (b) | |(a) − (b)| |
---|---|---|---|---|
x | 272.55 | 270.86 | 1.69 | |
image42 | y | 597.81 | 598.27 | 0.46 |
z | 155.51 | 159.00 | 3.49 | |
97.19 | 97.22 | 0.03 | ||
x | 875.13 | 876.76 | 1.63 | |
image43 | y | 208.74 | 209.13 | 0.39 |
z | 177.00 | 174.00 | 3.00 | |
74.70 | 73.96 | 0.74 | ||
x | 357.40 | 358.02 | 0.62 | |
image44 | y | 591.03 | 591.13 | 0.10 |
z | 159.00 | 155.98 | 3.02 | |
86.39 | 86.39 | 0.00 | ||
x | 880.87 | 882.54 | 1.67 | |
image45 | y | 210.46 | 211.30 | 0.84 |
z | 177.00 | 174.34 | 2.66 | |
72.90 | 71.85 | 1.05 | ||
x | 862.07 | 858.01 | 4.06 | |
image46 | y | 564.84 | 565.70 | 0.86 |
z | 177.00 | 174.13 | 2.87 | |
277.20 | 276.49 | 0.71 | ||
x | 753.52 | 752.24 | 1.28 | |
image47 | y | 585.35 | 583.67 | 1.68 |
z | 456.00 | 457.11 | 1.11 | |
324.00 | 323.37 | 0.63 | ||
x | 581.2 | 579.08 | 2.12 | |
image48 | y | 460.15 | 461.73 | 1.58 |
z | 456.00 | 456.03 | 0.03 | |
324.00 | 324.06 | 0.06 | ||
x | 835.20 | 834.43 | 0.77 | |
image49 | y | 567.52 | 568.20 | 0.68 |
z | 177.00 | 173.96 | 3.04 | |
270.00 | 270.00 | 0.00 | ||
x | 0.00 | 0.00 | 0.00 | |
image50 | y | 2510.01 | 2509.79 | 0.22 |
z | 233.99 | 231.71 | 2.28 | |
110.69 | 111.08 | 0.39 |
QR No. | Axis | Real Position (a) | Result1 | Result2 | Result3 | Result4 | Result5 | Average Result (b) | |(a) − (b)| |
---|---|---|---|---|---|---|---|---|---|
x | 32.50 | 31.29 | 31.28 | 31.73 | 31.62 | 31.33 | 31.45 | 1.05 | |
QR 1 | y | 285.30 | 271.42 | 287.77 | 284.16 | 290.51 | 284.61 | 283.69 | 1.61 |
z | 236.50 | 236.05 | 245.41 | 239.06 | 242.55 | 233.50 | 239.31 | 2.81 | |
x | 32.50 | 32.28 | 32.00 | 33.45 | 32.87 | 32.28 | 32.57 | 0.07 | |
QR 2 | y | 286.40 | 289.44 | 290.37 | 291.45 | 284.35 | 281.21 | 287.36 | 0.96 |
z | 126.40 | 122.73 | 121.78 | 123.56 | 121.78 | 124.21 | 122.81 | 3.59 | |
x | 823.46 | 826.85 | 826.94 | 826.40 | 819.92 | 821.22 | 824.27 | 0.81 | |
QR 3 | y | 291.40 | 293.70 | 293.70 | 293.78 | 294.54 | 292.97 | 293.74 | 2.34 |
z | 75.60 | 74.44 | 71.11 | 70.84 | 78.24 | 76.21 | 74.17 | 1.43 | |
x | 399.20 | 399.21 | 399.26 | 399.22 | 398.45 | 401.26 | 399.48 | 0.28 | |
QR 4 | y | 291.20 | 290.90 | 290.78 | 291.02 | 295.73 | 294.26 | 292.54 | 1.34 |
z | 171.31 | 173.01 | 169.43 | 170.31 | 169.23 | 170.09 | 170.41 | 0.90 | |
x | 27.00 | 26.90 | 25.99 | 27.71 | 26.81 | 26.15 | 26.71 | 0.29 | |
QR 5 | y | 500.10 | 502.69 | 498.98 | 504.39 | 505.89 | 502.82 | 502.95 | 2.85 |
z | 82.40 | 81.02 | 77.71 | 77.66 | 77.77 | 81.02 | 79.04 | 3.36 | |
x | 604.00 | 603.63 | 604.30 | 610.26 | 598.46 | 610.26 | 605.38 | 1.38 | |
QR 6 | y | 498.20 | 496.87 | 496.87 | 496.88 | 496.77 | 496.87 | 496.85 | 1.35 |
z | 73.54 | 75.74 | 69.29 | 69.22 | 69.31 | 69.22 | 70.56 | 2.98 | |
x | 26.50 | 26.20 | 25.92 | 26.02 | 25.92 | 26.19 | 26.05 | 0.45 | |
QR 7 | y | 683.80 | 682.33 | 687.98 | 685.06 | 687.98 | 682.33 | 685.14 | 1.34 |
z | 78.10 | 73.53 | 79.83 | 73.55 | 76.89 | 73.52 | 75.46 | 2.64 | |
x | 382.90 | 377.42 | 379.89 | 380.35 | 380.55 | 382.72 | 380.19 | 2.71 | |
QR 8 | y | 675.10 | 673.02 | 672.06 | 674.15 | 676.32 | 674.25 | 673.96 | 1.14 |
z | 286.30 | 284.06 | 284.78 | 286.05 | 285.86 | 286.90 | 285.53 | 0.77 | |
x | 387.40 | 387.33 | 390.22 | 392.28 | 387.31 | 386.49 | 388.73 | 1.33 | |
QR 9 | y | 190.90 | 190.26 | 187.28 | 187.73 | 187.64 | 193.67 | 189.32 | 1.58 |
z | 681.17 | 680.77 | 680.99 | 680.89 | 680.85 | 680.79 | 680.86 | 0.31 | |
x | 808.10 | 811.70 | 807.17 | 811.74 | 807.35 | 807.17 | 809.03 | 0.93 | |
QR 10 | y | 180.30 | 183.46 | 183.24 | 183.46 | 177.47 | 183.24 | 182.17 | 1.87 |
z | 682.70 | 679.35 | 681.09 | 679.35 | 681.09 | 680.99 | 680.37 | 2.33 |
References
- Han, K.S.; Jung, H. Trends in Logistics Delivery Services Using UAV. Electron. Telecommun. Trends 2020, 35, 71–79. [Google Scholar]
- Moon, S.; Choi, Y.; Kim, D.; Seung, M.; Gong, H. Outdoor Swarm Flight System Based on RTK-GPS. J. KIISE 2016, 43, 1315–1324. [Google Scholar] [CrossRef]
- Hwang, J.; Ko, Y.-C.; Kim, S.-Y.; Kwon, K.-I.; Yoon, S.-H. A Study on Spotlight SAR Image Formation by using Motion Measurement Results of CDGPS. J. KIMST 2018, 21, 166–172. [Google Scholar]
- Adam, J.; Jason, V.V.; Paul, K.K.; Andrew, L. Modular Drone and Methods for Use. US20140277854A1, 18 September 2014. [Google Scholar]
- Craig, O.; Michael, B. Method and Apparatus for Warehouse Cycle Counting Using a Drone. US20160247116A1, 25 August 2016. [Google Scholar]
- Song, J.-B.; Hwang, S.-Y. Past and State-of-the-Art SLAM Technologies. J. Inst. Control Robot. Syst. 2014, 20, 372–379. [Google Scholar] [CrossRef]
- Xu, X.; Zhang, L.; Yang, J.; Cao, C.; Wang, W.; Ran, Y.; Tan, Z.; Luo, M. A Review of Multi-Sensor Fusion SLAM Systems Based on 3D LIDAR. Remote Sens. 2022, 14, 2835. [Google Scholar] [CrossRef]
- Dissanayake, M.W.M.G.; Newman, P.; Clark, S.; Durrant-Whyte, H.F.; Csorba, M. A solution to the simultaneous localization and map building (SLAM) problem. IEEE Trans. Robot. Autom. 2001, 17, 229–241. [Google Scholar] [CrossRef]
- Jung, J.N. SLAM for Mobile Robot. J. Inst. Control Robot. Syst. 2021, 27, 37–41. [Google Scholar]
- Hidalgo, F.; Braunl, T. Review of underwater SLAM techniques. In Proceedings of the 2015 6th International Conference on Automation, Robotics and Applications (ICARA), Queenstown, New Zealand, 17–19 February 2015; pp. 306–311. [Google Scholar]
- Siegwart, R.; Nourbakhsh, I.R. Introduction to Autonomous Mobile Robots, 2nd ed.; MIT Press: London, UK, 2004; pp. 47–82. [Google Scholar]
- Pritsker, A.; Alan, B. Introduction to Simulation and SLAM II; Halsted Press: Ultimo, NSW, Australia, 1984. [Google Scholar]
- Khan, M.U.; Zaidi, S.A.A.; Ishtiaq, A.; Bukhari, S.U.R.; Samer, S.; Farman, A. A Comparative Survey of LiDAR-SLAM and LiDAR based Sensor Technologies. In Proceedings of the 2021 Mohammad Ali Jinnah University International Conference on Computing (MAJICC), Karachi, Pakistan, 15–17 July 2021; pp. 1–8. [Google Scholar]
- Chan, S.-H.; Wu, P.-T.; Fu, L.-C. Robust 2D Indoor Localization Through Laser SLAM and Visual SLAM Fusion. In Proceedings of the 2018 IEEE International Conference on Systems, Man, and Cybernetics (SMC), Miyazaki, Japan, 7–10 October 2018; pp. 1263–1268. [Google Scholar]
- Zhang, J.; Singh, S. LOAM: Lidar odometry and mapping in real-time. Robot. Sci. Syst. 2014, 2, 1–9. [Google Scholar]
- Shan, T.; Englot, B. LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain. In Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 1–5 October 2018; pp. 4758–4765. [Google Scholar]
- Koide, K.; Miura, J.; Menegatti, E. A Portable 3D LIDAR-based System for Long-term and Wide-area People Behavior Measurement. Int. J. Adv. Robot. Syst. 2019, 16, 1–15. [Google Scholar] [CrossRef]
- Filip, I.; Pyo, J.; Lee, M.; Joe, H. Lidar SLAM Comparison in a Featureless Tunnel Environment. In Proceedings of the 2022 22nd International Conference on Control, Automation and Systems (ICCAS), Jeju, Republic of Korea, 27 November–1 December 2022; pp. 1648–1653. [Google Scholar]
- Macario Barros, A.; Michel, M.; Moline, Y.; Corre, G.; Carrel, F. A Comprehensive Survey of Visual SLAM Algorithms. Robotics 2022, 11, 24. [Google Scholar] [CrossRef]
- Davison, A.J.; Reid, I.D.; Molton, N.D.; Stasse, O. MonoSLAM: Real-Time Single Camera SLAM. IEEE Trans. Pattern Anal. Mach. Intell. 2007, 29, 1052–1067. [Google Scholar] [CrossRef] [PubMed]
- Chekhlov, D.; Pupilli, M.; Mayol, W.; Calway, A. Robust Real-Time Visual SLAM Using Scale Prediction and Exemplar Based Feature Description. In Proceedings of the 2007 IEEE Conference on Computer Vision and Pattern Recognition, Minneapolis, MN, USA, 17–22 June 2007; pp. 1–7. [Google Scholar]
- Wardhana, A.A.; Clearesta, E.; Widyotriatmo, A.; Suprijanto. Mobile robot localization using modified particle filter. In Proceedings of the 2013 3rd International Conference on Instrumentation Control and Automation (ICA), Ungasan, Indonesia, 28–30 August 2013; pp. 161–164. [Google Scholar] [CrossRef]
- Kim, J.; Yoon, K.; Kweon, I. Bayesian filtering for Key frame-based visual SLAM. Int. J. Robot. Res. 2015, 34, 517–531. [Google Scholar] [CrossRef]
- Su, D.; Liu, X.; Liu, S. Three-dimensional indoor visible light localization: A learning-based approach. In Proceedings of the UbiComp/ISWC ’21 Adjunct: Adjunct Proceedings of the 2021 ACM International Joint Conference on Pervasive and Ubiquitous Computing and Proceedings of the 2021 ACM International Symposium on Wearable Computers, Virtual, 21–26 September 2021; pp. 672–677. [Google Scholar]
- Tiwari, S. An Introduction to QR Code Technology. In Proceedings of the 2016 International Conference on Information Technology (ICIT), Bhubaneswar, India, 22–24 December 2016; pp. 39–44. [Google Scholar] [CrossRef]
- Wani, S.A. Quick Response Code: A New Trend in Digital Library. Int. J. Libr. Inf. Stud. 2019, 9, 89–92. [Google Scholar]
- Kolner, B.H. The pinhole time camera. J. Opt. Soc. Am. 1997, 14, 3349–3357. [Google Scholar] [CrossRef]
Image Number | Axis | Real Position (a) | Estimation Results (b) | |(a) − (b)| |
---|---|---|---|---|
x | 0.00 | 0.16 | 0.16 | |
image1 | y | 190.00 | 191.09 | 0.25 |
z | 234.00 | 231.59 | 2.41 | |
90.00 | 90.00 | 0.00 | ||
x | 0.00 | 0.16 | 0.16 | |
image2 | y | 205.99 | 191.09 | 1.09 |
z | 190.00 | 231.59 | 2.41 | |
90.00 | 90.00 | 0.00 | ||
x | 167.99 | 168.68 | 0.69 | |
image3 | y | 200.00 | 199.94 | 0.06 |
z | 90.00 | 85.59 | 4.11 | |
90.00 | 89.89 | 0.11 | ||
x | 250.23 | 252.42 | 2.19 | |
image4 | y | 597.81 | 598.27 | 0.46 |
z | 155.51 | 159.00 | 3.14 | |
97.19 | 97.22 | 0.03 | ||
x | 1.31 | 1.31 | 0 | |
image5 | y | 600.52 | 600.52 | 0 |
z | 97.71 | 97.71 | 0 | |
64.80 | 65.74 | 0.94 |
QR No. | Axis | Real Position (a) | Result 1 | Result 2 | Result 3 | Result 4 | Result 5 | Average Result (b) | |(a) − (b)| |
---|---|---|---|---|---|---|---|---|---|
x | 32.50 | 31.29 | 31.28 | 31.73 | 31.62 | 31.33 | 31.45 | 1.05 | |
QR 1 | y | 285.30 | 271.42 | 287.77 | 284.16 | 290.51 | 284.61 | 283.69 | 1.61 |
z | 236.50 | 236.05 | 245.41 | 239.06 | 242.55 | 233.50 | 239.31 | 2.81 | |
x | 32.50 | 32.28 | 32.00 | 33.45 | 32.87 | 32.28 | 32.57 | 0.07 | |
QR 2 | y | 286.40 | 289.44 | 290.37 | 291.45 | 284.35 | 281.21 | 287.36 | 0.96 |
z | 126.40 | 122.73 | 121.78 | 123.56 | 121.78 | 124.21 | 122.81 | 3.59 | |
x | 399.20 | 399.21 | 399.26 | 399.22 | 398.45 | 401.26 | 399.48 | 0.28 | |
QR 3 | y | 291.40 | 293.70 | 293.70 | 293.78 | 294.54 | 292.97 | 293.74 | 2.34 |
z | 75.60 | 74.44 | 71.11 | 70.84 | 78.24 | 76.21 | 74.17 | 1.43 |
Position Number | Axis | Real Position (a) | Estimation Results (b) | |(a) − (b)| |
---|---|---|---|---|
x | 37.70 | 65.10 | 189.70 | |
Position1 | y | 37.73 | 65.08 | 0.02 |
z | 189.70 | 189.22 | 0.48 | |
x | 151.70 | 146.98 | 4.72 | |
Position2 | y | 107.30 | 110.00 | 2.7 |
z | 189.70 | 182.76 | 3.06 | |
x | 50.70 | 48.32 | 2.38 | |
Position3 | y | 144.10 | 144.64 | 0.54 |
z | 189.70 | 187.67 | 2.03 | |
x | 187.40 | 186.12 | 1.28 | |
Position4 | y | 128.90 | 128.73 | 0.17 |
z | 189.70 | 195.73 | 6.09 | |
x | 80.40 | 80.15 | 0.25 | |
Position5 | y | 86.50 | 86.70 | 0.20 |
z | 189.70 | 190.45 | 0.75 | |
x | 184.60 | 184.11 | 0.49 | |
Position6 | y | 38.10 | 38.07 | 0.03 |
z | 189.70 | 186.79 | 2.91 | |
x | 93.80 | 97.64 | 3.84 | |
Position7 | y | 144.70 | 145.13 | 0.43 |
z | 189.70 | 188.33 | 1.37 | |
x | 115.70 | 115.93 | 0.23 | |
Position8 | y | 183.70 | 184.35 | 0.65 |
z | 189.70 | 193.17 | 3.47 | |
x | 56.70 | 58.89 | 2.19 | |
Position9 | y | 56.70 | 58.89 | 2.19 |
z | 189.70 | 189.38 | 0.32 | |
x | 223.40 | 223.91 | 0.51 | |
Position10 | y | 125.40 | 125.12 | 0.28 |
z | 189.70 | 193.50 | 3.8 | |
x | 123.30 | 120.6 | 2.7 | |
Position11 | y | 52.70 | 52.12 | 0.58 |
z | 189.70 | 189.51 | 0.19 |
Load QR Code Number | Axis | Real Position (a) | Estimation Results (b) | |(a) − (b)| |
---|---|---|---|---|
x | 174.60 | 178.22 | 3.62 | |
Load QR Code1 | y | 0.00 | −1.48 | 1.48 |
z | 135.10 | 130.14 | 4.96 | |
x | 115.90 | 119.36 | 3.46 | |
Load QR Code2 | y | 0.00 | −0.37 | 0.37 |
z | 76.60 | 70.19 | 6.41 | |
x | 27.40 | 29.94 | 2.54 | |
Load QR Code3 | y | 0.00 | −1.93 | 1.93 |
z | 151.40 | 147.96 | 3.44 | |
x | 0.00 | 2.18 | 2.18 | |
Load QR Code4 | y | 55.40 | 54.12 | 1.28 |
z | 132.60 | 127.73 | 4.87 | |
x | 0.00 | 0.19 | 0.19 | |
Load QR Code5 | y | 110.20 | 109.46 | 0.74 |
z | 101.06 | 97.26 | 4.34 | |
x | 0.00 | −1.14 | 1.14 | |
Load QR Code6 | y | 145.10 | 155.53 | 10.43 |
z | 156.30 | 142.14 | 14.16 |
QR Code Number | The Distance to QR1 (a) (Unit: cm) | (Latitude, Longitude) | Difference in Latitude and Longitude from QR1 | Converting Latitude and Longitude Differences into Centimeters (Unit: cm) | Distance to QR1 Calculated Using Latitude and Longitude (b) (Unit: cm) | |(a) − (b)| |
---|---|---|---|---|---|---|
QR1 (Base) | 0.000000 | (37.556171, 127.001319) | (0.000000, 0.000000) | (0.000000, 0.000000) | 0.000000 | 0.000000 |
QR2 | 100.000000 | (37.556181, 127.001312) | (0.000010, 0.000007) | (110.988000, 61.840100) | 127.053273 | 27.053273 |
QR3 | 200.000000 | (37.556186, 127.001312) | (0.000015, 0.000007) | (166.482000, 61.840100) | 177.596324 | 22.403676 |
QR4 | 100.000000 | (37.556187, 127.001323) | (0.000016, 0.000004) | (177.580800, 35.337200) | 181.062581 | 81.062581 |
QR5 | 141.421350 | (37.556188, 127.001303) | (0.000017, 0.000016) | (188.679600, 141.348800) | 235.752995 | 94.331645 |
QR6 | 223.606790 | (37.556183, 127.001284) | (0.000012, 0.000035) | (133.185600, 309.200500) | 336.665046 | 113.058256 |
QR7 | 200.000000 | (37.556189, 127.001312) | (0.000018, 0.000007) | (199.778400, 61.840100) | 209.130598 | 9.130598 |
QR8 | 223.606790 | (37.556197, 127.001301) | (0.000026, 0.000018) | (288.568800, 159.017400) | 329.482148 | 105.875358 |
QR9 | 282.842712 | (37.556197, 127.001293) | (0.000026, 0.000026) | (288.568800, 229.691800) | 368.822824 | 85.980111 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Kang, T.-W.; Jung, J.-W. A Drone’s 3D Localization and Load Mapping Based on QR Codes for Load Management. Drones 2024, 8, 130. https://doi.org/10.3390/drones8040130
Kang T-W, Jung J-W. A Drone’s 3D Localization and Load Mapping Based on QR Codes for Load Management. Drones. 2024; 8(4):130. https://doi.org/10.3390/drones8040130
Chicago/Turabian StyleKang, Tae-Won, and Jin-Woo Jung. 2024. "A Drone’s 3D Localization and Load Mapping Based on QR Codes for Load Management" Drones 8, no. 4: 130. https://doi.org/10.3390/drones8040130
APA StyleKang, T. -W., & Jung, J. -W. (2024). A Drone’s 3D Localization and Load Mapping Based on QR Codes for Load Management. Drones, 8(4), 130. https://doi.org/10.3390/drones8040130