{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,23]],"date-time":"2026-04-23T22:56:01Z","timestamp":1776984961646,"version":"3.51.4"},"reference-count":41,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2018,1,30]],"date-time":"2018-01-30T00:00:00Z","timestamp":1517270400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"crossref","award":["61773319"],"award-info":[{"award-number":["61773319"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2018,3,31]]},"abstract":"<jats:p>By virtue of gravity measurement from a handheld inertial measurement unit (IMU) sensor, current indoor attitude estimation algorithms can provide accurate roll\/pitch dimension angles. Acquisition of precise heading is limited by the absence of accurate magnetic reference. Consequently, initial stage magnetometer calibration is deployed to alleviate this bottleneck in attitude fusion. However, available algorithms tackle magnetic distortion based on time-invariant surroundings, casting the post-calibration magnetic data into unchanged ellipsoid centered in the calibration place. Consequently, inaccurate fusion results are formulated in a more common case of random walk in time-varying magnetic indoor environment. This article proposes a new fusion algorithm from various kinds of IMU sensors, namely gyroscope, accelerometer, and magnetometer. Compared to state-of-the-art attitude fusion approaches, this article addresses the indoor time-varying magnetic perturbation problem in a geometric view. We propose an extend Kalman filter--based algorithm based on this detailed geometric model to eliminate the position-dependent effect of a compass sensor. Experimental data demonstrate that, under different indoor magnetic distortion environments, our proposed attitude fusion algorithm has the maximum angle error of 2.02\u00b0, outperforming 7.17\u00b0 of a gradient-declining-based algorithm. Additionally, this attitude fusion result is constructed in a low-cost handheld arduino core--based IMU device, which can be widely applied to embedded systems.<\/jats:p>","DOI":"10.1145\/3157668","type":"journal-article","created":{"date-parts":[[2018,1,31]],"date-time":"2018-01-31T13:25:40Z","timestamp":1517405140000},"page":"1-22","update-policy":"https:\/\/2.zoppoz.workers.dev:443\/https\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Attitude Fusion of Inertial and Magnetic Sensor under Different Magnetic Filed Distortions"],"prefix":"10.1145","volume":"17","author":[{"given":"Zhijian","family":"He","sequence":"first","affiliation":[{"name":"The Embedded Systems and CPS Lab, The Hong Kong Polytechnic University, Kowloon, Hong Kong"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yao","family":"Chen","sequence":"additional","affiliation":[{"name":"Department of Computer Science, Southwestern University of Finance and Economics, Chengdu, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/2.zoppoz.workers.dev:443\/https\/orcid.org\/0000-0001-9526-6634","authenticated-orcid":false,"given":"Zhaoyan","family":"Shen","sequence":"additional","affiliation":[{"name":"The Embedded Systems and CPS Lab, The Hong Kong Polytechnic University, Kowloon, Hong Kong"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2018,1,30]]},"reference":[{"key":"e_1_2_2_1_1","volume-title":"Proceedings of the Conference of the Institute of Navigation Global Navigation Satellite System (ION GNSS\u201910)","volume":"10","author":"Afzal Muhammad Haris","year":"2010"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.3390\/s111211390"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/ROBOT.2010.5509537"},{"key":"e_1_2_2_4_1","unstructured":"Brainybit. 2016. Build an electronic compass using the HMC5883L module. Retrieved from https:\/\/2.zoppoz.workers.dev:443\/https\/brainy-bits.com\/tutorials\/find-your-way-using-the-hmc5883l.  Brainybit. 2016. Build an electronic compass using the HMC5883L module. Retrieved from https:\/\/2.zoppoz.workers.dev:443\/https\/brainy-bits.com\/tutorials\/find-your-way-using-the-hmc5883l."},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/SIES.2014.6871188"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1859995.1860016"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1999995.2000010"},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.5555\/1833515.1833820"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/220346.220371"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/TITS.2014.2332613"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPIN.2014.7275473"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/PLANS.2014.6851382"},{"key":"e_1_2_2_13_1","volume-title":"Least squares fitting of data. Magic Software","author":"Eberly D. A."},{"key":"e_1_2_2_14_1","first-page":"35","article-title":"Pedestrian tracking using inertial sensors","volume":"3","author":"Alonso Ra\u00fal Feliz","year":"2009","journal-title":"Journal of Physical Agents"},{"key":"e_1_2_2_15_1","unstructured":"G. A. Terejanu. 2008. Extended kalman filter tutorial. Retrieved from https:\/\/2.zoppoz.workers.dev:443\/http\/usersicesutexasedu\/&sim;terejanu\/files\/tutorialEKFpdf.  G. A. Terejanu. 2008. Extended kalman filter tutorial. Retrieved from https:\/\/2.zoppoz.workers.dev:443\/http\/usersicesutexasedu\/&sim;terejanu\/files\/tutorialEKFpdf."},{"key":"e_1_2_2_16_1","volume-title":"Proceedings of the 8th International St. Petersburg Conference on Navigation Systems (IEEE\/AIAA\u201901)","author":"Gebre-Egziabher Demoz"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1515\/bpasts-2015-0074"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSN.2015.9"},{"key":"e_1_2_2_19_1","unstructured":"Honeywell. 2013. 3-Axis Digital Compass IC HMC5883L. Retrieved from https:\/\/2.zoppoz.workers.dev:443\/https\/cdn-shop.adafruit.com\/datasheets\/HMC5883L_3-Axis_Digital_Compass_IC.pdf.  Honeywell. 2013. 3-Axis Digital Compass IC HMC5883L. Retrieved from https:\/\/2.zoppoz.workers.dev:443\/https\/cdn-shop.adafruit.com\/datasheets\/HMC5883L_3-Axis_Digital_Compass_IC.pdf."},{"key":"e_1_2_2_20_1","unstructured":"InvenSense. 2013. MPU-6000 and MPU-6050 Product Specification Revision 3.4. Retrieved from https:\/\/2.zoppoz.workers.dev:443\/https\/www.cdiweb.com\/datasheets\/invensense\/MPU-6050_DataSheet_V3.  InvenSense. 2013. MPU-6000 and MPU-6050 Product Specification Revision 3.4. Retrieved from https:\/\/2.zoppoz.workers.dev:443\/https\/www.cdiweb.com\/datasheets\/invensense\/MPU-6050_DataSheet_V3."},{"key":"e_1_2_2_21_1","volume-title":"Proceedings of the 7th Workshop on Positioning Navigation and Communication (WPNC\u201910)","author":"Jim\u00e9nez Antonio Ram\u00f3n"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSP.2007.893949"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1587\/transinf.E94.D.1137"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2370216.2370280"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICORR.2011.5975346"},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/TAC.2008.923738"},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICCPS.2014.6843715"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/IROS.2001.976367"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACC.2012.6314975"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2435227.2435253"},{"key":"e_1_2_2_31_1","volume-title":"Arduino Tutorial: HMC5883L Compass Magnetometer I2C.","author":"Odin Anthony","year":"2016"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2348543.2348580"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/PLANS.2008.4570054"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1620545.1620560"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.3182\/20080408-3-IE-4914.00031"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/TAES.2011.5751259"},{"key":"e_1_2_2_37_1","unstructured":"Wikipedia. 2016. North east down. Retrieved from https:\/\/2.zoppoz.workers.dev:443\/https\/en.wikipedia.org\/wiki\/North_east_down\/.  Wikipedia. 2016. North east down. Retrieved from https:\/\/2.zoppoz.workers.dev:443\/https\/en.wikipedia.org\/wiki\/North_east_down\/."},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/ROSE.2011.6058522"},{"key":"e_1_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/ChiCC.2016.7554325"},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/TRO.2006.886270"},{"key":"e_1_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPIN.2011.6071930"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/dl.acm.org\/doi\/10.1145\/3157668","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/dl.acm.org\/doi\/pdf\/10.1145\/3157668","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:11:29Z","timestamp":1750212689000},"score":1,"resource":{"primary":{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/dl.acm.org\/doi\/10.1145\/3157668"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,1,30]]},"references-count":41,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2018,3,31]]}},"alternative-id":["10.1145\/3157668"],"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/doi.org\/10.1145\/3157668","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,1,30]]},"assertion":[{"value":"2016-12-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-01-30","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}