Skip to content

Commit

Permalink
Allow multiple situations per ego vehicle/object pair
Browse files Browse the repository at this point in the history
Especially in intersection scenarios RSS has to check multiple
configurations: ego vehicle as well as the other object have multiple
possible routes through the intersection. Every route pair can
introduce a new situation between the two vehicles. To cover the worst
case all of them have to be analyzed.

This has some further consequences for the implementation of the ad-rss-
lib:

Add RssSituationIdProvider and made RssSituationExtraction a class
holding RssSituationIdProvider instance to keep track of the different
situation classes. By this, multiple scenes of one time step might end
up to represent actually the same situation.
These situation descriptions are merged in the sense of the worst case
within RssSituationExtraction to ensure, that the situation id in the
resulting SituationVector is unique.

Furthermore, the velocity components of the ego vehicle differ if the
roadArea of the scene changes; therefore the egoVehicle object
description (with occupied regions and velocity) had to be moved into
the world::Scene.

As this would have duplicated the egoVehicle dynamics,
those had to be separated from the world::Object description.
The type world::Dynamics was renamed to world::RssDynamics and expanded
by the responseTime.

world::Scene got the objectRssDynamics; whereas world::WorldModel got
assigned the egoVehicleRssDynamics.

RssCheckTestBaseT: egoVehicle response time became actually different
from object response time, which requires some adaptions and fixes.
  • Loading branch information
berndgassmann authored and fabianoboril committed May 2, 2019
1 parent 958a8e6 commit 7a67d9b
Show file tree
Hide file tree
Showing 79 changed files with 3,876 additions and 3,519 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
## Latest changes

## Release 1.3.0
* Allow multiple situations per ego vehicle/object pair: Add RssSituationIdProvider and made RssSituationExtraction a class holding RssSituationIdProvider instance to keep track of the different situation classes
* Renamed world::Dynamics in world::RssDynamics, extended it by responseTime and separated it from world::Object; world::Scene got the objectRssDynamics and world::WorldModel the egoVehicleRssDynamics each as separate elements
* Extended world::Scene by egoVehicle object description as occupied regions and velocity are actually scene dependent (e.g. when considering different vehicle predictions)
* Added world::ObjectType::Invalid
* Small updates to be compliant to clang-tidy-3.8 static code analysis
* Added basic FAQ
* Added official support for Ubuntu 14.04 (GCC 4.8, Clang 3.4 and 3.8/3.9)
Expand Down
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ set(BUILD_STATIC_ANALYSIS "OFF" CACHE BOOL "Enable static code analysis")

include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
project(ad-rss-lib VERSION 1.2.0)
project(ad-rss-lib VERSION 1.3.0)

set(CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 11)
Expand Down Expand Up @@ -115,6 +115,7 @@ add_library(${PROJECT_NAME} SHARED
src/situation/RssIntersectionChecker.cpp
src/situation/RssSituation.cpp
src/world/RssSituationCoordinateSystemConversion.cpp
src/world/RssSituationIdProvider.cpp
src/world/RssObjectPositionExtractor.cpp
${GENERATED_SOURCES}
)
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed doc/images/rss_integration.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions doc/includes/HLD-KeyDesignDecisionsAndAlternatives.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -339,8 +339,8 @@ the situation based coordinate system merges in a first step all lanes segments
relevant to the situation (ego vehicle - object pair) into one situation
specific metric road area. One can imagine this step as the creation
of a bounding box around the two vehicles
that is large enough to cover the (relevant) worst case movements of those within
the reaction time while ignoring actual markings on the road between the lanes.
that is large enough to cover the relevant positions of those
while ignoring actual markings on the road between the lanes.
By this, especially the physical lateral velocities and accelerations within the
Cartesian 2D space of the road area can be measured and calculated straight
forward without any discontinuities (see also the illustrations in
Expand Down
Loading

0 comments on commit 7a67d9b

Please sign in to comment.