Modeling & Control of a Longboard-Riding Robot · Modeling & Control of a Longboard-Riding Robot...

35
Modeling & Control of a Longboard-Riding Robot Matt Keeter [email protected] 6.832 Final Project Spring 2012

Transcript of Modeling & Control of a Longboard-Riding Robot · Modeling & Control of a Longboard-Riding Robot...

Modeling & Control of aLongboard-Riding Robot

Matt [email protected]

6.832 Final ProjectSpring 2012

Inspiration

System Model

Simplified Model

State Variables

Control Inputs

System Parameters

System Summary

• q = [x , y , α]′

• u = [F , τ ]′

• Gliding and pushing modes• ytoe ≤ 0→ pushing• ytoe > 0→ gliding

System Summary

• q = [x , y , α]′

• u = [F , τ ]′

• Gliding and pushing modes• ytoe ≤ 0→ pushing• ytoe > 0→ gliding

System Summary

• q = [x , y , α]′

• u = [F , τ ]′

• Gliding and pushing modes• ytoe ≤ 0→ pushing• ytoe > 0→ gliding

Dynamics

• Wrote tools to automatically solve dynamics

• Written in Python using Sage• Solves for:

• Second derivatives q• Co-located PFL equations

• Exports as MATLAB scripts

Dynamics

• Wrote tools to automatically solve dynamics

• Written in Python using Sage

• Solves for:• Second derivatives q• Co-located PFL equations

• Exports as MATLAB scripts

Dynamics

• Wrote tools to automatically solve dynamics

• Written in Python using Sage• Solves for:

• Second derivatives q• Co-located PFL equations

• Exports as MATLAB scripts

Dynamics

• Wrote tools to automatically solve dynamics

• Written in Python using Sage• Solves for:

• Second derivatives q• Co-located PFL equations

• Exports as MATLAB scripts

Feedback Linearization

• Solve dynamics equations for x , F , τ

• Solutions are in terms of q, q, y , α(as well as constants)

• Plug in y , α for feedback linearization• y = ydesired• α = αdesired

• Double integrator control

Feedback Linearization

• Solve dynamics equations for x , F , τ

• Solutions are in terms of q, q, y , α(as well as constants)

• Plug in y , α for feedback linearization• y = ydesired• α = αdesired

• Double integrator control

Feedback Linearization

• Solve dynamics equations for x , F , τ

• Solutions are in terms of q, q, y , α(as well as constants)

• Plug in y , α for feedback linearization• y = ydesired• α = αdesired

• Double integrator control

Feedback Linearization

• Solve dynamics equations for x , F , τ

• Solutions are in terms of q, q, y , α(as well as constants)

• Plug in y , α for feedback linearization• y = ydesired• α = αdesired

• Double integrator control

Controller Strategy

High-level strategy breaks motion into stages

Push off

Stand up Lower self

Switch to pushing state

Swing leg forward

Switch to gliding state

Controller Strategy

Push off

Stand up Lower self

Switch to pushing state

Swing leg forward

Switch to gliding state

Controller Strategy

Push off

Stand up Lower self

Switch to pushing state

Swing leg forward

Switch to gliding state

Controller Strategy

Push off

Stand up Lower self

Switch to pushing state

Swing leg forward

Switch to gliding state

Controller Strategy

Push off

Stand up Lower self

Switch to pushing state

Swing leg forward

Switch to gliding state

Controller Strategy

Push off

Stand up Lower self

Switch to pushing state

Swing leg forward

Switch to gliding state

Demo

Controller Parameters

Controller is parameterized by three terms:

αhit Angle of collisionαstand Angle ending pushαswing Swinging acceleration

Controller Parameters

αhit Angle of collisionαstand Angle ending pushαswing Swinging acceleration

Controller Parameters

αhit Angle of collisionαstand Angle ending pushαswing Swinging acceleration

Controller Parameters

αhit Angle of collisionαstand Angle ending pushαswing Swinging acceleration

Stochastic Gradient Descent

Optimized for distance travelled in fixed time

0 20 40 60 80 10036

38

40

42

44

46

48

50

Iteration

Dis

tance tra

velled

Stochastic Gradient Descent

Optimized for distance travelled in fixed time

0 20 40 60 80 10036

38

40

42

44

46

48

50

Iteration

Dis

tance tra

velled

Optimized Demo

20% improvement!

Optimized Demo

20% improvement!

Summary

• Developed simplified system model

• Wrote dynamics-solving tools

• Designed high-level controller behavior

• Used gradient descent to optimize parameters

Questions?