Kinematic and Dynamic Models

14
Kinematic and Dynamic Models ME/CS 132b Advanced Robotics: Navigation and Perception 3/29/2011 1 ME/CS 132 March 29, 2011 2 Reasoning about mobility is important. Image: RedTeamRacing.com

Transcript of Kinematic and Dynamic Models

Page 1: Kinematic and Dynamic Models

Kinematic and Dynamic ModelsME/CS 132b

Advanced Robotics: Navigation and Perception3/29/2011

1

ME/CS 132March 29, 2011 2

Reasoning about mobility is important.

Image: RedTeamRacing.com

Page 2: Kinematic and Dynamic Models

ME/CS 132March 29, 2011 3

Lecture Outline

Nomenclature

Kinematic Constraints and Models

Dynamic Constraints and Models

Applications

Current and Active Research

ME/CS 132March 29, 2011

Nomenclature

State

State Space

Action

Action Space

State/Configuration Transition Equation

Trajectory

4

X

x = f(x,u)

u

x =�r o v ω . . .

�T

x(t) =�x(t0) x(t1) x(t2) . . .

�T

U(x)

(state-space) (configuration-space)

CConfiguration Space

Configuration

U(q)

q

(state-space) (configuration-space)

q = f(q,u)

(state-space)

Page 3: Kinematic and Dynamic Models

ME/CS 132March 29, 2011

Actions

5

is the set of all possible actions over all states

Example: Moving on a 2D grid

U

x� = f(x,u) = x+ u

x =�x y

�T

U =�

x�X

U(x)

U = {(0, 1), (0,−1), (1, 0), (−1, 0)}x

x�

x�

x�

x�

+x+y

ME/CS 132March 29, 2011

Actions (cont.)

6

U =�

x�X

U(x)Example: Moving on a 3D grid

x =�x y z

�T

U = {(0, 0, 1), (0, 0,−1), (0, 1, 0), (0,−1, 0), (1, 0, 0), (−1, 0, 0)}x� = f(x,u) = x+ u (same as before, just a higher dimensional state space)

x

+x+y

+z

Page 4: Kinematic and Dynamic Models

ME/CS 132March 29, 2011

Actions (cont.)

7

In continuous spaces the next state is determined by a integrating the state transition equation

Example: One-dimensional particle

U =�

x�X

U(x)

x

x�

x�

x = [x]T

U = {vx} = [−1, 1]

x = vx

+x

ME/CS 132March 29, 2011

Kinematic Constraints

Implicit

Parametric

Pfaffian

8

g(q, q) �� 0

q = f(q,u)

g1(q)q1 + g2(q)q2 + . . .+ gn(q)qn = 0

Page 5: Kinematic and Dynamic Models

ME/CS 132March 29, 2011

Kinematic Constraints (cont.)

Pfaffian

Configuration transition equation

9

q1 = u1

q2 = u2

˙qn−k = un−k

˙qn−k+1 = fn−k+1(q,u)

˙qn−k+2 = fn−k+2(q,u)

qn = fn(q,u)

(these are determined by solving for the remaining variables)

g1(q)q1 + g2(q)q2 + . . .+ gn(q)qn = 0

ME/CS 132March 29, 2011

Kinematic Constraints (cont.)

A quick example...

10

C = R3

7q1 − 3q2 + q3 = 0

(three dimensional state space, n=3)

(one Pfaffian constraint, k=1)

q1 = u1

q2 = u2

q1 = u1

q2 = u2

q3 = −7u1 + 3u2

7u1 − 3u2 + q3 = 0

(two control inputs (n - k = 2)

(substituting for configuration rates)

(configuration transition equation)

Page 6: Kinematic and Dynamic Models

ME/CS 132March 29, 2011 11

Simple Car Model

Rigid body that moves in a two-dimensional configuration space

C = R2 × S1

+x+y

(x, y)θ

L

φ

ρ

x = f1(x, y, θ, vx|body,φ)y = f2(x, y, θ, vx|body,φ)θ = f3(x, y, θ, vx|body,φ)

vx|body

q =�x y θ

�T

ME/CS 132March 29, 2011 12

Simple Car Model

Rigid body that moves in a two-dimensional configuration space

C = R2 × S1

q =�x y θ

�T

+x+y

(x, y)θ

L

φ

ρ

vx|bodydy

dx= tan(θ) =

sin(θ)

cos(θ)=

y

xas t ← 0

−xsin(θ) + ycos(θ) = 0

(rewritten as a Pfaffian constraint)

x = cos(θ) = vx|bodycos(θ)y = sin(θ) = vx|bodysin(θ)

Page 7: Kinematic and Dynamic Models

ME/CS 132March 29, 2011 13

Simple Car Model

How are these constraints found?

C = R2 × S1

q =�x y θ

�T

+x+y

(x, y)θ

L

φ

ρ

vx|body

−xsin(θ) + ycos(θ) = 0

x = u1

y = u1tan(θ)

(n=2, k=1)

(substituting for u1)

x = cos(θ)

y = cos(θ)sin(θ)

cos(θ)= sin(θ)

ME/CS 132March 29, 2011 14

Simple Car Model

Rigid body that moves in a two-dimensional configuration space

C = R2 × S1

q =�x y θ

�T

+x+y

(x, y)θ

L

φ

ρ

vx|bodydω = ρdθ(distance traveled)

dθ =tan(φ)

Ldω

θ =vx|body

Ltan(φ)

(divide by dt)

Page 8: Kinematic and Dynamic Models

ME/CS 132March 29, 2011 15

Simple Car Model

With control inputs of the form

the configuration transition equation is

C = R2 × S1

q =�x y θ

�T

+x+y

(x, y)θ

L

φ

ρ

vx|bodyx = uvx|bodycos(θ)

y = uvx|bodysin(θ)

θ =uvx|body

Ltan(uφ)

u = (uvx|body , uφ)

ME/CS 132March 29, 2011

Variations of the Simple Car Model

Simple Car

Tricycle

Reed-Shepp Car

Dubins Car

16

U = [−1, 1]× (−φmax,φmax)

U = [−1, 1]× (−π

2,π

2)

U = {−1, 0, 1}× (−φmax,φmax)

U = {0, 1}× (−φmax,φmax) (cannot drive backwards)

(can turn in place)

(cannot turn in place)

(can drive forwards and backwards)

Page 9: Kinematic and Dynamic Models

ME/CS 132March 29, 2011

Differential Drive Model

With inputs of the form

The configuration transition equation is

17

C = R2 × S1

q =�x y θ

�T

+x+y

(x, y)θ

vrvl

vwheel

r

ωwheel

u = (uωr , uωl)

L

x =r

2(uωl + uωr )cos(θ)

y =r

2(uωl + uωr )sin(θ)

θ =r

L(uωr − uωl)

ME/CS 132March 29, 2011

N-Trailers

A variation of the simple car model involves one that is pulling N passively controlled trailers

18

+x+y

(x, y)

L

φ

ρ

vx|body

θ0

θ1 θ2

q =�x y θ0 θ1 θ2

�TC = R2 × S1 × S1 × S1

Page 10: Kinematic and Dynamic Models

ME/CS 132March 29, 2011

Dynamic Constraints

Implicit

Parametric

19

gi(q, q,q) = 0

q = f(q,q,u)

similar to the kinematic constraints

ME/CS 132March 29, 2011

Phase Space

Increase the dimension to remove higher-order derivatives

20

x = (x1, x2)

x1 = y

x2 = y

define a phase vector

set the values of the phase vector

4y − 5y + y = 0a single constraint

x2 = y

x1 = x2

creates new constraints

system is converted into two first--order differential equations

x1 = x2

x2 =5x2 − x1

4

Page 11: Kinematic and Dynamic Models

ME/CS 132March 29, 2011

Improved Car Model

Use a double integrator to ensure a continuously varying steering angle

21

+x+y

(x, y)θ

L

φ

ρ

vx|body

x = vx|bodycos(θ)y = vx|bodysin(θ)

θ =vx|body

Ltan(φ)

φ = uω

x =�x y θ φ

�T

u = (uvx|body , uω)

ME/CS 132March 29, 2011

Improved Differential Drive Model

This can similarly be applied for the differential drive model

22

+x+y

(x, y)θ

vrvl

vwheel

r

ωwheel

Lx =

r

2(ωl + ωr)cos(θ)

y =r

2(ωl + ωr)sin(θ)

θ =r

L(ωr − ωl)

ωl = uαl

ωr = uαr

u = (uαl , uαr )

x =�x y θ ωl ωr

�T

Page 12: Kinematic and Dynamic Models

ME/CS 132March 29, 2011

Predictive Model Applications

Predictive Terrain Compensation [Howard07a]

Exploited a motion model that simulated the effects of terrain geometry to plan paths that considered rough terrain and wheel slip models

23

Image: [Howard07a]Image: [Howard07a]

ME/CS 132March 29, 2011

Predictive Model Applications (cont.)

Autonomous automobile navigation [Ferguson08a]

Modeled curvature, curvature rate, safety controller constraints

24

Image: [Howard09a]

Image: [Howard09a]

Page 13: Kinematic and Dynamic Models

ME/CS 132March 29, 2011

Current and Active Research

Online Slip Identification [Rogers-Marcovitz10a]

Extended Kalman filter to calibrate a parameterized predictive motion model in real-time

Planar slip disturbances modeled as second-order functions of velocity and curvature

Demonstrated on multiple platforms

25

Image: [Rogers-Marcovitz10a]

Image: [Rogers-Marcovitz10a]

ME/CS 132March 29, 2011

Next

Lecture 2: Motion simulation (3/31)

Newton-Euler Mechanics

Motion of Particles

Motion Simulation (Linear, Euler, Runge-Kutta)

Homework #1 Assigned

26

Page 14: Kinematic and Dynamic Models

ME/CS 132March 29, 2011

Document/Image References[Ferguson08a] David Ferguson, Thomas Howard, and Maxim Likhachev, "Motion Planning in Urban Environments: Part I," Proceedings of the IEEE/RSJ 2008 International Conference on Intelligent Robots and Systems, September, 2008.

[Howard07a] Thomas Howard and Alonzo Kelly, "Optimal Rough Terrain Trajectory Generation for Wheeled Mobile Robots," International Journal of Robotics Research, Vol. 26, No. 2, March, 2007, pp. 141-166.

[Howard 09a] T.M. Howard, “Adaptive Model-Predictive Motion Planning for Navigation in Complex Environments”. Ph.D. Thesis, Carnegie Mellon University, August 2009

27

[LaValle 06a] S. LaValle, “Planning Algorithms”. Cambridge: Cambridge University Press. ISBN 0521862051.

[Rogers-Marcovitz10a] Forrest Rogers-Marcovitz and Alonzo Kelly, "On-line Mobile Robot Model Identification using Integrated Perturbative Dynamics," 12th International Symposium on Experimental Robotics, December, 2010.