<?xml version="1.0" encoding="utf-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hal="http://hal.archives-ouvertes.fr/" xmlns:gml="http://www.opengis.net/gml/3.3/" xmlns:gmlce="http://www.opengis.net/gml/3.3/ce" version="1.1" xsi:schemaLocation="http://www.tei-c.org/ns/1.0 http://api.archives-ouvertes.fr/documents/aofr-sword.xsd">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>HAL TEI export of hal-01790971v2</title>
      </titleStmt>
      <publicationStmt>
        <distributor>CCSD</distributor>
        <availability status="restricted">
          <licence target="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 - Universal</licence>
        </availability>
        <date when="2026-05-22T15:01:07+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Analytical Derivatives of Rigid Body Dynamics Algorithms</title>
            <author role="aut">
              <persName>
                <forename type="first">Justin</forename>
                <surname>Carpentier</surname>
              </persName>
              <email type="md5">10be7137546f7fa3f98771409a8636f1</email>
              <email type="domain">inria.fr</email>
              <idno type="idhal" notation="string">justin-carpentier</idno>
              <idno type="idhal" notation="numeric">3401</idno>
              <idno type="halauthorid" notation="string">54056-3401</idno>
              <idno type="ORCID">https://orcid.org/0000-0001-6585-2894</idno>
              <idno type="IDREF">https://www.idref.fr/233948015</idno>
              <affiliation ref="#struct-388790"/>
              <affiliation ref="#struct-217752"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Nicolas</forename>
                <surname>Mansard</surname>
              </persName>
              <email type="md5">303eaadd7b8ed73ac2e9a1ff13f13e28</email>
              <email type="domain">laas.fr</email>
              <idno type="idhal" notation="string">nicolas-mansard</idno>
              <idno type="idhal" notation="numeric">13958</idno>
              <idno type="halauthorid" notation="string">27218-13958</idno>
              <idno type="IDREF">https://www.idref.fr/111691591</idno>
              <affiliation ref="#struct-388790"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Justin</forename>
                <surname>Carpentier</surname>
              </persName>
              <email type="md5">10be7137546f7fa3f98771409a8636f1</email>
              <email type="domain">inria.fr</email>
            </editor>
            <funder ref="#projanr-42193"/>
            <funder ref="#projeurop-88311"/>
            <funder ref="#projeurop-712474"/>
          </titleStmt>
          <editionStmt>
            <edition n="v1">
              <date type="whenSubmitted">2018-05-14 11:06:16</date>
            </edition>
            <edition n="v2" type="current">
              <date type="whenSubmitted">2018-05-25 19:43:31</date>
              <date type="whenWritten">2018-05-14</date>
              <date type="whenModified">2025-10-22 18:04:08</date>
              <date type="whenReleased">2018-05-28 08:59:05</date>
              <date type="whenProduced">2018-06-26</date>
              <date type="whenEndEmbargoed">2018-05-25</date>
              <ref type="file" target="https://laas.hal.science/hal-01790971v2/document">
                <date notBefore="2018-05-25"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://laas.hal.science/hal-01790971v2/file/18-rss-analytical-derivatives-carpentier.pdf" id="file-1800380-1827656">
                <date notBefore="2018-05-25"/>
              </ref>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="307185">
                <persName>
                  <forename>Justin</forename>
                  <surname>Carpentier</surname>
                </persName>
                <email type="md5">10be7137546f7fa3f98771409a8636f1</email>
                <email type="domain">inria.fr</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-01790971</idno>
            <idno type="halUri">https://laas.hal.science/hal-01790971</idno>
            <idno type="halBibtex">carpentier:hal-01790971</idno>
            <idno type="halRefHtml">&lt;i&gt;Robotics: Science and Systems (RSS 2018)&lt;/i&gt;, Jun 2018, Pittsburgh, United States</idno>
            <idno type="halRef">Robotics: Science and Systems (RSS 2018), Jun 2018, Pittsburgh, United States</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-1800380-1827656"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="UNIV-TLSE2">Université Toulouse 2</idno>
            <idno type="stamp" n="UNIV-TLSE3">Université de Toulouse</idno>
            <idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
            <idno type="stamp" n="INSA-TOULOUSE">Institut National des Sciences Appliquées de Toulouse</idno>
            <idno type="stamp" n="LAAS">Laboratoire d'analyse et d'architecture des systèmes</idno>
            <idno type="stamp" n="OPENAIRE">OpenAIRE</idno>
            <idno type="stamp" n="LAAS-GEPETTO" corresp="LAAS-ROBOTIQUE">Équipe Mouvement des Systèmes Anthropomorphes</idno>
            <idno type="stamp" n="UT1-CAPITOLE">Université Toulouse 1 Capitole</idno>
            <idno type="stamp" n="LAAS-ROBOTIQUE" corresp="LAAS">LAAS-Robotique</idno>
            <idno type="stamp" n="TDS-MACS">Réseau de recherche en Théorie des Systèmes Distribués, Modélisation, Analyse et Contrôle des Systèmes</idno>
            <idno type="stamp" n="INSA-GROUPE">Groupe INSA</idno>
            <idno type="stamp" n="ANR">ANR</idno>
            <idno type="stamp" n="TOULOUSE-INP">Toulouse - INP</idno>
            <idno type="stamp" n="UNIV-UT3">Université Toulouse 3</idno>
            <idno type="stamp" n="UT3-INP">Université de Toulouse / Toulouse INP</idno>
            <idno type="stamp" n="UT3-TOULOUSEINP">Université de Toulouse / Toulouse INP</idno>
            <idno type="stamp" n="TEST7-HALCNRS">test 7 du portail hal cnrs</idno>
          </seriesStmt>
          <notesStmt>
            <note type="audience" n="2">International</note>
            <note type="invited" n="0">No</note>
            <note type="popular" n="0">No</note>
            <note type="peer" n="1">Yes</note>
            <note type="proceedings" n="1">Yes</note>
          </notesStmt>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">Analytical Derivatives of Rigid Body Dynamics Algorithms</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Justin</forename>
                    <surname>Carpentier</surname>
                  </persName>
                  <email type="md5">10be7137546f7fa3f98771409a8636f1</email>
                  <email type="domain">inria.fr</email>
                  <idno type="idhal" notation="string">justin-carpentier</idno>
                  <idno type="idhal" notation="numeric">3401</idno>
                  <idno type="halauthorid" notation="string">54056-3401</idno>
                  <idno type="ORCID">https://orcid.org/0000-0001-6585-2894</idno>
                  <idno type="IDREF">https://www.idref.fr/233948015</idno>
                  <affiliation ref="#struct-388790"/>
                  <affiliation ref="#struct-217752"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Nicolas</forename>
                    <surname>Mansard</surname>
                  </persName>
                  <email type="md5">303eaadd7b8ed73ac2e9a1ff13f13e28</email>
                  <email type="domain">laas.fr</email>
                  <idno type="idhal" notation="string">nicolas-mansard</idno>
                  <idno type="idhal" notation="numeric">13958</idno>
                  <idno type="halauthorid" notation="string">27218-13958</idno>
                  <idno type="IDREF">https://www.idref.fr/111691591</idno>
                  <affiliation ref="#struct-388790"/>
                </author>
              </analytic>
              <monogr>
                <idno type="localRef">Rapport LAAS n° 18124</idno>
                <meeting>
                  <title>Robotics: Science and Systems (RSS 2018)</title>
                  <date type="start">2018-06-26</date>
                  <date type="end">2018-06-30</date>
                  <settlement>Pittsburgh</settlement>
                  <country key="US">United States</country>
                </meeting>
                <imprint>
                  <date type="datePub">2018-06</date>
                </imprint>
              </monogr>
              <ref target="https://github.com/stack-of-tasks/pinocchio" type="seeAlso"/>
              <ref target="https://hal.laas.fr/hal-01790934" type="seeAlso"/>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">Humanoid</term>
                <term xml:lang="en">Reinforcement Learning</term>
                <term xml:lang="en">Robotics</term>
                <term xml:lang="en">Optimal Estimation</term>
                <term xml:lang="en">Analytical Derivatives</term>
                <term xml:lang="en">Optimal Control</term>
              </keywords>
              <classCode scheme="halDomain" n="spi.auto">Engineering Sciences [physics]/Automatic</classCode>
              <classCode scheme="halTypology" n="COMM">Conference papers</classCode>
              <classCode scheme="halOldTypology" n="COMM">Conference papers</classCode>
              <classCode scheme="halTreeTypology" n="COMM">Conference papers</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>Rigid body dynamics is a well-established framework in robotics. It can be used to expose the analytic form of kinematic and dynamic functions of the robot model. So far, two major algorithms, namely the recursive Newton-Euler algorithm (RNEA) and the articulated body algorithm (ABA), have been proposed to compute the inverse dynamics and the forward dynamics in a few microseconds. Evaluating their derivatives is an important challenge for various robotic applications (optimal control, estimation, co-design or reinforcement learning). However it remains time consuming, whether using finite differences or automatic differentiation. In this paper, we propose new algorithms to efficiently compute them thanks to closed-form formulations. Using the chain rule and adequate algebraic differentiation of spatial algebra, we firstly differentiate explicitly RNEA. Then, using properties about the derivative of function composition, we show that the same algorithm can also be used to compute the derivatives of ABA with a marginal additional cost. For this purpose, we introduce a new algorithm to compute the inverse of the joint-space inertia matrix, without explicitly computing the matrix itself. All the algorithms are implemented in our open-source C++ framework called Pinocchio. Benchmarks show computational costs varying between 3 microseconds (for a 7-dof arm) up to 17 microseconds (for a 36-dof humanoid), outperforming the alternative approaches of the state of the art.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="researchteam" xml:id="struct-388790" status="OLD">
          <orgName>Équipe Mouvement des Systèmes Anthropomorphes</orgName>
          <orgName type="acronym">LAAS-GEPETTO</orgName>
          <date type="end">2025-01-01</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.laas.fr/public/fr/gepetto</ref>
          </desc>
          <listRelation>
            <relation active="#struct-459" type="direct"/>
            <relation active="#struct-81148" type="indirect"/>
            <relation name="443875" active="#struct-443875" type="indirect"/>
            <relation active="#struct-116255" type="indirect"/>
            <relation active="#struct-301232" type="indirect"/>
            <relation active="#struct-443875" type="indirect"/>
            <relation active="#struct-116256" type="indirect"/>
            <relation active="#struct-217752" type="indirect"/>
            <relation name="UPR8001" active="#struct-441569" type="indirect"/>
            <relation active="#struct-448187" type="indirect"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-217752" status="OLD">
          <idno type="IdRef">026404672</idno>
          <idno type="ISNI">0000000121617331</idno>
          <idno type="ROR">https://ror.org/02v6kpv12</idno>
          <idno type="Wikidata">Q1273188</idno>
          <orgName>Université Toulouse III - Paul Sabatier</orgName>
          <orgName type="acronym">UT3</orgName>
          <date type="end">2025-01-01</date>
          <desc>
            <address>
              <addrLine>118 route de Narbonne - 31062 Toulouse</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.univ-tlse3.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-443875" type="direct"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-459" status="OLD">
          <idno type="IdRef">199278792</idno>
          <idno type="ISNI">0000 0001 2188 216X </idno>
          <idno type="RNSR">199517454Y</idno>
          <idno type="ROR">https://ror.org/03vcm6439</idno>
          <orgName>Laboratoire d'analyse et d'architecture des systèmes</orgName>
          <orgName type="acronym">LAAS</orgName>
          <date type="start">1968-01-01</date>
          <date type="end">2025-01-01</date>
          <desc>
            <address>
              <addrLine>7 Av du colonel Roche 31077 TOULOUSE CEDEX 4</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.laas.fr</ref>
          </desc>
          <listRelation>
            <relation active="#struct-81148" type="direct"/>
            <relation name="443875" active="#struct-443875" type="indirect"/>
            <relation active="#struct-116255" type="direct"/>
            <relation active="#struct-301232" type="indirect"/>
            <relation active="#struct-443875" type="indirect"/>
            <relation active="#struct-116256" type="direct"/>
            <relation active="#struct-217752" type="direct"/>
            <relation name="UPR8001" active="#struct-441569" type="direct"/>
            <relation active="#struct-448187" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-81148" status="VALID">
          <idno type="IdRef">026404354</idno>
          <idno type="ISNI">0000000121902837</idno>
          <idno type="ROR">https://ror.org/0443n9e75</idno>
          <orgName>Université Toulouse Capitole</orgName>
          <orgName type="acronym">UT Capitole</orgName>
          <date type="start">1970-01-01</date>
          <desc>
            <address>
              <addrLine>2 rue du Doyen-Gabriel-Marty - 31042 Toulouse Cedex 9</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.ut-capitole.fr/</ref>
          </desc>
          <listRelation>
            <relation name="443875" active="#struct-443875" type="direct"/>
          </listRelation>
        </org>
        <org type="regroupinstitution" xml:id="struct-443875" status="VALID">
          <idno type="ROR">https://ror.org/017tgbk05</idno>
          <orgName>Communauté d'universités et établissements de Toulouse</orgName>
          <orgName type="acronym">Comue de Toulouse</orgName>
          <desc>
            <address>
              <addrLine>41 Allée Jules Guesde, 31000 Toulouse</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.univ-toulouse.fr/</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-116255" status="VALID">
          <idno type="IdRef">026388766</idno>
          <idno type="ISNI">0000 0001 2286 8343</idno>
          <idno type="ROR">https://ror.org/01h8pf755</idno>
          <idno type="Wikidata">Q858979</idno>
          <orgName>Institut National des Sciences Appliquées - Toulouse</orgName>
          <orgName type="acronym">INSA Toulouse</orgName>
          <date type="start">1963-10-21</date>
          <desc>
            <address>
              <addrLine>135, avenue de Rangueil - 31077 Toulouse cedex 4</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.insa-toulouse.fr</ref>
          </desc>
          <listRelation>
            <relation active="#struct-301232" type="direct"/>
            <relation active="#struct-443875" type="direct"/>
          </listRelation>
        </org>
        <org type="regroupinstitution" xml:id="struct-301232" status="VALID">
          <idno type="IdRef">162105150</idno>
          <orgName>Institut National des Sciences Appliquées</orgName>
          <orgName type="acronym">INSA</orgName>
          <desc>
            <address>
              <country key="FR"/>
            </address>
          </desc>
        </org>
        <org type="institution" xml:id="struct-116256" status="VALID">
          <idno type="IdRef">026403994</idno>
          <idno type="ROR">https://ror.org/04ezk3x31</idno>
          <orgName>Université Toulouse - Jean Jaurès</orgName>
          <orgName type="acronym">UT2J</orgName>
          <date type="start">1971-01-01</date>
          <desc>
            <address>
              <addrLine>5 allées Antonio Machado - 31058 Toulouse Cedex 9</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.univ-tlse2.fr</ref>
          </desc>
          <listRelation>
            <relation active="#struct-443875" type="direct"/>
          </listRelation>
        </org>
        <org type="regroupinstitution" xml:id="struct-441569" status="VALID">
          <idno type="IdRef">02636817X</idno>
          <idno type="ISNI">0000000122597504</idno>
          <idno type="ROR">https://ror.org/02feahw73</idno>
          <orgName>Centre National de la Recherche Scientifique</orgName>
          <orgName type="acronym">CNRS</orgName>
          <date type="start">1939-10-19</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cnrs.fr/</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-448187" status="VALID">
          <idno type="IdRef">026388820</idno>
          <idno type="ISNI">0000000121766169</idno>
          <idno type="ROR">https://ror.org/033p9g875</idno>
          <orgName>Institut National Polytechnique (Toulouse)</orgName>
          <orgName type="acronym">Toulouse INP</orgName>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.inp-toulouse.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-443875" type="direct"/>
          </listRelation>
        </org>
      </listOrg>
      <listOrg type="projects">
        <org type="anrProject" xml:id="projanr-42193" status="VALID">
          <idno type="anr">ANR-16-CE33-0003</idno>
          <orgName>LOCO3D</orgName>
          <desc>Locomotion en environnement complexe</desc>
          <date type="start">2016</date>
        </org>
        <org type="europeanProject" xml:id="projeurop-88311" status="VALID">
          <idno type="number">284951</idno>
          <idno type="program">FP7-ICT-2011-FET-F</idno>
          <idno type="call">FP7-ICT-2011-FET-F</idno>
          <orgName>CA-RoboCom</orgName>
          <desc>Coordination Action for the design and description of the FET Flagship candidate Robot Companions for Citizens</desc>
          <date type="start">2011-01-05</date>
          <date type="end">2012-04-30</date>
        </org>
        <org type="europeanProject" xml:id="projeurop-712474" status="VALID">
          <idno type="number">780684</idno>
          <idno type="program">H2020-ICT-2016-2017</idno>
          <idno type="call">H2020-ICT-2017-1</idno>
          <orgName>MEMMO</orgName>
          <desc>Memory of Motion</desc>
          <date type="start">2018-01-01</date>
          <date type="end">2022-06-30</date>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>