Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page describes the usage and function of the Central Routing Example.

Sources: https://git.rwth-aachen.de/CPM/Project/Lab/software/tree/d48cf9c589cd8375b7ea147d7931ed0f29650278/You find the source code for our examples in the software-folder:

C++
cd ~\dev\software\central_routing_example

Goal

A variable number of vehicles drive randomly on the map with no collisions:


Multimedia
nameRouting.mp4
width100%

Usage

First make sure that the supporting software (LCC, IPS) is running and that the vehicles are online and placed on the map.

...

Map representation

The program is based on the routing graph for the map layout.

Sources:

C++
cd ~/\dev/\software/\central_routing_example
./run.bash 2,3,5,7,11

The list of integers in the run command must be the exact list of vehicle IDs for the active vehicles.

How it works

The program is based on the routing graph for the map layout.

Sources:
https://git.rwth-aachen.de/CPM/Project/Lab/software/blob/d48cf9c589cd8375b7ea147d7931ed0f29650278/matlab_scripts/map_print/map_print2/lane_graph.m
https://git.rwth-aachen.de/CPM/Project/Lab/software/blob/d48cf9c589cd8375b7ea147d7931ed0f29650278/central_routing_example/src/lane_graph.hpp

\src\lane_graph.hpp
MATLAB
cd ~\dev\software\matlab_scripts\map_print\map_print2\lane_graph.m

The graph edges correspond to center lines, along which a vehicle may drive. Parallel lanes are not modeled, instead extra edges are added for lane changes in discrete locations.

Waiting Mode

The program starts in a waiting mode. It will transition into the running mode, when the following conditions are met.

  • Vehicle IPS observations were received for all expected vehicles.
  • All vehicles could be matched to the graph. All vehicles must be close to a center-line and oriented correctly.
Running Mode

The route planning and collision avoidance runs independently of the vehicle's actual behaviour. It is assumed that the vehicles follow the reference trajectories with sufficient accuracy.

...

The function MultiVehicleTrajectoryPlanner::start implements the trajectory buffer.

Apply

If you use the real lab application, make sure that the supporting software (LCC, IPS) is running and that the vehicles are online and placed on the map. Assure that you activated Lab mode.

In a new terminal, run:

cd ~/dev/software/central_routing_example
./run.bash 2,3,5,7,11

The list of integers in the run command must be the exact list of vehicle IDs for the active vehicles.