Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph...

download Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

of 46

description

This series of presentations cover my thesis titled "Motion Planning for Multiple Autonomous Vehicles". The presentations are intended for general audience without much prior knowledge of the subject, and not specifically focused upon experts of the field. The thesis website contains links to table of contents, complete text, videos, presentations and other things; available at: http://rkala.in/autonomousvehiclesvideos.html

Transcript of Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph...

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    1/46

    School of Systems, Engineering, University of Reading rkala.99k.orgApril, 2013

    Motion Planning for Multiple

    Autonomous Vehicles

    Rahul KalaDynamic Distributed Lanes

    Presentation of the paper: R. Kala, K. Warwick (2014) DynamicDistributed Lanes: Motion Planning for Multiple AutonomousVehicles, Applied Intelligence, DOI: 10.1007/s10489-014-0517-1

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    2/46

    Motion Planning for Multiple Autonomous Vehicles

    Why Graph Search?

    Completeness

    Optimality

    Issues

    Computational Complexity

    Key Idea State Reduction: Select which states to expand

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    3/46

    Motion Planning for Multiple Autonomous Vehicles

    Key Contributions

    The generalized notion of lanesis defined.

    The generalized notion is used for planningand coordinationof multiple

    vehicles.

    A pseudo centralizedcoordination technique is designed which uses the

    concepts of decentralized coordinationfor iteratively planning differentvehicles but empowers a vehicle to move around the other vehicles. The

    coordination is hence better in terms of optimality and completeness than

    most approaches (discussed so far) while being somewhat computationally

    expensive in the worst cases.

    The concept of one vehicle waitingfor another vehicle coming from the

    other direction is introduced, when there may be space enough for only one

    vehicle to pass.

    Heuristicsare used for pruningthe expansions of states, which result in a

    significant computational efficiency while leading to a slight loss of

    optimality.

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    4/46

    Motion Planning for Multiple Autonomous Vehicles

    Defining (Virtual) Lanes

    Properties

    Distributed The number of lanesand their widthsmaychange in different segments of the road

    Dynamic The lanes change along with timeforevery pathway as the vehicles pass by.

    Single Vehicle No two vehicles may occupy a lane side-by-side

    Variable Width Every lane has a different width

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    5/46

    Motion Planning for Multiple Autonomous Vehicles

    Solution Approach

    A general graph (here Uniform Cost Search) search can

    be used with:

    High resolution maps

    Rich action set for the vehicle

    To solve within computational time, the number of

    states expanded needs to be restricted

    Coordination strategy needs to be devised

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    6/46

    Motion Planning for Multiple Autonomous Vehicles

    State Reduction

    Reduction hypothesis:

    Vehicles maximize lateral separations

    Vehicles prefer to travel at same lateral positions along

    the road

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    7/46Motion Planning for Multiple Autonomous Vehicles

    State Expansion

    Consider expansion of a state L

    Problem is selecting child states L formed as a result of

    the expansion

    Only expansionstep of the graph search algorithm is

    discussed in this work, while the rest of the algorithm is

    same as a general graph search.

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    8/46Motion Planning for Multiple Autonomous Vehicles

    CONSIDERING ONLYA SINGLE VEHICLE

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    9/46Motion Planning for Multiple Autonomous Vehicles

    State Reduction

    rkala.99k.org

    Use asweeping

    line (Z) forobstacle

    analysis inlarge steps

    Selectregions of

    line(Pathways)in obstaclefree regions

    Select bestpoint inside

    everypathway

    (L3)

    Selectsimilar

    point (L2) atan earliersweepingline (Z2)

    Feasibilityanalysis

    Make thesechildren

    andconnect toparent (L)

    by asmooth

    trajectory

    Vehicle PlacementHypotheses

    (i) Maximize lateralseparations

    (ii) Attempt to drive insame relative position at

    the road

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    10/46Motion Planning for Multiple Autonomous Vehicles

    State Reduction

    rkala.99k.org

    Sweeping line used for

    obstacle analysis (Z)

    L

    All pathways

    (3 expansions to be done)

    A pathway

    Vehicle position at

    extremity of pathwayY

    Earlier sweeping line for

    expanded node (Z2)

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    11/46Motion Planning for Multiple Autonomous Vehicles

    Why use L2and not L3?

    Or why select a state not at the sweeping line but earlier?

    Or why Z2and not Z?

    rkala.99k.org

    Sweeping Line

    Best point L3Obstacle

    But if vehicle lands at L3, it cannot steer sharp enough and

    avoid the obstacle

    ZL

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    12/46Motion Planning for Multiple Autonomous Vehicles

    Why L2and not L3?

    Vehicle expected to align itself at L2for obstacle seen at

    L3

    If vehicle can go from L to L3via L2, it is safe at L2

    Curve from L to L2may be traversed if optimal Curve from L2to L3is only for connectivity check/obstacle

    analysis

    L3acts as a roadmap for L2informing it about any

    obstacle well in advance before the vehicle actually lands

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    13/46Motion Planning for Multiple Autonomous Vehicles

    State Selection

    rkala.99k.org

    L

    L2 L3

    Z2 Z

    PlannedTrajectory Trajectory onlyfor analysis

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    14/46Motion Planning for Multiple Autonomous Vehicles

    State Selection

    rkala.99k.org

    Every turn is on the basis of obstacle assessed at the next sweepingline while states are selected on the basis of the set hypotheses.

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    15/46Motion Planning for Multiple Autonomous Vehicles

    Curve Generation

    rkala.99k.org

    Connect L

    to L2 by aclothoidcurve

    ConnectL2 to L3 by

    curvealong theroad

    length

    Checkfeasibility

    Ifinfeasible,

    performlocaloptimizati

    on

    If stillinfeasible,

    reduce

    speed/sweeping linestep size

    and repeat

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    16/46Motion Planning for Multiple Autonomous Vehicles

    Small Obstacle Problem

    rkala.99k.org

    L

    Z2(original)L3(original)

    L2(original)

    Z (original)Z (modified)Z2(modified)

    L3

    (modified)L2

    (modified)small obstacle

    Z (original) cannot be used for obstacle analysis as it cannot detect the small obstacleand hence always return infeasibility. Hence it is modified to Z (modified) byreduction in step size of the sweeping line. Corresponding Z2s are Z2(original) and

    Z2(modified)

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    17/46Motion Planning for Multiple Autonomous Vehicles

    Lane

    Graph search gives the shortest path as output

    Result consists of trajectory and all the expanded states

    The expanded states together with available lateral

    bounds constitute a Lane Trajectory may be modified by moving the expanded

    states laterally

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    18/46Motion Planning for Multiple Autonomous Vehicles

    Graph generated

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    19/46Motion Planning for Multiple Autonomous Vehicles

    Results

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    20/46Motion Planning for Multiple Autonomous Vehicles

    CONSIDERING MULTIPLE VEHICLES

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    21/46Motion Planning for Multiple Autonomous Vehicles

    Problem

    A number of vehicles with planned trajectories and lanes

    are given

    Construct plan of the next vehicle entering the scenario

    The trajectories of the other vehicles may be modified bychanging their lanes (moving their expanded states

    laterally)

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    22/46Motion Planning for Multiple Autonomous Vehicles

    Expansion Strategy

    rkala.99k.org

    Expansion

    StrategyFree StateExpansion

    VehicleFollowing

    Wait forVehicle

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    23/46

    Motion Planning for Multiple Autonomous Vehicles

    Free State Expansion

    Expand using maximum speed, overtaking expansion

    strategy

    rkala.99k.org

    Use sweepingline for

    obstacleanalysis

    For everypathway

    Computevehiclesrequiring

    independentlane

    Distributepathwaywidth

    amongst thevehicles

    Vehicle being followed orgoing ahead by a larger speed

    not considered

    To skip details go to slide 32

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    24/46

    Motion Planning for Multiple Autonomous Vehicles

    Strategy

    rkala.99k.org

    Find vehicles(Rb) affectedby navigation

    of vehicleunderplanning (Ra)

    to Z and hencerequire a

    separate lane

    Find vehicles(Rc) affected

    by altered

    navigation ofRaor Rbandhence alsorequire a

    separate lane

    Find vehicles(Rd) affected

    by altered

    navigation ofRa, Rbor Rcand

    hence alsorequire

    separate lane

    And so on till

    no vehicle isfurther

    affected

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    25/46

    Motion Planning for Multiple Autonomous Vehicles

    Region of independent lane

    Region within which all vehicles have independent lanes

    rkala.99k.org

    Region ofindependent

    lanes (S)

    Vehicles

    requiringindependent

    lanes (H)

    Check if avehicle in H

    while travellingin S affects any

    other vehicle Rj

    Calculateregion (S2) in

    which Rjassumes a new

    lane

    Add S2

    Add Rj

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    26/46

    Motion Planning for Multiple Autonomous Vehicles

    Calculating new affected region Let Ribe the vehicle being planned

    Let Rjbe the vehicle affected

    Let Rkbe any other vehicle which might be affected by Rj

    rkala.99k.org

    Rjmoves tonew lane as

    soon aspossible (a)

    Rjreturns tooriginal

    planned laneafter crossing

    navigation

    region of Ri (Lto Z) , say (b)

    New lane iseffective in(a) to (b)

    While Rjtravels from (a) to (b), it should not affect any othervehicle (Rk). If yes, it is also added, and so on

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    27/46

    Motion Planning for Multiple Autonomous Vehicles

    Calculating affected region

    rkala.99k.org

    Ri Ri

    Rj Rj RjRi

    Rj RjRi

    Rj

    Motion from L to Z

    (a) (b) (b) (a)

    Same side Opposite sides

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    28/46

    Motion Planning for Multiple Autonomous Vehicles

    Calculating affected region

    While Rjtravels from (a) to (b) , some Rkalso travels as

    per its trajectory

    Does Rjeffect Rk, in which case the affected region andvehicles are updated and the process repeats?

    Since motion of Rjfrom (a) to (b) is yet to be computed,

    approximations are used

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    29/46

    Motion Planning for Multiple Autonomous Vehicles

    Calculating affected region

    rkala.99k.org

    Rj

    (a) (b)Rk

    Rj

    (a) (b)

    Rk

    Same SideIf Rkis safe with Rjat (b), it is not

    affected, distances will only increasewith Rkmoving forward

    Opposite SidesIf Rkmoved by a threshold (proportional

    to speed) is safe with Rjat (b), it is notaffected. With time Rkwill get closer to Rj

    and may get affected. Maximum

    threshold assumed.

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    30/46

    Motion Planning for Multiple Autonomous Vehicles

    Lane Distribution

    rkala.99k.org

    Get vehicles

    requiringindependen

    t lane

    Getpreferred

    position forvehiclebeing

    planned

    Check ifplacement

    possiblewithoutmoving

    othervehicles

    If not, checkif placement

    possiblewith

    maintenance of

    maximumseparationthreshold

    If not,computetotal free

    space anddistributebetweenvehiclesevenly

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    31/46

    Motion Planning for Multiple Autonomous Vehicles

    Free State Expansion

    rkala.99k.org

    Z2 Z (b)(a)

    RjRi

    Trajectory of Rjalready covered(this point and before)Trajectory of Ri

    Trajectory of Rj

    planned

    Distribution of lanes amongst vehicles

    Generated trajectories for vehicles

    Computing lane vehicles

    Original laneof Rj

    Modified lane of RjLane of Ri Planned position of Rj

    Planned position

    of Ri

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    32/46

    Motion Planning for Multiple Autonomous Vehicles

    Vehicle Following

    rkala.99k.org

    Select thevehicle to

    follow

    Follow theselectedvehicle

    Laterally closestvehicle is selected

    Speed is fixed toallow following

    with somedistance

    Z is taken as pernormal speed

    Z2is taken asper reduced

    speed

    Rest expansionsame as free

    state expansion

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    33/46

    Motion Planning for Multiple Autonomous Vehicles

    Vehicle Following

    rkala.99k.org

    Trajectory of Rjalready covered(this point and before)Trajectory of Ri

    Trajectory of Rjplanned

    Z2 Z

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    34/46

    Motion Planning for Multiple Autonomous Vehicles

    Wait for Vehicle

    Consider a narrow bridge with a stream of vehicles

    coming from one side

    Plan to wait for some of the vehicles in the stream to

    clear and hence go forward

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    35/46

    Motion Planning for Multiple Autonomous Vehicles

    Wait for Vehicle

    rkala.99k.org

    Decide thevehicle to

    wait for

    Compute theposition/

    trajectory towait

    Modify othervehicles

    trajectories

    Computestate after

    wait

    Attempt for allvehicles in the

    crossing stream

    Number of stateexpansions =

    number ofvehicles in stream

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    36/46

    Motion Planning for Multiple Autonomous Vehicles

    Computing the position of wait

    Assume obstacle analysis line (Z) lies inside the narrow

    bridge

    Assume previous line (Z2) lies outside the narrow bridge

    in a wide region Maximum separation threshold is left

    Two options to wait: Left of the leftmost vehicle in the

    stream, or Right from the rightmost vehicle in the stream

    Whichever has minimum deviation from current position

    is selected

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    37/46

    Motion Planning for Multiple Autonomous Vehicles

    Modification of Trajectories

    rkala.99k.org

    Modifytrajectory

    for thevehiclebeing

    waited for

    Calculatetime whenit crosses

    the vehiclebeing

    planned

    Computetrajectory

    of thevehiclebeing

    planned

    Modifytrajectorie

    s of allother

    vehicles till

    this time

    Get asnapshotof state

    after waitand use as

    the

    expandedstate

    Calculatepositionsaroundwaiting

    vehicle at Z2

    Set the lateralposition asconstant inthis region

    Hence allovertakingand like

    behavioursget cancelled

    Z2Z2

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    38/46

    Motion Planning for Multiple Autonomous Vehicles

    Wait for Vehicle Strategy

    rkala.99k.org

    22

    Z Z2Ri

    Rk

    Detection of suddennarrowing of width of road

    Lane of Rk

    Planned

    position of Ri

    (a) (b)

    Modification of lane of Ri

    Trajectory of Rk

    Trajectory of Ri

    The generated trajectory for vehicles

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    39/46

    Motion Planning for Multiple Autonomous Vehicles

    Expansion strategy selection

    All 3 strategies used for all state expansions results in too

    many expanded states

    To limit expansions following heuristic rule is used

    rkala.99k.org

    Strategy PreconditionFree StateExpansion

    Parent state was expanded by free stateexpansion and no new vehicleencountered/left, a new vehicleencountered/left

    VehicleFollowing Parent state was expanded by vehiclefollowing and no new vehicleencountered/left, a new vehicleencountered/left

    Wait for vehicle Sudden change in road width used forobstacle assessment

    Once decided toovertake/ follow avehicle, continue

    doing so till a new

    vehicle approachesor leaves (changingovertake scenario)

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    40/46

    Motion Planning for Multiple Autonomous Vehicles

    Results

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    41/46

    Motion Planning for Multiple Autonomous Vehicles

    Results

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    42/46

    Motion Planning for Multiple Autonomous Vehicles

    Results

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    43/46

    Motion Planning for Multiple Autonomous Vehicles

    Results

    rkala.99k.org

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    44/46

    Motion Planning for Multiple Autonomous Vehicles

    Analysis

    rkala.99k.org

    0

    50

    100

    150

    0 1 2 3 4 5 6Numberofnon-

    c

    onnectingstates

    Number of obstacles (n)

    0

    500

    1000

    1500

    0 1 2 3 4 5 6

    Numb

    erof

    connectingstates

    Number of obstacles (n)

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    45/46

    Motion Planning for Multiple Autonomous Vehicles

    Analysis

    rkala.99k.org

    00.5

    1

    1.5

    2

    2.5

    3

    3.5

    0 1 2 3

    N

    umberofnon-

    connectingstates

    Number of vehicles in same direction (a)

    0

    20

    40

    60

    80

    0 1 2 3Numberofcn

    necting

    states

    Number of vehicles in same direction (a)

  • 5/27/2018 Motion Planning for Multiple Autonomous Vehicles: Chapter 4b - Dynamic Distributed Lanes using Graph Search

    46/46

    Thank You

    Acknowledgements:

    Commonwealth Scholarship Commission

    in the United Kingdom

    British Council