The RSS Sensor class implementing the carla::client::Sensor interface This class is a proxy to the RssCheck class 更多...
#include <RssSensor.h>
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::RoadBoundariesMode & | GetRoadBoundariesMode () const |
const std::vector<::carla::geom::Transform > | GetRoutingTargets () 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::Transform > | GetBoneRelativeTransforms () const |
std::vector< geom::Transform > | GetBoneWorldTransforms () 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::Transform > | GetSocketRelativeTransforms () const |
std::vector< geom::Transform > | GetSocketWorldTransforms () 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< Actor > | GetParent () 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 ×tamp, CallbackFunctionType callback) |
the acutal sensor tick callback function | |
void | TickRssSensorThreadLocked (const client::Timestamp ×tamp, 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::Actor & | GetActorDescription () const |
const geom::BoundingBox & | GetBoundingBox () const |
EpisodeProxy & | GetEpisode () |
const EpisodeProxy & | GetEpisode () 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.h 第 45 行定义.
在文件 LibCarla/source/carla/rss/RssSensor.h 第 49 行定义.
|
explicit |
constructor
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 27 行定义.
carla::client::RssSensor::~RssSensor | ( | ) |
destructor
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 29 行定义.
引用了 IsListening() , 以及 Stop().
void carla::client::RssSensor::AppendRoutingTarget | ( | const ::carla::geom::Transform & | routing_target | ) |
appends a routing target to the current routing target list (
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 263 行定义.
引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
void carla::client::RssSensor::DropRoute | ( | ) |
drop the current route (
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 290 行定义.
引用了 _drop_route.
const::ad::rss::world::RssDynamics & carla::client::RssSensor::GetEgoVehicleDynamics | ( | ) | const |
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 157 行定义.
引用了 _rss_actor_constellation_callback, _rss_check, carla::rss::RssCheck::GetDefaultVehicleDynamics(), carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
const::ad::rss::world::RssDynamics & carla::client::RssSensor::GetOtherVehicleDynamics | ( | ) | const |
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 186 行定义.
引用了 _rss_actor_constellation_callback, _rss_check, carla::rss::RssCheck::GetDefaultVehicleDynamics(), carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
const::ad::rss::world::RssDynamics & carla::client::RssSensor::GetPedestrianDynamics | ( | ) | const |
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 215 行定义.
引用了 _rss_actor_constellation_callback, _rss_check, carla::rss::RssCheck::GetDefaultPedestrianDynamics(), carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
const::carla::rss::RoadBoundariesMode & carla::client::RssSensor::GetRoadBoundariesMode | ( | ) | const |
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 244 行定义.
引用了 _rss_check, carla::rss::RssCheck::GetDefaultRoadBoundariesMode(), carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
const std::vector<::carla::geom::Transform > carla::client::RssSensor::GetRoutingTargets | ( | ) | const |
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 272 行定义.
引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
|
inlineoverridevirtual |
Return whether this Sensor instance is currently listening to the associated sensor in the simulator.
在文件 LibCarla/source/carla/rss/RssSensor.h 第 77 行定义.
引用了 _on_tick_register_id.
被这些函数引用 Listen(), RegisterActorConstellationCallback(), Stop() , 以及 ~RssSensor().
|
overridevirtual |
Register a callback to be executed each time a new measurement is received.
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 46 行定义.
引用了 _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().
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.cpp 第 36 行定义.
引用了 _rss_actor_constellation_callback, carla::client::detail::ActorState::GetDisplayId(), IsListening() , 以及 carla::log_error().
void carla::client::RssSensor::ResetRoutingTargets | ( | ) |
resets the current routing target (
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 281 行定义.
引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
void carla::client::RssSensor::SetEgoVehicleDynamics | ( | const ::ad::rss::world::RssDynamics & | ego_dynamics | ) |
sets the ego vehicle dynamics to be used by the ego vehicle (
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 172 行定义.
引用了 _rss_actor_constellation_callback, _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
void carla::client::RssSensor::SetLogLevel | ( | const uint8_t & | log_level | ) |
sets the current log level
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 135 行定义.
引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
void carla::client::RssSensor::SetMapLogLevel | ( | const uint8_t & | map_log_level | ) |
sets the current map log level
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 146 行定义.
引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
void carla::client::RssSensor::SetOtherVehicleDynamics | ( | const ::ad::rss::world::RssDynamics & | other_vehicle_dynamics | ) |
sets the ego vehicle dynamics to be used by other vehicles (
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 201 行定义.
引用了 _rss_actor_constellation_callback, _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
void carla::client::RssSensor::SetPedestrianDynamics | ( | const ::ad::rss::world::RssDynamics & | pedestrian_dynamics | ) |
sets the ego vehicle dynamics to be used by pedestrians (
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 230 行定义.
引用了 _rss_actor_constellation_callback, _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
void carla::client::RssSensor::SetRoadBoundariesMode | ( | const ::carla::rss::RoadBoundariesMode & | road_boundaries_mode | ) |
sets the current mode for respecting the road boundaries (
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 254 行定义.
引用了 _rss_check, carla::client::detail::ActorState::GetDisplayId() , 以及 carla::log_error().
|
overridevirtual |
Stop listening for new measurements.
Be aware: GIL has to be unlocked to be able to wait for callbacks not active.
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 105 行定义.
引用了 _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().
|
private |
the acutal sensor tick callback function
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 296 行定义.
引用了 _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().
|
private |
在文件 LibCarla/source/carla/rss/RssSensor.cpp 第 327 行定义.
引用了 _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().
|
private |
reqired to store DropRoute() requests until next sensor tick
在文件 LibCarla/source/carla/rss/RssSensor.h 第 153 行定义.
被这些函数引用 DropRoute() , 以及 TickRssSensorThreadLocked().
|
staticprivate |
在文件 LibCarla/source/carla/rss/RssSensor.h 第 158 行定义.
|
private |
last processed frame
在文件 LibCarla/source/carla/rss/RssSensor.h 第 156 行定义.
被这些函数引用 Listen() , 以及 TickRssSensor().
|
private |
the id got when registering for the on tick event
在文件 LibCarla/source/carla/rss/RssSensor.h 第 138 行定义.
被这些函数引用 IsListening(), Listen() , 以及 Stop().
|
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.h 第 141 行定义.
被这些函数引用 Stop(), TickRssSensor() , 以及 TickRssSensorThreadLocked().
|
private |
|
private |
在文件 LibCarla/source/carla/rss/RssSensor.h 第 135 行定义.
被这些函数引用 AppendRoutingTarget(), GetEgoVehicleDynamics(), GetOtherVehicleDynamics(), GetPedestrianDynamics(), GetRoadBoundariesMode(), GetRoutingTargets(), Listen(), ResetRoutingTargets(), SetEgoVehicleDynamics(), SetLogLevel(), SetMapLogLevel(), SetOtherVehicleDynamics(), SetPedestrianDynamics(), SetRoadBoundariesMode(), Stop(), TickRssSensor() , 以及 TickRssSensorThreadLocked().
|
private |
some debug timings
在文件 LibCarla/source/carla/rss/RssSensor.h 第 147 行定义.
被这些函数引用 TickRssSensorThreadLocked().
|
private |
the future for the async ticking thread
在文件 LibCarla/source/carla/rss/RssSensor.h 第 144 行定义.
被这些函数引用 TickRssSensor().