ad_rss_map_integration
Public Member Functions | Static Public Attributes | Friends | List of all members
ad::rss::map::RssWorldModelCreation Class Reference

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
 

Detailed Description

class providing supporting functions to create a world model and its constellations.

The appendConstellations() and appendRoadBoundaries() are multi-thread safe

Constructor & Destructor Documentation

◆ RssWorldModelCreation() [1/2]

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

Parameters
[in]time_indexthe time index to be applied
[in]defaultEgoRssDynamicsthe default ego vehicles' RssDynamics to be applied

◆ RssWorldModelCreation() [2/2]

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

Parameters
[in]time_indexthe time index to be applied
[in]defaultEgoRssDynamicsthe default ego vehicles' RssDynamics to be applied
[in]connecting_routes_cachea cache for connecting routes to be used

Member Function Documentation

◆ appendConstellations() [1/2]

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.

Parameters
[in]egoObjectDatathe ego vehicle's data
[in]egoRoutethe 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]otherObjectDatathe other object's data
[in]restrict_speed_limit_modethe mode to select the behavior of object_rss_dynamics.max_speed_on_acceleration and egoRssDynamics.max_speed_on_acceleration parameter
[in]greenTrafficLightsthe list of known green traffic lights. Required to derive the correct priority rule for the ego vehicle when approaching a traffic light intersection.
[in]modethe mode of this constellation
Returns
true if the operation succeeded.

◆ appendConstellations() [2/2]

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.

Parameters
[in]egoObjectDatathe ego vehicle's data
[in]egoRoutethe 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]otherObjectDatathe other object's data
[in]restrict_speed_limit_modethe mode to select the behavior of object_rss_dynamics.max_speed_on_acceleration and egoRssDynamics.max_speed_on_acceleration parameter
[in]greenTrafficLightsthe list of known green traffic lights. Required to derive the correct priority rule for the ego vehicle when approaching a traffic light intersection.
[in]modethe mode of this constellation
[in]egoObjectPredictionHintsroute prediction hints for ego object
[in]otherObjectPredictionHintsroute prediction hints for other object
Returns
true if the operation succeeded.

◆ appendRoadBoundaries()

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.

Parameters
[in]egoObjectDatathe ego vehicle's data
[in]egoRoutethe route the ego vehicle intends to take.
[in]operationModethe mode how the road boundaries shall be handled
Returns
true if the operation succeeded.

◆ getWorldModel()

::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.

◆ setMinimumDistanceToObjectsThatHaveToBeAnalyzed()

void ad::rss::map::RssWorldModelCreation::setMinimumDistanceToObjectsThatHaveToBeAnalyzed ( ad::physics::Distance const  minimumDistanceToObjectsThatHaveToBeAnalyzed)
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

Member Data Documentation

◆ cMinConnectedRouteLength

const ::ad::physics::Distance ad::rss::map::RssWorldModelCreation::cMinConnectedRouteLength
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.


The documentation for this class was generated from the following file: