modeling & control of a longboard-riding robot · modeling & control of a longboard-riding...
TRANSCRIPT
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
Controller Parameters
Controller is parameterized by three terms:
α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
Summary
• Developed simplified system model
• Wrote dynamics-solving tools
• Designed high-level controller behavior
• Used gradient descent to optimize parameters