Stel kroppsdynamik är en väletablerad ram - arbete inom robotik. Den kan användas för att exponera den analytiska formen av kinematiska och dynamiska funktioner hos robotmodellen. Hittills har två större algoritmer, nämligen den rekursiva Newton-Euler-algoritmen (RNEA) och den artikulerade kroppsalgoritmen (ABA), föreslagits för att beräkna den omvända dynamiken och dynamiken framåt på några få mikrosekunder. Utvärdering av deras derivat är en viktig utmaning för olika robottillämpningar (optimal kontroll, uppskattning, samdesign eller förstärkande inlärning). Men det är fortfarande tidskrävande, oavsett om du använder ändliga skillnader eller automatisk differentiering. I detta dokument föreslår vi nya algoritmer för att effektivt beräkna dem tack vare slutna formuleringar. Med hjälp av kedjeregeln och tillräcklig algebraisk differentiering av rumslig algebra, skiljer vi för det första uttryckligen RNEA. Sedan, med hjälp av egenskaper om derivatan av funktionssammansättning, visar vi att samma algoritm också kan användas för att beräkna derivat av ABA med en marginell extra kostnad. För detta ändamål, introducerar vi en ny algoritm för att beräkna inversen av joint-space tröghetsmatrisen, utan att uttryckligen beräkna själva matrisen. Alla algoritmer implementeras i vårt C++-ramverk med öppen källkod som kallas Pinocchio. Riktmärken visar beräkningskostnader som varierar mellan 3 mikrosekunder (för en 7-d av arm) upp till 17 mikrosekunder (för en 36-d av humanoid), överträffar de alternativa tillvägagångssätt av den senaste tekniken.
Analytiska gradienter av algoritmer med stel kroppsdynamik har implementerats i biblioteket Pinnocchio REF för att underlätta optimal kontroll och omvänd kinematik.
Analytical Derivatives of Rigid Body Dynamics Algorithms
{'venue': 'Robotics: Science and Systems', 'journal': None, 'mag_field_of_study': ['Computer Science']}