Robot Dynamics with URDF & CasADi
Master thesis
Permanent lenke
http://hdl.handle.net/11250/2625725Utgivelsesdato
2019Metadata
Vis full innførselSamlinger
Sammendrag
Effektiv og nøyaktig evaluering av dynamiske parametere er en nøkkelingrediens for kontroll, estimering, og simulering av roboter. De kan være tidkrevende å kalkulere for hånd, og forskere innenfor robotikk kan derfor ha stor nytte av et programvarebibliotek som genererer symbolske ligninger for robotdynamikk. Denne oppgaven presenterer et programvarebibliotek som effektivt finner og evaluerer de dynamiske ligningene til en robot og deres derivater. Basert på et Unified Robot Description Format (URDF), kan en beskrivelse av robotens kinematiske struktur bli funnet. CasADi tilbyr et symbolsk optimaliseringsrammeverk som har økende popularitet innenfor robotikkmiljøet. Ved å bruke informasjonen representert i URDF-beskrivelsen av roboten sammen med det symbolske rammeverket til CasADi, har dette prosjektet utviklet et programvarebibliotek som finner symbolske ligninger av robotens dynamikk.
Biblioteket har fått navnet urdf2casadi og baserer seg på implementeringen av tre algoritmer: recursive Newton-Euler algorithm (RNEA), articulated body algorithm (ABA), og composite rigid body algorithm (CRBA). Implementeringen av algoritmene baserer seg på Featherstone's pseudokode av algoritmene gitt i boken Rigid Body Dynamics Algorithms. Der brukes spatial vector algebra for å oppnå effektiv kalkulering av de dynamiske ligningene, og denne rapporten gir dermed en presentasjon av spatial vector algebra. Det gis også en innføring til CasADi, og vi viser hvordan roboten modelleres som et rigid multi-body system.
For å validere implementeringen av biblioteket, er de numeriske evalueringene av de symbolske funksjonene returnert av urdf2casadi sammenlignet mot tre veletablerte numeriske biblioteker: KDL, RBDL, og PyBullet. Det er videre utført en tidssammenligning mellom bibliotekene, hvor vi viser at evalueringstidene til de symbolske funksjonene er på det meste en størrelsesorden høyere enn evalueringstidene til de numeriske bibliotekene. Til slutt viser vi at evalueringstidene til derivatene forblir av samme størrelsesorden som de dynamiske funksjonene. Arbeidet er summert i en artikkel som er akseptert til den internasjonale konferansen for kontroll, mekatronikk, og automasjon (ICCMA) Fast, accurate evaluation of the dynamic parameters is a crucial ingredient for accurate control, estimation, and simulation of robots. As these are time-consuming to compute by hand, a software library for generating the rigid body dynamics symbolically can be of great use for robotics researchers. In this thesis, a library to efficiently compute and evaluate robot dynamics and its derivatives is proposed. Based on the Unified Robot Description Format (URDF), a full description of the robot's kinematic structure can be retrieved. CasADi provides a symbolic optimization framework growing in popularity among robotics researchers. By using the information provided by the URDF and the symbolic framework provided by CasADi, a library for obtaining symbolic expressions of a robot's dynamics has been implemented.
The library has gotten the name urdf2casadi and retrieval of the dynamic parameters is based on the implementation of three major rigid body dynamics algorithms. The recursive Newton-Euler algorithm is used to obtain the inverse dynamics, the Coriolis matrix, and the gravitational term. The articulated body algorithm is used to obtain the forward dynamics, and the composite rigid body algorithm is used to obtain the inertia matrix and forward dynamics. The implementation of the rigid body dynamics algorithms is inspired by the versions of the algorithms presented by Featherstone. As these algorithms use spatial vector algebra for computational efficiency, a thorough presentation of spatial algebra is given. The modeling of the robot mechanism as a rigid multi-body system is also presented as well as a detailed description of the implementation of the algorithms.
To validate the numerical accuracy, the numerical evaluations of the solutions are compared against three other well-established rigid body dynamics libraries, namely RBDL, KDL, and PyBullet. We conduct a timing comparison between the libraries, and we show that the evaluation times of the symbolic expressions are at most one order of magnitude higher than the numerical evaluation times. Last, it is shown that the evaluation times of the dynamics derivatives remain of the same order as the evaluation times of the dynamics expressions, making them appropriate for use in robotics research. The work is summarized in an article accepted to the International Conference on Control, Mechatronics, and Automation (ICCMA).