ad_rss_map_integration
|
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>
Classes | |
class | RssObjectInstanceDummy |
Public Types | |
typedef std::shared_ptr< RssArtificialObjectAdapter > | Ptr |
Smart pointer on RssArtificialObjectAdapter. | |
typedef std::shared_ptr< RssArtificialObjectAdapter const > | ConstPtr |
Smart pointer on constant RssArtificialObjectAdapter. | |
![]() | |
typedef std::shared_ptr< RssObjectAdapter > | Ptr |
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 |
![]() | |
typedef std::shared_ptr< RssObjectAdapterData > | Ptr |
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... | |
![]() | |
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... | |
![]() | |
RssObjectAdapterData () | |
standard constructor | |
virtual | ~RssObjectAdapterData ()=default |
standard destructor | |
RssObjectAdapterData (const RssObjectAdapterData &other)=default | |
standard copy constructor | |
RssObjectAdapterData (RssObjectAdapterData &&other)=default | |
standard move constructor | |
RssObjectAdapterData & | operator= (const RssObjectAdapterData &other)=default |
standard assignment operator More... | |
RssObjectAdapterData & | operator= (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 |
![]() | |
ObjectInstancePtr | mObjectInstance |
Additional Inherited Members | |
![]() | |
::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()} |
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.
|
inlineexplicit |
constructor
[in] | objectAdapterData | the RSS relevant data for the artificial object to be considered which describes all required field for RssObjectAdapter to operate on this. |
|
inlineoverride |
get the default RSS dynamics to be used for the object.
Reimplementation returns respective data from RssObjectAdapterData passed at construction time.