Utilizing Ensemble Learning to Improve the Distance Information for UWB Positioning
Abstract
:1. Introduction
2. Preliminaries
2.1. Problem Formulation
2.2. Ensemble Learning
2.3. k-Means Clustering
- Place k centroids randomly;
- For each point, which is not a centroid, find the nearest centroid and assign it to the cluster where the nearest centroid belongs;
- After assigning each point to its cluster, find a new centroid for each cluster;
- Repeat steps 2 and 3 until a predefined number of iterations or convergence.
2.4. Regression Analysis
2.5. Artificial Neural Network
2.6. The Original Design
3. Our Architecture and Algorithm
- initialize(x) is used to put device x at a specific location for the purpose of obtaining training and testing data;
- sys_dis() is utilized to return the distance information between device x and device y provided by the UWB system;
- real_dis() is utilized to return the actual distance information between device x and device y;
- prefilter(a) is a method to discard unreasoned parts from data a and then return the residual part.
Algorithm 1. The improved algorithm for in a specific scenario. |
Variable: |
(01) and tag are devices with UWB transceivers; |
(02) DATA, TRAINING and TESTING are data sets; |
(03) DATA ← ∅; |
(04) TRAINING ← ∅; |
(05) TESTING ← ∅; |
Function: |
(06) initialize(x): put device x at a specific location; |
(07) sys_dis(x, y): the distance between device x and device y provided by the UWB system; |
(08) real_dis(x, y): the actual distance between device x and device y; |
(09) prefilter(a): a method to discard unreasoned parts from data a; |
Collecting phase: |
(10) for all combinations of and tag do |
(11) initialize(); |
(12) initialize(tag); |
(13) for 1 ≤ x ≤ n do |
(14) DATA ← DATA ∪ (sys_dis(, tag), real_dis(, tag)); |
(15) separate DATA into TRAINING and TESTING; |
Learning phase: |
(16) TRAINING ← prefilter(TRAINING); |
(17) train the model via TRAINING; |
Evaluating phase: |
(18) TESTING ← prefilter(TESTING); |
(19) evaluate the trained model via TESTING; |
4. Experimental Results
- In the experiments, three scenarios were considered, i.e., classroom, parking garage, and parking lot (shown in Figure 5);
- Four anchors were set at fixed positions (red points);
- Twenty-seven points were utilized to collect the data: training data (blue points) and testing data (green points);
- For every point, 100 continuing distance values were collected;
- The complete location information is shown in Figure 6;
- The UWB transceiver device utilized in the experiments was DWM1000 [16].
- The DWM1000 integrated the antenna, the Radio Frequency (RF), clock circuitries, and the power management module. It used the Time Difference of Arrival (TDOA) method to obtain the raw distance data between each pair of UWB devices [17].
- Google Colab [18] allowed us to write and execute Python 3 in the browser with the power of a Graphics Processing Unit (GPU).
- Prefilters:
- –
- MaxAve: We removed the largest and smallest and then only considered the average of the cluster with the most elements for k-means clustering () as the training data;
- –
- MaxCen: We removed the largest and smallest and then only considered the median of the cluster with the most elements for k-means clustering () as the training data;
- –
- CenAve: We removed the largest and smallest and then only considered the average of the central cluster for k-means clustering () as the training data;
- –
- CenCen: We removed the largest and smallest and then only considered the median of the central cluster for k-means clustering () as the training data;
- –
- : We removed the largest and smallest and then only considered the average of the residual part as the training data;
- Machine learning approaches:
- –
- LR: Linear Regression;
- –
- Third order PR: Third order Polynomial Regression;
- –
- Fifth order PR: Fifth order Polynomial Regression;
- –
- Tenth order PR: Tenth order Polynomial Regression;
- –
- ANN:
- ∗
- Model: sequential model;
- ∗
- Activation function: rectified linear unit;
- ∗
- Optimizer: adam;
- ∗
- Loss function: mean absolute error;
- ∗
- The architecture is shown in Figure 7.
5. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Chang, C.-C.; Tsai, J.; Lin, J.-H.; Ooi, Y.-M. Autonomous Driving Control Using the DDPG and RDPG Algorithms. Appl. Sci. 2021, 11, 10659. [Google Scholar] [CrossRef]
- Chang, C.-C.; Lin, W.-M.; Lai, C.-A. Using Real-Time Dynamic Prediction to Implement IoV-Based Collision Avoidance. Appl. Sci. 2019, 9, 5370. [Google Scholar] [CrossRef]
- Xu, Q.; Wang, B.; Zhang, F.; Regani, D.S.; Wang, F.; Liu, K.J.R. Wireless AI in Smart Car: How Smart a Car Can Be? IEEE Access 2020, 8, 55091–55112. [Google Scholar] [CrossRef]
- Chang, C.-C.; Shih, K.-C.; Ting, H.-C.; Su, Y.-S. Utilizing Machine Learning to Improve the Distance Information from Depth Camera. In Proceedings of the 2021 IEEE 3rd Eurasia Conference on IOT, Communication and Engineering (ECICE), Yunlin, Taiwan, 29–31 October 2021. [Google Scholar]
- Chang, C.-C.; Wang, H.-W.; Zeng, Y.-X.; Huang, J.-D. Using Machine Learning Approaches to Improve Ultra-Wideband Positioning. J. Internet Technol. 2021, 22, 1021–1031. [Google Scholar] [CrossRef]
- Opitz, D.; Maclin, R. Popular Ensemble Methods: An Empirical Study. J. Artif. Intell. Res. 1999, 11, 169–198. [Google Scholar] [CrossRef]
- Zhu, Z.; Wang, Z.; Li, D.; Zhu, Y.; Du, W. Geometric Structural Ensemble Learning for Imbalanced Problems. IEEE Trans. Cybern. 2020, 50, 1617–1629. [Google Scholar] [CrossRef] [PubMed]
- Hwang, K. Cloud Computing for Machine Learning and Cognitive Applications; The MIT Press: Cambridge, UK, 2017. [Google Scholar]
- Hwang, K.; Chen, M. Big-Data Analytics for Cloud, IoT and Cognitive Computing; Wiley: Hoboken, NJ, USA, 2017. [Google Scholar]
- K-Means Clustering-Introduction to Machine Learning Algorithms|by Rohith Gandhi|Towards Data Science. Available online: https://towardsdatascience.com/k-means-clustering-introduction-to-machine-learning-algorithms-c96bf0d5d57a (accessed on 1 August 2022).
- Illukkumbura, A. Introduction to Regression Analysis; Amazon Digital Services: Seattle, WA, USA, 2020. [Google Scholar]
- Sutton, R.S.; Barto, A.G. Reinforcement Learning: An Introduction; The MIT Press: Cambridge, UK, 2018. [Google Scholar]
- Geron, A. Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems; O’Reilly Media: Sebastopol, CA, USA, 2019. [Google Scholar]
- Dionisio-Ortega, S.; Rojas-Perez, L.O.; Martinez-Carranza, J.; Cruz-Vega, I. A Deep Learning Approach towards Autonomous Flight in Forest Environments. In Proceedings of the 2018 International Conference on Electronics, Communications and Computers (CONIELECOMP), Cholula, Mexico, 21–23 February 2018; pp. 139–144. [Google Scholar]
- Maximov, V.; Tabarovsky, O. Survey of Accuracy Improvement Approaches for Tightly Coupled ToA/IMU Personal Indoor Navigation System. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Montbeliard, France, 28–31 October 2013. [Google Scholar]
- DWM1000 Module-Decawave. Available online: https://www.decawave.com/product/dwm1000-module/ (accessed on 1 August 2022).
- DWM1000 Datasheet. Available online: https://datasheet.lcsc.com/lcsc/1809291612_DecaWave-DWM1000\_C95238.pdf (accessed on 1 August 2022).
- Colaboratory. Available online: https://colab.research.google.com/ (accessed on 1 August 2022).
- scikit-learn: Machine Learning in Python-scikit-learn 1.0 Documentation. Available online: https://scikit-learn.org/stable/ (accessed on 1 August 2022).
- Keras Documentation. Available online: https://keras.io/ (accessed on 1 August 2022).
- Solvers-SymPy 1.10.1 Documentation. Available online: https://docs.sympy.org/latest/modules/solvers/solvers.html (accessed on 1 August 2022).
- Rocklin, M.; Terrel, A.R. Symbolic Statistics with SymPy. Comput. Sci. Eng. 2012, 14, 88–93. [Google Scholar] [CrossRef]
Scene | Classroom | Parking Garage | Parking Lot | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Filtering algorithm | MaxAve | MaxCen | CenAve | CenCen | 10% | MaxAve | MaxCen | CenAve | CenCen | 10% | MaxAve | MaxCen | CenAve | CenCen | 10% |
Average error (cm) for LR refinement | 13.4840 | 13.5016 | 12.9833 | 12.9509 | 13.1802 | 13.1247 | 13.1195 | 13.2806 | 13.3082 | 13.2374 | 5.5774 | 5.5771 | 5.2287 | 5.2522 | 5.2791 |
Average error (cm) for 3rd order PR refinement | 14.7483 | 14.6830 | 14.1591 | 14.1242 | 14.4526 | 13.7075 | 13.7177 | 14.3688 | 14.3690 | 14.3312 | 7.0026 | 6.9436 | 6.7687 | 6.7979 | 6.8600 |
Average error (cm) for 5th order PR refinement | 16.2367 | 16.2464 | 16.0984 | 16.0911 | 16.1965 | 14.1433 | 14.0594 | 14.1278 | 14.1456 | 14.1356 | 7.7564 | 7.7698 | 7.6098 | 7.6510 | 7.7056 |
Average error (cm) for ANN refinement | 13.9084 | 12.7475 | 14.0147 | 13.3212 | 14.1257 | 12.7099 | 12.5266 | 12.8038 | 11.9679 | 12.6255 | 6.2953 | 6.2102 | 5.3152 | 4.9925 | 6.0157 |
Scene | Classroom | Parking Garage | Parking Lot | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Filtering algorithm | MaxAve | MaxCen | CenAve | CenCen | 10% | MaxAve | MaxCen | CenAve | CenCen | 10% | MaxAve | MaxCen | CenAve | CenCen | 10% |
Standard deviation (cm) for LR refinement | 4.9911 | 5.0357 | 4.4573 | 4.4348 | 4.4121 | 11.2675 | 11.3058 | 11.1558 | 11.1844 | 11.2332 | 1.7559 | 1.7165 | 1.6711 | 1.6744 | 1.6475 |
Standard deviation (cm) for 3rd order PR refinement | 7.4616 | 7.3711 | 6.5284 | 6.5000 | 6.6460 | 10.4364 | 10.4098 | 11.8883 | 11.8629 | 11.7947 | 1.4641 | 1.4836 | 1.7100 | 1.7309 | 1.6900 |
Standard deviation (cm) for 5th order PR refinement | 6.4702 | 6.4784 | 6.1868 | 6.2237 | 6.3537 | 11.4380 | 11.4833 | 11.8216 | 11.7886 | 11.6871 | 1.4185 | 1.5199 | 1.6037 | 1.6316 | 1.5720 |
Standard deviation (cm) for ANN refinement | 4.2665 | 4.4225 | 3.1471 | 3.2531 | 3.6112 | 9.8709 | 10.0507 | 9.3053 | 9.7154 | 9.2710 | 1.4387 | 0.6929 | 1.4117 | 1.5468 | 1.1412 |
Example | Distance Error between Tag and Anchor A (cm) | Distance Error between Tag and Anchor B (cm) | Distance Error between Tag and Anchor C (cm) | Distance Error between Tag and Anchor D (cm) | Positioning Error (cm) |
---|---|---|---|---|---|
LR refinement with 10% prefilter | 8.5619 | 14.7145 | 13.1708 | 3.1046 | 19.2614 |
Raw data | 38.7411 | 33.6501 | 36.0461 | 54.3153 | 16.7028 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 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
Chang, C.-C.; Ooi, Y.-M.; Tsui, S.-T.; Chiang, T.-H.; Tsai, M.-H. Utilizing Ensemble Learning to Improve the Distance Information for UWB Positioning. Appl. Sci. 2022, 12, 9614. https://doi.org/10.3390/app12199614
Chang C-C, Ooi Y-M, Tsui S-T, Chiang T-H, Tsai M-H. Utilizing Ensemble Learning to Improve the Distance Information for UWB Positioning. Applied Sciences. 2022; 12(19):9614. https://doi.org/10.3390/app12199614
Chicago/Turabian StyleChang, Che-Cheng, Yee-Ming Ooi, Shih-Tung Tsui, Ting-Hui Chiang, and Ming-Han Tsai. 2022. "Utilizing Ensemble Learning to Improve the Distance Information for UWB Positioning" Applied Sciences 12, no. 19: 9614. https://doi.org/10.3390/app12199614
APA StyleChang, C. -C., Ooi, Y. -M., Tsui, S. -T., Chiang, T. -H., & Tsai, M. -H. (2022). Utilizing Ensemble Learning to Improve the Distance Information for UWB Positioning. Applied Sciences, 12(19), 9614. https://doi.org/10.3390/app12199614