{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,30]],"date-time":"2026-07-30T18:59:39Z","timestamp":1785437979954,"version":"3.56.0"},"reference-count":38,"publisher":"MDPI AG","issue":"8","license":[{"start":{"date-parts":[[2026,4,9]],"date-time":"2026-04-09T00:00:00Z","timestamp":1775692800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"National Science and Technology Council, Taiwan","award":["112-2221-E-005-095"],"award-info":[{"award-number":["112-2221-E-005-095"]}]},{"award":["112-2221-E-005-095"],"award-info":[{"award-number":["112-2221-E-005-095"]}],"id":[{"id":"https:\/\/ror.org\/02kv4zf79","id-type":"ROR","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>Odometry estimation, which calculates the trajectory of a moving object across timeframes, is a critical and time-consuming function in SLAM (Simultaneous Localization and Mapping) systems. Although LiDAR-based sensing is most popular for outdoor and long-range applications because of its ranging accuracy, the sparsity of laser point cloud poses a significant challenge to feature extraction and matching in odometry estimation. In this paper, we investigate odometry estimation from two aspects, i.e., algorithm optimization, and system design\/implementation. In algorithm optimization, we present an image feature-assisted odometry estimation scheme that leverages the richness of image information captured by a companion camera to enhance the accuracy of laser point cloud matching. This also serves as a screening mechanism to reduce the matching size and lower the computing complexity for a higher estimation rate. In addition, various schemes, such as adaptive threshold in image feature point selection, principal component analysis (PCA)-based plane fitting for laser point interpolation, and Gauss\u2013Newton optimization for calculating the transform matrix, are also employed to improve the accuracy of odometry estimation. The performance of improved odometry estimation is verified using an existing FLOAM (Fast Lidar Odometry and Mapping) framework. The KITTI dataset for autonomous vehicles with ground truth was used as the test bench. Simulation results indicate that the translation error and rotation error can be reduced by 16.6% and 1.3%, respectively. Computing complexity, measured as the software execution time, also reduced by 63%. In system implementation, a hardware\/software (HW\/SW) co-design strategy was adopted, where complexity profiling was first conducted to determine the task partitioning and time-consuming tasks are offloaded to a hardware accelerator. This facilitates real-time execution on a resource-constrained embedded platform consisting of a microprocessor module (Raspberry Pi) and an attached FPGA board (Pynq Z2). Efficient hardware designs for customized DSP functions (adaptive threshold and PCA) were developed in an FPGA capable of completing one data frame in 20ms. The final system implementation met the target throughput of 10 estimations per second, and can be scaled up further.<\/jats:p>","DOI":"10.3390\/s26082326","type":"journal-article","created":{"date-parts":[[2026,4,10]],"date-time":"2026-04-10T07:55:12Z","timestamp":1775807712000},"page":"2326","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["IFA-ICP: A Low-Complexity and Image Feature-Assisted Iterative Closest Point (ICP) Scheme for Odometry Estimation in SLAM, and Its FPGA-Based Hardware Accelerator Design"],"prefix":"10.3390","volume":"26","author":[{"given":"Jia-En","family":"Li","sequence":"first","affiliation":[{"name":"Graduate Program in Semiconductor and Green Technology, Academy of Circular Economy, National Chung Hsing University, Nantou 540216, Taiwan"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9233-0477","authenticated-orcid":false,"given":"Yin-Tsung","family":"Hwang","sequence":"additional","affiliation":[{"name":"Department of Electrical Engineering, National Chung Hsing University, Taichung 402202, Taiwan"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1968","published-online":{"date-parts":[[2026,4,9]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"99","DOI":"10.1109\/MRA.2006.1678144","article-title":"Simultaneous localization and mapping: Part I","volume":"13","author":"Bailey","year":"2006","journal-title":"IEEE Robot. Autom. Mag."},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"405","DOI":"10.1016\/j.ejor.2021.01.019","article-title":"Planning and control of autonomous mobile robots for intralogistics: Literature review and research agenda","volume":"294","author":"Fragapane","year":"2021","journal-title":"Eur. J. Oper. Res."},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Hess, W., Kohler, D., Rapp, H., and Andor, D. (2016, January 16\u201321). Real-time loop closure in 2D LIDAR SLAM. Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden.","DOI":"10.1109\/ICRA.2016.7487258"},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"1156","DOI":"10.3390\/rs15041156","article-title":"Simultaneous localization and mapping (slam) for autonomous driving: Concept and analysis","volume":"15","author":"Zheng","year":"2023","journal-title":"Remote Sens."},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"80","DOI":"10.1109\/MRA.2011.943233","article-title":"Visual Odometry [Tutorial]","volume":"18","author":"Scaramuzza","year":"2011","journal-title":"IEEE Robot. Autom. Mag."},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Kim, G., and Kim, A. (2018, January 1\u20135). Scan context: Egocentric spatial descriptor for place recognition within 3d point cloud map. Proceedings of the IEEE\/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain.","DOI":"10.1109\/IROS.2018.8593953"},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"303","DOI":"10.1016\/0098-3004(93)90090-R","article-title":"Principal components analysis (PCA)","volume":"19","author":"Ratajczak","year":"1993","journal-title":"Comput. Geosci."},{"key":"ref_8","unstructured":"Nocedal, J., and Wright, S.J. (2006). Numerical Optimization, Springer."},{"key":"ref_9","unstructured":"Agarwal, S., and Mierle, K. (2025, August 19). The Ceres Solver Team. Ceres Solver. Available online: http:\/\/ceres-solver.org\/."},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Geiger, A., Lenz, P., and Urtasun, R. (2012, January 16\u201321). Are we ready for autonomous driving? the kitti vision benchmark suite. Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition, Providence, RI, USA.","DOI":"10.1109\/CVPR.2012.6248074"},{"key":"ref_11","first-page":"1","article-title":"LOAM: Lidar Odometry and Mapping in Real-Time","volume":"2","author":"Zhang","year":"2014","journal-title":"Robot. Sci. Syst."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Wang, H., Wang, C., Chen, C.-L., and Xie, L. (October, January 27). F-LOAM: Fast LiDAR Odometry and Mapping. Proceedings of the 2021 IEEE\/RSJ International Conference on Intelligent Robots and Systems (IROS), Prague, Czech Republic.","DOI":"10.1109\/IROS51168.2021.9636655"},{"key":"ref_13","doi-asserted-by":"crossref","first-page":"1029","DOI":"10.1109\/LRA.2023.3236571","article-title":"KISS-ICP: In Defense of Point-to-Point ICP\u2013Simple, Accurate, and Robust Registration if Done the Right Way","volume":"8","author":"Vizzo","year":"2023","journal-title":"IEEE Robot. Autom. Lett."},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Graeter, J., Wilczynski, A., and Lauer, M. (2018, January 1\u20135). LIMO: Lidar-Monocular Visual Odometry. Proceedings of the 2018 IEEE\/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain.","DOI":"10.1109\/IROS.2018.8594394"},{"key":"ref_15","unstructured":"Zheng, X., and Zhu, J. (2024). Traj-lio: A resilient multi-lidar multi-imu state estimator through sparse gaussian process. arXiv."},{"key":"ref_16","unstructured":"Gedraite, E.S., and Hadad, M. (2011, January 14\u201316). Investigation on the effect of a Gaussian Blur in image filtering and segmentation. Proceedings of the ELMAR-2011, Zadar, Croatia."},{"key":"ref_17","unstructured":"Sobel, I., and Feldman, G. (1968). A 3 \u00d7 3 Isotropic Gradient Operator for Image Processing. Stanford Artificial Intelligence Project, Stanford Artificial Intelligence Laboratory (SAIL)."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"679","DOI":"10.1109\/TPAMI.1986.4767851","article-title":"A Computational Approach to Edge Detection","volume":"PAMI-8","author":"Canny","year":"1986","journal-title":"IEEE Trans. Pattern Anal. Mach. Intell."},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"012105","DOI":"10.1088\/1742-6596\/1678\/1\/012105","article-title":"FPGA implementation of eight-direction Sobel edge detection algorithm based on adaptive threshold","volume":"1678","author":"Zhang","year":"2020","journal-title":"J. Phys. Conf. Ser."},{"key":"ref_20","first-page":"586","article-title":"Method for registration of 3-D shapes","volume":"Volume 1611","author":"Besl","year":"1992","journal-title":"Proceedings of the Sensor Fusion IV: Control Paradigms and Data Structures, Boston, MA, USA, 12\u201315 November 1991"},{"key":"ref_21","doi-asserted-by":"crossref","first-page":"518","DOI":"10.1109\/78.120795","article-title":"Fast k-dimensional tree algorithms for nearest neighbor search with application to vector quantization encoding","volume":"40","author":"Ramasubramanian","year":"1992","journal-title":"IEEE Trans. Signal Process."},{"key":"ref_22","unstructured":"ASUS (2026, February 20). FX516P User\u2019s Manual for English Edition (Windows 11 Edition). 26 April 2022. Available online: https:\/\/www.asus.com\/laptops\/for-gaming\/tuf-gaming\/2021-asus-tuf-dash-f15\/helpdesk_manual?model2Name=FX516PM."},{"key":"ref_23","unstructured":"(2025, September 02). Robot Operating System. Open Source Robotics Foundation. Available online: https:\/\/www.ros.org\/."},{"key":"ref_24","unstructured":"Li, L. (2025, July 13). KITTI_odometry_evaluation_tool. Available online: https:\/\/github.com\/LeoQLi\/KITTI_odometry_evaluation_tool."},{"key":"ref_25","unstructured":"Shan, T., Englot, B., Ratti, C., and Rus, D. (2025, September 02). A-LOAM (Advanced LOAM). Available online: https:\/\/github.com\/HKUST-Aerial-Robotics\/A-LOAM."},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"1147","DOI":"10.1109\/TRO.2015.2463671","article-title":"ORB-SLAM: A versatile and accurate monocular SLAM system","volume":"31","author":"Montiel","year":"2015","journal-title":"IEEE Trans. Robot."},{"key":"ref_27","unstructured":"(2025, August 06). evo: Python Package for the Evaluation of Odometry and a Lot of Other Things. Available online: https:\/\/github.com\/MichaelGrupp\/evo."},{"key":"ref_28","unstructured":"Raspberry Pi (2026, February 20). Getting Started with your Raspberry Pi. Available online: https:\/\/www.raspberrypi.com\/documentation\/computers\/getting-started.html."},{"key":"ref_29","unstructured":"E-Elements Technology Co., Ltd. (2026, February 20). PYNQ-Z2 Reference Manual v1.0. 17 May 2018. Available online: https:\/\/dpoauwgwqsy2x.cloudfront.net\/Download\/pynqz2_user_manual_v1_0.pdf."},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"1058","DOI":"10.1109\/12.241595","article-title":"An efficient Jacobi-like algorithm for parallel eigenvalue computation","volume":"42","author":"Gotze","year":"2002","journal-title":"IEEE Trans. Comput."},{"key":"ref_31","unstructured":"Higham, D.J., and Higham, N.J. (2016). MATLAB Guide, Society for Industrial and Applied Mathematics."},{"key":"ref_32","unstructured":"Wikipedia (2025, September 02). Q (Number Format). Available online: https:\/\/en.wikipedia.org\/wiki\/Q_(number_format)."},{"key":"ref_33","doi-asserted-by":"crossref","first-page":"330","DOI":"10.1109\/TEC.1959.5222693","article-title":"The CORDIC Trigonometric Computing Technique","volume":"EC-8","author":"Volder","year":"1959","journal-title":"IRE Trans. Electron. Comput."},{"key":"ref_34","unstructured":"AMD (2026, February 20). AXI DMA LogiCORE IP Product Guide (PG021). Available online: https:\/\/docs.amd.com\/r\/en-US\/pg021_axi_dma\/Navigating-Content-by-Design-Process."},{"key":"ref_35","unstructured":"AMD (2026, February 20). SmartConnect (PG247). Available online: https:\/\/docs.amd.com\/r\/en-US\/pg247-smartconnect\/AXI-SmartConnect-Core-Functionality."},{"key":"ref_36","unstructured":"AMD (2026, February 10). Vivado Design Suite User Guide: Design Flows Overview (UG892). Available online: https:\/\/docs.amd.com\/r\/en-US\/ug892-vivado-design-flows-overview."},{"key":"ref_37","unstructured":"AMD (2026, February 20). Vivado Design Suite User Guide: Designing with IP (UG896). Available online: https:\/\/docs.amd.com\/r\/en-US\/ug896-vivado-ip."},{"key":"ref_38","unstructured":"AMD (2026, February 20). Zynq 7000 SoC Technical Reference Manual (UG585). Available online: https:\/\/docs.amd.com\/r\/en-US\/ug585-zynq-7000-SoC-TRM?tocId=Hf6C7Oo5ABvv2hkWRoiihQ."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/26\/8\/2326\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,11]],"date-time":"2026-04-11T04:23:35Z","timestamp":1775881415000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/26\/8\/2326"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,4,9]]},"references-count":38,"journal-issue":{"issue":"8","published-online":{"date-parts":[[2026,4]]}},"alternative-id":["s26082326"],"URL":"https:\/\/doi.org\/10.3390\/s26082326","relation":{},"ISSN":["1424-8220"],"issn-type":[{"value":"1424-8220","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,4,9]]}}}