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 , α ] ′
System Summary • q = [ x , y , α ] ′ • u = [ F , τ ] ′
System Summary • q = [ x , y , α ] ′ • u = [ F , τ ] ′ • Gliding and pushing modes • y toe ≤ 0 → pushing • y toe > 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 = ¨ y desired • ¨ α = ¨ α 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 = ¨ y desired • ¨ α = ¨ α desired • Double integrator control
Controller Strategy High-level strategy breaks motion into stages Swing leg forward Switch to gliding state Stand up Lower self Switch to pushing state Push off
Controller Strategy Swing leg forward Switch to gliding state Stand up Lower self Switch to pushing state Push off
Controller Strategy Swing leg forward Switch to gliding state Stand up Lower self Switch to pushing state Push off
Controller Strategy Swing leg forward Switch to gliding state Stand up Lower self Switch to pushing state Push off
Controller Strategy Swing leg forward Switch to gliding state Stand up Lower self Switch to pushing state Push off
Controller Strategy Swing leg forward Switch to gliding state Stand up Lower self Switch to pushing state Push off
Demo
Controller Parameters Controller is parameterized by three terms: Angle of collision α hit Angle ending push α stand ¨ Swinging acceleration α swing
Controller Parameters Angle of collision α hit Angle ending push α stand ¨ Swinging acceleration α swing
Controller Parameters Angle of collision α hit Angle ending push α stand ¨ Swinging acceleration α swing
Controller Parameters Angle of collision α hit Angle ending push α stand ¨ Swinging acceleration α swing
Stochastic Gradient Descent Optimized for distance travelled in fixed time
Stochastic Gradient Descent Optimized for distance travelled in fixed time 50 48 46 Distance travelled 44 42 40 38 36 0 20 40 60 80 100 Iteration
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
Questions?
Recommend
More recommend