Recursive Newton-Euler - Frank Dellaert

24
CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert Recursive Newton-Euler Modern version of Rigid body dynamics Connect links via balance equations Express as a factor graph Solve Closely follows Lynch & Park 2017 Factor graph story with Mandy Xie 1

Transcript of Recursive Newton-Euler - Frank Dellaert

Page 1: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

RecursiveNewton-Euler

• ModernversionofRigidbodydynamics• Connectlinksviabalanceequations• Expressasafactorgraph• Solve

• CloselyfollowsLynch&Park2017• FactorgraphstorywithMandyXie

1

Page 2: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

Motivation

https://www.youtube.com/watch?v=1nNQVsvb8TQ

2

Page 3: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

AcceleratingaRigidBodyfromRest

• ReallyjustF=ma,buttranslationandrotation:

3

Page 4: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

RigidBodyinmotion

• AddsCoriolisterms,i.e.squaredvelocityquantities:

4

Page 5: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

Dynamicsinanotherframe

• useAdjoint(capitalA):

• where

5

Page 6: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

Newton-EulerDynamics

• Fixbodyframetoeverylink(doesn’thavetobeCOM)

• DefineaxisAiinlinkframe• WrenchFi,transmittedthroughi

6

Page 7: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

Forwardpass:twists

• Twistoflinki:

• Taketimederivative:

7

Page 8: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

Wrenches

• Alltwistsandaccelerationscanbecomputedfromlink0tolinkn:forwardpass!

• Backwardpass:calculatewrenches:

• Justrigidbodydynamics!• RHS:wrenchonlinkiplusreactionwrench

8

Page 9: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

Torques

• Recall:

• 1DOFof6DOFwrenchFiisdeliveredbytorque:

9

Page 10: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

Resulting“classical”RNEA:

• Inversedynamics:givenjointaccelerations,calculatetorques

10

Page 11: Recursive Newton-Euler - Frank Dellaert

RR-link manipulator dynamics factor graph

Page 12: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

RRatrest(noCoriolis)

• Makesitabiteasiertoseebasicstructure

12

P0

V̇0

✓1 ✓̈1

P1

V̇1

F1

⌧1

✓2 ✓̈2

P2

V̇2

F2

⌧2

F t

Prior Factor:base pose

Prior Factor:base twist acceleration

Pose Factor:Pi = Ti,i�1(✓i)Pi�1

Acceleration Factor:V̇i = [AdTi,i�1(✓i)]V̇i�1 +Ai✓̈i

Wrench Factor:Fi �AdTTi+1,i(✓i+1)

Fi+1 = GiV̇i

Torque Factor:⌧i = (Fi)TAi

Prior Factor:tool wrench

F=ma

Page 13: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

Elimination

• Firsttorques,thenwrenches,thentwists:

13

Page 14: Recursive Newton-Euler - Frank Dellaert

CS-8803 Mobile Manipulation class, © 2008-2018 Dellaert

BacktoMassMatrix• Dosymbolicback-substitution:

14

Page 15: Recursive Newton-Euler - Frank Dellaert

6R-Link Manipulator: Puma560 Robot

(1) https://www.google.com/search?q=puma+560+robot&tbm=isch&source=iu&ictx=1&fir=Z2n6nwl1bFv52M%253A%252CoM3AtpXY6Fgc-M%252C_&usg=AI4_-kRK9BklbTrnSMt_0kgzqamqISBWfA&sa=X&ved=2ahUKEwias6fegoPgAhUBna0KHZxdAWUQ9QEwAXoECAMQBg#imgdii=Qy9JrzD5VrBtyM:&imgrc=LYoe0vPf-aY4IM:

Puma560 (1) Puma560 abstract factor graph

Puma560 dynamics factor graph

Page 16: Recursive Newton-Euler - Frank Dellaert

Puma 560 Inverse Dynamics Factor Graph● Inverse Dynamics: ● Input: joint positions, velocities and accelerations; ● Output: required joint torques

Red:InitializationGreen:Forward PathBlue:Backward Path

Page 17: Recursive Newton-Euler - Frank Dellaert

Elimination Orders on Inverse Dynamics Factor Graph

Simplified Inverse Dynamics Factor Graph

Elimination Ordering: 1. Colamd 2. Metis 3. Customized: matches Recursive Newton-Euler Algorithm (RNEA) 4. Customized: matching Lynch & Park’s book (Lynch)

Page 18: Recursive Newton-Euler - Frank Dellaert

Puma 560 Forward Dynamics Factor Graph

● Forward Dynamics: ● Input: joint positions, velocities and torques; ● Output: joint accelerations

Red:InitializationGreen:Formalization

Blue:Solve for angular accelerations

Page 19: Recursive Newton-Euler - Frank Dellaert

Elimination Orders on Forward Dynamics Factor Graph

Simplified Forward Dynamics Factor Graph

Elimination Ordering: 1. Colamd 2. Metis 3. Customized: matches Composite-Rigid-Body Algorithm (CRBA) 4. Customized: matches Articulated-Body Algorithm (ABA)

Page 20: Recursive Newton-Euler - Frank Dellaert

Puma 560 Hybrid Dynamics Factor Graph● Hybrid Dynamics: ● Input: joint positions, velocities and partial joint accelerations and partial joint

torques; ● Output: the rest of joint accelerations, and joint torques

Inputs: accelerations for joint 1, 2, 3, and torques for joint 4, 5, 6 Outputs: torques for joint 1, 2, 3 and accelerations for joint 4 ,5, 6.

Page 21: Recursive Newton-Euler - Frank Dellaert

Elimination Orders on Hybrid Dynamics Factor Graph

Simplified Hybrid Dynamics Factor Graph

Elimination Ordering: 1. Colamd 2. Metis 3. Customized 1 4. Customized 2

Page 22: Recursive Newton-Euler - Frank Dellaert

Kinodynamics Motion Planning With Factor Graph

● Formulate the kinodynamic motion planning problem as probabilistic inference.

● Solve the problem by finding the maximum a posteriori (MAP) trajectory given the following constraints:

1)Dynamics constraints to ensure dynamically feasible and stable motion;

2)Obstacle likelihood function to ensure collision-free motion;

3)Task-specified cost to satisfy certain motion requirement;

4)Prior distribution on the space of trajectories to encourage smoothness in motion.

Page 23: Recursive Newton-Euler - Frank Dellaert

Kinodynamics Motion Planning for KUKA

Page 24: Recursive Newton-Euler - Frank Dellaert

Acrobot