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

Base class to access artificialObject information required to perform the RSS checks in conjunction with the RssRouteChecker class. More...

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

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

Classes

class  RssObjectInstanceDummy
 

Public Types

typedef std::shared_ptr< RssArtificialObjectAdapterPtr
 Smart pointer on RssArtificialObjectAdapter.
 
typedef std::shared_ptr< RssArtificialObjectAdapter const > ConstPtr
 Smart pointer on constant RssArtificialObjectAdapter.
 
- Public Types inherited from ad::rss::map::RssObjectAdapter< OBJECT_INSTANCE_TYPE >
typedef std::shared_ptr< RssObjectAdapterPtr
 Smart pointer on RssObjectAdapter.
 
typedef std::shared_ptr< RssObjectAdapter const > ConstPtr
 Smart pointer on constant RssObjectAdapter.
 
typedef RssObjectInstance< OBJECT_INSTANCE_TYPE >::Ptr ObjectInstancePtr
 
typedef RssObjectInstance< OBJECT_INSTANCE_TYPE >::ConstPtr ObjectInstanceConstPtr
 
- Public Types inherited from ad::rss::map::RssObjectAdapterData
typedef std::shared_ptr< RssObjectAdapterDataPtr
 Smart pointer on RssObjectAdapterData.
 
typedef std::shared_ptr< RssObjectAdapterData const > ConstPtr
 Smart pointer on constant RssObjectAdapterData.
 

Public Member Functions

 RssArtificialObjectAdapter (RssObjectAdapterData const &objectAdapterData, ::ad::rss::world::RssDynamics rssDynamics, typename RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::Ptr checkerControl)
 constructor More...
 
virtual ~RssArtificialObjectAdapter ()=default
 default destructor
 
::ad::rss::world::RssDynamics getDefaultRssDynamics () const override
 get the default RSS dynamics to be used for the object. More...
 
- Public Member Functions inherited from ad::rss::map::RssObjectAdapter< OBJECT_INSTANCE_TYPE >
 RssObjectAdapter (ObjectInstancePtr const objectInstance)
 default constructor
 
virtual ~RssObjectAdapter ()=default
 default destructor
 
::ad::rss::world::ObjectType getObjectType () const
 
RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::Ptr getCheckerControl () const
 get the checker control instance
 
ObjectInstancePtr getObjectInstance () const
 get the underlying object instance type
 
OBJECT_INSTANCE_TYPE & getObjectInstanceType ()
 get the underlying object instance type.
 
OBJECT_INSTANCE_TYPE const & getObjectInstanceType () const
 get the underlying object instance type
 
virtual ::ad::rss::world::RssDynamics getDefaultRssDynamics () const
 get the default RSS dynamics to be used for the object. More...
 
::ad::physics::Dimension3D getDimensions () const override
 get the dimensions of the object to be considered: the stored (estimated) dimensions are expanded by the position confidence
 
virtual ::ad::map::match::Object getMatchedObject (::ad::map::match::AdMapMatching const &mapMatching, physics::Distance const sampling_distance) const
 Perform actual map matching of the object. More...
 
virtual bool isObjectIdUniqueOverTime () const
 Indicate if the object id of this remains unique over time. More...
 
- Public Member Functions inherited from ad::rss::map::RssObjectAdapterData
 RssObjectAdapterData ()
 standard constructor
 
virtual ~RssObjectAdapterData ()=default
 standard destructor
 
 RssObjectAdapterData (const RssObjectAdapterData &other)=default
 standard copy constructor
 
 RssObjectAdapterData (RssObjectAdapterData &&other)=default
 standard move constructor
 
RssObjectAdapterDataoperator= (const RssObjectAdapterData &other)=default
 standard assignment operator More...
 
RssObjectAdapterDataoperator= (RssObjectAdapterData &&other)=default
 standard move operator More...
 
bool operator== (const RssObjectAdapterData &other) const
 standard comparison operator More...
 
bool operator!= (const RssObjectAdapterData &other) const
 standard comparison operator More...
 
::ad::rss::world::ObjectId getObjectId () const
 get the id of the object
 
::ad::rss::world::ObjectType getObjectType () const
 get the type of the object
 
::ad::map::point::ENUPoint getCenterPoint () const
 get the center point of the object
 
::ad::physics::Dimension2D getPositionConfidence () const
 get the position confidence of the center point
 
::ad::physics::Probability getPositionConfidenceLevel () const
 get the position confidence level of the center point
 
::ad::map::point::ENUHeading getHeading () const
 get the heading of the object
 
virtual ::ad::physics::Dimension3D getDimensions () const
 get the dimensions of the object to be considered
 
::ad::physics::SpeedRange getSpeedRange () const
 get the speed of the object
 
::ad::physics::AngularVelocity getYawRate () const
 get the change of the heading (which is the yaw rate) of the object
 
::ad::physics::Angle getSteeringAngle () const
 get the steering angle of the vehicle. Might be invalid if not available.
 

Protected Attributes

::ad::rss::world::RssDynamics const mRssDynamics
 
- Protected Attributes inherited from ad::rss::map::RssObjectAdapter< OBJECT_INSTANCE_TYPE >
ObjectInstancePtr mObjectInstance
 

Additional Inherited Members

- Public Attributes inherited from ad::rss::map::RssObjectAdapterData
::ad::rss::world::ObjectId id {0}
 
::ad::rss::world::ObjectType object_type {::ad::rss::world::ObjectType::Invalid}
 
::ad::map::point::ENUPoint center_point
 
::ad::physics::Dimension2D position_confidence_ellipse_half_axis_dimension
 
::ad::physics::Probability position_confidence_ellipse_confidence_level
 
::ad::map::point::ENUHeading heading {std::numeric_limits<double>::quiet_NaN()}
 
::ad::physics::Dimension3D dimension
 
::ad::physics::SpeedRange speed_range
 
::ad::physics::AngularVelocity yaw_rate
 
::ad::physics::Angle steering_angle {std::numeric_limits<double>::quiet_NaN()}
 

Detailed Description

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

Base class to access artificialObject information required to perform the RSS checks in conjunction with the RssRouteChecker class.

This class specializes the RssObjectAdapter by functionality required specifically for artificialObjects. This class derives virtually from the RssObjectAdapter which allows for a similar class layout on side of the concrete implementations of this to be able to handle common functionality of vehicles, pedestrians and artificialObjects at one place. E.g.:

class RssObjectAdapterCustom: public virtual RssObjectAdapter {}; class RssPedestrianAdapterCustom: public RssObjectAdapterCustom, public RssPedestrianAdapter {}; class RssVehicleAdapterCustom: public RssObjectAdapterCustom, public virtual RssVehicleAdapter {};

Where RssArtificialObjectAdapter plays a special role to be used to inject additional artificial objects to be considered in addition by the RSS calculation.

Since this class is already constructed with all information required, all virtual functions of the base class RssObjectAdapter are already handled. There is no need to derive from this.

Artificial objects are already used to inject road boundaries within RssWorldModelCreation as virtual borders at the border of the lanes. But one is able to make use of this in may ways, since these are considered RSS internally just as everything else. You can inject a duplicate of a real vehicle to enforce a different RSS operation mode or to have two sets of RSS parameters of one vehicle considered at once (you have to ensure that the object id of this is different from all duplicates for sure). Or, if you want to enforce a vehicle to stop in front of a red light, you might be able to inject an artificial object in the middle of the lane at the Stopline to achieve such (and remove the virtual object when it becomes green). Especially for research tasks this provides some freedom to the user.

Constructor & Destructor Documentation

◆ RssArtificialObjectAdapter()

template<class OBJECT_INSTANCE_TYPE >
ad::rss::map::RssArtificialObjectAdapter< OBJECT_INSTANCE_TYPE >::RssArtificialObjectAdapter ( RssObjectAdapterData const &  objectAdapterData,
::ad::rss::world::RssDynamics  rssDynamics,
typename RssRouteCheckerControl< OBJECT_INSTANCE_TYPE >::Ptr  checkerControl 
)
inlineexplicit

constructor

Parameters
[in]objectAdapterDatathe RSS relevant data for the artificial object to be considered which describes all required field for RssObjectAdapter to operate on this.

Member Function Documentation

◆ getDefaultRssDynamics()

template<class OBJECT_INSTANCE_TYPE >
::ad::rss::world::RssDynamics ad::rss::map::RssArtificialObjectAdapter< OBJECT_INSTANCE_TYPE >::getDefaultRssDynamics ( ) const
inlineoverride

get the default RSS dynamics to be used for the object.

Reimplementation returns respective data from RssObjectAdapterData passed at construction time.


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