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

forward declaration of RssRouteCheckerControl class More...

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

Public Types

typedef std::shared_ptr< RssRouteCheckerControlPtr
 Smart pointer on RssObjectAdapter.
 
typedef std::shared_ptr< RssRouteCheckerControl const > ConstPtr
 Smart pointer on constant RssObjectAdapter.
 
using DefaultRssDynamicsCallbackFunctionType = std::function<::ad::rss::world::RssDynamics(OBJECT_INSTANCE_TYPE vehicle)>
 Callback function type to query the default RSS parameters to be used for the given other vehicle instance.
 
using VehicleConstellationCallbackFunctionType = std::function<::ad::rss::map::RssConstellationConfiguration(::ad::rss::map::RssRoute const &route, ::ad::rss::map::RssObjectData const &egoVehicleObject, OBJECT_INSTANCE_TYPE egoVehicle, ::ad::rss::map::RssObjectData const &vehicleObject, OBJECT_INSTANCE_TYPE vehicle)>
 Callback function type to query the RssConstellationConfiguration of a concrete vehicle constellation within the RssRouteChecker calculations. More...
 
using PedestrianConstellationCallbackFunctionType = std::function<::ad::rss::map::RssConstellationConfiguration(::ad::rss::map::RssRoute const &route, ::ad::rss::map::RssObjectData const &egoVehicleObject, OBJECT_INSTANCE_TYPE egoVehicle, ::ad::rss::map::RssObjectData const &pedestrianObject, OBJECT_INSTANCE_TYPE pedestrian)>
 Callback function type to query the RssConstellationConfiguration of a concrete pedestrian constellation within the RssRouteChecker calculations. More...
 
using ArtificialObjectConstellationCallbackFunctionType = std::function<::ad::rss::map::RssConstellationConfiguration(::ad::rss::map::RssRoute const &route, ::ad::rss::map::RssObjectData const &egoVehicleObject, OBJECT_INSTANCE_TYPE egoVehicle, ::ad::rss::map::RssObjectData const &artificialObject)>
 Callback function type to query the RssConstellationConfiguration of a concrete artificial object constellation within the RssRouteChecker calculations. More...
 
using RssRoutingTargetOperation = typename RssVehicleAdapter< OBJECT_INSTANCE_TYPE >::RssRoutingTargetOperation
 RssRoutingTargetOperation type from RssVehicleAdapter.
 
using RssRoutingTargetCommand = typename RssVehicleAdapter< OBJECT_INSTANCE_TYPE >::RssRoutingTargetCommand
 RssRoutingTargetCommand type from RssVehicleAdapter.
 

Public Member Functions

 RssRouteCheckerControl ()=default
 default constructor
 
virtual ~RssRouteCheckerControl ()=default
 default destructor
 
void registerDefaultRssDynamicsCallback (::ad::rss::world::ObjectType const objectType, DefaultRssDynamicsCallbackFunctionType callback)
 Register a callback function to query the default RSS parameters to be used for the respective vehicle instance of given objectType.
 
bool isDefaultRssDynamicsCallbackRegistered (::ad::rss::world::ObjectType const objectType) const
 
::ad::rss::world::RssDynamics getDefaultRssDynamics (::ad::rss::world::ObjectType const objectType, OBJECT_INSTANCE_TYPE vehicle) const
 
void registerVehicleConstellationCallback (VehicleConstellationCallbackFunctionType callback)
 Register a callback function to query the RssConstellationConfiguration of a concrete vehicle constellation within the RssRouteChecker calculations.
 
bool isVehicleConstellationCallbackRegistered () const
 
::ad::rss::map::RssConstellationConfiguration getVehicleConstellation (::ad::rss::map::RssRoute const &route, ::ad::rss::map::RssObjectData const &egoVehicleObject, OBJECT_INSTANCE_TYPE egoVehicle, ::ad::rss::map::RssObjectData const &vehicleObject, OBJECT_INSTANCE_TYPE vehicle) const
 Returns the RssConstellationConfiguration of a concrete vehicle constellation within the RssRouteChecker calculations by calling the registered callback function (called by RssEgoVehicleAdapter) More...
 
void registerPedestrianConstellationCallback (PedestrianConstellationCallbackFunctionType callback)
 Register a callback function to query the RssConstellationConfiguration of a concrete pedestrian constellation within the RssRouteChecker calculations.
 
bool isPedestrianConstellationCallbackRegistered () const
 
::ad::rss::map::RssConstellationConfiguration getPedestrianConstellation (::ad::rss::map::RssRoute const &route, ::ad::rss::map::RssObjectData const &egoVehicleObject, OBJECT_INSTANCE_TYPE egoVehicle, ::ad::rss::map::RssObjectData const &pedestrianObject, OBJECT_INSTANCE_TYPE pedestrian) const
 Returns the RssConstellationConfiguration of a concrete pedestrian constellation within the RssRouteChecker calculations by calling the registered callback function (called by RssEgoVehicleAdapter) More...
 
void registerArtificialObjectConstellationCallback (ArtificialObjectConstellationCallbackFunctionType callback)
 Register a callback function to query the RssConstellationConfiguration of a concrete artificial object constellation within the RssRouteChecker calculations.
 
bool isArtificialObjectConstellationCallbackRegistered () const
 
::ad::rss::map::RssConstellationConfiguration getArtificialObjectConstellation (::ad::rss::map::RssRoute const &route, ::ad::rss::map::RssObjectData const &egoVehicleObject, OBJECT_INSTANCE_TYPE egoVehicle, ::ad::rss::map::RssObjectData const &artificialObject) const
 Returns the RssConstellationConfiguration of a concrete artificial object constellation within the RssRouteChecker calculations by calling the registered callback function (called by RssEgoVehicleAdapter) (can be used by derivatives of RssRouteChecker) More...
 
void setRoadBoundariesMode (const ::ad::rss::map::RssAppendRoadBoundariesMode roadBoundariesMode)
 sets the current mode for respecting the road boundaries
 
::ad::rss::map::RssAppendRoadBoundariesMode getRoadBoundariesMode () const
 
void setCurrentGreenTrafficLights (::ad::map::landmark::LandmarkIdSet const &currentGreenTrafficLights)
 sets the current green traffic lights to be considered
 
::ad::map::landmark::LandmarkIdSet getCurrentGreenTrafficLights () const
 
void setPositionJumpTraveledDistance (ad::physics::Distance const positionJumpTraveledDistance)
 sets the distance interpreted as a jump of a vehicle triggering new route calucations
 
ad::physics::Distance getPositionJumpTraveledDistance () const
 gets the distance interpreted as a jump of a vehicle triggering new route calucations
 
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...
 
ad::physics::Distance getMinimumDistanceToObjectsThatHaveToBeAnalyzed () const
 Defines the distance below which a detailed analysis becomes necessary regardless of the objects stopping distance estimates. More...
 
void setConsiderPositionConfidence (bool const consider_position_confidence)
 
bool getConsiderPositionConfidence ()
 
void setLogLevel (const spdlog::level::level_enum logLevel)
 sets the current log level
 
void setMapLogLevel (const spdlog::level::level_enum mapLogLevel)
 sets the current map log level
 
void setActiveRoutingTargets (ad::rss::world::ObjectId vehicleId, ::ad::map::point::ENUPointList const &activeRoutingTargets)
 sets the the current active routing targets (called by RssVehicleAdapter) More...
 
::ad::map::point::ENUPointList getActiveRoutingTargets (ad::rss::world::ObjectId vehicleId) const
 
void appendRoutingTargets (ad::rss::world::ObjectId vehicleId, ::ad::map::point::ENUPointList const &routingTargetsToAppend)
 appends a list of routing targets to the current routing target list of the respective vehicle More...
 
void replaceRoutingTargets (ad::rss::world::ObjectId vehicleId, ::ad::map::point::ENUPointList const &newRoutingTargets)
 replaces the current routing targets of the respective vehicle More...
 
RssRoutingTargetOperation getCurrentRoutingTargetOperation (ad::rss::world::ObjectId vehicleId)
 
void dropRoute (ad::rss::world::ObjectId vehicleId)
 drop the current route of the respective vehicle More...
 
void dropVehicle (ad::rss::world::ObjectId vehicleId)
 erase all data of a vehicle from internal lists (called by ~RssVehicleAdapter)
 

Detailed Description

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

forward declaration of RssRouteCheckerControl class

class for interacting with the RssRouteChecker in a thread safe manner

Allows to register callbacks and configuration values that get called on calculations of RssRouteChecker via the RssObjectAdapter classes default implementations.

Member Typedef Documentation

◆ ArtificialObjectConstellationCallbackFunctionType

template<class OBJECT_INSTANCE_TYPE >
using ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::ArtificialObjectConstellationCallbackFunctionType = std::function<::ad::rss::map::RssConstellationConfiguration( ::ad::rss::map::RssRoute const &route, ::ad::rss::map::RssObjectData const &egoVehicleObject, OBJECT_INSTANCE_TYPE egoVehicle, ::ad::rss::map::RssObjectData const &artificialObject)>

Callback function type to query the RssConstellationConfiguration of a concrete artificial object constellation within the RssRouteChecker calculations.

Parameters
[in]routeThe current route of the ego vehicle under consideration
[in]egoVehicleObjectthe ego vehicle object data of this constellation
[in]egoVehiclethe ego vehicle instance pointer of this constellation
[in]artificialObjectthe artificial object data of this constellation
Returns
RssConstellationConfiguration to be used for the constellation

◆ PedestrianConstellationCallbackFunctionType

template<class OBJECT_INSTANCE_TYPE >
using ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::PedestrianConstellationCallbackFunctionType = std::function<::ad::rss::map::RssConstellationConfiguration(::ad::rss::map::RssRoute const &route, ::ad::rss::map::RssObjectData const &egoVehicleObject, OBJECT_INSTANCE_TYPE egoVehicle, ::ad::rss::map::RssObjectData const &pedestrianObject, OBJECT_INSTANCE_TYPE pedestrian)>

Callback function type to query the RssConstellationConfiguration of a concrete pedestrian constellation within the RssRouteChecker calculations.

Parameters
[in]routeThe current route of the ego vehicle under consideration
[in]egoVehicleObjectthe ego vehicle object data of this constellation
[in]egoVehiclethe ego vehicle instance pointer of this constellation
[in]pedestrianObjectthe pedestrian object data of this constellation
[in]pedestrianthe pedestrian instance pointer of this constellation
Returns
RssConstellationConfiguration to be used for the constellation

◆ VehicleConstellationCallbackFunctionType

template<class OBJECT_INSTANCE_TYPE >
using ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::VehicleConstellationCallbackFunctionType = std::function<::ad::rss::map::RssConstellationConfiguration(::ad::rss::map::RssRoute const &route, ::ad::rss::map::RssObjectData const &egoVehicleObject, OBJECT_INSTANCE_TYPE egoVehicle, ::ad::rss::map::RssObjectData const &vehicleObject, OBJECT_INSTANCE_TYPE vehicle)>

Callback function type to query the RssConstellationConfiguration of a concrete vehicle constellation within the RssRouteChecker calculations.

Parameters
[in]routeThe current route of the ego vehicle under consideration
[in]egoVehicleObjectthe ego vehicle object data of this constellation
[in]egoVehiclethe ego vehicle instance pointer of this constellation
[in]vehicleObjectthe vehicle object data of this constellation
[in]vehiclethe vehicle instance pointer of this constellation
Returns
RssConstellationConfiguration to be used for the constellation

Member Function Documentation

◆ appendRoutingTargets()

template<class OBJECT_INSTANCE_TYPE >
void ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::appendRoutingTargets ( ad::rss::world::ObjectId  vehicleId,
::ad::map::point::ENUPointList const &  routingTargetsToAppend 
)
inline

appends a list of routing targets to the current routing target list of the respective vehicle

Parameters
[in]vehicleIdobject id of the vehicle to append the routing targets
[in]routingTargetsToAppendthe routing targets to append

◆ dropRoute()

template<class OBJECT_INSTANCE_TYPE >
void ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::dropRoute ( ad::rss::world::ObjectId  vehicleId)
inline

drop the current route of the respective vehicle

Enforces a new route calculation of the vehicle by replacing the routing targets with the current active ones.

Parameters
[in]vehicleIdobject id of the vehicle to replace the routing targets

◆ getActiveRoutingTargets()

template<class OBJECT_INSTANCE_TYPE >
::ad::map::point::ENUPointList ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::getActiveRoutingTargets ( ad::rss::world::ObjectId  vehicleId) const
inline
Returns
the the current active routing targets of the respective vehicle
Parameters
[in]vehicleIdobject id of the vehicle reporting its active routing targets

◆ getArtificialObjectConstellation()

template<class OBJECT_INSTANCE_TYPE >
::ad::rss::map::RssConstellationConfiguration ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::getArtificialObjectConstellation ( ::ad::rss::map::RssRoute const &  route,
::ad::rss::map::RssObjectData const &  egoVehicleObject,
OBJECT_INSTANCE_TYPE  egoVehicle,
::ad::rss::map::RssObjectData const &  artificialObject 
) const
inline

Returns the RssConstellationConfiguration of a concrete artificial object constellation within the RssRouteChecker calculations by calling the registered callback function (called by RssEgoVehicleAdapter) (can be used by derivatives of RssRouteChecker)

Parameters
[in]routeThe current route of the ego vehicle under consideration
[in]egoVehicleObjectthe ego vehicle object data of this constellation
[in]egoVehiclethe ego vehicle instance pointer of this constellation
[in]artificialObjectthe artificial object data of this constellation
Returns
RssConstellationConfiguration to be used for the constellation

◆ getCurrentGreenTrafficLights()

template<class OBJECT_INSTANCE_TYPE >
::ad::map::landmark::LandmarkIdSet ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::getCurrentGreenTrafficLights ( ) const
inline
Returns
the current green traffic lights to be considered (called by RssEgoVehicleAdapter)

◆ getCurrentRoutingTargetOperation()

template<class OBJECT_INSTANCE_TYPE >
RssRoutingTargetOperation ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::getCurrentRoutingTargetOperation ( ad::rss::world::ObjectId  vehicleId)
inline
Returns
the current routing target operation of the respective vehicle (called by RssVehicleAdapter)
Parameters
[in]vehicleIdobject id of the vehicle to apply the routing target operation

◆ getDefaultRssDynamics()

template<class OBJECT_INSTANCE_TYPE >
::ad::rss::world::RssDynamics ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::getDefaultRssDynamics ( ::ad::rss::world::ObjectType const  objectType,
OBJECT_INSTANCE_TYPE  vehicle 
) const
inline
Returns
the default RSS parameters to be used for the given vehicle instance of given objectType by calling the registered callback function (called by RssVehicleAdapter)

If no callback function is registered an invalid default constructed ::ad::rss::world::RssDynamics() is returned.

◆ getMinimumDistanceToObjectsThatHaveToBeAnalyzed()

template<class OBJECT_INSTANCE_TYPE >
ad::physics::Distance ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::getMinimumDistanceToObjectsThatHaveToBeAnalyzed ( ) const
inline

Defines 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

◆ getPedestrianConstellation()

template<class OBJECT_INSTANCE_TYPE >
::ad::rss::map::RssConstellationConfiguration ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::getPedestrianConstellation ( ::ad::rss::map::RssRoute const &  route,
::ad::rss::map::RssObjectData const &  egoVehicleObject,
OBJECT_INSTANCE_TYPE  egoVehicle,
::ad::rss::map::RssObjectData const &  pedestrianObject,
OBJECT_INSTANCE_TYPE  pedestrian 
) const
inline

Returns the RssConstellationConfiguration of a concrete pedestrian constellation within the RssRouteChecker calculations by calling the registered callback function (called by RssEgoVehicleAdapter)

Parameters
[in]routeThe current route of the ego vehicle under consideration
[in]egoVehicleObjectthe ego vehicle object data of this constellation
[in]egoVehiclethe ego vehicle instance pointer of this constellation
[in]pedestrianObjectthe pedestrian object data of this constellation
[in]pedestrianthe pedestrian instance pointer of this constellation
Returns
RssConstellationConfiguration to be used for the constellation

◆ getRoadBoundariesMode()

template<class OBJECT_INSTANCE_TYPE >
::ad::rss::map::RssAppendRoadBoundariesMode ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::getRoadBoundariesMode ( ) const
inline
Returns
the current mode for respecting the road boundaries (called by RssEgoVehicleAdapter)

◆ getVehicleConstellation()

template<class OBJECT_INSTANCE_TYPE >
::ad::rss::map::RssConstellationConfiguration ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::getVehicleConstellation ( ::ad::rss::map::RssRoute const &  route,
::ad::rss::map::RssObjectData const &  egoVehicleObject,
OBJECT_INSTANCE_TYPE  egoVehicle,
::ad::rss::map::RssObjectData const &  vehicleObject,
OBJECT_INSTANCE_TYPE  vehicle 
) const
inline

Returns the RssConstellationConfiguration of a concrete vehicle constellation within the RssRouteChecker calculations by calling the registered callback function (called by RssEgoVehicleAdapter)

Parameters
[in]routeThe current route of the ego vehicle under consideration
[in]egoVehicleObjectthe ego vehicle object data of this constellation
[in]egoVehiclethe ego vehicle instance pointer of this constellation
[in]vehicleObjectthe other vehicle object data of this constellation
[in]vehiclethe other vehicle instance pointer of this constellation
Returns
RssConstellationConfiguration to be used for the constellation

◆ isArtificialObjectConstellationCallbackRegistered()

template<class OBJECT_INSTANCE_TYPE >
bool ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::isArtificialObjectConstellationCallbackRegistered ( ) const
inline
Returns
true if a callback function to query the RssConstellationConfiguration of a concrete artificial object constellation within the RssRouteChecker calculations is registered

◆ isDefaultRssDynamicsCallbackRegistered()

template<class OBJECT_INSTANCE_TYPE >
bool ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::isDefaultRssDynamicsCallbackRegistered ( ::ad::rss::world::ObjectType const  objectType) const
inline
Returns
true if a callback function to query the default RSS parameters to be used for the respective vehicle instance of given objectType is registered

◆ isPedestrianConstellationCallbackRegistered()

template<class OBJECT_INSTANCE_TYPE >
bool ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::isPedestrianConstellationCallbackRegistered ( ) const
inline
Returns
true if a callback function to query the RssConstellationConfiguration of a concrete pedestrian constellation within the RssRouteChecker calculations is registered

◆ isVehicleConstellationCallbackRegistered()

template<class OBJECT_INSTANCE_TYPE >
bool ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::isVehicleConstellationCallbackRegistered ( ) const
inline
Returns
true if a callback function to query the RssConstellationConfiguration of a concrete vehicle constellation within the RssRouteChecker calculations is registered

◆ replaceRoutingTargets()

template<class OBJECT_INSTANCE_TYPE >
void ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::replaceRoutingTargets ( ad::rss::world::ObjectId  vehicleId,
::ad::map::point::ENUPointList const &  newRoutingTargets 
)
inline

replaces the current routing targets of the respective vehicle

Parameters
[in]vehicleIdobject id of the vehicle to replace the routing targets
[in]newRoutingTargetsthe new routing targets to be applied

◆ setActiveRoutingTargets()

template<class OBJECT_INSTANCE_TYPE >
void ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::setActiveRoutingTargets ( ad::rss::world::ObjectId  vehicleId,
::ad::map::point::ENUPointList const &  activeRoutingTargets 
)
inline

sets the the current active routing targets (called by RssVehicleAdapter)

Parameters
[in]vehicleIdobject id of the vehicle reporting its active routing targets
[in]activeRoutingTargetsthe active routing targets

◆ setMinimumDistanceToObjectsThatHaveToBeAnalyzed()

template<class OBJECT_INSTANCE_TYPE >
void ad::rss::map::RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::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


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