#include <ROS2.h>
carla::ros2::ROS2 的协作图:Public 成员函数 | |
| void | AddActorCallback (void *actor, std::string ros_name, ActorCallback callback) |
| void | AddActorParentRosName (void *actor, void *parent) |
| void | AddActorRosName (void *actor, std::string ros_name) |
| void | Enable (bool enable) |
| void | EnableStream (carla::streaming::detail::stream_id_type id) |
| std::string | GetActorParentRosName (void *actor) |
| std::string | GetActorRosName (void *actor) |
| bool | IsEnabled () |
| bool | IsStreamEnabled (carla::streaming::detail::stream_id_type id) |
| void | ProcessDataFromCamera (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, int W, int H, float Fov, const carla::SharedBufferView buffer, void *actor=nullptr) |
| void | ProcessDataFromCollisionSensor (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, uint32_t other_actor, carla::geom::Vector3D impulse, void *actor) |
| void | ProcessDataFromDVS (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, const carla::SharedBufferView buffer, int W, int H, float Fov, void *actor=nullptr) |
| void | ProcessDataFromGNSS (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, const carla::geom::GeoLocation &data, void *actor=nullptr) |
| void | ProcessDataFromIMU (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, carla::geom::Vector3D accelerometer, carla::geom::Vector3D gyroscope, float compass, void *actor=nullptr) |
| void | ProcessDataFromLidar (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, carla::sensor::data::LidarData &data, void *actor=nullptr) |
| void | ProcessDataFromObstacleDetection (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, AActor *first_actor, AActor *second_actor, float distance, void *actor=nullptr) |
| void | ProcessDataFromRadar (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, const carla::sensor::data::RadarData &data, void *actor=nullptr) |
| void | ProcessDataFromSemanticLidar (uint64_t sensor_type, carla::streaming::detail::stream_id_type stream_id, const carla::geom::Transform sensor_transform, carla::sensor::data::SemanticLidarData &data, void *actor=nullptr) |
| void | RemoveActorCallback (void *actor) |
| void | RemoveActorRosName (void *actor) |
| void | ResetStreams () |
| ROS2 (const ROS2 &obj)=delete | |
| void | SetFrame (uint64_t frame) |
| void | SetTimestamp (double timestamp) |
| void | Shutdown () |
| void | UpdateActorRosName (void *actor, std::string ros_name) |
静态 Public 成员函数 | |
| static std::shared_ptr< ROS2 > | GetInstance () |
Private 成员函数 | |
| std::pair< std::shared_ptr< CarlaPublisher >, std::shared_ptr< CarlaTransformPublisher > > | GetOrCreateSensor (int type, carla::streaming::detail::stream_id_type id, void *actor) |
| ROS2 () | |
Private 属性 | |
| std::unordered_map< void *, ActorCallback > | _actor_callbacks |
| std::unordered_map< void *, std::vector< void * > > | _actor_parent_ros_name |
| std::unordered_map< void *, std::string > | _actor_ros_name |
| std::shared_ptr< CarlaClockPublisher > | _clock_publisher |
| std::shared_ptr< CarlaEgoVehicleControlSubscriber > | _controller |
| bool | _enabled { false } |
| uint64_t | _frame { 0 } |
| uint32_t | _nanoseconds { 0 } |
| std::unordered_set< carla::streaming::detail::stream_id_type > | _publish_stream |
| std::unordered_map< void *, std::shared_ptr< CarlaPublisher > > | _publishers |
| int32_t | _seconds { 0 } |
| std::unordered_map< void *, std::shared_ptr< CarlaTransformPublisher > > | _transforms |
静态 Private 属性 | |
| static std::shared_ptr< ROS2 > | _instance |
|
delete |
| void carla::ros2::ROS2::AddActorCallback | ( | void * | actor, |
| std::string | ros_name, | ||
| ActorCallback | callback | ||
| ) |
引用了 _actor_callbacks , 以及 _controller.
| void carla::ros2::ROS2::AddActorParentRosName | ( | void * | actor, |
| void * | parent | ||
| ) |
| void carla::ros2::ROS2::AddActorRosName | ( | void * | actor, |
| std::string | ros_name | ||
| ) |
引用了 _actor_ros_name.
| void carla::ros2::ROS2::Enable | ( | bool | enable | ) |
|
inline |
引用了 _publish_stream.
| std::string carla::ros2::ROS2::GetActorParentRosName | ( | void * | actor | ) |
引用了 _actor_parent_ros_name , 以及 GetActorRosName().
被这些函数引用 GetOrCreateSensor().
函数调用图:
这是这个函数的调用关系图:| std::string carla::ros2::ROS2::GetActorRosName | ( | void * | actor | ) |
|
inlinestatic |
引用了 _instance.
被这些函数引用 FCarlaServer::FPimpl::BindActions(), if(), FCarlaEngine::NotifyInitGame(), UActorDispatcher::OnActorDestroyed(), ACollisionSensor::OnCollisionEvent(), AObstacleDetectionSensor::OnObstacleDetectionEvent(), AGnssSensor::PostPhysTick(), ARayCastLidar::PostPhysTick(), ADVSCamera::PostPhysTick(), AInertialMeasurementUnit::PostPhysTick(), ARadar::PostPhysTick(), ARayCastSemanticLidar::PostPhysTick(), UActorDispatcher::RegisterActor(), FCarlaEngine::ResetFrameCounter(), FPixelReader::SendPixelsInRenderThread() , 以及 FCarlaEngine::UpdateFrameCounter().
这是这个函数的调用关系图:
|
private |
引用了 _publishers, _transforms, carla::ros2::CameraGBufferFloat, carla::ros2::CameraGBufferUint8, carla::ros2::CollisionSensor, carla::ros2::DepthCamera, carla::ros2::DVSCamera, GetActorParentRosName(), GetActorRosName(), carla::ros2::GnssSensor, carla::ros2::InertialMeasurementUnit, carla::ros2::InstanceSegmentationCamera, carla::ros2::LaneInvasionSensor, carla::ros2::NormalsCamera, carla::ros2::ObstacleDetectionSensor, carla::ros2::OpticalFlowCamera, carla::ros2::Radar, carla::ros2::RayCastLidar, carla::ros2::RayCastSemanticLidar, carla::ros2::RssSensor, carla::ros2::SceneCaptureCamera, carla::ros2::SemanticSegmentationCamera, UpdateActorRosName() , 以及 carla::ros2::WorldObserver.
被这些函数引用 ProcessDataFromCamera(), ProcessDataFromCollisionSensor(), ProcessDataFromDVS(), ProcessDataFromGNSS(), ProcessDataFromIMU(), ProcessDataFromLidar(), ProcessDataFromRadar() , 以及 ProcessDataFromSemanticLidar().
函数调用图:
这是这个函数的调用关系图:
|
inline |
引用了 _publish_stream.
| void carla::ros2::ROS2::ProcessDataFromCamera | ( | uint64_t | sensor_type, |
| carla::streaming::detail::stream_id_type | stream_id, | ||
| const carla::geom::Transform | sensor_transform, | ||
| int | W, | ||
| int | H, | ||
| float | Fov, | ||
| const carla::SharedBufferView | buffer, | ||
| void * | actor = nullptr |
||
| ) |
引用了 _frame, _nanoseconds, _seconds, carla::ros2::CameraGBufferFloat, carla::ros2::CameraGBufferUint8, carla::ros2::CollisionSensor, carla::ros2::DepthCamera, GetOrCreateSensor(), carla::sensor::s11n::ImageSerializer::header_offset, carla::sensor::s11n::OpticalFlowImageSerializer::header_offset, carla::sensor::s11n::ImageSerializer::ImageHeader::height, carla::sensor::s11n::OpticalFlowImageSerializer::ImageHeader::height, carla::ros2::InstanceSegmentationCamera, carla::ros2::LaneInvasionSensor, carla::geom::Transform::location, carla::log_info(), carla::ros2::NormalsCamera, carla::ros2::OpticalFlowCamera, carla::geom::Transform::rotation, carla::ros2::RssSensor, carla::ros2::SceneCaptureCamera, carla::ros2::SemanticSegmentationCamera, carla::sensor::s11n::ImageSerializer::ImageHeader::width, carla::sensor::s11n::OpticalFlowImageSerializer::ImageHeader::width , 以及 carla::ros2::WorldObserver.
函数调用图:| void carla::ros2::ROS2::ProcessDataFromCollisionSensor | ( | uint64_t | sensor_type, |
| carla::streaming::detail::stream_id_type | stream_id, | ||
| const carla::geom::Transform | sensor_transform, | ||
| uint32_t | other_actor, | ||
| carla::geom::Vector3D | impulse, | ||
| void * | actor | ||
| ) |
| void carla::ros2::ROS2::ProcessDataFromDVS | ( | uint64_t | sensor_type, |
| carla::streaming::detail::stream_id_type | stream_id, | ||
| const carla::geom::Transform | sensor_transform, | ||
| const carla::SharedBufferView | buffer, | ||
| int | W, | ||
| int | H, | ||
| float | Fov, | ||
| void * | actor = nullptr |
||
| ) |
引用了 _frame, _nanoseconds, _seconds, carla::ros2::DVSCamera, GetOrCreateSensor(), carla::sensor::s11n::ImageSerializer::header_offset, carla::sensor::s11n::ImageSerializer::ImageHeader::height, carla::geom::Transform::location, carla::log_info(), carla::geom::Transform::rotation , 以及 carla::sensor::s11n::ImageSerializer::ImageHeader::width.
函数调用图:| void carla::ros2::ROS2::ProcessDataFromGNSS | ( | uint64_t | sensor_type, |
| carla::streaming::detail::stream_id_type | stream_id, | ||
| const carla::geom::Transform | sensor_transform, | ||
| const carla::geom::GeoLocation & | data, | ||
| void * | actor = nullptr |
||
| ) |
| void carla::ros2::ROS2::ProcessDataFromIMU | ( | uint64_t | sensor_type, |
| carla::streaming::detail::stream_id_type | stream_id, | ||
| const carla::geom::Transform | sensor_transform, | ||
| carla::geom::Vector3D | accelerometer, | ||
| carla::geom::Vector3D | gyroscope, | ||
| float | compass, | ||
| void * | actor = nullptr |
||
| ) |
| void carla::ros2::ROS2::ProcessDataFromLidar | ( | uint64_t | sensor_type, |
| carla::streaming::detail::stream_id_type | stream_id, | ||
| const carla::geom::Transform | sensor_transform, | ||
| carla::sensor::data::LidarData & | data, | ||
| void * | actor = nullptr |
||
| ) |
| void carla::ros2::ROS2::ProcessDataFromObstacleDetection | ( | uint64_t | sensor_type, |
| carla::streaming::detail::stream_id_type | stream_id, | ||
| const carla::geom::Transform | sensor_transform, | ||
| AActor * | first_actor, | ||
| AActor * | second_actor, | ||
| float | distance, | ||
| void * | actor = nullptr |
||
| ) |
| void carla::ros2::ROS2::ProcessDataFromRadar | ( | uint64_t | sensor_type, |
| carla::streaming::detail::stream_id_type | stream_id, | ||
| const carla::geom::Transform | sensor_transform, | ||
| const carla::sensor::data::RadarData & | data, | ||
| void * | actor = nullptr |
||
| ) |
| void carla::ros2::ROS2::ProcessDataFromSemanticLidar | ( | uint64_t | sensor_type, |
| carla::streaming::detail::stream_id_type | stream_id, | ||
| const carla::geom::Transform | sensor_transform, | ||
| carla::sensor::data::SemanticLidarData & | data, | ||
| void * | actor = nullptr |
||
| ) |
| void carla::ros2::ROS2::RemoveActorCallback | ( | void * | actor | ) |
| void carla::ros2::ROS2::RemoveActorRosName | ( | void * | actor | ) |
引用了 _actor_parent_ros_name, _actor_ros_name, _publishers , 以及 _transforms.
|
inline |
引用了 _publish_stream.
| void carla::ros2::ROS2::SetFrame | ( | uint64_t | frame | ) |
| void carla::ros2::ROS2::SetTimestamp | ( | double | timestamp | ) |
引用了 _clock_publisher, _nanoseconds , 以及 _seconds.
| void carla::ros2::ROS2::Shutdown | ( | ) |
引用了 _clock_publisher, _controller, _enabled, _publishers , 以及 _transforms.
| void carla::ros2::ROS2::UpdateActorRosName | ( | void * | actor, |
| std::string | ros_name | ||
| ) |
|
private |
被这些函数引用 AddActorCallback(), RemoveActorCallback() , 以及 SetFrame().
|
private |
被这些函数引用 AddActorParentRosName(), GetActorParentRosName() , 以及 RemoveActorRosName().
|
private |
被这些函数引用 AddActorRosName(), GetActorRosName(), RemoveActorRosName() , 以及 UpdateActorRosName().
|
private |
被这些函数引用 Enable(), SetTimestamp() , 以及 Shutdown().
|
private |
被这些函数引用 AddActorCallback(), RemoveActorCallback(), SetFrame() , 以及 Shutdown().
|
private |
被这些函数引用 Enable(), IsEnabled() , 以及 Shutdown().
|
private |
|
staticprivate |
被这些函数引用 GetInstance().
|
private |
|
private |
被这些函数引用 EnableStream(), IsStreamEnabled() , 以及 ResetStreams().
|
private |
被这些函数引用 GetOrCreateSensor(), RemoveActorRosName() , 以及 Shutdown().
|
private |
|
private |
被这些函数引用 GetOrCreateSensor(), RemoveActorRosName() , 以及 Shutdown().