Modeling & Control of a Longboard-Riding Robot Matt Keeter - - PowerPoint PPT Presentation
Modeling & Control of a Longboard-Riding Robot Matt Keeter - - PowerPoint PPT Presentation
Modeling & Control of a Longboard-Riding Robot Matt Keeter mkeeter@mit.edu 6.832 Final Project Spring 2012 Inspiration System Model Simplified Model State Variables Control Inputs System Parameters System Summary q = [ x , y ,
Inspiration
System Model
Simplified Model
State Variables
Control Inputs
System Parameters
System Summary
- q = [x, y, α]′
System Summary
- q = [x, y, α]′
- u = [F, τ]′
System Summary
- q = [x, y, α]′
- u = [F, τ]′
- Gliding and pushing modes
- ytoe ≤ 0 → pushing
- ytoe > 0 → gliding
Dynamics
- Wrote tools to automatically solve dynamics
Dynamics
- Wrote tools to automatically solve dynamics
- Written in Python using Sage
Dynamics
- Wrote tools to automatically solve dynamics
- Written in Python using Sage
- Solves for:
- Second derivatives ¨
q
- Co-located PFL equations
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, τ
Feedback Linearization
- Solve dynamics equations for ¨
x, F, τ
- Solutions are in terms of q, ˙
q, ¨ y, ¨ α (as well as constants)
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
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
Stochastic Gradient Descent
Optimized for distance travelled in fixed time
20 40 60 80 100 36 38 40 42 44 46 48 50 Iteration Distance travelled
Optimized Demo
Optimized Demo
20% improvement!
Summary
- Developed simplified system model
- Wrote dynamics-solving tools
- Designed high-level controller behavior
- Used gradient descent to optimize parameters