{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T01:45:38Z","timestamp":1760060738897,"version":"build-2065373602"},"reference-count":51,"publisher":"MDPI AG","issue":"9","license":[{"start":{"date-parts":[[2025,9,13]],"date-time":"2025-09-13T00:00:00Z","timestamp":1757721600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"European Union\u2019s Horizon 2020 Research and Innovation Program","award":["101017274 (DARKO)","ECS00000017"],"award-info":[{"award-number":["101017274 (DARKO)","ECS00000017"]}]},{"name":"Italian Ministry of Education and Research (MIUR) in the framework of the CrossLab and ForeLab project (Departments of Excellence)","award":["101017274 (DARKO)","ECS00000017"],"award-info":[{"award-number":["101017274 (DARKO)","ECS00000017"]}]},{"DOI":"10.13039\/501100000780","name":"European Union through the Next Generation EU project","doi-asserted-by":"publisher","award":["101017274 (DARKO)","ECS00000017"],"award-info":[{"award-number":["101017274 (DARKO)","ECS00000017"]}],"id":[{"id":"10.13039\/501100000780","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Robotics"],"abstract":"<jats:p>Robust control techniques are crucial for deploying robotic solutions in real applications and handling model uncertainties in robotic manipulators. The inertial parameters are fundamental to implementing control algorithms. While theoretical approaches to compute the system dynamics and the regressor matrix are well-established, they are computationally expensive and a practical implementation framework is still lacking. To address this challenge, we developed a new and efficient method to compute the Coriolis matrix based on Christoffel\u2019s symbols. The result forms the basis of Thunder Dynamics, an open-source software package able to create standalone libraries that compute the system kinematics and dynamics for real-time adaptive control implementation. Thunder Dynamics enables users to create and compile user-defined functions on a robot, which can then be used in C++ or Python 3. To test the proposed framework, we implemented a Cartesian adaptive backstepping controller with axis-angle orientation using our tool. We tested the controller on a seven-degrees-of-freedom manipulator in both simulation and real-world scenarios, varying the levels of uncertainties in the inertial parameters. The results demonstrated that Thunder Dynamics is capable of meeting computational constraints given by the control loop frequency of real systems, permitting, for example, the implementation of advanced controls on commercial manipulators.<\/jats:p>","DOI":"10.3390\/robotics14090126","type":"journal-article","created":{"date-parts":[[2025,9,15]],"date-time":"2025-09-15T07:56:51Z","timestamp":1757923011000},"page":"126","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Thunder Dynamics: A C++ Tool for Adaptive Control of Serial Manipulators"],"prefix":"10.3390","volume":"14","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5724-4159","authenticated-orcid":false,"given":"Marco","family":"Baracca","sequence":"first","affiliation":[{"name":"Department of Information Engineering, University of Pisa, Via G. Caruso 16, 56122 Pisa, Italy"},{"name":"Research Center \u201cE. Piaggio\u201d, University of Pisa, Largo L. Lazzarino 1, 56122 Pisa, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0006-4696-5889","authenticated-orcid":false,"given":"Giorgio","family":"Simonini","sequence":"additional","affiliation":[{"name":"Department of Information Engineering, University of Pisa, Via G. Caruso 16, 56122 Pisa, Italy"},{"name":"Research Center \u201cE. Piaggio\u201d, University of Pisa, Largo L. Lazzarino 1, 56122 Pisa, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Simone","family":"Tolomei","sequence":"additional","affiliation":[{"name":"Department of Information Engineering, University of Pisa, Via G. Caruso 16, 56122 Pisa, Italy"},{"name":"Research Center \u201cE. Piaggio\u201d, University of Pisa, Largo L. Lazzarino 1, 56122 Pisa, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0007-6161-3141","authenticated-orcid":false,"given":"Yuri","family":"De Santis","sequence":"additional","affiliation":[{"name":"Department of Information Engineering, University of Pisa, Via G. Caruso 16, 56122 Pisa, Italy"},{"name":"Research Center \u201cE. Piaggio\u201d, University of Pisa, Largo L. Lazzarino 1, 56122 Pisa, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-2225-9572","authenticated-orcid":false,"given":"Paolo","family":"Rosa Brusin","sequence":"additional","affiliation":[{"name":"Department of Information Engineering, University of Pisa, Via G. Caruso 16, 56122 Pisa, Italy"},{"name":"Research Center \u201cE. Piaggio\u201d, University of Pisa, Largo L. Lazzarino 1, 56122 Pisa, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Stefano","family":"Angeli","sequence":"additional","affiliation":[{"name":"Research Center \u201cE. Piaggio\u201d, University of Pisa, Largo L. Lazzarino 1, 56122 Pisa, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5670-892X","authenticated-orcid":false,"given":"Marco","family":"Gabiccini","sequence":"additional","affiliation":[{"name":"Research Center \u201cE. Piaggio\u201d, University of Pisa, Largo L. Lazzarino 1, 56122 Pisa, Italy"},{"name":"Department of Civil and Industrial Engineering, University of Pisa, Largo L. Lazzarino 1, 56122 Pisa, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Antonio","family":"Bicchi","sequence":"additional","affiliation":[{"name":"Department of Information Engineering, University of Pisa, Via G. Caruso 16, 56122 Pisa, Italy"},{"name":"Research Center \u201cE. Piaggio\u201d, University of Pisa, Largo L. Lazzarino 1, 56122 Pisa, Italy"},{"name":"Soft Robotics for Human Cooperation and Rehabilitation, Italian Institute of Technology, Via S. Quirico 19d, 16163 Genoa, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1313-5898","authenticated-orcid":false,"given":"Paolo","family":"Salaris","sequence":"additional","affiliation":[{"name":"Department of Information Engineering, University of Pisa, Via G. Caruso 16, 56122 Pisa, Italy"},{"name":"Research Center \u201cE. Piaggio\u201d, University of Pisa, Largo L. Lazzarino 1, 56122 Pisa, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2025,9,13]]},"reference":[{"key":"ref_1","unstructured":"Evjemo, L.D., Moe, S., Gravdahl, J.T., Roulet-Dubonnet, O., Gellein, L.T., and Br, V. (2017, January 12\u201315). Additive manufacturing by robot manipulator: An overview of the state-of-the-art and proof-of-concept results. Proceedings of the 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Limassol, Cyprus."},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Ghodsian, N., Benfriha, K., Olabi, A., Gopinath, V., and Arnou, A. (2023). Mobile Manipulators in Industry 4.0: A Review of Developments for Industrial Applications. Sensors, 23.","DOI":"10.3390\/s23198026"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Kim, J., Gu, G.M., and Heo, P. (2016). Robotics for healthcare. Biomedical Engineering: Frontier Research and Converging Technologies, Springer.","DOI":"10.1007\/978-3-319-21813-7_21"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Featherstone, R., and Orin, D.E. (2016). Dynamics. Springer Handbook of Robotics, Springer.","DOI":"10.1007\/978-3-319-32552-1_3"},{"key":"ref_5","unstructured":"Featherstone, R. (2014). Rigid Body Dynamics Algorithms, Springer."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"495","DOI":"10.1007\/s10514-016-9574-0","article-title":"RBDL: An efficient rigid-body dynamics library using recursive algorithms","volume":"41","author":"Felis","year":"2017","journal-title":"Auton. Robot."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Carpentier, J., Saurel, G., Buondonno, G., Mirabel, J., Lamiraux, F., Stasse, O., and Mansard, N. (2019, January 14\u201316). The Pinocchio C++ library: A fast and flexible implementation of rigid body dynamics algorithms and their analytical derivatives. Proceedings of the 2019 IEEE\/SICE International Symposium on System Integration (SII), Paris, France.","DOI":"10.1109\/SII.2019.8700380"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Leboutet, Q., Roux, J., Janot, A., Guadarrama-Olvera, J.R., and Cheng, G. (2021). Inertial parameter identification in robotics: A survey. Appl. Sci., 11.","DOI":"10.3390\/app11094303"},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Hsia, T. (1986, January 7\u201310). Adaptive control of robot manipulators-a review. Proceedings of the 1986 IEEE International Conference on Robotics and Automation, San Francisco, CA, USA.","DOI":"10.1109\/ROBOT.1986.1087696"},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"188","DOI":"10.1016\/j.arcontrol.2017.02.002","article-title":"A review on model reference adaptive control of robotic manipulators","volume":"43","author":"Zhang","year":"2017","journal-title":"Annu. Rev. Control"},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"49","DOI":"10.1177\/027836498700600303","article-title":"On the adaptive control of robot manipulators","volume":"6","author":"Slotine","year":"1987","journal-title":"Int. J. Robot. Res."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"989","DOI":"10.1109\/TASE.2023.3235895","article-title":"Adaptive Position Feedback Control of Parallel Robots in the Presence of Kinematics and Dynamics Uncertainties","volume":"21","author":"Harandi","year":"2024","journal-title":"IEEE Trans. Autom. Sci. Eng."},{"key":"ref_13","doi-asserted-by":"crossref","first-page":"5215","DOI":"10.1109\/TIE.2023.3281701","article-title":"A Novel Faster Fixed-Time Adaptive Control for Robotic Systems With Input Saturation","volume":"71","author":"Liu","year":"2024","journal-title":"IEEE Trans. Ind. Electron."},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"2063","DOI":"10.1109\/TASE.2023.3249826","article-title":"A Self-Adaptive Inertia Hybrid Control of a Fully Constrained Cable-Driven Parallel Robot","volume":"21","author":"Piao","year":"2024","journal-title":"IEEE Trans. Autom. Sci. Eng."},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"7370","DOI":"10.1109\/TIE.2023.3310012","article-title":"High-Precision Adaptive Control of Cable-Driven Parallel Robots with Convergence Guarantee","volume":"71","author":"Zhang","year":"2024","journal-title":"IEEE Trans. Ind. Electron."},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Le, D.M., Patil, O.S., Amy, P.M., and Dixon, W.E. (2022, January 8\u201310). Integral concurrent learning-based accelerated gradient adaptive control of uncertain Euler-Lagrange systems. Proceedings of the 2022 American Control Conference (ACC), Atlanta, GA, USA.","DOI":"10.23919\/ACC53348.2022.9867710"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Liu, Y., Teng, L., and Jin, Z. (2023). Adaptive control of mini space robot based on linear separation of inertial parameters. Aerospace, 10.","DOI":"10.3390\/aerospace10080679"},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Chen, Y., Ding, J., Chen, Y., and Yan, D. (2024). Nonlinear robust adaptive control of universal manipulators based on desired trajectory. Appl. Sci., 14.","DOI":"10.3390\/app14052219"},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Khosla, P.K., and Kanade, T. (1985, January 11\u201313). Parameter identification of robot dynamics. Proceedings of the 1985 24th IEEE Conference on Decision and Control, Fort Lauderdale, FL, USA.","DOI":"10.1109\/CDC.1985.268838"},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Garofalo, G., Ott, C., and Albu-Sch\u00e4ffer, A. (2013, January 3\u20137). On the closed form computation of the dynamic matrices and their differentiations. Proceedings of the 2013 IEEE\/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan.","DOI":"10.1109\/IROS.2013.6696688"},{"key":"ref_21","unstructured":"Gabiccini, M., Bracci, A., De Carli, D., Fredianelli, M., and Bicchi, A. (2009, January 14\u201319). Explicit Lagrangian formulation of the dynamic regressors for serial manipulators. Proceedings of the XIX Aimeta Congress, Ancona, Italy."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"215","DOI":"10.1115\/1.4011045","article-title":"A kinematic notation for lower-pair mechanisms based on matrices","volume":"22","author":"Denavit","year":"1955","journal-title":"J. Appl. Mech."},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Nori, F., Traversaro, S., Eljaik, J., Romano, F., Del Prete, A., and Pucci, D. (2015). iCub whole-body control through force regulation on rigid non-coplanar contacts. Front. Robot. AI, 2.","DOI":"10.3389\/frobt.2015.00006"},{"key":"ref_24","unstructured":"Mastalli, C., Budhiraja, R., Merkt, W., Saurel, G., Hammoud, B., Naveau, M., Carpentier, J., Righetti, L., Vijayakumar, S., and Mansard, N. (August, January 31). Crocoddyl: An Efficient and Versatile Framework for Multi-Contact Optimal Control. Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Paris, France."},{"key":"ref_25","unstructured":"Developers, A. (2025, September 10). ADAM: Automatic Differentiation for Rigid-Body-Dynamics AlgorithMs. Available online: https:\/\/github.com\/ami-iit\/ADAM."},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"Nguyen, D.V.T., Bonnet, V., Maxime, S., Gautier, M., Fernbach, P., and Lamiraux, F. (2023, January 12\u201314). FIGAROH: A Python toolbox for dynamic identification and geometric calibration of robots and humans. Proceedings of the 2023 IEEE-RAS 22nd International Conference on Humanoid Robots (Humanoids), Austin, TX, USA.","DOI":"10.1109\/Humanoids57100.2023.10375232"},{"key":"ref_27","doi-asserted-by":"crossref","unstructured":"Rickert, M., and Gaschler, A. (2017, January 24\u201328). Robotics library: An object-oriented approach to robot applications. Proceedings of the 2017 IEEE\/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada.","DOI":"10.1109\/IROS.2017.8202232"},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Corke, P., and Haviland, J. (June, January 30). Not your grandmother\u2019s toolbox\u2013The robotics toolbox reinvented for python. Proceedings of the 2021 IEEE International Conference on Robotics and Automation (ICRA), Xi\u2019an, China.","DOI":"10.1109\/ICRA48506.2021.9561366"},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1007\/s12532-018-0139-4","article-title":"CasADi\u2014A software framework for nonlinear optimization and optimal control","volume":"11","author":"Andersson","year":"2018","journal-title":"Math. Program. Comput."},{"key":"ref_30","unstructured":"Gabiccini, M., Bracci, A., and Artoni, A. (2011, January 12\u201315). Direct derivation of the dynamic regressors for serial manipulators with mixed rigidelastic joints. Proceedings of the AttiXX Congresso dell\u2019Associazione Italiana di Meccanica Teorica e Applicata, Bologna, Italy."},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"71","DOI":"10.1145\/2723872.2723882","article-title":"An introduction to Docker for reproducible research","volume":"49","author":"Boettiger","year":"2015","journal-title":"Acm Sigops Oper. Syst. Rev."},{"key":"ref_32","unstructured":"Krstic, M., Kanellakopoulos, I., and Kokotovic, P.V. (1995). Nonlinear and Adaptive Control Design, Wiley."},{"key":"ref_33","doi-asserted-by":"crossref","unstructured":"Patel, B., Pan, Y.J., and Ahmad, U. (2017, January 5\u20138). Adaptive backstepping control approach for the trajectory tracking of mobile manipulators. Proceedings of the 2017 IEEE International Conference on Robotics and Biomimetics (ROBIO), Macau, China.","DOI":"10.1109\/ROBIO.2017.8324674"},{"key":"ref_34","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1017\/S0263574714002410","article-title":"Adaptive backstepping control for parallel robot with uncertainties in dynamics and kinematics","volume":"32","author":"Zou","year":"2014","journal-title":"Robotica"},{"key":"ref_35","doi-asserted-by":"crossref","unstructured":"Nganga-Kouya, D., Saad, M., Lamarche, L., and Khairallah, C. (2001, January 25\u201327). Backstepping adaptive position control for robotic manipulators. Proceedings of the 2001 American Control Conference, (Cat. No.01CH37148), Arlington, VA, USA.","DOI":"10.1109\/ACC.2001.945618"},{"key":"ref_36","doi-asserted-by":"crossref","unstructured":"Siciliano, B., Sciavicco, L., Villani, L., and Oriolo, G. (2010). Robotics: Modelling, Planning and Control, Springer. Advanced Textbooks in Control and Signal Processing.","DOI":"10.1007\/978-1-84628-642-1"},{"key":"ref_37","doi-asserted-by":"crossref","first-page":"1024","DOI":"10.1109\/TAC.2006.876943","article-title":"Adaptive Jacobian tracking control of robots with uncertainties in kinematic, dynamic and actuator models","volume":"51","author":"Cheah","year":"2006","journal-title":"IEEE Trans. Autom. Control"},{"key":"ref_38","doi-asserted-by":"crossref","first-page":"109544","DOI":"10.1016\/j.automatica.2021.109544","article-title":"Parameter estimation of nonlinearly parameterized regressions without overparameterization: Application to adaptive control","volume":"127","author":"Ortega","year":"2021","journal-title":"Automatica"},{"key":"ref_39","doi-asserted-by":"crossref","first-page":"368","DOI":"10.1109\/70.56655","article-title":"Direct calculation of minimum set of inertial parameters of serial robots","volume":"6","author":"Gautier","year":"1990","journal-title":"IEEE Trans. Robot. Autom."},{"key":"ref_40","doi-asserted-by":"crossref","first-page":"823","DOI":"10.1109\/TRO.2016.2583062","article-title":"Optimal exciting dance for identifying inertial parameters of an anthropomorphic structure","volume":"32","author":"Bonnet","year":"2016","journal-title":"IEEE Trans. Robot."},{"key":"ref_41","doi-asserted-by":"crossref","unstructured":"Slotine, J.j.E., and Li, W. (1987, January 9\u201311). Adaptive robot control: A new perspective. Proceedings of the 26th IEEE Conference on Decision and Control, Los Angeles, CA, USA.","DOI":"10.1109\/CDC.1987.272740"},{"key":"ref_42","doi-asserted-by":"crossref","first-page":"509","DOI":"10.1016\/0005-1098(89)90094-0","article-title":"Composite adaptive control of robot manipulators","volume":"25","author":"Slotine","year":"1989","journal-title":"Automatica"},{"key":"ref_43","unstructured":"Koenig, N., and Howard, A. (October, January 28). Design and use paradigms for gazebo, an open-source multi-robot simulator. Proceedings of the 2004 IEEE\/RSJ International Conference on Intelligent Robots and Systems (IROS), Sendai, Japan."},{"key":"ref_44","doi-asserted-by":"crossref","first-page":"768","DOI":"10.1177\/0278364913518998","article-title":"Adaptive synergies for the design and control of the Pisa\/IIT SoftHand","volume":"33","author":"Catalano","year":"2014","journal-title":"Int. J. Robot. Res."},{"key":"ref_45","doi-asserted-by":"crossref","first-page":"106701","DOI":"10.1016\/j.jfranklin.2024.106701","article-title":"Adaptive Cartesian space control of robotic manipulators: A concurrent learning based approach","volume":"361","author":"Obuz","year":"2024","journal-title":"J. Frankl. Inst."},{"key":"ref_46","unstructured":"Traversaro, S., Pucci, D., and Nori, F. (2025, September 10). A Unified View of the Equations of Motion Used for Control Design of Humanoid Robots. Available online: https:\/\/www.researchgate.net\/publication\/312200239_A_Unified_View_of_the_Equations_of_Motion_used_for_Control_Design_of_Humanoid_Robots."},{"key":"ref_47","unstructured":"Bona, B., and Indri, M. (2005, January 12\u201315). Friction Compensation in Robotics: An Overview. Proceedings of the 44th IEEE Conference on Decision and Control, and the European Control Conference, Seville, Spain."},{"key":"ref_48","doi-asserted-by":"crossref","first-page":"69898","DOI":"10.1109\/ACCESS.2025.3561635","article-title":"A Novel Formulation for Adaptive Computed Torque Control Enabling Low Feedback Gains in Highly Dynamical Tasks","volume":"13","author":"Simonini","year":"2025","journal-title":"IEEE Access"},{"key":"ref_49","doi-asserted-by":"crossref","unstructured":"Waldron, K.J., and Schmiedeler, J. (2016). Kinematics. Springer Handbook of Robotics, Springer.","DOI":"10.1007\/978-3-319-32552-1_2"},{"key":"ref_50","unstructured":"Khalil, H. (2002). Lyapunov Stability. Nonlinear Systems, Pearson Education, Prentice Hall."},{"key":"ref_51","unstructured":"Khalil, H. (2002). Invariance-like Theorems. Nonlinear Systems, Pearson Education, Prentice Hall."}],"container-title":["Robotics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2218-6581\/14\/9\/126\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T18:45:06Z","timestamp":1760035506000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2218-6581\/14\/9\/126"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,9,13]]},"references-count":51,"journal-issue":{"issue":"9","published-online":{"date-parts":[[2025,9]]}},"alternative-id":["robotics14090126"],"URL":"https:\/\/doi.org\/10.3390\/robotics14090126","relation":{},"ISSN":["2218-6581"],"issn-type":[{"type":"electronic","value":"2218-6581"}],"subject":[],"published":{"date-parts":[[2025,9,13]]}}}