Full text
Recursive Forward Dynamics for Serial Kinematic Chains using Conformal Geometric Algebra Tobias Löw1,2[0000−0003−4001−2770] and Sylvain Calinon1,2[0000−0002−9036−6799] 1Idiap Research Institute, Martigny Switzerland. {tobias.loew, sylvain.calinon}@idiap.ch 2EPFL, Lausanne, Switzerland Abstract. The computation of the forward dynamics plays an important role in simulating the motion of interconnected rigid bodies while considering the physical properties and constraints of each part. The applications in graphics, animation, and robotics usually require fast computation, which leads to the usage of fast recursive algorithms. In this paper, we present a formulation of the recursive forward dynamics of serial kinematic chains that that is rooted in geometry, which allows coordinate-free view and geometrically meaningful interpretations of the involved quantities. The mathematical framework is called conformal geometric algebra (CGA) and it extends classical vector algebra by introducting a unified representation of a large array of geometric operations, transformations and mathematical objects, such as points, lines, and planes, in a rigorous yet intuitive manner. Hence, using CGA for the computation of the forward dynamcis provides a unified mathematical framework that seamlessly integrates both the geometric and dynamic aspects of the system. We validate the computation numerically and provide an implementation of the results in an open-source library, making it immediately available in practice. Keywords: Geometric Algebra, Dynamics 1 Introduction Simulation is an integral tool for robotic engineering since it allows for the safe testing and evaluation of algorithms. Simulating the motion of robots from forces using their dynamics is utilized in many different fields in robotics and it is an important part in the development of new algorithms for robotics. The problem of mapping forces to motion is solved by computing the forward dynamics of the robot, i.e. mapping the applied joint torques to joint accelerations for a given joint position and velocity. Consequently, there are many off-the-shelf robot dynamics simulators available, such as Raisim [1], Isaac Sim [2], Gazebo [3], Mujoco [4], Bullet [5] or Coppelia Sim [6]. Furthermore, there are several software libraries that, while not being full simulation engines, allow for the efficient computation of the robot dynamics, e.g. Pinocchio [7], KDL [8] and RBDL [9].
2 Tobias Löw and Sylvain Calinon There are many applications where the forward simulation of robotic systems has become an integral part of algorithm. Often these forward simulations are run in parallel to obtain trajectory rollouts, which requires very efficient algorithms for the forward dynamics, such as in stochastic [10] and differential dynamic programming [11] optimal control. Sampling-based model predictive control, that is built upon gradient-free optimizers such as model predictive path integral control [12], also heavily leverages parallel rollouts provided by simulators [13]. Rolling out the system dynamics is also necessary for dynamic programming approaches, including model predictive control [14], [15]. The same applies to motion planning where the dynamics are simulated forward in time to determine the effects of the planned control command [16]. Apart from robotics, the forward dynamics also play an important role in physics-based animation where they are used for high-quality character animations [17]. Another aspect when developing robotic algorithms, apart from the modeling of the robot itself, is the modeling of the tasks and the environment. Here, an increased focus has been put on exploiting the underlying geometry of the problems. The different approaches include powerful mathematical techniques such as Riemannian manifolds and Lie groups. They have been used especially at the intersection of learning and control. Various works presented approaches for representing robot skills using Riemannian manifolds and it was shown that different manifolds can be used for that purpose [18]. The manifold can be predefined, such as learning orientations [19], and leveraged in a dictionary of different manifolds [20]. In [21], the authors presented a framework for geometry aware manipulability learning, and then tracking the learned trajectory of manipulability ellipsoids and transferring it to different systems. These works used the manifold of symmetric positive-definite matrices for the skill representation. The underlying Riemannian manifold can, however, also be learned to obtain motion skills and then later be used for reactive motion generation [22]. Riemannian motion policies are another geometric framework that reactive control [23]. In addition to these geometric learning and control methods, Riemannian optimization is also used to exploit geometric structures for solving the inverse kinematics problem based on distance geometry [24]. Apart from these geometric techniques, a mathematical framework called geometric algebra is also gaining traction in robotics research. The story of geometric algebra in engineering is the story of an algebraic framework that greatly simplifies well-known equations, the most popular example being the Maxwell equations, which reduce to a single equation in geometric algebra [25]. In robotics, geometric algebra has been used for differential kinematics [26]. Inverse kinematics also serves as a good example of the geometric significance of geometric algebra objects, since the problem can be solved iteratively by using the intersection operations of the geometric primitives in the algebra [27]. Other applications of these geometric primitives are tools for medical robotics to provide geometric intuitive techniques for planning surgical paths [28]. There also already exists a link of the previously mentioned use-cases of the forward dynamics simulation and geometric algebra in the form of modeling optimal control
Forward Dynamics for Kinematic Chains using Geometric Algebra 3 problems using geometric primitives [29]. Albeit, in that work the dynamics were included after solving the optimal control problem in the form of Lagrangian inverse dynamics in order to obtain torque commands. Another interesting way to use the geometric primitives is for object manipulation from stereoscopic images [30]. Mathematically, geometric algebra presents fresh insights on screw theory [31], which is often used in robotics to express kinematic relationships. Despite this growing popularity of geometric algebra in the field of robotics, there are still many algorithms that need to be derived in their geometric algebra version in order for it to become a single tool for computation in robotics. One of them is the efficient computation of the forward dynamics, which we are addressing in this paper. Hence, our contributions are as follows: –we define an inertia tensor using elements from conformal geometric algebra, –we formulate the articulated body inertia in conformal geometric algebra, –we formulate the recursive forward dynamics in conformal geometric algebra. –we implement the presented algorithms in an open-source library gafro3that we first presented in [29] The rest of the paper is organized as follows: Section 2 presents related work, Section 3 introduces the mathematical background of geometric algebra and robot dynamics, in Section 4 we show our formulation of the inertia tensor in CGA, in Section 5 we then introduce the recursive dynamics algorithms in CGA, finally in Section 6 we discuss some mathematical implications. 2 Related Work This paper describes the recursive computation of the forward dynamics in conformal geometric algebra. Since this is an important concept in robotics, naturally, there have been been many algorithms and implementations tackling this problem. Mathematically it can be solved by deriving the Lagrangian formulation of the robot dynamics and solving for the joint accelerations. This approach, however requires the inversion of the generalized mass matrix, which is usually not the most efficient way of computation [32]. Since these dynamics simulations are frequently used in applications that require a high computational efficiency, such as control, it is important that these accelerations are computed as fast as possible. The recursive formulation of solving the forward dynamics problem called the Articulated Body Algorithm (ABA) was first presented in Featherstone’s seminal work [33] and has been shown to have complexity O(n). Our algorithms build on this work and we will explain in the mathematical discussions how the approaches differ, and where the advantages of CGA lie. Researchers have realized before that mathematical tools from geometry can lead to simplified and unified treatments of the robot dynamics. By treating SE(3) as a Lie group and adopting basic ideas from Riemannian geometry, a geometric variant of the robot dynamics was derived in [34]. That work showed 3https://gitlab.com/gafro
4 Tobias Löw and Sylvain Calinon that by looking at the problem through the lens of geometry, various impractical notational conventions can be avoided and that the connections to differential geometry lead to easily factorizable and differentiable equations, making it very attractive for optimization and optimal control. These ideas of exploiting Lie groups and Lie algebras were extended further to show the natural emergence of a matrix factorization of the mass matrix and its inverse [35], where a recursive algorithm is embedded within its structure. Furthermore, the inherent invariance w.r.t the reference frame allows for arbitrary frames in the kinematic modeling [36]. Our formulation in CGA not only retains this coordinate invariance, but also, as we will explain later, actually uses a double covering group of SE(3) for its computations and that the algebra contains more classes of transformations including non-rigid ones. The theory of dual quaternion algebra presents another paradigm to approaching problems in robotics from a geometric perspective. There are works that are describing the robot dynamics using dual quaternion algebra, currently in the form of Newton-Euler type dynamics, which are less efficient for the computation of the accelerations [37]. A notable insight from that work is, that by combining the geometric perspective from screw theory, the thorougness of Lie algebra and a simple algebraic framework in the form of dual quaternion algebra leads to simplified and more general expressions. This insight seamlessly translates to geometric algebra due to their their common roots in Clifford algebra. Hence, there are also works that utilize geometric algebra to derive a NewtonEuler type algorithm for robot inverse dynamics and control of manipulators [38] and multicopters [39]. In contrast to those works, we are presenting a recursive forward dynamics algorithm following Featherstone’s formalism of the articulated body algorithm. In order to give a complete overview and to integrate our inertia tensor formulation into the Newton-Euler algorithm, we are also showing the inverse dynamics. Previous work in geometric algebra also looked at the inertia tensor and showed that it was fully contained within the geometric algebra G0,6,2[40]. Since this algebra is comparatively large, that work asked the question regarding the minimal algebra containing the adjoint operation of SE(3). While the presented inertia tensor and transformations of it require multiple operations, the proposed approach is fully contained within the algebra. 3 Background In this section we are briefly introducing robot dynamics and geometric algebra. We will use the following notation throughout the paper: xto denote scalars, x for vectors, Xfor matrices, Xfor multivectors and Xfor matrices of multivectors. 3.1 Robot Dynamics The manipulator equation for computing the dynamics of the system is M(q)¨q+C(q,˙q)˙q+g(q) = τ−τext,(1)
Forward Dynamics for Kinematic Chains using Geometric Algebra 5 where M(q)is known as the inertia or generalized mass matrix, C(q,˙q)is representing Coriolis/centrifugal forces, g(q)stands for the gravitational forces, τis the vector of joint torques and τext are the external torques. The problem of forward dynamics then arises when solving Equation (1) for the joint accelerations ¨q, i.e. ¨q=M−1(q)τ−τext −C(q,˙q)˙q−g(q).(2) This matrix algebra approach to solving the forward dynamics therefore requires finding the inverse of the generalized mass matrix M−1(q), which can be computationally demanding. Hence, the previous work on deriving recursive algorithms for the forward dynamics showed how the inverse mass matrix could be efficiently factorized, alleviating the need of matrix inversion. This concept translates to the formulation of the forward dynamics in CGA, since we also don’t compute the mass matrix or its inverse explicitly. 3.2 Geometric Algebra Geometric algebras, also known as Clifford algebras, are actually a family of algebras that can be found as the quotient algebras of tensor algebras over quadratic spaces. Historically, geometric algebra is a unification of Hamilton’s quaternion algebra and Grassmann’s exterior algebra. It is a single algebra for geometric reasoning, alleviating the need of utilizing multiple algebras to express geometric relations. Geometric algebras are defined for vector spaces Rp,q,r of dimension n=p+q+r, where p, q and rare the number of basis vectors that square to 1,-1 and 0, respectively. The fundamental multiplication operation is called the geometric product ab =a·b+a∧b,(3) and is the sum of an inner ·and an outer ∧product. The outer product is equivalent to the exterior product of Grassman algebra and is an operation that spans subspaces. Therefore, unlike the vector algebra of Rp,q,r, the associated geometric algebra Gp,q,r uses subspaces of the associated vector space as elements of computations. The basic elements, called blades, are found as the outer product of klinearly independent vectors, which leads to 2n= 2p+q+rblades for a geometric algebra. The linear combination of basis blades is then called a multivector. The number kis then called grade of the multivector. The computation with subspaces leads to nullspace representations of geometric primitves w.r.t either the inner or the outer product. In CGA, these primitives include points, lines, planes, circles and spheres. Since they are not within the scope of this paper, we refer to [41] for their defintion and construction and to [29] for their usage in optimal control applications in robot manipulation. In this paper, we are using CGA to formulate the forward dynamics, which is G4,1. As it has four basis vectors that square to 1 and one that squares to -1 it is clearly a pseudo-Euclidean space, in fact it has a Minkowski signature. It can be understood as extending the Euclidean space R3with a Minkowski plane
6 Tobias Löw and Sylvain Calinon R1,1, i.e. R4,1=R3⊕R1,1. This leads to several transformations beyond the rigid body transformations presented in the following section. We will discuss those transformations later in Section 6.4. Rigid Body Transformations Rigid body transformations in CGA are achieved using a representation of the Lie group Spin(3)⋉R3called motors, which is a double cover of the matrix Lie group of rigid body transformations in 3-dimensional Euclidean space SE(3), i.e. there exists a surjective two-to-one homomorphism from Spin(3) ⋉ R3to SE(3). The associated Lie algebra of the motor group is a bivector algebra and is connected to the motor manifold by the exponential map and its inverse, the logarithmic map. The bivectors of the Lie algebra are essentially (dual) lines in CGA, i.e. they define the screw axis of the motor. Motors are also isomorphic to dual quaternions. The difference between them is that CGA is a larger algebra which introduces more geometric primitives and alleviates the need of special adjoint operations to transform them. Motors can be applied to arbitrary multivectors in the algebra by using a sandwich product operation (similar to how quaternions rotate vectors) Y=MX f M, (4) where f Mstands for the reverse of a motor, which can thought of as being similar to a conjugate quaternion. This operation is grade preserving, i.e. it leaves the number of kbasis vectors in outer product represeentation unchanged and thus does not change what the multivectors represent. Herein lies one of the advantages of CGA, as it extends linear transformations naturally from vectors to the entire algebra, i.e. motors can be applied to all multivectors in a uniform manner, they are a more general representation of rigid body transformations and can also be used to transform all geometric primitives that are part of the algebra and not just vectors. This extension is called outermorphism. Motors are used to represent the forward kinematics of a serial kinematic chain, i.e. the motor M(q), given the configuration q, can be computed with M(q) = N Y j=1 Mj(qj).(5) The motors Mj(qj)are the current joint motors of the j-th joint given the joint position. They are found as Mj(qj) = exp (qjBj),(6) where Bjis the bivector describing the screw axis of the j-th joint. In the following we will be using Mjinstead of Mj(qj)for a shorter notation. Twists and Wrenches Utilizing the terminology of screw theory, the screws that carry velocity and force information are called twists and wrenches, respectively. In CGA, they are represented as bivectors. The twists are identified with
Forward Dynamics for Kinematic Chains using Geometric Algebra 7 the bivectors that generate rigid body motions, i.e. the bivector that result from the logarithmic mapping of motors. Hence, their space is found as V ∈ span{e23,e13,e12,e1∞,e2∞,e3∞},(7) where the six objects forming a twist are bivectors. The space of twists algebraically corresponds to the bivector dual lines that form the screw axes of motors. Wrenches on the other hand, are usually called coscrews, meaning that there is a certain duality relationship between twists and wrenches. In matrix Lie algebra, however, this duality is not directly visible, since both twists and wrenches are simply 6-dimensional vectors. In conformal geometric algebra on the other hand, this duality is explicitly found via multiplication with the conjugate pseudoscalar Ic=Ie0[42], where Iis the standard pseudoscalar of CGA, i.e. I=e0123∞. Multiplication of Icwith a twist yields the space of wrenches as W ∈ span{e23,e13,e12,e01,e02,e03}.(8) Using these definitions, the inner product of a twist Vand a wrench W reduces to the scalar product and calculates the power of the motion, i.e. p=−V · W (9) In Lie theory, twists are elements of the Lie algebra and wrenches are elements of the dual Lie algebra. As per the above definitions this duality relationship can be directly seen from the different bivector blades in the respective spaces. The elements also allow for a direct geometrical interpretation: the linear velocity part of twists (i.e. e1∞,e2∞,e3∞) corresponds to a direction bivector, whereas the force part of wrenches (i.e. e01,e02,e03) corresponds to a tangent bivector. This geometric interpretation further clarifies why twists and wrenches transform differently under rigid body transformations, i.e. why in matrix Lie algebra the adjoint matrix Ad transforms twists and the dual adjoint matrix Ad∗transforms wrenches. Using conformal geometric algebra, this distinction is not necessary, since, by definition of the algebra, direction and tangent bivectors (i.e. linear velocities and forces) multiply differently using the geometric product. Hence, a motor can be used to transform both twists and wrenches according to Equation (4) which means it simultaneously represents the adjoint and the dual adjoint operation. Similarly, a unified expression for the Lie bracket can be found in conformal geometric algebra. The Lie bracket is a linear mapping between elements of the Lie algebra. For twists acting on twists or wrenches this mapping can be found as V′=V1× V2and W′=V × W,(10) where ×is the commutator product that is defined as X×Y=1 2(XY −Y X).(11)
8 Tobias Löw and Sylvain Calinon The implications of these definitions are very interesting, since CGA simultaneously clarifies the duality relationship of twists and wrenches, by removing the ambiguity of what a 6-dimensional vector represents through an algebraically determined difference. Furthermore, it also unifies their treatment by having the same adjoint operations. 4 Inertia Tensor In this section, we are presenting our formulation of the general inertia tensor in CGA. This formulation is a direct extension of the definition of the rotational inertia tensor in dual quaternion algebra [37]. The rotational part can be identified in conformal geometric algebra with the bivector blades e23,e13,e12. We add the bivector blades e01,e02,e03, such that a general inertia element becomes I ∈ span{e23,e13,e12,e01,e02,e03}.(12) Note that an inertia element uses the same basis blades as a wrench that was defined in Equation (8). This follows from the fact that we want the inner product of an inertia element and twists to be the scalar product in order to compute the different components of the resulting wrenches. Hence, the inertia tensor Iconsists of six bivector-valued inertia elements, one for each component of the resulting wrench. We define the geometric algebra inertia tensor as the union of all elements belonging to the blade index list II, i.e. I={Iek}ek∈II,(13) where the upper blade index indicates which component of the resulting wrench it is responsible for. In accordance with the definition of a wrench, these blade indices therefore are II={e23,e13,e12,e01,e02,e03}.(14) 4.1 Linear Mapping from Twist to Wrench The inertia tensor is a linear operator that acts on twists and produces wrenches. This linear map can be found as the sum of the inner products of each inertia element with the given twist, i.e. W=I[V] = −X ek∈II (Iek· V)ek.(15) At this point we would like to mention that we generally call the mathematical objects twists and wrenches according to the definion of the spaces in Equations (7) and (8), respectively. The physical interpretation, however, can of course be a mapping either from velocity to momentum or acceleration to force. In both cases, the mathematical bivector spaces are the same, hence we treat it using a unified terminology.
Forward Dynamics for Kinematic Chains using Geometric Algebra 9 4.2 Rigid Body Transformation of Inertia Tensor Often, it is required to view the inertia tensor from a frame that is different to the inertial frame. Hence, it is necessary to have a formulation of how an inertia tensor behaves under rigid body transformations. These are expressed using motors in CGA, hence, given a motor M, we define the transformation of an inertia tensor and denote this operation using the symbol ∗, i.e. M∗I=(M X ek∈II ⟨MIekf M⟩ejek!f M)ej∈II ,(16) where the operator ⟨·⟩ejextracts the ejblade component of the enclosed expression. With equations (15) and (16), we can find the equivariance relationship MI[V]f M= (M∗I)hMVf Mi.(17) Hence, transforming a wrench produced by applying an inertia tensor to a twist, gives the same wrench as first transforming the inertia and the twist individually and then applying the transformed inertia tensor to the transformed twist. 4.3 Spatial Inertia Traditionally, the spatial inertia is a 6×6symmetric matrix that contains the information about the rotational inertia, the mass and the center of mass. We show in this section how to obtain it in our CGA formalism, in order to give a more detailed explanation of the involved operations. Given an arbitrary rigid body, we have its inertial parameters as the mass m, the motor describing the location of the center of mass MCoM and the inertia matrix I, latter is a symmetric positive-definite matrix with the six independent components ixx, iyy, izz, ixy, ixz, iyz. Thus, we find the the general inertia tensor Ias a function of mand I, i.e. the elements of Iare Ie23 =ixxe23 −ixye13 +ixze12,Ie01 =me01, Ie13 =−ixye23 +iyye13 −iyze12,Ie02 =me02,(18) Ie12 =ixze23 −iyze13 +izze12,Ie03 =me03. Note the sign change in certain elements of the inertia, that is due to the metric tensor of CGA, which led to our choice of basis bivectors to closely match and facilitate the implementation. Then, we find the spatial inertia tensor ICoM by transforming the inertia tensor Iusing the motor describing the location of the center of mass MCoM ICoM =MCoM ∗I.(19)
16 Tobias Löw and Sylvain Calinon three bivectors carrying the force information from the wrenches form the generators for hyperbolic rotations, here, an interesting future research directions would be to uncover the implications of this connection. The last bivector e0∞ is responsible for dilations, which means that CGA also contains the group of direct similarities Sim(3) as a subgroup. The fact that CGA contains non-rigid transformations could mean that the presented dynamics algorithms could be extended to more complex dynamics such as soft robotics or to model deformable objects. 7 Conclusion In this paper, we presented the formulation of the recursive forward dynamics and the spatial and articulated body inertia in CGA. Although the presented results in their current stage of research are of theoretical nature, we have shown their validity in simulation experiments. Additionally, the algorithms are implemented in an open-source library, making them ready to be used in practical applications. Future work on this library now includes addressing the problem of contact modeling in geometric algbra, since this would be the next step in order to provide full simulation capabilities with geometric algebra. However, we want to point out that by including the forward dynamics, geometric algebra, in principle, is now capable of replacing traditional vector/matrix based libraries for computing the kinematics and dynamics of serial kinematic chains, since all required algorithms are now available. It, however, offers many additional tools for geometrically modeling various problems in robotics. The formulation of CGA offers a unified view on screws, it allows for the coordinate invariant formulations of Lie groups and has computational and representational advantages. Thus it not only unifies several frameworks into one algebra, but also, via the direct connection of the pin group as a double cover to the orthogonal group, it facilitates the geometric interpretation of conformal mappings compared to matrix algebra and makes them computationally more efficient. The current research of course is limited by its implementation and the resulting lower computational performance compared to other libraries. Future research on using CGA can therefore have several directions. First, it should be explored how the different possible implementations of geometric algebra affect the performance of the algorithms and to improve the implementation in general. And second, the mathematical background of geometric algebra offers several directions for possible extensions and applications to other areas such as deformable objects and soft robotics. For this reason, the contributions should be seen from a mathematical perspective, opening doors to new potential research directions and uncovering mathematical and geometric connections that are hidden in other frameworks.
Forward Dynamics for Kinematic Chains using Geometric Algebra 17 References 1. Hwangbo, J., Lee, J. & Hutter, M. Per-Contact Iteration Method for Solving Contact Dynamics. IEEE Robot. Autom. Lett. 3, 895–902 (Apr. 2018). 2. Liang, J. et al. GPU-Accelerated Robotic Simulation for Distributed Reinforcement Learning http://arxiv.org/abs/1810.05762 (2024). Pre-published. 3. Koenig, N. & Howard, A. Design and Use Paradigms for Gazebo, an Open-Source Multi-Robot Simulator in 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No.04CH37566) 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No.04CH37566). 3(IEEE, Sendai, Japan, 2004), 2149–2154. 4. Todorov, E., Erez, T. & Tassa, Y. MuJoCo: A Physics Engine for Model-Based Control in 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems (Oct. 2012), 5026–5033. 5. Coumans, E. & Bai, Y. PyBullet, a Python Module for Physics Simulation for Games, Robotics and Machine Learning 2016–2021. 6. V-REP: A Versatile and Scalable Robot Simulation Framework | IEEE Conference Publication | IEEE Xplore https://ieeexplore.ieee.org/document/6696520 (2024). 7. Carpentier, J. et al. The Pinocchio C++ Library : A Fast and Flexible Implementation of Rigid Body Dynamics Algorithms and Their Analytical Derivatives in 2019 IEEE/SICE International Symposium on System Integration (SII) 2019 IEEE/SICE International Symposium on System Integration (SII) (IEEE, Paris, France, Jan. 2019), 614–619. 8. Smits, R. KDL: Kinematics and Dynamics Library http://www.orocos.org/kdl. 9. Felis, M. L. RBDL: An Efficient Rigid-Body Dynamics Library Using Recursive Algorithms. Auton Robot 41, 495–511 (Feb. 1, 2017). 10. Carius, J., Ranftl, R., Farshidian, F. & Hutter, M. Constrained Stochastic Optimal Control with Learned Importance Sampling: A Path Integral Approach. The International Journal of Robotics Research 41, 189–209 (Feb. 2022). 11. Mastalli, C. et al. Crocoddyl: An Efficient and Versatile Framework for MultiContact Optimal Control http : / / arxiv . org / abs / 1909 . 04947 (2022). Prepublished. 12. Williams, G., Aldrich, A. & Theodorou, E. A. Model Predictive Path Integral Control: From Theory to Parallel Computation. Journal of Guidance, Control, and Dynamics 40, 344–357 (Feb. 2017). 13. Pezzato, C. et al. Sampling-Based Model Predictive Control Leveraging Parallelizable Physics Simulations http://arxiv.org/abs/2307.09105 (2024). Prepublished. 14. Sleiman, J.-P., Farshidian, F. & Hutter, M. Constraint Handling in ContinuousTime DDP-Based Model Predictive Control in 2021 IEEE International Conference on Robotics and Automation (ICRA) 2021 IEEE International Conference on Robotics and Automation (ICRA) (IEEE, Xi’an, China, May 30, 2021), 8209– 8215. 15. Bjelonic, M. et al. Offline Motion Libraries and Online MPC for Advanced Mobility Skills. The International Journal of Robotics Research, 22. 16. Plaku, E., Kavraki, L. E. & Vardi, M. Y. Motion Planning With Dynamics by a Synergistic Combination of Layers of Planning. IEEE Trans. Robot. 26, 469–482 (June 2010).
18 Tobias Löw and Sylvain Calinon 17. Liu, L., Yin, K., van de Panne, M., Shao, T. & Xu, W. Sampling-Based Contactrich Motion Control. 18. Calinon, S. Gaussians on Riemannian Manifolds: Applications for Robot Learning and Adaptive Control. IEEE Robotics Automation Magazine 27, 33–45 (June 2020). 19. Saveriano, M., Abu-Dakka, F. J. & Kyrki, V. Learning Stable Robotic Skills on Riemannian Manifolds. Robotics and Autonomous Systems 169, 104510 (Nov. 1, 2023). 20. Ti, B., Razmjoo, A., Gao, Y., Zhao, J. & Calinon, S. A Geometric Optimal Control Approach for Imitation and Generalization of Manipulation Skills. Robotics and Autonomous Systems 164, 104413 (June 1, 2023). 21. Jaquier, N., Rozo, L., Caldwell, D. G. & Calinon, S. Geometry-Aware Manipulability Learning, Tracking, and Transfer. The International Journal of Robotics Research 40, 624–650 (Feb. 2021). 22. Beik-Mohammadi, H., Hauberg, S., Arvanitidis, G., Neumann, G. & Rozo, L. Reactive Motion Generation on Learned Riemannian Manifolds. The International Journal of Robotics Research, 02783649231193046 (Aug. 28, 2023). 23. Cheng, C.-A. et al. RMPflow: A Geometric Framework for Generation of Multitask Motion Policies. IEEE Transactions on Automation Science and Engineering 18, 968–987 (July 2021). 24. Marić, F. et al. Riemannian Optimization for Distance-Geometric Inverse Kinematics. IEEE Trans. Robot. 38, 1703–1722 (June 2022). 25. Baylis, W. E. in Ablamowicz, R. et al. Lectures on Clifford (Geometric) Algebras and Applications (eds Abłamowicz, R. & Sobczyk, G.) 91–133 (Birkhäuser Boston, Boston, MA, 2004). 26. Bayro-Corrochano, E. & Zamora-Esquivel, J. Differential and Inverse Kinematics of Robot Devices Using Conformal Geometric Algebra. Robotica 25, 43–61 (Jan. 2007). 27. Aristidou, A. & Lasenby, J. FABRIK: A Fast, Iterative Solver for the Inverse Kinematics Problem. Graphical Models 73, 243–260 (Sept. 2011). 28. Bayro-Corrochano, E., Garza-Burgos, A. M. & Del-Valle-Padilla, J. L. Geometric Intuitive Techniques for Human Machine Interaction in Medical Robotics. Int J of Soc Robotics 12, 91–112 (Jan. 2020). 29. Löw, T. & Calinon, S. Geometric Algebra for Optimal Control With Applications in Manipulation Tasks. IEEE Transactions on Robotics 39, 3586–3600 (2023). 30. Zamora-Esquivel, J. & Bayro-Corrochano, E. Robot Object Manipulation Using Stereoscopic Vision and Conformal Geometric Algebra. Applied Bionics and Biomechanics 8, 411–428 (2011). 31. Delafosse, L. A New Approach to Screw Theory Using Geometric Algebra. 32. Featherstone, R. & Orin, D. Robot Dynamics: Equations and Algorithms in Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065) 2000 ICRA. IEEE International Conference on Robotics and Automation. 1(IEEE, San Francisco, CA, USA, 2000), 826–834. 33. Featherstone, R. Robot Dynamics Algorithms (Springer US, Boston, MA, 1987). 34. Park, F., Bobrow, J. & Ploen, S. A Lie Group Formulation of Robot Dynamics. The International Journal of Robotics Research 14, 609–618 (Dec. 1995). 35. Ploen, S. & Bobrow, J. An O(n) Geometric Algorithm for Manipulator Forward Dynamics in 1997 8th International Conference on Advanced Robotics. Proceed-
Forward Dynamics for Kinematic Chains using Geometric Algebra 19 ings. ICAR’97 1997 8th International Conference on Advanced Robotics. Proceedings. ICAR’97 (July 1997), 563–568. 36. Müller, A. Screw and Lie Group Theory in Multibody Dynamics: Recursive Algorithms and Equations of Motion of Tree-Topology Systems. Multibody Syst Dyn 42, 219–248 (Feb. 2018). 37. Afonso Silva, F. F., José Quiroz-Omaña, J. & Vilhena Adorno, B. Dynamics of Mobile Manipulators Using Dual Quaternion Algebra. Journal of Mechanisms and Robotics 14 (Sept. 14, 2022). 38. Bayro-Corrochano, E., Medrano-Hermosillo, J., Osuna-González, G. & UriosteguiLegorreta, U. Newton–Euler Modeling and Hamiltonians for Robot Control in the Geometric Algebra. Robotica 40, 4031–4055 (Nov. 2022). 39. Arellano-Muro, C. A., Osuna-González, G., Castillo-Toledo, B. & Bayro-Corrochano, E. Newton–Euler Modeling and Control of a Multi-copter Using Motor Algebra. Adv. Appl. Clifford Algebras 30, 19 (Apr. 2020). 40. Selig, J. M. & Bayro-Corrochano, E. Rigid Body Dynamics Using Clifford Algebra. AACA 20, 141–154 (Mar. 2010). 41. Perwass, C. Geometric Algebra with Applications in Engineering Geometry and Computing 4(Springer, Berlin, 2009). 42. Hestenes, D. in Geometric Algebra Computing: In Engineering and Computer Science (eds Bayro-Corrochano, E. & Scheuermann, G.) 3–33 (Springer, London, 2010). 43. Featherstone, R. Rigid Body Dynamics Algorithms (Springer US, Boston, MA, 2008). 44. Bayro-Corrochano, E. Robot Modeling and Control Using the Motor Algebra Framework in 2019 12th International Workshop on Robot Motion and Control (RoMoCo) 2019 12th International Workshop on Robot Motion and Control (RoMoCo) (July 2019), 1–8. 45. Paszke, A. et al. PyTorch: An Imperative Style, High-Performance Deep Learning Library. 46. Dantam, N. T. Robust and Efficient Forward, Differential, and Inverse Kinematics Using Dual Quaternions. The International Journal of Robotics Research 40, 1087–1105 (Sept. 2021). 47. Featherstone, R. A Beginner’s Guide to 6-D Vectors (Part 1). IEEE Robot. Automat. Mag. 17, 83–94 (Sept. 2010). 48. Vaz Jr., J. & Rocha Jr., R. da. An Introduction to Clifford Algebras and Spinors First edition. 242 pp. (Oxford University Press, Oxford, 2016).