#tex2html_wrap1154#
<#145#>Shankar Sastry
<#145#>
<#146#>Workshop on Exterior Differential Systems and Control
<#146#> <#147#>
<#147#>
<#148#>December 9, 1994
<#148#> <#149#>
<#149#>
#tex2html_wrap932#<#751#>
#tex2html_wrap934#
<#747#>
Intelligent Machines
and
Robotics Laboratory
University of California at Berkeley
<#747#>
<#751#><#749#> <#749#>
<#761#>
#tex2html_wrap936#<#760#>
#tex2html_wrap938#
Talk Outline
<#760#><#757#> <#757#>
<#761#>
<#636#>- of Optimal Control (Symplectic)
- of Optimal Controls
- Control on SE(2)
- Control on SO(3)
- Control on SE(3)
- Remarks
<#636#>
<#774#>
#tex2html_wrap940#<#773#>
#tex2html_wrap942#
#tex2html_wrap1156#.~Review of Optimal Control
<#773#><#770#> <#770#>
<#774#>
<#637#>
#displaymath944#
Given
#displaymath946#,
#displaymath948#
Define
#displaymath950#, for
#displaymath952#.
<#165#>Optimal Control<#165#>
#displaymath954#
<#167#>Optimal Hamiltonian <#167#>
#displaymath956#
<#168#>Hamilton Jacobi equations <#168#>
#displaymath958#
<#637#>
<#785#>
#displaymath960#<#784#>
#displaymath962#
Optimal control: Symplectic Version
<#784#><#781#> <#781#>
<#785#>
<#675#>
Given functions
#displaymath964#, define
the <#179#>Lie-Poisson bracket<#179#>
#displaymath966#, a function
#displaymath968#, given by
#displaymath970#
The Poisson bracket in fact makes the vector space of
functions on the cotangent bundle a Lie algebra.
<#189#>Hamilton Jacobi Equation <#189#>
#displaymath972#
<#638#><#190#>Momentum Functions<#190#><#638#>
For vector field
#displaymath974#, define the <#191#>Momentum Function<#191#> as a
function
#displaymath976#
#displaymath978#
The momentum function is a Lie algebra
homomorphism, since
#displaymath980#
<#675#>
<#798#>
#displaymath982#<#797#>
#displaymath984#
#tex2html_wrap1157#.~Drift Free Control Systems
<#797#><#794#> <#794#>
<#798#>
<#639#>
Consider steering from
#displaymath986# to
#displaymath988# the system
#displaymath990#
Minimize
#displaymath992#.
#displaymath994#
and
#displaymath996# and
#displaymath998#
Differentiating we get
#displaymath1000#
Or
#displaymath1002#
with
#displaymath1004#. Thus,
#displaymath1006#
with
#displaymath1008#. Thus,
#displaymath1010#.
-
#displaymath1012# also solves any minimization of the form
#displaymath1014# for monotone
#displaymath1016#.
-
#displaymath1018# solves the minimum
#displaymath1020# problem subject to
#displaymath1022#.
<#639#>
<#811#>
#displaymath1024#<#810#>
#displaymath1026#
#tex2html_wrap1158#.~Systems with Drift
<#810#><#807#> <#807#>
<#811#>
<#640#>
#displaymath1028#
Minimize
#displaymath1030# subject to
#displaymath1032# and
#displaymath1034#.
As before with
#displaymath1036#
yields
#displaymath1038#
so that
#displaymath1040#
Similar formulas for higher order derivatives can be obtained.
<#640#>
<#824#>
#displaymath1042#<#823#>
#displaymath1044#
#tex2html_wrap1159#.~Optimal Control on SE2
<#823#><#820#> <#820#>
<#824#>
<#641#><#249#>Planar Elastica<#249#><#641#>
<#642#><#250#>Pursuit problems (Dubbins), Hilare<#250#><#642#>
#displaymath1046#
where
#displaymath1048#
with
#displaymath1050#. Least
#displaymath1052# norm of control problem.
<#835#>
#displaymath1054#<#834#>
#displaymath1056#
Overall Structure
<#834#><#831#> <#831#>
<#835#>
- <#262#>Link Layer:<#262#>
- <#264#>Domain:<#264#> whole sections (links) of highway
- <#265#>Task:<#265#> maximize throughput and safety
- <#266#>Inputs:<#266#> highway topology, traffic density, incidents
- <#267#>Outputs:<#267#> Suggested velocity, platoon size, paths
- <#268#>Current Design:<#268#> fluid flow model
- <#270#>Coordination Layer:<#270#>
- <#272#>Domain:<#272#> neighboring platoons
- <#273#>Task:<#273#> carry out organized maneuvers
- <#274#>Inputs:<#274#> link layer commands, regulation layer responses,
processed sensor data
- <#275#>Outputs:<#275#> commanded maneuver
- <#276#>Current Design:<#276#> Finite State Machines
- <#278#>Regulation Layer:<#278#>
- <#280#>Domain:<#280#> individual vehicle
- <#281#>Task:<#281#> carry out commanded maneuvers in safety
- <#282#>Inputs:<#282#> coordination layer commands, raw sensor data
- <#283#>Outputs:<#283#> actuator (throttle, break, steering) inputs,
outcome of maneuver, aggregate sensor data
- <#284#>Current Design:<#284#> specialized continuous time control laws.
- <#286#>Physical Layer:<#286#>
- Not part of control hierarchy
- Actual vehicle
- Modeled by differential equations and transfer functions
Focus on <#290#>Coordination-Regulation interaction<#290#>
<#847#>
#displaymath1058#<#846#>
#displaymath1060#
#tex2html_wrap1160#.#tex2html_wrap1161#~Coordination Layer
<#846#><#843#> <#843#>
<#847#>
- Platooning organized using <#295#>three maneuvers<#295#>:
- <#298#>Assumptions<#298#>:
- Platoons can engage in one maneuver at a time.
- Only free agents can change lane.
- Coordination during maneuvers needed for safety.
- <#301#>Design<#301#>: Communication Protocols in the form of Finite
State Machines
- Design was <#302#>automatically verified<#302#> using <#303#>COSPAN<#303#>
<#859#>
#displaymath1062#<#858#>
#displaymath1064#
#tex2html_wrap1162#.#tex2html_wrap1163#~Regulation Layer
<#858#><#855#> <#855#>
<#859#>
<#308#>Longitudinal Laws:<#308#>
- Follower (<#310#>
Maintain close separation from preceding car
<#310#>)
- <#311#>Leader<#311#> (<#312#>
Maintain safe spacing from preceding platoon
<#312#>)
- <#313#>Maneuver<#313#>
- Merge (<#315#>
Join the platoon ahead
<#315#>)
- Split (<#316#>
Create a separate platoon
<#316#>)
- Decelerate for Lane Change
<#319#>Lateral Laws:<#319#>
<#870#>
#displaymath1066#<#869#>
#displaymath1068#
Outline of Continuous Time Controllers
<#869#><#866#> <#866#>
<#870#>
<#325#>Model of the Car<#325#>
#eqnarray*326#
#figure335#
Figure: Two Stage Feedback
#eqnarray*339#
<#881#>
#displaymath1070#<#880#>
#displaymath1072#
Lead (AICC) Controller
<#880#><#877#> <#877#>
<#881#>
- <#350#>Objectives<#350#>:
- Maintain Safety Distance: <#648#>
#displaymath1074#<#648#>
- Track Optimal Velocity
- Respond to Emergencies
- <#358#>Assumptions<#358#>:
- No communication between platoons (for regulation)
- Platoon is rigid
- Car State Measured Continuously
- Spacing & Relative Velocity Measurement (every
#displaymath1076#)
- Car Model Parameters Known
- <#361#>Constraints<#361#>:
- <#363#>Acceleration<#363#> (
#displaymath1078# [ -5, 3]
#displaymath1080#)
- Jerk (
#displaymath1082# [ -5, 5]
#displaymath1084#)
- Front Sensor Range (
#displaymath1086#)
- Single controller insufficient, introduce <#369#>switching<#369#>
#figure371#
#displaymath920#
- Controller <#390#>linear<#390#> and <#391#>stable<#391#> in each region
- Proof of overall performance needed
- Simulation results indicate <#392#>acceptable performance<#392#>
<#892#>
#displaymath1088#<#891#>
#displaymath1090#
Modified Pole Placement
<#891#><#888#> <#888#>
<#892#>
-
#displaymath1092#
-
#displaymath1102#
- Consider <#654#>
#displaymath1104#<#654#> and
<#655#>
#displaymath1106#<#655#> defined as
#eqnarray*438#
- Redefine <#656#>
#displaymath1108#<#656#>
- <#460#>Apply<#460#>
#eqnarray*461#
where
#displaymath1110#,
#displaymath1112#,
#displaymath1114#,
- <#497#>Notes<#497#>
<#903#>
#displaymath1122#<#902#>
#displaymath1124#
Velocity Tracking
<#902#><#899#> <#899#>
<#903#>
When velocity mismatch is large use velocity to drive the controller.
Distinguish 3 cases:
- <#509#>Previous car close and moving slowly<#509#>
Track velocity of previous car and drive e to 0. Use:
#displaymath921#
where
#displaymath1126#,
#displaymath1128#,
#displaymath1130# to place poles at -1.
- <#525#>Previous car close and moving fast<#525#>
Keep moving at current speed until
spacing error decays to 0. Use:
#displaymath922#
where
#displaymath1132#,
#displaymath1134#,
#displaymath1136# to place poles at -0.5.
- <#548#>Previous car far<#548#>
Track the velocity of previous car if it is
less than optimal or the optimal velocity otherwise.
- To <#550#>track optimal velocity<#550#>:
#eqnarray*551#
where
#displaymath1138#,
#displaymath1140#,
#displaymath1142#
to place poles at -0.5.
- To <#584#>track velocity of previous vehicle<#584#>
do (1) with
#displaymath1144#,
#displaymath1146#,
#displaymath1148#:
#displaymath923#
<#916#>
#displaymath1150#<#915#>
#displaymath1152#
#tex2html_wrap1164#.~Concluding Remarks
<#915#><#912#> <#912#>
<#916#>
- Independent Verification of layers insufficient
- Lack of tools for verification of Hybrid systems
- Simulation as an (<#606#>in<#606#>)<#607#>validation<#607#> tool
- Techniques for resolving the problem
- <#609#>Abstraction<#609#> of continuous dynamics
- <#610#>Worst Case<#610#> lower layer design
- Bottom-Up redesign using <#611#>Game Theory<#611#> and
<#612#>Optimal Control<#612#>