ad_rss_map_integration
|
class providing supporting functions to create a world model and its constellations. More...
#include <ad/rss/map/RssWorldModelCreation.hpp>
Public Member Functions | |
RssWorldModelCreation (::ad::rss::world::TimeIndex const &time_index, ::ad::rss::world::RssDynamics const &defaultEgoRssDynamics) | |
create a constellation creation object More... | |
RssWorldModelCreation (::ad::rss::world::TimeIndex const &time_index, ::ad::rss::world::RssDynamics const &defaultEgoRssDynamics, ConnectingRoutesCache &connecting_routes_cache) | |
create a constellation creation object More... | |
~RssWorldModelCreation ()=default | |
default destructor | |
void | setRouteId (::ad::rss::map::RssRouteId const &route_id) |
Setter for a route_id provided on debug output. | |
void | setMinimumDistanceToObjectsThatHaveToBeAnalyzed (ad::physics::Distance const minimumDistanceToObjectsThatHaveToBeAnalyzed) |
Sets the distance below which a detailed analysis becomes necessary regardless of the objects stopping distance estimates. More... | |
bool | appendConstellations (RssObjectData const &egoObjectData, ::ad::map::route::FullRoute const &egoRoute, RssObjectData const &otherObjectData, RssRestrictSpeedLimitMode const &restrict_speed_limit_mode, ::ad::map::landmark::LandmarkIdSet const &greenTrafficLights, ::ad::rss::map::RssConstellationCreationMode const &mode, ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet()) |
create possible constellations between ego vehicle and the object More... | |
bool | appendConstellations (RssObjectData const &egoObjectData, ::ad::map::route::FullRoute const &egoRoute, RssObjectData const &otherObjectData, RssRestrictSpeedLimitMode const &restrict_speed_limit_mode, ::ad::map::landmark::LandmarkIdSet const &greenTrafficLights, ::ad::rss::map::RssConstellationCreationMode const &mode, RssRouteList const &egoObjectPredictionHints, RssRouteList const &otherObjectPredictionHints, ::ad::map::lane::LaneIdSet const &relevantLanes=::ad::map::lane::LaneIdSet()) |
create possible constellations between ego vehicle and the object More... | |
bool | appendRoadBoundaries (RssObjectData const &egoObjectData, ::ad::map::route::FullRoute const &route, RssAppendRoadBoundariesMode const operationMode) |
create constellations between ego vehicle and road boundaries More... | |
::ad::rss::world::WorldModel | getWorldModel () |
get the final world model object More... | |
Static Public Attributes | |
static const ::ad::physics::Distance | cMinConnectedRouteLength |
constant defining the minimum lenght to be used for the search of connected routes More... | |
Friends | |
class | RssWorldModelCreator |
class providing supporting functions to create a world model and its constellations.
The appendConstellations() and appendRoadBoundaries() are multi-thread safe
ad::rss::map::RssWorldModelCreation::RssWorldModelCreation | ( | ::ad::rss::world::TimeIndex const & | time_index, |
::ad::rss::world::RssDynamics const & | defaultEgoRssDynamics | ||
) |
create a constellation creation object
A world model object is created and initialized with given time_index and default ego dynamics
[in] | time_index | the time index to be applied |
[in] | defaultEgoRssDynamics | the default ego vehicles' RssDynamics to be applied |
ad::rss::map::RssWorldModelCreation::RssWorldModelCreation | ( | ::ad::rss::world::TimeIndex const & | time_index, |
::ad::rss::world::RssDynamics const & | defaultEgoRssDynamics, | ||
ConnectingRoutesCache & | connecting_routes_cache | ||
) |
create a constellation creation object
A world model object is created and initialized with given time_index and default ego dynamics
[in] | time_index | the time index to be applied |
[in] | defaultEgoRssDynamics | the default ego vehicles' RssDynamics to be applied |
[in] | connecting_routes_cache | a cache for connecting routes to be used |
bool ad::rss::map::RssWorldModelCreation::appendConstellations | ( | RssObjectData const & | egoObjectData, |
::ad::map::route::FullRoute const & | egoRoute, | ||
RssObjectData const & | otherObjectData, | ||
RssRestrictSpeedLimitMode const & | restrict_speed_limit_mode, | ||
::ad::map::landmark::LandmarkIdSet const & | greenTrafficLights, | ||
::ad::rss::map::RssConstellationCreationMode const & | mode, | ||
::ad::map::lane::LaneIdSet const & | relevantLanes = ::ad::map::lane::LaneIdSet() |
||
) |
create possible constellations between ego vehicle and the object
Based on the map information a connecting route between ego vehicle and the object is created.
[in] | egoObjectData | the ego vehicle's data |
[in] | egoRoute | the route the ego vehicle intends to take. If the given route is empty, all potential route predictions of the ego vehicle are taken into account if required. |
[in] | otherObjectData | the other object's data |
[in] | restrict_speed_limit_mode | the mode to select the behavior of object_rss_dynamics.max_speed_on_acceleration and egoRssDynamics.max_speed_on_acceleration parameter |
[in] | greenTrafficLights | the list of known green traffic lights. Required to derive the correct priority rule for the ego vehicle when approaching a traffic light intersection. |
[in] | mode | the mode of this constellation |
true
if the operation succeeded. bool ad::rss::map::RssWorldModelCreation::appendConstellations | ( | RssObjectData const & | egoObjectData, |
::ad::map::route::FullRoute const & | egoRoute, | ||
RssObjectData const & | otherObjectData, | ||
RssRestrictSpeedLimitMode const & | restrict_speed_limit_mode, | ||
::ad::map::landmark::LandmarkIdSet const & | greenTrafficLights, | ||
::ad::rss::map::RssConstellationCreationMode const & | mode, | ||
RssRouteList const & | egoObjectPredictionHints, | ||
RssRouteList const & | otherObjectPredictionHints, | ||
::ad::map::lane::LaneIdSet const & | relevantLanes = ::ad::map::lane::LaneIdSet() |
||
) |
create possible constellations between ego vehicle and the object
Based on the map information a connecting route between ego vehicle and the object is created.
[in] | egoObjectData | the ego vehicle's data |
[in] | egoRoute | the route the ego vehicle intends to take. If the given route is empty, all potential route predictions of the ego vehicle are taken into account if required. |
[in] | otherObjectData | the other object's data |
[in] | restrict_speed_limit_mode | the mode to select the behavior of object_rss_dynamics.max_speed_on_acceleration and egoRssDynamics.max_speed_on_acceleration parameter |
[in] | greenTrafficLights | the list of known green traffic lights. Required to derive the correct priority rule for the ego vehicle when approaching a traffic light intersection. |
[in] | mode | the mode of this constellation |
[in] | egoObjectPredictionHints | route prediction hints for ego object |
[in] | otherObjectPredictionHints | route prediction hints for other object |
true
if the operation succeeded. bool ad::rss::map::RssWorldModelCreation::appendRoadBoundaries | ( | RssObjectData const & | egoObjectData, |
::ad::map::route::FullRoute const & | route, | ||
RssAppendRoadBoundariesMode const | operationMode | ||
) |
create constellations between ego vehicle and road boundaries
Based on the map information static object constellations at the borders of the driveable lanes are created. For detailed operation modes see the operation modes at RssAppendRoadBoundariesMode.
[in] | egoObjectData | the ego vehicle's data |
[in] | egoRoute | the route the ego vehicle intends to take. |
[in] | operationMode | the mode how the road boundaries shall be handled |
true
if the operation succeeded. ::ad::rss::world::WorldModel ad::rss::map::RssWorldModelCreation::getWorldModel | ( | ) |
get the final world model object
After the call of this function the world model is treated as finalized. No further operation will succeed. Successive calls to this will return an empty default initialized world model.
|
inline |
Sets the distance below which a detailed analysis becomes necessary regardless of the objects stopping distance estimates.
Far away object might not be analyzed in detail, if the stopping distances allow it
|
static |
constant defining the minimum lenght to be used for the search of connected routes
Actually the maximum of this and the conservative stopping distances of the objects (see RssObjectConversion::calculateConservativeMinStoppingDistance()) is used for the calculations.