CARLA
 
载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | Private 成员函数 | Private 属性 | 静态 Private 属性 | 所有成员列表
carla::client::RssSensor类 参考

The RSS Sensor class implementing the carla::client::Sensor interface This class is a proxy to the RssCheck class 更多...

#include <RssSensor.h>

+ 类 carla::client::RssSensor 继承关系图:
+ carla::client::RssSensor 的协作图:

Public 类型

using ActorConstellationCallbackFunctionType
 
- Public 类型 继承自 carla::client::Sensor
using CallbackFunctionType = std::function<void(SharedPtr<sensor::SensorData>)>
 

Public 成员函数

void AppendRoutingTarget (const ::carla::geom::Transform &routing_target)
 appends a routing target to the current routing target list (
 
void DropRoute ()
 drop the current route (
 
const ::ad::rss::world::RssDynamics & GetEgoVehicleDynamics () const
 
const ::ad::rss::world::RssDynamics & GetOtherVehicleDynamics () const
 
const ::ad::rss::world::RssDynamics & GetPedestrianDynamics () const
 
const ::carla::rss::RoadBoundariesModeGetRoadBoundariesMode () const
 
const std::vector<::carla::geom::TransformGetRoutingTargets () const
 
bool IsListening () const override
 Return whether this Sensor instance is currently listening to the associated sensor in the simulator.
 
void Listen (CallbackFunctionType callback) override
 Register a callback to be executed each time a new measurement is received.
 
void RegisterActorConstellationCallback (ActorConstellationCallbackFunctionType callback)
 Register a callback to be executed for each actor within each measurement to be processed to decide on the operation of the RSS sensor in respect to the ego vehicle to actor constellation
 
void ResetRoutingTargets ()
 resets the current routing target (
 
 RssSensor (ActorInitializer init)
 constructor
 
void SetEgoVehicleDynamics (const ::ad::rss::world::RssDynamics &ego_dynamics)
 sets the ego vehicle dynamics to be used by the ego vehicle (
 
void SetLogLevel (const uint8_t &log_level)
 sets the current log level
 
void SetMapLogLevel (const uint8_t &map_log_level)
 sets the current map log level
 
void SetOtherVehicleDynamics (const ::ad::rss::world::RssDynamics &other_vehicle_dynamics)
 sets the ego vehicle dynamics to be used by other vehicles (
 
void SetPedestrianDynamics (const ::ad::rss::world::RssDynamics &pedestrian_dynamics)
 sets the ego vehicle dynamics to be used by pedestrians (
 
void SetRoadBoundariesMode (const ::carla::rss::RoadBoundariesMode &road_boundaries_mode)
 sets the current mode for respecting the road boundaries (
 
void Stop () override
 Stop listening for new measurements.
 
 ~RssSensor ()
 destructor
 
- Public 成员函数 继承自 carla::client::Sensor
 Actor (ActorInitializer init)
 
- Public 成员函数 继承自 carla::client::Actor
 Actor (ActorInitializer init)
 
void AddAngularImpulse (const geom::Vector3D &vector)
 Add angular impulse to the actor.
 
void AddForce (const geom::Vector3D &force)
 Add force to the actor at its center of mass.
 
void AddForce (const geom::Vector3D &force, const geom::Vector3D &location)
 Add force to the actor at certain location.
 
void AddImpulse (const geom::Vector3D &impulse, const geom::Vector3D &location)
 Add impulse to the actor at certain location.
 
void AddImpulse (const geom::Vector3D &vector)
 Add impulse to the actor at its center of mass.
 
void AddTorque (const geom::Vector3D &vector)
 Add a torque to the actor.
 
virtual bool Destroy ()
 Tell the simulator to destroy this Actor, and return whether the actor was successfully destroyed.
 
void DisableConstantVelocity ()
 Disable the constant velocity mode
 
void EnableConstantVelocity (const geom::Vector3D &vector)
 Enable a constant velocity mode
 
geom::Vector3D GetAcceleration () const
 Return the current 3D acceleration of the actor.
 
rpc::ActorState GetActorState () const
 
geom::Vector3D GetAngularVelocity () const
 Return the current 3D angular velocity of the actor.
 
std::vector< std::string > GetBoneNames () const
 
std::vector< geom::TransformGetBoneRelativeTransforms () const
 
std::vector< geom::TransformGetBoneWorldTransforms () const
 
std::vector< std::string > GetComponentNames () const
 
geom::Transform GetComponentRelativeTransform (const std::string componentName) const
 
geom::Transform GetComponentWorldTransform (const std::string componentName) const
 
geom::Location GetLocation () const
 Return the current location of the actor.
 
std::vector< std::string > GetSocketNames () const
 
std::vector< geom::TransformGetSocketRelativeTransforms () const
 
std::vector< geom::TransformGetSocketWorldTransforms () const
 
geom::Transform GetTransform () const
 Return the current transform of the actor.
 
geom::Vector3D GetVelocity () const
 Return the current 3D velocity of the actor.
 
bool IsActive () const
 
bool IsAlive () const
 
bool IsDormant () const
 
const auto & Serialize () const
 
void SetActorDead ()
 Set actor as dead and starts his life span
 
void SetCollisions (bool enabled=true)
 Enable or disable collisions on this actor.
 
void SetEnableGravity (bool enabled=true)
 Enable or disable gravity on this actor.
 
void SetLocation (const geom::Location &location)
 Teleport the actor to location.
 
void SetSimulatePhysics (bool enabled=true)
 Enable or disable physics simulation on this actor.
 
void SetTargetAngularVelocity (const geom::Vector3D &vector)
 Set the angular velocity of the actor before applying physics.
 
void SetTargetVelocity (const geom::Vector3D &vector)
 Set the actor velocity before applying physics.
 
void SetTransform (const geom::Transform &transform)
 Teleport and rotate the actor to transform.
 
virtual ~Actor ()=default
 
- Public 成员函数 继承自 carla::client::detail::ActorState
const std::vector< ActorAttributeValue > & GetAttributes () const
 
const std::string & GetDisplayId () const
 
ActorId GetId () const
 
SharedPtr< ActorGetParent () const
 
ActorId GetParentId () const
 
const std::vector< uint8_t > & GetSemanticTags () const
 
const std::string & GetTypeId () const
 
World GetWorld () const
 

Private 成员函数

void TickRssSensor (const client::Timestamp &timestamp, CallbackFunctionType callback)
 the acutal sensor tick callback function
 
void TickRssSensorThreadLocked (const client::Timestamp &timestamp, SharedPtr< carla::client::ActorList > actors, CallbackFunctionType callback)
 

Private 属性

bool _drop_route
 reqired to store DropRoute() requests until next sensor tick
 
std::size_t _last_processed_frame
 last processed frame
 
std::size_t _on_tick_register_id
 the id got when registering for the on tick event
 
std::mutex _processing_lock
 the mutex to protect the actual RSS processing and in case it takes too long to process ever frame
 
ActorConstellationCallbackFunctionType _rss_actor_constellation_callback
 
std::shared_ptr<::carla::rss::RssCheck_rss_check
 
std::list< double > _rss_check_timings
 some debug timings
 
std::future< void > _tick_future
 the future for the async ticking thread
 

静态 Private 属性

static std::atomic_uint _global_map_initialization_counter_ {0u}
 

额外继承的成员函数

- Protected 成员函数 继承自 carla::client::detail::ActorState
 ActorState (rpc::Actor description, EpisodeProxy episode)
 
const rpc::ActorGetActorDescription () const
 
const geom::BoundingBoxGetBoundingBox () const
 
EpisodeProxyGetEpisode ()
 
const EpisodeProxyGetEpisode () const
 

详细描述

The RSS Sensor class implementing the carla::client::Sensor interface This class is a proxy to the RssCheck class

在文件 LibCarla/source/carla/rss/RssSensor.h45 行定义.

成员类型定义说明

◆ ActorConstellationCallbackFunctionType

初始值:
boost::shared_ptr< T > SharedPtr
Use this SharedPtr (boost::shared_ptr) to keep compatibility with boost::python, but it would be nice...
Definition Memory.h:20
Struct defining the configuration for RSS processing of a given actor
Definition RssCheck.h:96

在文件 LibCarla/source/carla/rss/RssSensor.h49 行定义.

构造及析构函数说明

◆ RssSensor()

carla::client::RssSensor::RssSensor ( ActorInitializer init)
explicit

constructor

在文件 LibCarla/source/carla/rss/RssSensor.cpp27 行定义.

◆ ~RssSensor()

carla::client::RssSensor::~RssSensor ( )

destructor

在文件 LibCarla/source/carla/rss/RssSensor.cpp29 行定义.

引用了 IsListening() , 以及 Stop().

+ 函数调用图:

成员函数说明

◆ AppendRoutingTarget()

void carla::client::RssSensor::AppendRoutingTarget ( const ::carla::geom::Transform & routing_target)

appends a routing target to the current routing target list (

参见
also RssCheck::AppendRoutingTarget())

在文件 LibCarla/source/carla/rss/RssSensor.cpp263 行定义.

引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ DropRoute()

void carla::client::RssSensor::DropRoute ( )

drop the current route (

参见
also RssCheck::DropRoute())

在文件 LibCarla/source/carla/rss/RssSensor.cpp290 行定义.

引用了 _drop_route.

◆ GetEgoVehicleDynamics()

const::ad::rss::world::RssDynamics & carla::client::RssSensor::GetEgoVehicleDynamics ( ) const
返回
the currently used dynamics of the ego vehicle (
参见
also RssCheck::GetEgoVehicleDynamics())

在文件 LibCarla/source/carla/rss/RssSensor.cpp157 行定义.

引用了 _rss_actor_constellation_callback, _rss_check, carla::rss::RssCheck::GetDefaultVehicleDynamics(), carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ GetOtherVehicleDynamics()

const::ad::rss::world::RssDynamics & carla::client::RssSensor::GetOtherVehicleDynamics ( ) const
返回
the currently used dynamics of other vehicles (
参见
also RssCheck::GetOtherVehicleDynamics())

在文件 LibCarla/source/carla/rss/RssSensor.cpp186 行定义.

引用了 _rss_actor_constellation_callback, _rss_check, carla::rss::RssCheck::GetDefaultVehicleDynamics(), carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ GetPedestrianDynamics()

const::ad::rss::world::RssDynamics & carla::client::RssSensor::GetPedestrianDynamics ( ) const
返回
the currently used dynamics of pedestrians (
参见
also RssCheck::GetPedestrianDynamics())

在文件 LibCarla/source/carla/rss/RssSensor.cpp215 行定义.

引用了 _rss_actor_constellation_callback, _rss_check, carla::rss::RssCheck::GetDefaultPedestrianDynamics(), carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ GetRoadBoundariesMode()

const::carla::rss::RoadBoundariesMode & carla::client::RssSensor::GetRoadBoundariesMode ( ) const
返回
the current mode for respecting the road boundaries (
参见
also RssCheck::GetRoadBoundariesMode())

在文件 LibCarla/source/carla/rss/RssSensor.cpp244 行定义.

引用了 _rss_check, carla::rss::RssCheck::GetDefaultRoadBoundariesMode(), carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ GetRoutingTargets()

const std::vector<::carla::geom::Transform > carla::client::RssSensor::GetRoutingTargets ( ) const
返回
the current routing targets (
参见
also RssCheck::GetRoutingTargets())

在文件 LibCarla/source/carla/rss/RssSensor.cpp272 行定义.

引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ IsListening()

bool carla::client::RssSensor::IsListening ( ) const
inlineoverridevirtual

Return whether this Sensor instance is currently listening to the associated sensor in the simulator.

实现了 carla::client::Sensor.

在文件 LibCarla/source/carla/rss/RssSensor.h77 行定义.

引用了 _on_tick_register_id.

被这些函数引用 Listen(), RegisterActorConstellationCallback(), Stop() , 以及 ~RssSensor().

+ 这是这个函数的调用关系图:

◆ Listen()

void carla::client::RssSensor::Listen ( CallbackFunctionType callback)
overridevirtual

Register a callback to be executed each time a new measurement is received.

警告
Calling this function on a sensor that is already listening steals the data stream from the previously set callback. Note that several instances of Sensor (even in different processes) may point to the same sensor in the simulator.

实现了 carla::client::Sensor.

在文件 LibCarla/source/carla/rss/RssSensor.cpp46 行定义.

引用了 _global_map_initialization_counter_, _last_processed_frame, _on_tick_register_id, _rss_actor_constellation_callback, _rss_check, DEBUG_ASSERT, carla::client::detail::ActorState::GetDisplayId(), carla::client::detail::ActorState::GetEpisode(), carla::client::World::GetMap(), carla::client::detail::ActorState::GetParent(), carla::client::detail::ActorState::GetWorld(), IsListening(), carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), carla::log_debug(), carla::log_error() , 以及 carla::throw_exception().

+ 函数调用图:

◆ RegisterActorConstellationCallback()

void carla::client::RssSensor::RegisterActorConstellationCallback ( ActorConstellationCallbackFunctionType callback)

Register a callback to be executed for each actor within each measurement to be processed to decide on the operation of the RSS sensor in respect to the ego vehicle to actor constellation

在文件 LibCarla/source/carla/rss/RssSensor.cpp36 行定义.

引用了 _rss_actor_constellation_callback, carla::client::detail::ActorState::GetDisplayId(), IsListening() , 以及 carla::log_error().

+ 函数调用图:

◆ ResetRoutingTargets()

void carla::client::RssSensor::ResetRoutingTargets ( )

resets the current routing target (

参见
also RssCheck::ResetRoutingTargets())

在文件 LibCarla/source/carla/rss/RssSensor.cpp281 行定义.

引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ SetEgoVehicleDynamics()

void carla::client::RssSensor::SetEgoVehicleDynamics ( const ::ad::rss::world::RssDynamics & ego_dynamics)

sets the ego vehicle dynamics to be used by the ego vehicle (

参见
also RssCheck::SetEgoVehicleDynamics())

在文件 LibCarla/source/carla/rss/RssSensor.cpp172 行定义.

引用了 _rss_actor_constellation_callback, _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ SetLogLevel()

void carla::client::RssSensor::SetLogLevel ( const uint8_t & log_level)

sets the current log level

在文件 LibCarla/source/carla/rss/RssSensor.cpp135 行定义.

引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ SetMapLogLevel()

void carla::client::RssSensor::SetMapLogLevel ( const uint8_t & map_log_level)

sets the current map log level

在文件 LibCarla/source/carla/rss/RssSensor.cpp146 行定义.

引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ SetOtherVehicleDynamics()

void carla::client::RssSensor::SetOtherVehicleDynamics ( const ::ad::rss::world::RssDynamics & other_vehicle_dynamics)

sets the ego vehicle dynamics to be used by other vehicles (

参见
also RssCheck::SetOtherVehicleDynamics())

在文件 LibCarla/source/carla/rss/RssSensor.cpp201 行定义.

引用了 _rss_actor_constellation_callback, _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ SetPedestrianDynamics()

void carla::client::RssSensor::SetPedestrianDynamics ( const ::ad::rss::world::RssDynamics & pedestrian_dynamics)

sets the ego vehicle dynamics to be used by pedestrians (

参见
also RssCheck::SetPedestrianDynamics())

在文件 LibCarla/source/carla/rss/RssSensor.cpp230 行定义.

引用了 _rss_actor_constellation_callback, _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ SetRoadBoundariesMode()

void carla::client::RssSensor::SetRoadBoundariesMode ( const ::carla::rss::RoadBoundariesMode & road_boundaries_mode)

sets the current mode for respecting the road boundaries (

参见
also RssCheck::SetRoadBoundariesMode())

在文件 LibCarla/source/carla/rss/RssSensor.cpp254 行定义.

引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().

+ 函数调用图:

◆ Stop()

void carla::client::RssSensor::Stop ( )
overridevirtual

Stop listening for new measurements.

Be aware: GIL has to be unlocked to be able to wait for callbacks not active.

实现了 carla::client::Sensor.

在文件 LibCarla/source/carla/rss/RssSensor.cpp105 行定义.

引用了 _global_map_initialization_counter_, _on_tick_register_id, _processing_lock, _rss_check, carla::client::detail::ActorState::GetDisplayId(), carla::client::detail::ActorState::GetEpisode(), IsListening(), carla::client::detail::EpisodeProxyImpl< PointerT >::Lock(), carla::log_debug() , 以及 carla::log_error().

被这些函数引用 ~RssSensor().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ TickRssSensor()

void carla::client::RssSensor::TickRssSensor ( const client::Timestamp & timestamp,
CallbackFunctionType callback )
private

the acutal sensor tick callback function

在文件 LibCarla/source/carla/rss/RssSensor.cpp296 行定义.

引用了 _last_processed_frame, _processing_lock, _rss_check, _tick_future, carla::client::Timestamp::frame, carla::client::World::GetActors(), carla::client::World::GetSettings(), carla::client::detail::ActorState::GetWorld() , 以及 TickRssSensorThreadLocked().

+ 函数调用图:

◆ TickRssSensorThreadLocked()

void carla::client::RssSensor::TickRssSensorThreadLocked ( const client::Timestamp & timestamp,
SharedPtr< carla::client::ActorList > actors,
CallbackFunctionType callback )
private

在文件 LibCarla/source/carla/rss/RssSensor.cpp327 行定义.

引用了 _drop_route, _processing_lock, _rss_check, _rss_check_timings, carla::client::Timestamp::elapsed_seconds, carla::client::Timestamp::frame, carla::client::detail::ActorState::GetParent() , 以及 carla::client::Actor::GetTransform().

被这些函数引用 TickRssSensor().

+ 函数调用图:
+ 这是这个函数的调用关系图:

类成员变量说明

◆ _drop_route

bool carla::client::RssSensor::_drop_route
private

reqired to store DropRoute() requests until next sensor tick

在文件 LibCarla/source/carla/rss/RssSensor.h153 行定义.

被这些函数引用 DropRoute() , 以及 TickRssSensorThreadLocked().

◆ _global_map_initialization_counter_

std::atomic_uint carla::client::RssSensor::_global_map_initialization_counter_ {0u}
staticprivate

在文件 LibCarla/source/carla/rss/RssSensor.h158 行定义.

被这些函数引用 Listen() , 以及 Stop().

◆ _last_processed_frame

std::size_t carla::client::RssSensor::_last_processed_frame
private

last processed frame

在文件 LibCarla/source/carla/rss/RssSensor.h156 行定义.

被这些函数引用 Listen() , 以及 TickRssSensor().

◆ _on_tick_register_id

std::size_t carla::client::RssSensor::_on_tick_register_id
private

the id got when registering for the on tick event

在文件 LibCarla/source/carla/rss/RssSensor.h138 行定义.

被这些函数引用 IsListening(), Listen() , 以及 Stop().

◆ _processing_lock

std::mutex carla::client::RssSensor::_processing_lock
private

the mutex to protect the actual RSS processing and in case it takes too long to process ever frame

在文件 LibCarla/source/carla/rss/RssSensor.h141 行定义.

被这些函数引用 Stop(), TickRssSensor() , 以及 TickRssSensorThreadLocked().

◆ _rss_actor_constellation_callback

ActorConstellationCallbackFunctionType carla::client::RssSensor::_rss_actor_constellation_callback
private

◆ _rss_check

std::shared_ptr<::carla::rss::RssCheck> carla::client::RssSensor::_rss_check
private

◆ _rss_check_timings

std::list<double> carla::client::RssSensor::_rss_check_timings
private

some debug timings

在文件 LibCarla/source/carla/rss/RssSensor.h147 行定义.

被这些函数引用 TickRssSensorThreadLocked().

◆ _tick_future

std::future<void> carla::client::RssSensor::_tick_future
private

the future for the async ticking thread

在文件 LibCarla/source/carla/rss/RssSensor.h144 行定义.

被这些函数引用 TickRssSensor().


该类的文档由以下文件生成: