Thunder Dynamics: A C++ Tool for Adaptive Control of Serial Manipulators - Baracca, Marco; Simonini, Giorgio; Tolomei, Simone; De Santis, Yuri; Rosa Brusin, Paolo; Angeli, Stefano; Gabiccini, Marco; Bicchi, Antonio; Salaris, Paolo (Robotics (Basel), 2025)
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’s 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.