Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods...

57
Chapter 3 Numerical Methods Part 3 3.4 Differential Algebraic Systems 3.5 Integration of Differential Equations Mobile Robotics - Prof Alonzo Kelly, CMU RI 1

Transcript of Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods...

Page 1: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Chapter 3 Numerical Methods

Part 3 3.4 Differential Algebraic Systems 3.5 Integration of Differential Equations

Mobile Robotics - Prof Alonzo Kelly, CMU RI 1

Page 2: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Outline • 3.4 Differential Algebraic Systems

– 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained Kinematic

Systems – 3.4.3 Lagrangian Dynamics – 3.4.4 Constraints – Summary

• 3.5 Integration of Differential Equations

2 Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 3: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Outline • 3.4 Differential Algebraic Systems

– 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained Kinematic

Systems – 3.4.3 Lagrangian Dynamics – 3.4.4 Constraints – Summary

• 3.5 Integration of Differential Equations

3 Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 4: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.1.1. Augmented Systems • Consider a differential equation with n states subject to

m constraints:

• Linear equations could be substituted into the DE.

Nonlinear is the case that matters to us. • What does it mean? Both equations cannot be correct …

– It means the DE applies in the subspace of Rn that satisfies the constraints.

– The subspace is known as the constraint manifold.

4

x· f x u,( )=c x( ) 0=

4 Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 5: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.1.3 Sequential Approach • First Approach: Integrate the unconstrained DE

one time step. • Use result as initial conditions for a rootfinding

problem that enforces constraints • Should work but …

– What if rootfinding step reverses the DE step? – Did it move by ∆t or < ∆t or > ∆t ? – The two equations can disagree with each other. They

need to be decoupled. • Idea: Make the DE step satisfy the constraints to first order.

5

xk 1+ xk ∆xk+ xk f x u,( )∆t+= =

c x( ) 0=

Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 6: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.1.4 Projection Approach • Second Approach: Remove the component of the state

derivative out of the constraint tangent plane. – Equivalently, project it into the tangent plane.

• Write step in terms of feasible and infeasible component:

• Remove the component out of the tangent plane:

• The matrix performs a projection on the column space of M. – Here we project onto colspace of 𝑐𝑐𝑥𝑥𝑇𝑇 - which is the rowspace of 𝑐𝑐𝑥𝑥

(the Constraint Jacobian). – So this is the component that violates the constraints to first order.

6

∆x ∆x⊥ ∆x|| +=

∆x⊥ cxT cxcx

T [ ]

1–cx ∆x=

PC M( ) M MT M [ ]1–MT=

Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 7: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Outline • 3.4 Differential Algebraic Systems

– 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained Kinematic

Systems – 3.4.3 Lagrangian Dynamics – 3.4.4 Constraints – Summary

• 3.5 Integration of Differential Equations

7 Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 8: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.2.1 Augmented First Order Systems • Third approach: Remove the infeasible component right

in the differential equation. • For a feasible perturbation: • The infeasible part is some unknown combination of the

constraint gradients. Let it be of the form: • Remove the infeasible component with:

• Divide both equations by ∆t and pass to the limit:

8

∆x⊥ cxTλ∆ t=

∆x|| f x u,( )∆ t ∆x⊥–= f x u,( )∆t cxT λ∆t–=

cxx· 0=x· cx

T λ+ f x u,( )=

cx∆x 0=

Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 9: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.2.2 Solving The Eqns of Motion • This can be written in matrix form:

• To solve, multiply 1st by :

• By 2nd equation so solve for λ:

9

I cxT

cx 0

λ

f x u,( )

0=

cxx· 0=x· cx

T λ+ f x u,( )=

We will see this Again in Lagrangian Dynamics

cx

cxx· cxcxTλ+ cxf x u,( )=

cxx· 0=

λ cx cxT( )

1–cxf x u,( )=

Right Pseudo Inverse

Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 10: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.2.2 Solving The Eqns of Motion • Substitute for λ in first equation:

• The matrix:

• Projects the state derivative directly into the nullspace of the constraints – i.e. directly into the tangent plane. – By simply removing the component normal to the tangent

plane (i.e. a weighted sum of the gradients).

10

x· I cxT cxcx

T( )1–cx–[ ]f x u,( )=

PN cxT( ) I PC cx

T( )– I cxT cxcx

T( )1–cx–= =

Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 11: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.2.3 Holonomic Constraints • These are of the form:

• It is useful to differentiate constraints sometimes. • Differentiating wrt time gives our standard form for a

velocity constraint:

• If the DE has a holonomic constraint on 𝑥𝑥, this implies that the derivative (�̇�𝑥,) must be constrained too: – In fact it must be orthogonal to the constraint gradient.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 11

Page 12: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.2.4 Nonholonomic Constraints • Consider a form that depends on the state

derivative:

• Differentiate to get:

• In general, all higher state derivatives are constrained too.

• A special form that is relevant to us is:

• This does not need to be differentiated to use.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 12

Page 13: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Outline • 3.4 Differential Algebraic Systems

– 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained Kinematic

Systems – 3.4.3 Lagrangian Dynamics – 3.4.4 Constraints – Summary

• 3.5 Integration of Differential Equations

13 Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 14: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Compte Joseph-Louis Lagrange • Greatest mathematician of 18

century? • Advised by Leonhard Euler (who was

advised by Bernoulli) • Notable students

– Joseph Fourier – Simeon Poisson

• Reformulated Newtonian Mechanics Mécanique Analytique (Analytical Mechanics) (1788).

• Invented: – Theory of Differential Equations – Calculus of variations

Mobile Robotics - Prof Alonzo Kelly, CMU RI 14

1736-1813 Italian-French

Page 15: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Vehicle on Terrain Video

Mobile Robotics - Prof Alonzo Kelly, CMU RI 15

Page 16: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.3.1 Equations of Motion • Embedded Form:

– Eliminates constraint forces – Fewest dof, fewest equations – Nonlinear, complex equations – Popular for manipulators

• Augmented Form: – Redundant coordinates – Explicit constraint forces – Simpler equations – Suitable for automation

Mobile Robotics - Prof Alonzo Kelly, CMU RI 16

Real wheels do slip. Hence nonholonomic “constraints”

are not really “no slip” constraints, they are “slip like

this” constraints.

Page 17: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.3.1 Equations of Motion – One Body • Equations of motion are simple when the

generalized coordinates (q) are absolute (inertial). • Coordinates for one body:

• Equation of motion:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 17

Segment forces into those known and those unknown

mass external force

constraint force

Unknowns

Eqn A

Page 18: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.3.1 Applied and Constraint Forces • Constraint forces are generated to oppose motion

in the disallowed directions. • The net force (parallel to acceleration) is therefore

not in the direction of the applied force.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 18

𝑄𝑄𝑒𝑒𝑥𝑥𝑒𝑒 𝑄𝑄𝑐𝑐𝑐𝑐𝑐𝑐

𝑄𝑄𝑐𝑐𝑐𝑐𝑐𝑐

�̈�𝑞

Page 19: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Center of Mass Reference • Choose Center of mass as the body reference

point. Then:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 19

2x2 identity

Polar moment of inertia

Page 20: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Underdetermined System – n bodies • # of equations:

– 3 n: one for each element of �̈�𝑥 • # of unknowns:

– 3 n generalized accelerations �̈�𝑥 – 3 c constraint forces – 3 n generalized velocities �̇�𝑥 – 3 n generalized coordinates 𝑥𝑥

• Where do the other 3c “constraints” come from? – The constraints

• Where do the velocities and positions come from? – Integration

Mobile Robotics - Prof Alonzo Kelly, CMU RI 20

Page 21: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.3.2 Differentiated Constraints - Holonomic • The 2nd derivative of a holonomic constraint is:

• Define:

• Then we have:

• This makes the differentiated constraint look like

Newton’s 2nd law.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 21

Page 22: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.3.2 Differentiated Constraints-Nonholonomic • Also, for a nonholonomic constraint:

• Define:

• Then the constraint becomes:

• Once again, this makes the differentiated

constraint look like Newton’s 2nd law.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 22

Page 23: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.3.2 Differentiated Constraints-General • Both earlier forms are of the form:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 23

holonomic

nonholonomic

Eqn B

Page 24: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.3.3 Principle of Virtual Work • Credited to Aristotle(!) and/or Bernoulli. • Work: The product of a force and a displacement

in the direction of the force. • Virtual Work: As above but either force or

displacement is not real.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 24

Page 25: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.3.3 Lagrange Multipliers • We will require the virtual work performed by

constraint forces to vanish. • This is accomplished by writing:

• Why?

– Columns of CT (rows of C) are prohibited directions. – Constraint forces are confined above to those

prohibited directions. – Dot product of constraint forces with any feasible

displacement will be zero.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 25

Constraint Jacobian

Displacements parallel to the the rows of J are infeasible.

Eqn C

Page 26: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

• Recall the original equations of motion:

• Substitute from Eqn C:

• Combine this with Eqn B:

3.4.3.4 Augmented System

Mobile Robotics - Prof Alonzo Kelly, CMU RI 26

Eqn A

Eqn B

Eqn A1

Feasible Accelerations

Forces in Infeasible Directions

Page 27: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Augmented System • We now have c extra equations and have replaced

the constraint forces with the Lagrange Multipliers as unknowns.

• Solve and then integrate acceleration twice.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 27

unknowns

Augmented Mass Matrix

Augmented Force Vector

Page 28: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Outline • 3.4 Differential Algebraic Systems

– 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained Kinematic

Systems – 3.4.3 Lagrangian Dynamics – 3.4.4 Constraints – Summary

• 3.5 Integration of Differential Equations

28 Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 29: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.4.1 Constraint Trim • Due to inevitable numerical error, enforcing differentiated

constraints does not enforce the original constraints. • Lt f(t) be the state derivative computed by integrating the second

order system:

• The first order system is subject to the original constraints:

• �̇�𝑥 generated by integration will likely not satisfy these constraints, so fix it with the following before integration:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 29

Page 30: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.4.2 Drift Control • Constraints will drift over time since only

derivatives are enforced. • Elegant solution is to add compensation

pseudoforces in PID loops…

• Gains relate to time constants:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 30

∆𝑡𝑡𝜏𝜏

Page 31: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.4.4 Initial Conditions • Differentiated constraints will hold the constraints

constant rather than at zero. – So they must start at zero to stay at zero.

• Two approaches. – 1) Start from zero velocity state which automatically

satisfies constraints. Then activate system with forces. – 2) Start from moving state but guarantee constraints

are satisfied by solving the rootfinding problem.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 31

Page 32: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Overconstraint • Typical of wheeled vehicles. • Leads to collapse of nullspace.

– No motion possible. – … or constraints do work.

• Few approaches: – 1) Use any two independent constraints. – 2) Compute and equivalent bicycle model of

constraints for each cycle. – 3) Use an equation solver that tolerates the situation

• It may or may not be appropriate to let the overconstrained system slow down.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 32

Page 33: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Redundant Constraints • Example: two rear wheels of car generate the

same constraint equation. • Leads to singularity of the system. • Good approach is avoid inversion. Compute least

residual norm:

• Conjugate gradient algorithm…

Mobile Robotics - Prof Alonzo Kelly, CMU RI 33

Page 34: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.4.4.5 Basic Rigid Body Constraint • Two bodies have poses known with respect to the

world frame. • If there is a rotary constraint, frame p is at the

pivot point.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 34

w

i j

𝜌𝜌𝑖𝑖 𝜌𝜌𝑗𝑗

p

Page 35: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

• Express this in terms of pose composition as follows:

• Holonomic of the form:

• Equivalent to:

Rigidity Constraint

Mobile Robotics - Prof Alonzo Kelly, CMU RI 35

Page 36: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

• Gradient contains two elements:

• The first is a right pose Jacobian:

Rigidity Constraint

Mobile Robotics - Prof Alonzo Kelly, CMU RI 36

Page 37: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

• The second is more complicated. By the chain rule:

• This is:

Rigidity Constraint

Mobile Robotics - Prof Alonzo Kelly, CMU RI 37

Left Pose Jacobian

Inverse Pose Jacobian

Page 38: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Rigidity Constraint • Total Constraint Jacobian:

• Time Derivative:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 38

Where

Where

Page 39: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Rotary Joint Constraint • Let p denote a reference frame attached to the

point of rotation. • The constraints for the rotary joint at the front

wheel can be expressed as the first two elements of the equation:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 39

Rewritten in terms of generalized coordinates.

“p” means axis of rotation

Knowns Unknowns

Page 40: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Rotary Joint Constraint • This gives:

• Hence, total constraint Jacobian is:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 40

Minus sign

∆xi xpw xi

w–( )=

∆xj xpw xj

w–( )=∆yi yp

w yiw–( )=

∆yj ypw yj

w–( )=

Page 41: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Rotary Joint Constraint • Time Derivative:

• Fd vector is:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 41

ω i ω iw θ· i

w= =

ω j ω jw θ

·jw

= =

Fd

Page 42: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Outline • 3.4 Differential Algebraic Systems

– 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained Kinematic

Systems – 3.4.3 Lagrangian Dynamics – 3.4.4 Constraints – Summary

• 3.5 Integration of Differential Equations

42 Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 43: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Summary - DAEs • Simplest formulation for some problems. • Only practical formulation for some problems. • Can be really fast for mobile robots. • Can be written in completely general way to

simulate anything.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 43

Page 44: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Outline • 3.4 Differential Algebraic Systems • 3.5 Integration of Differential Equations

– 3.5.1 Dynamic Models in State Space – 3.5.2 Integration of State Space Models

44 Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 45: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.5.1 State Space • State space = a minimal set of variables which can

be used to predict future state given inputs: – Number of initial conditions in a differential equation.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 45

Page 46: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.5.1 Dynamic Models in State Space • Predicting the future involves predicting

trajectories caused by motion commands. • General case:

• The “inputs” u are a new addition. • Known as a “forced” system although the inputs

need not be forces.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 46

x· t( ) f x t( ) u t( ) t, ,( )=

Known as the State Space representation of the system

Page 47: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Constraints • The dynamics of wheeled mobile robots are

constrained dynamics in 3D of systems of rigid bodies.

• Often must consider: – Actuator kinematics – Lateral and longitudinal wheel slip (or nonslip). – Terrain following.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 47

Page 48: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Outline • 3.4 Differential Algebraic Systems • 3.5 Integration of Differential Equations

– 3.5.1 Dynamic Models in State Space – 3.5.2 Integration of State Space Models – Summary

48 Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 49: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.5.2.1 Euler’s Method • For the nonlinear differential equation:

• Seems reasonable to use the definition of

integration:

• In discrete time:

• Works well if f() is nearly linear. Errors are 2nd order.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 49

x· t( ) f x t,( )=

x t ∆t+( ) x t( ) f x t,( )∆t+=

xk 1+ xk f xk tk,( )∆ tk+=

Page 50: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.5.2.2 Midpoint Method • Let’s try for a 2nd order approximation. A 2nd

order Taylor series is:

• Which can be written as (factor out an h):

• Now, the part in brackets is the first degree Taylor series for the first time derivative evaluated at the midpoint of the step because:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 50

x t h+( ) x t( ) f x t,( )htd

df x t,( ) h2

2-----+ +≈

x t h+( ) x t( ) f x t,( ) tddf x t,( )

h2---+

h+≈

f x t h 2⁄+( ) t h 2⁄+,( ) f x t,( )td

df x t,( ) h2---+≈

Eqn A

h= ∆ t

Page 51: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.5.2.2 Midpoint Method • The derivative is typically expensive

computationally. Instead, invert the last formula to produce a finite difference approximation:

• Substituting into Eqn A produces:

• And, the value of x at the midpoint can be

approximated:

• This gives finally:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 51

df x t,( ) dt⁄

tddf x t,( )

h2--- f x t h 2⁄+( ) t h 2⁄+,( ) f x t,( )–≈

x t h 2⁄+( ) x t( ) f x t,( ) h 2⁄( )+≈

x t h+( ) x t( ) hf x t h 2⁄+( ) t h 2⁄+,( )+≈

x t h+( ) x t( ) hf x t( ) f x t,( ) h 2⁄( )+ t h 2⁄+,[ ]+≈

Page 52: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.5.2.2 Midpoint Method • For future reference, this is best written as:

Mobile Robotics - Prof Alonzo Kelly, CMU RI 52

k x t( ) f x t,( ) h 2⁄( )+=x t h+( ) x t( ) hf k t h 2⁄+,( )+≈

t+h t+h/2 t

x Euler Step

Midpoint Step

Page 53: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Example • Example, integrate a general curve with respect to

distance:

• In discrete time:

• Specific curvature profile is constant (arc):

Mobile Robotics - Prof Alonzo Kelly, CMU RI 53

x s( )y s( )θ s( )

x 0( )y 0( )θ 0( )

θ s( )cosθ s( )sin

κ s( )

sd0

s

∫+=

κ s( ) κ0 1= =

xyθ k 1+

xyθ k

θcosθsin

κ k

∆s+=

Page 54: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Example

Mobile Robotics - Prof Alonzo Kelly, CMU RI 54

Midpoint Algorithm Reduces Error By a Factor Of 20

Page 55: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

3.5.2.3 (4th Order) Runge Kutta • Closest thing to a definitive algorithm for integration.

• This can be 1000 times more accurate than Euler’s method.

Mobile Robotics - Prof Alonzo Kelly, CMU RI 55

Page 56: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Outline • 3.4 Differential Algebraic Systems • 3.5 Integration of Differential Equations

– 3.5.1 Dynamic Models in State Space – 3.5.2 Integration of State Space Models – Summary

56 Mobile Robotics - Prof Alonzo Kelly, CMU RI

Page 57: Chapter 3 Numerical Methodsalonzo/books/num3.pdf · 2015. 6. 25. · Chapter 3 Numerical Methods Part 3 ... – 3.4.1 Constrained Dynamics – 3.4.2 First and Second Order Constrained

Summary • This is worth knowing about. • A few lines of code can be the difference

between: – 100 mm of error after moving 10 meters – 0.1 mm of error after moving 10 meters

Mobile Robotics - Prof Alonzo Kelly, CMU RI 57