ad_rss_map_integration
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
ad::rss::map::RssRouteCheckerVehicleData< OBJECT_INSTANCE_TYPE > Class Template Reference

Class to store data of RssVehicleAdapter. More...

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

Inheritance diagram for ad::rss::map::RssRouteCheckerVehicleData< OBJECT_INSTANCE_TYPE >:
Inheritance graph
[legend]
Collaboration diagram for ad::rss::map::RssRouteCheckerVehicleData< OBJECT_INSTANCE_TYPE >:
Collaboration graph
[legend]

Public Types

enum class  RouteExtensionMode { eAllowMultipleRoutes , eAllowOnlySingleRoute , eAllowOnlyTargetRoute }
 enumeration defining the mode on route extension More...
 
typedef RssVehicleAdapter< OBJECT_INSTANCE_TYPE > RssVehicleAdapterType
 

Public Member Functions

 RssRouteCheckerVehicleData ()=default
 default constructor
 
 RssRouteCheckerVehicleData (RssRouteCheckerVehicleData const &other)=default
 default copy constructor
 
 ~RssRouteCheckerVehicleData ()
 default destrutor
 
RssRouteCheckerVehicleDataoperator= (const RssRouteCheckerVehicleData &other)=default
 default assignment operator
 
void updateAdapter (typename RssVehicleAdapterType::Ptr vehicleAdapter)
 function to update the adapter class of this
 
RssVehicleAdapterType::Ptr getAdapter ()
 function to get the adapter class of this
 
RssVehicleAdapterType::ConstPtr getAdapter () const
 function to get the adapter class of this
 
void updateRoutes (::ad::physics::Distance const routePreviewDistance, ::ad::map::lane::LaneIdSet const &mapAreaLanes, RouteExtensionMode routeExtensionMode=RouteExtensionMode::eAllowMultipleRoutes)
 Supporting function to update the routes of this. More...
 
void normalizeAndOrderRoutes ()
 Supporting function to normalize the sum of the route likelihood to 1.0 and reorder the list in descending likelihood order.
 
- Public Member Functions inherited from ad::rss::map::RssRouteCheckerObjectData
 RssRouteCheckerObjectData ()=default
 default constructor
 
 RssRouteCheckerObjectData (const RssRouteCheckerObjectData &other)=default
 default copy constructor
 
 ~RssRouteCheckerObjectData ()=default
 default destrutor
 
RssRouteCheckerObjectDataoperator= (const RssRouteCheckerObjectData &other)=default
 default assignment operator
 
bool operator< (RssRouteCheckerObjectData const &other)
 sorting operator to enable map usage
 

Public Attributes

RouteExtensionMode mRouteExtensionMode
 the current active route extension mode
 
RssRouteList mRoutes
 the sorted list of routes
 
std::vector<::ad::map::point::ENUPoint > mRoutingTargets
 the list of routing target to be used for routing purposes
 
bool mActive
 flag indicating if the object is active
 
RssObjectData mRssObjectData
 the actual RssObjectData of this
 
- Public Attributes inherited from ad::rss::map::RssRouteCheckerObjectData
bool mActive {false}
 flag indicating if the object is active
 
bool mClearObjectHistory {false}
 flag indicating if the object's history has to be cleared
 
RssObjectData mRssObjectData
 the actual RssObjectData of this
 

Protected Member Functions

std::vector<::ad::map::point::ENUPoint > handleRoutingTargets ()
 Supporting function to process routing targets.
 
std::vector<::ad::map::route::FullRoute > createRoutes (::ad::physics::Distance const routePreviewDistance, ::ad::map::lane::LaneIdSet const &mapAreaLanes)
 Supporting function to create new routes. More...
 
void shortenRoutes ()
 Supporting function to shorten the predicted routes. More...
 
void extendRoutes (::ad::physics::Distance const routePreviewDistance, std::vector<::ad::map::point::ENUPoint > const &routingTargetsToAppend, ::ad::map::lane::LaneIdSet const &mapAreaLanes)
 Supporting function to extend the predicted routes. More...
 

Protected Attributes

RssRouteId mNextRouteId {1}
 
bool mExternalRoutes {false}
 
RssVehicleAdapterType::Ptr mVehicleAdapter
 the current RssVehicleAdapter
 

Detailed Description

template<class OBJECT_INSTANCE_TYPE>
class ad::rss::map::RssRouteCheckerVehicleData< OBJECT_INSTANCE_TYPE >

Class to store data of RssVehicleAdapter.

Member Enumeration Documentation

◆ RouteExtensionMode

template<class OBJECT_INSTANCE_TYPE >
enum ad::rss::map::RssRouteCheckerVehicleData::RouteExtensionMode
strong

enumeration defining the mode on route extension

Enumerator
eAllowMultipleRoutes 

allow the creation of all possible route candidates

eAllowOnlySingleRoute 

only allow the processing of one single route, additional route candidates with lower likelyhood are dropped

eAllowOnlyTargetRoute 

only allow the processing of the externally provided targets for routing. No further automatic expansions, or route creations are performed.

Member Function Documentation

◆ createRoutes()

template<class OBJECT_INSTANCE_TYPE >
std::vector<::ad::map::route::FullRoute > ad::rss::map::RssRouteCheckerVehicleData< OBJECT_INSTANCE_TYPE >::createRoutes ( ::ad::physics::Distance const  routePreviewDistance,
::ad::map::lane::LaneIdSet const &  mapAreaLanes 
)
protected

Supporting function to create new routes.

If there are routing targets present, these are considered to create new routes to be considered (usually this results in one single route, but depending on the current vehicle positioning, this can also create a set of routes). Otherwise ::ad::map::route::planning::predictRoutesOnDistance() is used to create the routes.

Parameters
[in]routePreviewDistanceindicator for the desired length of the routes

◆ extendRoutes()

template<class OBJECT_INSTANCE_TYPE >
void ad::rss::map::RssRouteCheckerVehicleData< OBJECT_INSTANCE_TYPE >::extendRoutes ( ::ad::physics::Distance const  routePreviewDistance,
std::vector<::ad::map::point::ENUPoint > const &  routingTargetsToAppend,
::ad::map::lane::LaneIdSet const &  mapAreaLanes 
)
protected

Supporting function to extend the predicted routes.

Parameters
[in]routePreviewDistanceindicator for the desired length of the routes
[in]routingTargetsToAppendextend the route according to the routing targets to be appended

◆ shortenRoutes()

template<class OBJECT_INSTANCE_TYPE >
void ad::rss::map::RssRouteCheckerVehicleData< OBJECT_INSTANCE_TYPE >::shortenRoutes
protected

Supporting function to shorten the predicted routes.

remove the parts of the route already taken, try to prepend route sections (i.e. when driving backwards a bit) try to ensure that the back of the vehicle is still within the route to support proper orientation calculations on route

◆ updateRoutes()

template<class OBJECT_INSTANCE_TYPE >
void ad::rss::map::RssRouteCheckerVehicleData< OBJECT_INSTANCE_TYPE >::updateRoutes ( ::ad::physics::Distance const  routePreviewDistance,
::ad::map::lane::LaneIdSet const &  mapAreaLanes,
RouteExtensionMode  routeExtensionMode = RouteExtensionMode::eAllowMultipleRoutes 
)

Supporting function to update the routes of this.

Parameters
[in]routePreviewDistanceindicator for the desired length of the routes
[in]mapAreaLanesresticted set of lanes from a map to be considered (allows speed up)
[in]routeExtensionModedefines the mode of the route extension (default: RouteExtensionMode::eAllowMultipleRoutes)

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