{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,29]],"date-time":"2025-12-29T11:09:38Z","timestamp":1767006578856,"version":"build-2065373602"},"reference-count":54,"publisher":"MDPI AG","issue":"4","license":[{"start":{"date-parts":[[2021,2,8]],"date-time":"2021-02-08T00:00:00Z","timestamp":1612742400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>This paper presents an open-source environment for development, tuning, and performance evaluation of magnetic, angular rate, and gravity-based (MARG-based) filters, such as pose estimators and classification algorithms. The environment is available in both ROS\/Gazebo and MATLAB\/Simulink, and it contains a six-degrees of freedom (6 DOF) test bench, which simultaneously moves and rotates an MARG unit in the three-dimensional (3D) space. As the quality of MARG-based estimation becomes crucial in dynamic situations, the proposed test platform intends to simulate different accelerating and vibrating circumstances, along with realistic magnetic perturbation events. Moreover, the simultaneous acquisition of both the real pose states (ground truth) and raw sensor data is supported during these simulated system behaviors. As a result, the test environment executes the desired mixture of static and dynamic system conditions, and the provided database fosters the effective analysis of sensor fusion algorithms. The paper systematically describes the structure of the proposed test platform, from mechanical properties, over mathematical modeling and joint controller synthesis, to implementation results. Additionally, a case study is presented of the tuning of popular attitude estimation algorithms to highlight the advantages of the developed open-source environment.<\/jats:p>","DOI":"10.3390\/s21041183","type":"journal-article","created":{"date-parts":[[2021,2,10]],"date-time":"2021-02-10T04:33:46Z","timestamp":1612931626000},"page":"1183","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":23,"title":["An Open-Source Test Environment for Effective Development of MARG-Based Algorithms"],"prefix":"10.3390","volume":"21","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9554-9586","authenticated-orcid":false,"given":"\u00c1kos","family":"Odry","sequence":"first","affiliation":[{"name":"Department of Control Engineering and Information Technology, University of Duna\u00fajv\u00e1ros, T\u00e1ncsics Mih\u00e1ly u. 1, 2400 Duna\u00fajv\u00e1ros, Hungary"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2021,2,8]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Odry, \u00c1., Kecskes, I., Sarcevic, P., Vizvari, Z., Toth, A., and Odry, P. (2020). A Novel Fuzzy-Adaptive Extended Kalman Filter for Real-Time Attitude Estimation of Mobile Robots. Sensors, 20.","DOI":"10.3390\/s20030803"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"569","DOI":"10.1016\/j.ymssp.2018.03.053","article-title":"Kalman filter for mobile-robot attitude estimation: Novel optimized and adaptive solutions","volume":"110","author":"Odry","year":"2018","journal-title":"Mech. Syst. Signal Process."},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"791","DOI":"10.1080\/01691864.2017.1351393","article-title":"An integrated aerial system for landmine detection: SDR-based Ground Penetrating Radar onboard an autonomous drone","volume":"31","author":"Colorado","year":"2017","journal-title":"Adv. Robot."},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"19","DOI":"10.1016\/j.compag.2016.12.021","article-title":"Attitude measure system based on extended Kalman filter for multi-rotors","volume":"134","author":"Zhang","year":"2017","journal-title":"Comput. Electron. Agric."},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"1457","DOI":"10.1007\/s12541-018-0172-2","article-title":"Dynamic Accuracy Improvement of a MEMS AHRS for Small UAVs","volume":"19","author":"Roh","year":"2018","journal-title":"Int. J. Precis. Eng. Manuf."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"512","DOI":"10.1002\/cae.22219","article-title":"Fuzzy control of self-balancing robots: A control laboratory project","volume":"28","author":"Odry","year":"2020","journal-title":"Comput. Appl. Eng. Educ."},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"13407","DOI":"10.1109\/ACCESS.2018.2797803","article-title":"An FPGA-based open architecture industrial robot controller","volume":"6","year":"2018","journal-title":"IEEE Access"},{"key":"ref_8","unstructured":"Hashim, H.A., and Eltoukhy, A.E.E. (2021). Landmark and IMU Data Fusion: Systematic Convergence Geometric Nonlinear Observer for SLAM and Velocity Bias. IEEE Trans. Intell. Transp. Syst., 1\u201310."},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Wen, X., Liu, C., Huang, Z., Su, S., Guo, X., Zuo, Z., and Qu, H. (2019). A First-Order Differential Data Processing Method for Accuracy Improvement of Complementary Filtering in Micro-UAV Attitude Estimation. Sensors, 19.","DOI":"10.3390\/s19061340"},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"105290","DOI":"10.1016\/j.ast.2019.07.023","article-title":"A fault-tolerant attitude estimation method for quadrotors based on analytical redundancy","volume":"93","author":"Liu","year":"2019","journal-title":"Aerosp. Sci. Technol."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"105917","DOI":"10.1016\/j.asoc.2019.105917","article-title":"An adaptive constrained type-2 fuzzy Hammerstein neural network data fusion scheme for low-cost SINS\/GNSS navigation system","volume":"86","author":"Khankalantary","year":"2019","journal-title":"Appl. Soft Comput."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"2262","DOI":"10.1109\/TIM.2012.2187245","article-title":"Estimation of attitude and external acceleration using inertial sensor measurement during various dynamic conditions","volume":"61","author":"Lee","year":"2012","journal-title":"IEEE Trans. Instrum. Meas."},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Cruz-Miguel, E.E., Garc\u00eda-Mart\u00ednez, J.R., Rodr\u00edguez-Res\u00e9ndiz, J., and Carrillo-Serrano, R.V. (2020). A New Methodology for a Retrofitted Self-tuned Controller with Open-Source FPGA. Sensors, 20.","DOI":"10.3390\/s20216155"},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Wu, J., and Shan, S. (2019). Dot Product Equality Constrained Attitude Determination from Two Vector Observations: Theory and Astronautical Applications. Aerospace, 6.","DOI":"10.3390\/aerospace6090102"},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Markley, F.L., and Crassidis, J.L. (2014). Fundamentals of Spacecraft Attitude Determination and Control, Springer.","DOI":"10.1007\/978-1-4939-0802-8"},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"986","DOI":"10.1016\/j.cja.2014.03.005","article-title":"An improved quaternion Gauss\u2013Newton algorithm for attitude determination using magnetometer and accelerometer","volume":"27","author":"Liu","year":"2014","journal-title":"Chin. J. Aeronaut."},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"233","DOI":"10.1109\/JSEN.2010.2053353","article-title":"A nonlinear filtering approach for the attitude and dynamic body acceleration estimation based on inertial and magnetic sensors: Bio-logging application","volume":"11","author":"Fourati","year":"2010","journal-title":"IEEE Sens. J."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"375","DOI":"10.1109\/TCE.2018.2859625","article-title":"A super fast attitude determination algorithm for consumer-level accelerometer and magnetometer","volume":"64","author":"Wu","year":"2018","journal-title":"IEEE Trans. Consum. Electron."},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"1203","DOI":"10.1109\/TAC.2008.923738","article-title":"Nonlinear complementary filters on the special orthogonal group","volume":"53","author":"Mahony","year":"2008","journal-title":"IEEE Trans. Autom. Control"},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Madgwick, S.O., Harrison, A.J., and Vaidyanathan, R. (July, January 27). Estimation of IMU and MARG orientation using a gradient descent algorithm. Proceedings of the 2011 IEEE International Conference on Rehabilitation Robotics (ICORR), Zurich, Switzerland.","DOI":"10.1109\/ICORR.2011.5975346"},{"key":"ref_21","doi-asserted-by":"crossref","first-page":"183","DOI":"10.1016\/j.ymssp.2019.04.064","article-title":"Formulation of a new gradient descent MARG orientation algorithm: Case study on robot teleoperation","volume":"130","author":"Wilson","year":"2019","journal-title":"Mech. Syst. Signal Process."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"19302","DOI":"10.3390\/s150819302","article-title":"Keeping a good attitude: A quaternion-based orientation filter for IMUs and MARGs","volume":"15","author":"Valenti","year":"2015","journal-title":"Sensors"},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"6997","DOI":"10.1109\/JSEN.2016.2589660","article-title":"Fast complementary filter for attitude estimation using low-cost MARG sensors","volume":"16","author":"Wu","year":"2016","journal-title":"IEEE Sens. J."},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"115104","DOI":"10.1088\/1361-6501\/aae125","article-title":"Improving the accuracy of wearable sensor orientation using a two-step complementary filter with state machine-based adaptive strategy","volume":"29","author":"Fan","year":"2018","journal-title":"Meas. Sci. Technol."},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"3781","DOI":"10.1109\/JSEN.2015.2397397","article-title":"Performance comparison of EKF-based algorithms for orientation estimation on Android platform","volume":"15","author":"Nowicki","year":"2015","journal-title":"IEEE Sens. J."},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"99","DOI":"10.1017\/S0373463312000331","article-title":"Effective adaptive Kalman filter for MEMS-IMU\/magnetometers integrated attitude and heading reference systems","volume":"66","author":"Li","year":"2013","journal-title":"J. Navig."},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"138","DOI":"10.1016\/j.gaitpost.2011.08.024","article-title":"An optimized Kalman filter for the estimate of trunk orientation from inertial sensors data during treadmill walking","volume":"35","author":"Mazza","year":"2012","journal-title":"Gait Posture"},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Feng, K., Li, J., Zhang, X., Shen, C., Bi, Y., Zheng, T., and Liu, J. (2017). A new quaternion-based Kalman filter for real-time attitude estimation using the two-step geometrically-intuitive correction algorithm. Sensors, 17.","DOI":"10.3390\/s17092146"},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"131","DOI":"10.1016\/j.dsp.2010.09.001","article-title":"Optimization approach to adapt Kalman filters for the real-time application of accelerometer and gyroscope signals\u2019 filtering","volume":"21","author":"Kownacki","year":"2011","journal-title":"Digit. Signal Process."},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"1777","DOI":"10.1109\/TASE.2020.2978106","article-title":"MARG Attitude Estimation Using Gradient-Descent Linear Kalman Filter","volume":"17","author":"Wu","year":"2020","journal-title":"IEEE Trans. Autom. Sci. Eng."},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"23168","DOI":"10.3390\/s150923168","article-title":"Performance evaluation of smartphone inertial sensors measurement for range of motion","volume":"15","author":"Mourcou","year":"2015","journal-title":"Sensors"},{"key":"ref_32","doi-asserted-by":"crossref","first-page":"7585","DOI":"10.3182\/20140824-6-ZA-1003.01173","article-title":"Experimental comparison of sensor fusion algorithms for attitude estimation","volume":"47","author":"Cavallo","year":"2014","journal-title":"IFAC Proc. Vol."},{"key":"ref_33","doi-asserted-by":"crossref","unstructured":"Kuti, J., Galambos, P., and Gy\u00f6r\u00f6k, G. (2019, January 25\u201327). Adaptive Odometry and IMU Sensor Fusion for KUKA youBot Mobile Robot Using Analytical Time Update. Proceedings of the 2019 IEEE 23rd International Conference on Intelligent Engineering Systems (INES), G\u00f6d\u00f6ll\u0151, Hungary.","DOI":"10.1109\/INES46365.2019.9109444"},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"Odry, \u00c1. (2021, February 07). An Open-Source Test Environment for Effective Development of MARG-Based Algorithms Supplementary Material. Available online: http:\/\/appl-dsp.com\/faekf\/.","DOI":"10.3390\/s21041183"},{"key":"ref_35","unstructured":"Sciavicco, L., and Siciliano, B. (2012). Modelling and Control of Robot Manipulators, Springer Science & Business Media."},{"key":"ref_36","doi-asserted-by":"crossref","first-page":"3759","DOI":"10.3182\/20110828-6-IT-1002.02482","article-title":"Cascade control for telerobotic systems serving space medicine","volume":"44","author":"Haidegger","year":"2011","journal-title":"IFAC Proc. Vol."},{"key":"ref_37","first-page":"48","article-title":"Controller design solutions for long distance telesurgical applications","volume":"6","author":"Haidegger","year":"2011","journal-title":"Int. J. Artif. Intell."},{"key":"ref_38","unstructured":"Aggarwal, P. (2010). MEMS-Based Integrated Navigation, Artech House."},{"key":"ref_39","doi-asserted-by":"crossref","unstructured":"Papafotis, K., and Sotiriadis, P.P. (2019). MAG.I.C.AL.\u2014A Unified Methodology for Magnetic and Inertial Sensors Calibration and Alignment. IEEE Sens. J.","DOI":"10.1109\/JSEN.2019.2919179"},{"key":"ref_40","doi-asserted-by":"crossref","first-page":"89","DOI":"10.1007\/s12652-017-0606-1","article-title":"Online human movement classification using wrist-worn wireless sensors","volume":"10","author":"Sarcevic","year":"2019","journal-title":"J. Ambient. Intell. Humaniz. Comput."},{"key":"ref_41","doi-asserted-by":"crossref","unstructured":"Sarcevic, P. (2020, January 21\u201323). Examining the Efficiency of Magnetometers in Movement Classification Systems. Proceedings of the 2020 IEEE 14th International Symposium on Applied Computational Intelligence and Informatics (SACI), Timisoara, Romania.","DOI":"10.1109\/SACI49304.2020.9118808"},{"key":"ref_42","doi-asserted-by":"crossref","unstructured":"Zmitri, M., Fourati, H., and Prieur, C. (2020). Magnetic Field Gradient-Based EKF for Velocity Estimation in Indoor Navigation. Sensors, 20.","DOI":"10.3390\/s20205726"},{"key":"ref_43","doi-asserted-by":"crossref","first-page":"2600","DOI":"10.1109\/78.782222","article-title":"Computing the discrete-time \u201canalytic\u201d signal via FFT","volume":"47","author":"Marple","year":"1999","journal-title":"IEEE Trans. Signal Process."},{"key":"ref_44","unstructured":"Furrer, F., Burri, M., Achtelik, M., and Siegwart, R. (2016). Robot Operating System (ROS): The Complete Reference (Volume 1), Springer."},{"key":"ref_45","doi-asserted-by":"crossref","unstructured":"Meyer, J., Sendobry, A., Kohlbrecher, S., Klingauf, U., and Von Stryk, O. (2012, January 5\u20138). Comprehensive simulation of quadrotor uavs using ros and gazebo. Proceedings of the International conference on simulation, modeling, and programming for autonomous robots, Tsukuba, Japan.","DOI":"10.1007\/978-3-642-34327-8_36"},{"key":"ref_46","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1561\/2000000094","article-title":"Using inertial sensors for position and orientation estimation","volume":"11","author":"Kok","year":"2017","journal-title":"Found. Trends Signal Process."},{"key":"ref_47","unstructured":"Gunther, M., and Dryanovski, I. (2021, February 07). IMU Tools for ROS. Available online: wiki.ros.org\/imutools."},{"key":"ref_48","unstructured":"Lu, D.V., Ferguson, M., Hoy, A., and Meeussen, W. (2021, February 07). Robot Pose EKF. Available online: wiki.ros.org\/robotposeekf."},{"key":"ref_49","unstructured":"Madgwick, S. (2021, February 07). An Efficient Orientation Filter for Inertial and Inertial\/Magnetic Sensor Arrays. Available online: https:\/\/forums.parallax.com\/uploads\/attachments\/41167\/106661.pdf."},{"key":"ref_50","unstructured":"MathWorks (2021, February 07). Estimate Orientation through Inertial Sensor Fusion. Available online: www.mathworks.com\/help\/fusion\/ug\/estimate-orientation-through-inertial-sensor-fusion.html."},{"key":"ref_51","doi-asserted-by":"crossref","first-page":"96","DOI":"10.1016\/j.pmcj.2018.03.004","article-title":"Attitude estimation for indoor navigation and augmented reality with smartphones","volume":"46","author":"Michel","year":"2018","journal-title":"Pervasive Mob. Comput."},{"key":"ref_52","doi-asserted-by":"crossref","first-page":"348","DOI":"10.1016\/j.measurement.2018.11.061","article-title":"Methods comparison for attitude determination of a lightweight buoy by raw data of IMU","volume":"135","author":"Jouybari","year":"2019","journal-title":"Measurement"},{"key":"ref_53","doi-asserted-by":"crossref","first-page":"021006","DOI":"10.1115\/1.4041889","article-title":"A survey on the computation of quaternions from rotation matrices","volume":"11","author":"Sarabandi","year":"2019","journal-title":"J. Mech. Robot."},{"key":"ref_54","first-page":"297","article-title":"Protective Fuzzy Control of a Two-Wheeled Mobile Pendulum Robot: Design and Optimization","volume":"12","author":"Odry","year":"2017","journal-title":"WSEAS Trans. Syst. Control"}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/21\/4\/1183\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T05:21:16Z","timestamp":1760160076000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/21\/4\/1183"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,2,8]]},"references-count":54,"journal-issue":{"issue":"4","published-online":{"date-parts":[[2021,2]]}},"alternative-id":["s21041183"],"URL":"https:\/\/doi.org\/10.3390\/s21041183","relation":{},"ISSN":["1424-8220"],"issn-type":[{"type":"electronic","value":"1424-8220"}],"subject":[],"published":{"date-parts":[[2021,2,8]]}}}