Motion Planning for Multiple Autonomous Vehicles

Slides:



Advertisements
Similar presentations
Wall Building for RTS Games Patrick Schmid. Age of Empires.
Advertisements

Heuristic Search techniques
AI Pathfinding Representing the Search Space
Inconsistent Heuristics
Traveling Salesperson Problem
Solving Problem by Searching
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Lateral Potentials.
NUS CS5247 Motion Planning for Camera Movements in Virtual Environments By Dennis Nieuwenhuisen and Mark H. Overmars In Proc. IEEE Int. Conf. on Robotics.
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Literature.
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Genetic Algorithm.
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 22, 2010.
Deadlock-Free and Collision- Free Coordination of Two Robot Manipulators Patrick A. O’Donnell and Tomás Lozano- Pérez by Guha Jayachandran Guha Jayachandran.
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
Robot Motion Planning Bug 2 Probabilistic Roadmaps Bug 2 Probabilistic Roadmaps.
Real Time Motion Planning. Introduction  What is Real time Motion Planning?  What is the need for real time motion Planning?  Example scenarios in.
Discrete optimization of trusses using ant colony metaphor Saurabh Samdani, Vinay Belambe, B.Tech Students, Indian Institute Of Technology Guwahati, Guwahati.
Lecture 3: Uninformed Search
1 Utilizing Shared Vehicle Trajectories for Data Forwarding in Vehicular Networks IEEE INFOCOM MINI-CONFERENCE Fulong Xu, Shuo Gu, Jaehoon Jeong, Yu Gu,
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Conclusions.
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Results.
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Multi-Level.
Course14 Dynamic Vision. Biological vision can cope with changing world Moving and changing objects Change illumination Change View-point.
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Rapidly-exploring.
CIS 2011 rkala.99k.org 1 st September, 2011 Planning of Multiple Autonomous Vehicles using RRT Rahul Kala, Kevin Warwick Publication of paper: R. Kala,
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Logic Based.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Path Planning Based on Ant Colony Algorithm and Distributed Local Navigation for Multi-Robot Systems International Conference on Mechatronics and Automation.
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Congestion.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 1 Chapter 12 Path Planning.
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
Artificial Intelligence Solving problems by searching.
Lecture 3: Uninformed Search
Review: Tree search Initialize the frontier using the starting state
Traveling Salesperson Problem
Search: Advanced Topics Computer Science cpsc322, Lecture 9
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CS 326A: Motion Planning Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe,
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
The minimum cost flow problem
Heuristic Search A heuristic is a rule for choosing a branch in a state space search that will most likely lead to a problem solution Heuristics are used.
Schedule for next 2 weeks
Chap 4: Searching Techniques Artificial Intelligence Dr.Hassan Al-Tarawneh.
Motion Planning for Multiple Autonomous Vehicles
Search: Advanced Topics Computer Science cpsc322, Lecture 9
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Navigation In Dynamic Environment
Craig Schroeder October 26, 2004
Motion Planning for Multiple Autonomous Vehicles
Crowd Simulation (INFOMCRWS) - A* Search
Chapter 3 The Simplex Method and Sensitivity Analysis
Spline-Based Multi-Level Planning for Autonomous Vehicles
MATS Quantitative Methods Dr Huw Owens
EA C461 – Artificial Intelligence
Informed search algorithms
Search: Advanced Topics Computer Science cpsc322, Lecture 9
Workshop: A* Search.
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Computational Geometry
Chap 4: Searching Techniques
More advanced aspects of search
Continuous Density Queries for Moving Objects
ECE457 Applied Artificial Intelligence Fall 2007 Lecture #2
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Chapter 4 . Trajectory planning and Inverse kinematics
Motion Planning for a Point Robot (1/2)
Basic Search Methods How to solve the control problem in production-rule systems? Basic techniques to find paths through state- nets. For the moment: -
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Presentation transcript:

Motion Planning for Multiple Autonomous Vehicles Dynamic Distributed Lanes Presentation of the paper: R. Kala, K. Warwick (2014) Dynamic Distributed Lanes: Motion Planning for Multiple Autonomous Vehicles, Applied Intelligence, DOI: 10.1007/s10489-014-0517-1 Rahul Kala April, 2013

Why Graph Search? Completeness Optimality Issues Computational Complexity Key Idea State Reduction: Select which states to expand

Key Contributions The generalized notion of lanes is defined. The generalized notion is used for planning and coordination of multiple vehicles. A pseudo centralized coordination technique is designed which uses the concepts of decentralized coordination for iteratively planning different vehicles 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 waiting for another vehicle coming from the other direction is introduced, when there may be space enough for only one vehicle to pass. Heuristics are used for pruning the expansions of states, which result in a significant computational efficiency while leading to a slight loss of optimality.

Defining (Virtual) Lanes Properties Distributed The number of lanes and their widths may change in different segments of the road Dynamic The lanes change along with time for every 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

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

State Reduction Reduction hypothesis: Vehicles maximize lateral separations Vehicles prefer to travel at same lateral positions along the road

State Expansion Consider expansion of a state L Problem is selecting child states L formed as a result of the expansion Only expansion step of the graph search algorithm is discussed in this work, while the rest of the algorithm is same as a general graph search.

Considering only a Single Vehicle

State Reduction Vehicle Placement Hypotheses Use a sweeping line (Z) for obstacle analysis in large steps Select regions of line (Pathways) in obstacle free regions Select best point inside every pathway (L3) Select similar point (L2) at an earlier sweeping line (Z2) Feasibility analysis Make these children and connect to parent (L) by a smooth trajectory Vehicle Placement Hypotheses (i) Maximize lateral separations (ii) Attempt to drive in same relative position at the road

State Reduction Vehicle position at extremity of pathway All pathways Sweeping line used for obstacle analysis (Z) L All pathways (3 expansions to be done) A pathway Vehicle position at extremity of pathway Y’ Earlier sweeping line for expanded node (Z2)

Why use L2 and not L3? Or why select a state not at the sweeping line but earlier? Or why Z2 and not Z? Obstacle Best point L3 L Z Sweeping Line But if vehicle lands at L3, it cannot steer sharp enough and avoid the obstacle

Why L2 and not L3? Vehicle expected to align itself at L2 for obstacle seen at L3 If vehicle can go from L to L3 via L2, it is safe at L2 Curve from L to L2 may be traversed if optimal Curve from L2 to L3 is only for connectivity check/obstacle analysis L3 acts as a roadmap for L2 informing it about any obstacle well in advance before the vehicle actually lands

Trajectory only for analysis State Selection L L2 L3 Z2 Z Planned Trajectory Trajectory only for analysis

State Selection Every turn is on the basis of obstacle assessed at the next sweeping line while states are selected on the basis of the set hypotheses.

Curve Generation Connect L to L2 by a clothoid curve Connect L2 to L3 by curve along the road length Check feasibility If infeasible, perform local optimization If still infeasible, reduce speed/sweeping line step size and repeat

Small Obstacle Problem 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 obstacle and hence always return infeasibility. Hence it is modified to Z (modified) by reduction in step size of the sweeping line. Corresponding Z2s are Z2 (original) and Z2 (modified)

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

Graph generated

Results

Considering Multiple 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 by changing their lanes (moving their expanded states laterally)

Expansion Strategy Free State Expansion Vehicle Following Wait for Vehicle

Free State Expansion Expand using maximum speed, overtaking expansion strategy Use sweeping line for obstacle analysis For every pathway Compute vehicles requiring independent lane Distribute pathway width amongst the vehicles Vehicle being followed or going ahead by a larger speed not considered To skip details go to slide 32

And so on till no vehicle is further affected Strategy Find vehicles (Rb) affected by navigation of vehicle under planning (Ra) to Z and hence require a separate lane Find vehicles (Rc) affected by altered navigation of Ra or Rb and hence also require a separate lane Find vehicles (Rd) affected by altered navigation of Ra, Rb or Rc and hence also require separate lane And so on till no vehicle is further affected

Region of independent lane Region within which all vehicles have independent lanes Add S2 Region of independent lanes (S) Check if a vehicle in H while travelling in S affects any other vehicle Rj Calculate region (S2) in which Rj assumes a new lane Vehicles requiring independent lanes (H) Add Rj

Calculating new affected region Let Ri be the vehicle being planned Let Rj be the vehicle affected Let Rk be any other vehicle which might be affected by Rj Rj moves to new lane as soon as possible (a) Rj returns to original planned lane after crossing navigation region of Ri (L to Z) , say (b) New lane is effective in (a) to (b) While Rj travels from (a) to (b), it should not affect any other vehicle (Rk). If yes, it is also added, and so on

Calculating affected region Ri Rj Ri Rj (a) (b) (b) (a) Motion from L to Z Same side Opposite sides

Calculating affected region While Rj travels from (a) to (b) , some Rk also travels as per its trajectory Does Rj effect Rk, in which case the affected region and vehicles are updated and the process repeats? Since motion of Rj from (a) to (b) is yet to be computed, approximations are used

Calculating affected region Rj (a) (b) Rk Rj (a) (b) Rk Same Side If Rk is safe with Rj at (b), it is not affected, distances will only increase with Rk moving forward Opposite Sides If Rk moved by a threshold (proportional to speed) is safe with Rj at (b), it is not affected. With time Rk will get closer to Rj and may get affected. Maximum threshold assumed.

Lane Distribution Get vehicles requiring independent lane Get preferred position for vehicle being planned Check if placement possible without moving other vehicles If not, check if placement possible with maintenance of maximum separation threshold If not, compute total free space and distribute between vehicles evenly

Free State Expansion Rj Ri (b) Z Z2 (a) Original lane of Rj Modified lane of Rj Lane of Ri Planned position of Rj Planned position of Ri Distribution of lanes amongst vehicles Computing lane vehicles Trajectory of Rj already covered (this point and before) Trajectory of Ri Trajectory of Rj planned Generated trajectories for vehicles

Vehicle Following Select the vehicle to follow Follow the selected vehicle Laterally closest vehicle is selected Speed is fixed to allow following with some distance Z is taken as per normal speed Z2 is taken as per reduced speed Rest expansion same as free state expansion

Vehicle Following Z Z2 Trajectory of Rj planned Trajectory of Rj already covered (this point and before) Trajectory of Ri Trajectory of Rj planned Z2 Z

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

Wait for Vehicle Attempt for all vehicles in the crossing stream Decide the vehicle to wait for Compute the position/ trajectory to wait Modify other vehicle’s trajectories Compute state after wait Attempt for all vehicles in the crossing stream Number of state expansions = number of vehicles in stream

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

Modification of Trajectories Modify trajectory for the vehicle being waited for Calculate time when it crosses the vehicle being planned Compute trajectory of the vehicle being planned Modify trajectories of all other vehicles till this time Get a snapshot of state after wait and use as the expanded state Calculate positions around waiting vehicle at Z2 Set the lateral position as constant in this region Hence all overtaking and like behaviours get cancelled

Wait for Vehicle Strategy Z2 Z2 Wait for Vehicle Strategy Z Z2 Ri Rk Lane of Rk Planned position of Ri (a) (b) Detection of sudden narrowing of width of road Modification of lane of Ri Trajectory of Rk Trajectory of Ri The generated trajectory for 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 Strategy Precondition Free State Expansion Parent state was expanded by free state expansion and no new vehicle encountered/left, a new vehicle encountered/left Vehicle Following Parent state was expanded by vehicle following and no new vehicle encountered/left, a new vehicle encountered/left Wait for vehicle Sudden change in road width used for obstacle assessment Once decided to overtake/ follow a vehicle, continue doing so till a new vehicle approaches or leaves (changing overtake scenario)

Results

Results

Results

Results

Analysis

Analysis

Thank You Acknowledgements: Commonwealth Scholarship Commission in the United Kingdom British Council Thank You