ad_rss_map_integration
Public Types | Public Member Functions | Friends | List of all members
ad::rss::map::RssSceneCreation Class Reference

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

#include <ad/rss/map/RssSceneCreation.hpp>

Public Types

enum  RestrictSpeedLimitMode { RestrictSpeedLimitMode::None, RestrictSpeedLimitMode::ExactSpeedLimit, RestrictSpeedLimitMode::IncreasedSpeedLimit5, RestrictSpeedLimitMode::IncreasedSpeedLimit10 }
 enumeration defining the modes of speed limit consideration within RSS accelerated movement. More...
 
enum  AppendRoadBoundariesMode { AppendRoadBoundariesMode::RouteOnly, AppendRoadBoundariesMode::ExpandRouteToOppositeLanes, AppendRoadBoundariesMode::ExpandRouteToAllNeighbors }
 enumeration defining the operation modes of appendRoadBoundaries() function. More...
 

Public Member Functions

 RssSceneCreation (::ad::rss::world::TimeIndex const &timeIndex, ::ad::rss::world::RssDynamics const &defaultEgoRssDynamics)
 create a scene creation object More...
 
bool appendScenes (RssObjectData const &egoObjectData, ::ad::map::route::FullRoute const &egoRoute, RssObjectData const &otherObjectData, RestrictSpeedLimitMode const &restrictSpeedLimitMode, ::ad::map::landmark::LandmarkIdSet const &greenTrafficLights, ::ad::rss::map::RssMode const &mode)
 create possible scenes between ego vehicle and the object More...
 
bool appendRoadBoundaries (RssObjectData const &egoObjectData, ::ad::map::route::FullRoute const &route, AppendRoadBoundariesMode const operationMode)
 create scenes between ego vehicle and road boundaries More...
 
::ad::rss::world::WorldModel getWorldModel ()
 get the final world model object More...
 

Friends

class RssSceneCreator
 

Detailed Description

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

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

Member Enumeration Documentation

◆ AppendRoadBoundariesMode

enumeration defining the operation modes of appendRoadBoundaries() function.

Enumerator
RouteOnly 

The borders are created at the left border of the leftmost and the right border righmost lane of the provided route.

ExpandRouteToOppositeLanes 

the incoming route is expanded with all parallel lanes of the opposite direction to ensure the whole driveable road is within the boundaries

ExpandRouteToAllNeighbors 

the incoming route is expanded with all parallel neighbor lanes including the opposite direction and shoulder lanes to ensure the whole road is within the boundaries

◆ RestrictSpeedLimitMode

enumeration defining the modes of speed limit consideration within RSS accelerated movement.

Depending on this mode the objectRssDynamics are calculated dynamically or not.

Enumerator
None 

Do not change the objects maxSpeedOnAcceleration parameter of objectRssDynamics.

ExactSpeedLimit 

Set the objects maxSpeedOnAcceleration parameter of objectRssDynamics to the maximal allowed speed of the relevant road section

IncreasedSpeedLimit5 

Set the objects maxSpeedOnAcceleration parameter of objectRssDynamics to the maximal allowed speed of the relevant road section

  • 5 percent
IncreasedSpeedLimit10 

Set the objects maxSpeedOnAcceleration parameter of objectRssDynamics to the maximal allowed speed of the relevant road section

  • 10 percent

Constructor & Destructor Documentation

◆ RssSceneCreation()

ad::rss::map::RssSceneCreation::RssSceneCreation ( ::ad::rss::world::TimeIndex const &  timeIndex,
::ad::rss::world::RssDynamics const &  defaultEgoRssDynamics 
)

create a scene creation object

A world model object is created and initialized with given timeIndex and default ego dynamics

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

Member Function Documentation

◆ appendRoadBoundaries()

bool ad::rss::map::RssSceneCreation::appendRoadBoundaries ( RssObjectData const &  egoObjectData,
::ad::map::route::FullRoute const &  route,
AppendRoadBoundariesMode const  operationMode 
)

create scenes between ego vehicle and road boundaries

Based on the map information static object scenes at the borders of the driveable lanes are created. For detailed operation modes see the operation modes at AppendRoadBoundariesMode.

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.

◆ appendScenes()

bool ad::rss::map::RssSceneCreation::appendScenes ( RssObjectData const &  egoObjectData,
::ad::map::route::FullRoute const &  egoRoute,
RssObjectData const &  otherObjectData,
RestrictSpeedLimitMode const &  restrictSpeedLimitMode,
::ad::map::landmark::LandmarkIdSet const &  greenTrafficLights,
::ad::rss::map::RssMode const &  mode 
)

create possible scenes 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]restrictSpeedLimitModethe mode to select the behavior of objectRssDynamics.maxSpeedOnAcceleration and egoRssDynamics.maxSpeedOnAcceleration 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 scene
Returns
true if the operation succeeded.

◆ getWorldModel()

::ad::rss::world::WorldModel ad::rss::map::RssSceneCreation::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.


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