orit katz 038248555 236805 - seminar in cs (robotics) 1

54
Orit Katz 038 248555 236805 - Seminar in CS (Robotics) 1

Post on 21-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 1

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 2

Statement of The ProblemStatement of The Problem Given a set of vehicles moving in a dynamic Given a set of vehicles moving in a dynamic

world, we want to coordinate the motion of a world, we want to coordinate the motion of a subset of these vehicles.subset of these vehicles.

Each vehicle has its own goal and this goal is Each vehicle has its own goal and this goal is to be achieved according to:to be achieved according to:

1.1. optimalityoptimality

2.2. SafetySafety

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 3

Characteristics of The Characteristics of The ProblemProblem

1.1. VehiclesVehicles

A vehicle is an entity with motion A vehicle is an entity with motion capability.capability.

The goal of a vehicle is to reach a The goal of a vehicle is to reach a specific specific location in the world.location in the world.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 4

Characteristics of The Characteristics of The ProblemProblem

2.2. The worldThe world

It is cluttered with static but also It is cluttered with static but also dynamic obstacles.dynamic obstacles.

The static obstacles constitute the The static obstacles constitute the limits limits of the actual evolution space of the of the actual evolution space of the vehicles.vehicles.

The dynamic obstacles consist mainly of The dynamic obstacles consist mainly of the vehicles.the vehicles.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 5

Characteristics of The Problem - Characteristics of The Problem - Cont.Cont.

We can refer this problem in a multi-agent We can refer this problem in a multi-agent perspective.perspective.In this framework we have to deal with the In this framework we have to deal with the following points:following points:

• Plan recognitionPlan recognition

• levels of interaction between the coordinatedlevels of interaction between the coordinated vehicles. vehicles.

• Generation of a plan in a multi-agent world.Generation of a plan in a multi-agent world.

• Execution of a plan in a dynamic and uncertainExecution of a plan in a dynamic and uncertain world. world.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 6

1.1. “Independent” approach:“Independent” approach:The coordinated vehicle is able to The coordinated vehicle is able to solve its motion problem on its own.solve its motion problem on its own.

2.2. “Controlled” approach:“Controlled” approach:The coordinated vehicle has no The coordinated vehicle has no capabilities of its own.capabilities of its own.

3.3. “Interdependent” approach:“Interdependent” approach:The coordinated vehicle has various The coordinated vehicle has various capabilities but it is not able to solve its capabilities but it is not able to solve its motion problem on its own.motion problem on its own.

Possible ApproachesPossible Approachesone vehicle = one agent

set of vehicles = one agent

There is an external supervisor

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 7

The FrameworkThe Framework

• The purpose of this application is to develop The purpose of this application is to develop software tools in order to guide car-like software tools in order to guide car-like vehicles moving on a particular subset of the vehicles moving on a particular subset of the road network - intersections.road network - intersections.

• Two types of vehicles have to be considered:Two types of vehicles have to be considered:

A Specific CaseA Specific Case

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 8

1.1. Those whose motion guided by Those whose motion guided by the system.the system.

2.2. The other vehicles.The other vehicles.

The assumption on the existence of a The assumption on the existence of a behavior codebehavior code is instantiated here by the is instantiated here by the fact that the vehicles are supposed to respect fact that the vehicles are supposed to respect the highway code.the highway code.

A Specific Case - Cont.A Specific Case - Cont.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 9

Indeed, the roadway turns out to be an Indeed, the roadway turns out to be an organized set of lanes.organized set of lanes.

Besides, intersections are designed in order Besides, intersections are designed in order to ease the traffic; thus a vehicle has to follow to ease the traffic; thus a vehicle has to follow a particular lane and accordingly is not a particular lane and accordingly is not supposed to overtake.supposed to overtake.

A Specific Case - Cont.A Specific Case - Cont.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 10

Choosing an approachChoosing an approach

“ “Controlled” approachControlled” approach

The complexity of the problem prevents the use The complexity of the problem prevents the use of a controlled approach.of a controlled approach.

We are considering many vehicles moving in a We are considering many vehicles moving in a

dynamic and uncertain worlddynamic and uncertain world..

A Specific Case - Cont.A Specific Case - Cont.

System with high number of degrees of freedom !

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 11

““Independent” approachIndependent” approach

Each vehicle must reach its goal as quickly as Each vehicle must reach its goal as quickly as possible.possible.

““Interdependent” approachInterdependent” approach

Each coordinated vehicle is concerned with Each coordinated vehicle is concerned with the realization of a predetermined reference the realization of a predetermined reference trajectory.trajectory.

A Specific Case - Cont.A Specific Case - Cont.

optimality isn’t saved!

Optimality is saved !

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 12

The Intersection ManagerThe Intersection ManagerThe intersection managerThe intersection manager

A centralized system which is in charge of the A centralized system which is in charge of the coordinated vehicles within a specific coordinated vehicles within a specific intersection:intersection:

- - provides each coordinated vehicle with a provides each coordinated vehicle with a reference trajectory.reference trajectory.

-- deals with:deals with:

1. Plan recognition.1. Plan recognition.

2. Plan generation in a dynamic world.2. Plan generation in a dynamic world.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 13

The Intersection Manager – Cont.The Intersection Manager – Cont.

The intersection managerThe intersection manager

• has to provide each coordinated vehicle with has to provide each coordinated vehicle with a trajectory.a trajectory.

• operates on a operates on a planning horizonplanning horizon..• makes use of a geometric description of the makes use of a geometric description of the

intersection and an estimation of the intersection and an estimation of the position/velocity parameters of the vehicles position/velocity parameters of the vehicles located at the crossroad area, at the located at the crossroad area, at the beginning of the horizon.beginning of the horizon.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 14

The Intersection Manager - Cont.The Intersection Manager - Cont.Prioritization ApproachPrioritization Approach

Each coordinated vehicle is assigned a Each coordinated vehicle is assigned a priority and the trajectories are planned in the priority and the trajectories are planned in the priority order.priority order.

This method consists first of planning a path This method consists first of planning a path avoiding the static obstacles and then of avoiding the static obstacles and then of adjusting the velocity so as to avoid collision adjusting the velocity so as to avoid collision or give way to other vehicles.or give way to other vehicles.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 15

The Intersection Manager - Cont.The Intersection Manager - Cont.

The intersection manager is composed of two The intersection manager is composed of two main modules:main modules:

• A geometric plannerA geometric planner• A temporal plannerA temporal planner

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 16

A Coordinated VehicleA Coordinated Vehicle

A coordinated vehicle is periodically provided A coordinated vehicle is periodically provided with a plan including both geometric and time with a plan including both geometric and time constraints.constraints.

The trajectory defines a valley of potential that The trajectory defines a valley of potential that the vehicle is supposed to track and the the vehicle is supposed to track and the detected obstacles generate repulsive potential detected obstacles generate repulsive potential fields.fields.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 17

The World ModelThe World Model• The EnvironmentThe Environment

we distinguish between four types of we distinguish between four types of regions:regions:

1.1. LanesLanes

2.2. Crossing regionsCrossing regions

3.3. Entry regionEntry region

4.4. Exit regionExit region

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 18

The World Model - Cont.The World Model - Cont.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 19

The World Model - Cont.The World Model - Cont.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 20

The World Model - Cont.The World Model - Cont.

Our system deals with subsets of the road Our system deals with subsets of the road network.network.

In order to represent the connectivity of the In order to represent the connectivity of the road network and the associated motion road network and the associated motion constraints, the regions obtained are constraints, the regions obtained are structured using graph structured using graph GG..

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 21

The World Model - Cont.The World Model - Cont.

- a region.- a region.

- - it isit is possible to move possible to move from region from region rrii to region to region

rrjj..

ri

ri rj

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 22

The World Model - Cont.The World Model - Cont.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 23

The World Model - Cont.The World Model - Cont.• The VehiclesThe Vehicles

Geometrically, they are represented by Geometrically, they are represented by rectangles.rectangles.

Such a vehicle has two rear wheels and Such a vehicle has two rear wheels and two directional front wheels.two directional front wheels.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 24

The World Model - Cont.The World Model - Cont.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 25

The World Model - Cont.The World Model - Cont.

The three main constraints for such a The three main constraints for such a vehicle are:vehicle are:

1.1. Dependence relation between its Dependence relation between its translational and its rotational translational and its rotational degrees of freedom.degrees of freedom.

2.2. The curvature radius of its The curvature radius of its trajectory is lower bounded.trajectory is lower bounded.

3.3. Its velocity is upper bounded.Its velocity is upper bounded.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 26

The Geometric PlannerThe Geometric PlannerThe task of the geometric planner is to The task of the geometric planner is to compute a geometric trajectory for each compute a geometric trajectory for each coordinated vehicle.coordinated vehicle.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 27

The Geometric Planner - The Geometric Planner - Cont.Cont.

Planning an executable trajectory is Planning an executable trajectory is performed in two phases:performed in two phases:

1.1. Generating a polygonal line which Generating a polygonal line which represents the “skeleton” of the represents the “skeleton” of the trajectory searched.trajectory searched.

2.2. “Smoothing” this polygonal line in “Smoothing” this polygonal line in order to obtain curved transitions order to obtain curved transitions which which verifies the vehicle verifies the vehicle kinematic kinematic constraints.constraints.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 28

The Geometric Planner - The Geometric Planner - Cont.Cont.Determining the skeleton of the Determining the skeleton of the trajectorytrajectory

1.1. Find a “path”Find a “path”

In order to cross an intersection, a In order to cross an intersection, a vehicle has to go through a specific vehicle has to go through a specific sequence of regions. The sequence’s sequence of regions. The sequence’s structure:structure:

entry region, ([lane], crossing region, [lane])*, exit entry region, ([lane], crossing region, [lane])*, exit regionregion

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 29

The Geometric Planner - The Geometric Planner - Cont.Cont.

2.2. Extract the skeletonExtract the skeleton

in the current implementation we it is in the current implementation we it is assumed that the lane axes are assumed that the lane axes are piecewise linear. It is then possible piecewise linear. It is then possible

to build a polygonal line whose to build a polygonal line whose segments correspond to the axes segments correspond to the axes

of of the regions crossed by the vehicle.the regions crossed by the vehicle.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 30

The Geometric Planner - The Geometric Planner - Cont.Cont.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 31

The Geometric Planner - The Geometric Planner - Cont.Cont.

Smoothing the skeletonSmoothing the skeleton

This phase aims to introduce circular based This phase aims to introduce circular based transition in the skeleton in order to make the transition in the skeleton in order to make the trajectory consistent with the kinematic trajectory consistent with the kinematic constraints of the vehicle while avoiding the constraints of the vehicle while avoiding the static obstacles.static obstacles.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 32

The Geometric Planner - The Geometric Planner - Cont.Cont.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 33

The Temporal PlannerThe Temporal PlannerThe task of the temporal planner is to The task of the temporal planner is to determine the velocity to apply to each determine the velocity to apply to each coordinated vehicle in order to avoid coordinated vehicle in order to avoid collisions with the other vehicles.collisions with the other vehicles.

It operates periodically on the interval of time It operates periodically on the interval of time [0, horizon].[0, horizon].

For each path determined by the geometric For each path determined by the geometric planner, it determines the entrance time to planner, it determines the entrance time to associate to the related regions.associate to the related regions.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 34

Statement of the ProblemStatement of the ProblemConflict RegionsConflict Regions

regions which cannot be simultaneously regions which cannot be simultaneously occupied by several vehicles.occupied by several vehicles.

Since our world model ensures that each Since our world model ensures that each region is connected to a conflict region, it region is connected to a conflict region, it becomes possible to turn the velocity becomes possible to turn the velocity planning problem into an allocation problem, planning problem into an allocation problem, where the conflict regions are resources to be where the conflict regions are resources to be temporally allocated to the vehicles.temporally allocated to the vehicles.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 35

Statement of the Problem - Statement of the Problem - Cont.Cont.

VV - - set of vehicles present in the set of vehicles present in the crossroad. crossroad.

VVcc - - subset of the coordinated vehicles.subset of the coordinated vehicles.

OIOI(v,r)(v,r) - - occupation interval of the conflict occupation interval of the conflict region region rr by the vehicle by the vehicle vv..

The problemThe problem: : find find OI(v,r)OI(v,r) for each for each vehicle vehicle

V V Vc Vc and for eachand for each conflict conflict region region rr belonging to the belonging to the

path path associated to associated to vv..

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 36

Statement of the Problem - Statement of the Problem - Cont.Cont.

1.1. MonotonicityMonotonicityThe velocity of a vehicle cannot be negative.The velocity of a vehicle cannot be negative.

2.2. Maximum velocity Maximum velocity A vehicle cannot go beyond a given velocity A vehicle cannot go beyond a given velocity

limit.limit.

3.3. No collisionNo collisionvivi, , vjvj V, V, vivivjvj, , OI(vi,r) OI(vi,r) OI(vj,r)OI(vj,r) = =

4.4. No overtakingNo overtakinga vehicle cannot overtake when moving from a vehicle cannot overtake when moving from

one one conflict region to the next.conflict region to the next.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 37

Statement of the Problem - Statement of the Problem - Cont.Cont.

Non Coordinated VehiclesNon Coordinated Vehicles

A non coordinated vehicle intending to cross a A non coordinated vehicle intending to cross a conflict region is subject to the same temporal conflict region is subject to the same temporal constraints that coordinated vehicle is, therefor constraints that coordinated vehicle is, therefor its kinematic behavior can be estimated by a its kinematic behavior can be estimated by a conflict region allocation in the same way as for conflict region allocation in the same way as for a coordinated vehicle.a coordinated vehicle.Consequently, the system has to estimate the Consequently, the system has to estimate the goal of each non coordinated vehicle before goal of each non coordinated vehicle before applying the same planning process to all the applying the same planning process to all the vehicles.vehicles.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 38

Prioritization ApproachPrioritization ApproachThis approach consists of allocating the This approach consists of allocating the conflict regions one vehicle at the time.conflict regions one vehicle at the time.

There are two reasons that lead to this There are two reasons that lead to this approach:approach:

1.1. The planner efficiency.The planner efficiency.

2.2. It is worthless to try to generate a It is worthless to try to generate a completely accurate temporal plan.completely accurate temporal plan.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 39

Prioritization Approach - Prioritization Approach - Cont.Cont.

The algorithm relies on a “natural” priority The algorithm relies on a “natural” priority order:order:

a vehicle v moving in a region r at time t=0, a vehicle v moving in a region r at time t=0, before processing a vehicle v’ having r in its before processing a vehicle v’ having r in its path.path.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 40

Prioritization Approach - Prioritization Approach - Cont.Cont.

The relation “The relation “BEFOREBEFORE””

This relation can generate cycles of the type This relation can generate cycles of the type “v before v’ “ and “v’ before v”.“v before v’ “ and “v’ before v”.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 41

Prioritization Approach - Prioritization Approach - Cont.Cont.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 42

Prioritization Approach - Prioritization Approach - Cont.Cont.

Prioritization Algorithm:Prioritization Algorithm:

1.1. Build the graph associated to the Build the graph associated to the relation relation BEFOREBEFORE..

2.2. Turn the relation before in a partial Turn the relation before in a partial ordering by moving an arbitrary ordering by moving an arbitrary

edge edge in each cycle of this graph.in each cycle of this graph.

3.3. Topologically sort this new graph.Topologically sort this new graph.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 43

Prioritization Approach - Prioritization Approach - Cont.Cont.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 44

The Planning AlgorithmThe Planning Algorithm

Let vLet vii be the i be the ithth vehicle in the prioritization vehicle in the prioritization

order. The set of occupation intervals order. The set of occupation intervals generated by the vehicles vgenerated by the vehicles v11, …, v, …, vi-1i-1 on each on each

conflict region is computed be the system conflict region is computed be the system before processing vbefore processing v ii. .

Then the temporal allocation for vThen the temporal allocation for vii is based on an is based on an

analysis of intervals available associated to the analysis of intervals available associated to the conflict region belonging to the path of vconflict region belonging to the path of vii..

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 45

The Planning Algorithm - The Planning Algorithm - Cont.Cont.

searching a solution for vsearching a solution for v ii is achieved using a is achieved using a

depth-first search (DFS) algorithm. depth-first search (DFS) algorithm.

This search considers the valid temporal intervals This search considers the valid temporal intervals from the earliest to the latest and it terminates when it from the earliest to the latest and it terminates when it finds a valid temporal interval either associated to the finds a valid temporal interval either associated to the last conflict region of the path o vlast conflict region of the path o vii, or ending after , or ending after

horizon.horizon.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 46

ExperimentsExperimentsThe Temporal PlanningThe Temporal PlanningThe world we consider is a basic intersection.The world we consider is a basic intersection.The world contains both coordinated and non coordinated vehicles. The world contains both coordinated and non coordinated vehicles.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 47

ExperimentsExperimentsThe first job of the intersection manager is to estimate the The first job of the intersection manager is to estimate the goal of each non coordinated vehicle. Therefor the goal of each non coordinated vehicle. Therefor the intersection manager can determine their path.intersection manager can determine their path.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 48

ExperimentsExperimentsThe intersection manager is then able to apply The intersection manager is then able to apply the prioritization algorithm.the prioritization algorithm.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 49

Experiments – Cont.Experiments – Cont.The temporal planning process is then applied to The temporal planning process is then applied to every vehicle in the priority order.every vehicle in the priority order.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 50

Experiments – Cont.Experiments – Cont.A temporal plan for a vehicle is a list of couples :A temporal plan for a vehicle is a list of couples :((number of the regionnumber of the region, , entrance time in the regionentrance time in the region).).

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 51

Experiments – Cont.Experiments – Cont.For a non coordinated vehicle, this temporal plan For a non coordinated vehicle, this temporal plan represents an estimation of the vehicles represents an estimation of the vehicles behavior. behavior.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 52

ConclusionConclusion• A centralized A centralized “INTERSECTION MANAGER”“INTERSECTION MANAGER”

periodically computes a reference trajectory for periodically computes a reference trajectory for every coordinated vehicle.every coordinated vehicle.

• The capabilities of such a vehicle include The capabilities of such a vehicle include trajectory following and local obstacle avoidance.trajectory following and local obstacle avoidance.

• The intersection manager deals with:The intersection manager deals with:

1.1. Reasoning the intentions of other vehicles.Reasoning the intentions of other vehicles.It makes use of the structure of the intersection both to It makes use of the structure of the intersection both to estimate the behavior of estimate the behavior of the non coordinated vehicles and the non coordinated vehicles and

to to plan the motion of the coordinated vehicles.plan the motion of the coordinated vehicles.

2.2. Motion planning in a dynamic and Motion planning in a dynamic and uncertain uncertain world.world.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 53

Conclusion – Cont.Conclusion – Cont.• The partial centralization enables to satisfy the The partial centralization enables to satisfy the

optimality criterion efficiently.optimality criterion efficiently.• The safety criterion is dealt with first by the The safety criterion is dealt with first by the

intersection manager and then by each vehicle.intersection manager and then by each vehicle.• In order to cope with the complexity of the In order to cope with the complexity of the

problem, the intersection manager applies the problem, the intersection manager applies the principles of:principles of:

1.1. Prioritization.Prioritization.

2.2. Path / velocity decomposition.Path / velocity decomposition.

Orit

Kat

z

038

2485

55

236805 - Seminar in CS (Robotics) 54

Personal ThoughtsPersonal Thoughts