{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,10]],"date-time":"2026-03-10T21:38:26Z","timestamp":1773178706237,"version":"3.50.1"},"reference-count":29,"publisher":"MDPI AG","issue":"1","license":[{"start":{"date-parts":[[2022,1,14]],"date-time":"2022-01-14T00:00:00Z","timestamp":1642118400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100001871","name":"Funda\u00e7\u00e3o para a Ci\u00eancia e Tecnologia","doi-asserted-by":"publisher","award":["SFRH\/BD\/145993\/2019   and    SFRH\/BD\/06944\/2020"],"award-info":[{"award-number":["SFRH\/BD\/145993\/2019   and    SFRH\/BD\/06944\/2020"]}],"id":[{"id":"10.13039\/501100001871","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Robotics"],"abstract":"<jats:p>Forward kinematics is one of the main research fields in robotics, where the goal is to obtain the position of a robot\u2019s end-effector from its joint parameters. This work presents a method for achieving this using a recursive algorithm that builds a 3D computational model from the configuration of a robotic system. The orientation of the robot\u2019s links is determined from the joint angles using Euler Angles and rotation matrices. Kinematic links are modeled sequentially, the properties of each link are defined by its geometry, the geometry of its predecessor in the kinematic chain, and the configuration of the joint between them. This makes this method ideal for tackling serial kinematic chains. The proposed method is advantageous due to its theoretical increase in computational efficiency, ease of implementation, and simple interpretation of the geometric operations. This method is tested and validated by modeling a human-inspired robotic mobile manipulator (CHARMIE) in Python.<\/jats:p>","DOI":"10.3390\/robotics11010015","type":"journal-article","created":{"date-parts":[[2022,1,16]],"date-time":"2022-01-16T20:45:21Z","timestamp":1642365921000},"page":"15","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":21,"title":["A Recursive Algorithm for the Forward Kinematic Analysis of Robotic Systems Using Euler Angles"],"prefix":"10.3390","volume":"11","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4110-5215","authenticated-orcid":false,"given":"Fernando","family":"Gon\u00e7alves","sequence":"first","affiliation":[{"name":"Department of Mechanical Engineering, University of Minho, 4800-058 Guimar\u00e3es, Portugal"},{"name":"Center for Microelectromechanical Systems (CMEMS), University of Minho, 4800-058 Guimar\u00e3es, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5909-0827","authenticated-orcid":false,"given":"Tiago","family":"Ribeiro","sequence":"additional","affiliation":[{"name":"Department of Industrial Electronics, University of Minho, 4800-058 Guimar\u00e3es, Portugal"},{"name":"Centro ALGORITMI, University of Minho, 4800-058 Guimar\u00e3es, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6438-1223","authenticated-orcid":false,"given":"Ant\u00f3nio Fernando","family":"Ribeiro","sequence":"additional","affiliation":[{"name":"Department of Industrial Electronics, University of Minho, 4800-058 Guimar\u00e3es, Portugal"},{"name":"Centro ALGORITMI, University of Minho, 4800-058 Guimar\u00e3es, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9475-9020","authenticated-orcid":false,"given":"Gil","family":"Lopes","sequence":"additional","affiliation":[{"name":"Department of Communication Sciences and Information Technologies, University Institute of Maia\u2014ISMAI, 4475-690 Maia, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7013-4202","authenticated-orcid":false,"given":"Paulo","family":"Flores","sequence":"additional","affiliation":[{"name":"Department of Mechanical Engineering, University of Minho, 4800-058 Guimar\u00e3es, Portugal"},{"name":"Center for Microelectromechanical Systems (CMEMS), University of Minho, 4800-058 Guimar\u00e3es, Portugal"}]}],"member":"1968","published-online":{"date-parts":[[2022,1,14]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"723","DOI":"10.1016\/j.rcim.2010.12.009","article-title":"Robotics and Computer-Integrated Manufacturing A comparison between the Denavit-Hartenberg and the screw-based methods used in kinematic modeling of robot manipulators","volume":"27","author":"Rocha","year":"2011","journal-title":"Robot. Comput. Integr. Manuf."},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Waldron, K., and Schmiedeler, J. (2008). Kinematics. Springer Handbook of Robotics, Springer.","DOI":"10.1007\/978-3-540-30301-5_2"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Ribeiro, T., Gon\u00e7alves, F., Garcia, I.S., Lopes, G., and Ribeiro, A.F. (2021). CHARMIE: A Collaborative Healthcare and Home Service and Assistant Robot for Elderly Care. Appl. Sci., 11.","DOI":"10.3390\/app11167248"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Siciliano, B., Sciavicco, L., Villani, L., and Oriolo, G. (2009). Robotics Modelling, Planning and Control, Springer. [1st ed.].","DOI":"10.1007\/978-1-84628-642-1"},{"key":"ref_5","first-page":"389","article-title":"Analysis of Euler angles in a simple two-axis gimbals set","volume":"81","author":"Aye","year":"2011","journal-title":"World Acad. Sci. Eng. Technol."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"590","DOI":"10.1109\/TRO.2007.896765","article-title":"A Simple and Systematic Approach to Assigning Denavit-Hartenberg Parameters","volume":"23","author":"Corke","year":"2007","journal-title":"IEEE Trans. Robot."},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"1729881418793283","DOI":"10.1177\/1729881418793283","article-title":"Applying coordinate fixed Denavit-Hartenberg method to solve the workspace of drilling robot arm","volume":"15","author":"Ding","year":"2018","journal-title":"Int. J. Adv. Robot. Syst."},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"683","DOI":"10.1108\/IR-11-2019-0233","article-title":"Comparative study of various machine learning algorithms and Denavit-Hartenberg approach for the inverse kinematic solutions in a 3- PP SS parallel manipulator","volume":"47","author":"Thomas","year":"2020","journal-title":"Ind. Robot. Int. J. Robot. Res. Appl."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"311","DOI":"10.1007\/s10846-018-0931-4","article-title":"A Complete Workflow for Automatic Forward Kinematics Model Extraction of Robotic Total Stations Using the Denavit-Hartenberg Convention","volume":"95","author":"Klug","year":"2019","journal-title":"J. Intell. Robot. Syst."},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"31","DOI":"10.1007\/s11044-018-9620-0","article-title":"Perspectives on Euler angle singularities, gimbal lock, and the orthogonality of applied forces and applied moments","volume":"44","author":"Hemingway","year":"2018","journal-title":"Multibody Syst. Dyn."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"271","DOI":"10.1007\/s10846-019-01058-2","article-title":"Human-in-the-Loop Control Using Euler Angles","volume":"97","author":"Yu","year":"2020","journal-title":"J. Intell. Robot. Syst."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Ran, C., and Cheng, X. (2016). A Direct and Non-Singular UKF Approach Using Euler Angle Kinematics for Integrated Navigation Systems. Sensors, 16.","DOI":"10.3390\/s16091415"},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Uhl, T. (2019). Resolution of Functional Redundancy for 3T2R Robot Tasks using Two Sets of Reciprocal Euler Angles. Advances in Mechanism and Machine Science, Springer International Publishing.","DOI":"10.1007\/978-3-030-20131-9"},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"21","DOI":"10.1016\/j.gmod.2010.10.004","article-title":"Understanding quaternions","volume":"73","author":"Goldman","year":"2011","journal-title":"Graph. Model."},{"key":"ref_15","unstructured":"Hamilton, W.R. (2010). Elements of Quaternions, Cambridge Library Collection\u2014Mathematics, Cambridge University Press."},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Kuipers, J.B. (1999). Quaternions and Rotation Sequences: A Primer with Applications to Orbits, Aerospace and Virtual Reality, Princeton University Press.","DOI":"10.1515\/9780691211701"},{"key":"ref_17","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_18","doi-asserted-by":"crossref","unstructured":"Valverde, A., and Tsiotras, P. (2018). Spacecraft Robot Kinematics Using Dual Quaternions. Robotics, 7.","DOI":"10.3390\/robotics7040064"},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"47","DOI":"10.1007\/s00466-012-0703-0","article-title":"Dynamics of spatial beams in quaternion description based on the Newmark integration scheme","volume":"51","author":"Zupan","year":"2013","journal-title":"Comput. Mech."},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Huang, Z., Li, Q., and Ding, H. (2013). Basics of Screw Theory. Theory of Parallel Mechanisms, Springer.","DOI":"10.1007\/978-94-007-4201-7"},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Kecskem\u00e9thy, A. (2004). Lie-Group First-Order Operations in Rigid-Body Kinematics. On Advances in Robot Kinematics, Springer.","DOI":"10.1007\/978-1-4020-2249-4_7"},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1007\/s11044-017-9582-7","article-title":"Screw and Lie group theory in multibody kinematics","volume":"43","year":"2018","journal-title":"Multibody Syst. Dyn."},{"key":"ref_23","first-page":"1","article-title":"Formal Kinematic Analysis of a General 6R Manipulator Using the Screw Theory","volume":"2015","author":"Wu","year":"2015","journal-title":"Math. Probl. Eng."},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"140","DOI":"10.5772\/60834","article-title":"Improved Inverse Kinematics Algorithm Using Screw Theory for a Six-DOF Robot Manipulator","volume":"12","author":"Chen","year":"2015","journal-title":"Int. J. Adv. Robot. Syst."},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"41001","DOI":"10.1115\/1.3211024","article-title":"A Screw Theory Approach for the Conceptual Design of Flexible Joints for Compliant Mechanisms","volume":"1","author":"Su","year":"2009","journal-title":"J. Mech. Robot."},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"2017","DOI":"10.1016\/j.asej.2020.11.005","article-title":"Development of quadruped walking robots: A review","volume":"12","author":"Biswal","year":"2021","journal-title":"Ain Shams Eng. J."},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"346","DOI":"10.1016\/j.cja.2021.03.027","article-title":"Positioning error compensation of an industrial robot using neural networks and experimental study","volume":"35","author":"Li","year":"2021","journal-title":"Chin. J. Aeronaut."},{"key":"ref_28","doi-asserted-by":"crossref","first-page":"1603","DOI":"10.1016\/j.matpr.2020.07.165","article-title":"Design and implementation of bio inspired hexapod for exploration applications","volume":"37","author":"Deepa","year":"2021","journal-title":"Mater. Today Proc."},{"key":"ref_29","doi-asserted-by":"crossref","unstructured":"Flores, P., and Lankarani, H.M. (2016). Contact Force Models for Multibody Dynamics. Solid Mechanics and Its Applications, Springer International Publishing.","DOI":"10.1007\/978-3-319-30897-5"}],"container-title":["Robotics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2218-6581\/11\/1\/15\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,13]],"date-time":"2025-10-13T14:15:04Z","timestamp":1760364904000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2218-6581\/11\/1\/15"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,1,14]]},"references-count":29,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2022,2]]}},"alternative-id":["robotics11010015"],"URL":"https:\/\/doi.org\/10.3390\/robotics11010015","relation":{},"ISSN":["2218-6581"],"issn-type":[{"value":"2218-6581","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,1,14]]}}}