#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#>

  1. of Optimal Control (Symplectic)
  2. of Optimal Controls
  3. Control on SE(2)
  4. Control on SO(3)
  5. Control on SE(3)
  6. 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#

.

  1. #displaymath1012#

    also solves any minimization of the form

    #displaymath1014#

    for monotone

    #displaymath1016#

    .

  2. #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#>

  1. <#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
  2. <#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
  3. <#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.
  4. <#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#>:
    • Merge
    • Split
    • Lane Change
  • <#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#>
  • Lane Keeping
  • Change Lane
<#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#>:

    1. Maintain Safety Distance: <#648#>

      #displaymath1074#

      <#648#>

    2. Track Optimal Velocity
    3. Respond to Emergencies

  • <#358#>Assumptions<#358#>:

    1. No communication between platoons (for regulation)
    2. Platoon is rigid
    3. Car State Measured Continuously
    4. Spacing & Relative Velocity Measurement (every

      #displaymath1076#

      )

    5. Car Model Parameters Known

  • <#361#>Constraints<#361#>:

    1. <#363#>Acceleration<#363#> (

      #displaymath1078#

      [ -5, 3]

      #displaymath1080#

      )

    2. Jerk (

      #displaymath1082#

      [ -5, 5]

      #displaymath1084#

      )

    3. 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#>
  1. #displaymath1092#

    • Consider <#651#>

      #displaymath1094#

      <#651#> defined as

      #eqnarray*400#

    • Redefine <#652#>

      #displaymath1096#

      <#652#>

    • <#413#>Apply<#413#>

      #eqnarray*414#

    • <#431#>Note<#431#>:

      #displaymath1098#

      for

      #displaymath1100#

  2. #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#>
      • as before

        #displaymath1116#

        ,

        #displaymath1118#

        ,

        #displaymath1120#

        in finite time.

      • Parameters change to keep the poles fixed
<#903#>

#displaymath1122#

<#902#>

#displaymath1124#


Velocity Tracking
<#902#><#899#> <#899#>

<#903#> When velocity mismatch is large use velocity to drive the controller. Distinguish 3 cases:
  1. <#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.

  2. <#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.

  3. <#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#>