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

A ray-cast based Lidar sensor. 更多...

#include <RayCastLidar.h>

+ 类 ARayCastLidar 继承关系图:
+ ARayCastLidar 的协作图:

Public 成员函数

 ARayCastLidar (const FObjectInitializer &ObjectInitializer)
 
virtual void PostPhysTick (UWorld *World, ELevelTick TickType, float DeltaTime)
 
virtual void Set (const FActorDescription &Description) override
 
virtual void Set (const FLidarDescription &LidarDescription) override
 
- Public 成员函数 继承自 ARayCastSemanticLidar
 ARayCastSemanticLidar (const FObjectInitializer &ObjectInitializer)
 
- Public 成员函数 继承自 ASensor
 ASensor (const FObjectInitializer &ObjectInitializer)
 
virtual void BeginPlay ()
 
boost::optional< FActorAttributeGetAttribute (const FString Name)
 
const UCarlaEpisodeGetEpisode () const
 
URandomEngineGetRandomEngine ()
 
int32 GetSeed () const
 
auto GetToken () const
 Return the token that allows subscribing to this sensor's stream.
 
bool IsStreamReady ()
 
FDataStream MoveDataStream ()
 
virtual void OnFirstClientConnected ()
 
virtual void OnLastClientDisconnected ()
 
void PostPhysTickInternal (UWorld *World, ELevelTick TickType, float DeltaSeconds)
 
virtual void PrePhysTick (float DeltaSeconds)
 
void SetDataStream (FDataStream InStream)
 Replace the FDataStream associated with this sensor.
 
void SetEpisode (const UCarlaEpisode &InEpisode)
 
void SetSeed (int32 InSeed)
 
void Tick (const float DeltaTime) final
 

静态 Public 成员函数

static FActorDefinition GetSensorDefinition ()
 
- 静态 Public 成员函数 继承自 ARayCastSemanticLidar
static FActorDefinition GetSensorDefinition ()
 

Private 类型

using FDetection = carla::sensor::data::LidarDetection
 
using FLidarData = carla::sensor::data::LidarData
 

Private 成员函数

void ComputeAndSaveDetections (const FTransform &SensorTransform) override
 This method uses all the saved FHitResults, compute the RawDetections and then send it to the LidarData structure.
 
FDetection ComputeDetection (const FHitResult &HitInfo, const FTransform &SensorTransf) const
 
float ComputeIntensity (const FSemanticDetection &RawDetection) const
 Compute the received intensity of the point
 
bool PostprocessDetection (FDetection &Detection) const
 
void PreprocessRays (uint32_t Channels, uint32_t MaxPointsPerChannel) override
 Method that allow to preprocess if the rays will be traced.
 

Private 属性

float DropOffAlpha
 Slope for the intensity dropoff of lidar points, it is calculated throught the dropoff limit and the dropoff at zero intensity The points is kept with a probality alpha*Intensity + beta where alpha = (1 - dropoff_zero_intensity) / droppoff_limit beta = (1 - dropoff_zero_intensity)
 
float DropOffBeta
 
bool DropOffGenActive
 Enable/Disable general dropoff of lidar points
 
FLidarData LidarData
 

额外继承的成员函数

- Protected 类型 继承自 ARayCastSemanticLidar
using FSemanticDetection = carla::sensor::data::SemanticLidarDetection
 
using FSemanticLidarData = carla::sensor::data::SemanticLidarData
 
- Protected 成员函数 继承自 ARayCastSemanticLidar
void ComputeRawDetection (const FHitResult &HitInfo, const FTransform &SensorTransf, FSemanticDetection &Detection) const
 Compute all raw detection information
 
void CreateLasers ()
 Creates a Laser for each channel.
 
void ResetRecordedHits (uint32_t Channels, uint32_t MaxPointsPerChannel)
 Clear the recorded data structure
 
bool ShootLaser (const float VerticalAngle, float HorizontalAngle, FHitResult &HitResult, FCollisionQueryParams &TraceParams) const
 Shoot a laser ray-trace, return whether the laser hit something.
 
void SimulateLidar (const float DeltaTime)
 Updates LidarMeasurement with the points read in DeltaTime.
 
void WritePointAsync (uint32_t Channel, FHitResult &Detection)
 Saving the hits the raycast returns per channel
 
- Protected 成员函数 继承自 ASensor
void EndPlay (EEndPlayReason::Type EndPlayReason) override
 
template<typename SensorT >
FAsyncDataStream GetDataStream (const SensorT &Self)
 Return the FDataStream associated with this sensor.
 
void PostActorCreated () override
 
- Protected 属性 继承自 ARayCastSemanticLidar
FLidarDescription Description
 
TArray< float > LaserAngles
 
std::vector< uint32_t > PointsPerChannel
 
std::vector< std::vector< bool > > RayPreprocessCondition
 
std::vector< std::vector< FHitResult > > RecordedHits
 
- Protected 属性 继承自 ASensor
bool bIsActive = false
 
URandomEngineRandomEngine = nullptr
 Random Engine used to provide noise for sensor output.
 
int32 Seed = 123456789
 Seed of the pseudo-random engine.
 

详细描述

A ray-cast based Lidar sensor.

在文件 RayCastLidar.h24 行定义.

成员类型定义说明

◆ FDetection

在文件 RayCastLidar.h29 行定义.

◆ FLidarData

在文件 RayCastLidar.h28 行定义.

构造及析构函数说明

◆ ARayCastLidar()

ARayCastLidar::ARayCastLidar ( const FObjectInitializer & ObjectInitializer)

在文件 RayCastLidar.cpp30 行定义.

引用了 ARayCastSemanticLidar::Description, ASensor::RandomEngine, FLidarDescription::RandomSeed , 以及 ASensor::SetSeed().

+ 函数调用图:

成员函数说明

◆ ComputeAndSaveDetections()

void ARayCastLidar::ComputeAndSaveDetections ( const FTransform & SensorTransform)
overrideprivatevirtual

This method uses all the saved FHitResults, compute the RawDetections and then send it to the LidarData structure.

重载 ARayCastSemanticLidar .

在文件 RayCastLidar.cpp149 行定义.

引用了 FLidarDescription::Channels, ComputeDetection(), ARayCastSemanticLidar::Description, LidarData, ARayCastSemanticLidar::PointsPerChannel, PostprocessDetection(), ARayCastSemanticLidar::RecordedHits, carla::sensor::data::LidarData::ResetMemory(), carla::sensor::data::SemanticLidarData::WriteChannelCount() , 以及 carla::sensor::data::LidarData::WritePointSync().

+ 函数调用图:

◆ ComputeDetection()

ARayCastLidar::FDetection ARayCastLidar::ComputeDetection ( const FHitResult & HitInfo,
const FTransform & SensorTransf ) const
private

在文件 RayCastLidar.cpp106 行定义.

引用了 FLidarDescription::AtmospAttenRate, ARayCastSemanticLidar::Description, carla::sensor::data::LidarDetection::intensity, carla::geom::Vector3D::Length() , 以及 carla::sensor::data::LidarDetection::point.

被这些函数引用 ComputeAndSaveDetections().

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

◆ ComputeIntensity()

float ARayCastLidar::ComputeIntensity ( const FSemanticDetection & RawDetection) const
private

Compute the received intensity of the point

在文件 RayCastLidar.cpp93 行定义.

引用了 FLidarDescription::AtmospAttenRate, ARayCastSemanticLidar::Description, carla::geom::Vector3D::Length() , 以及 carla::sensor::data::SemanticLidarDetection::point.

+ 函数调用图:

◆ GetSensorDefinition()

FActorDefinition ARayCastLidar::GetSensorDefinition ( )
static

在文件 RayCastLidar.cpp24 行定义.

引用了 UActorBlueprintFunctionLibrary::MakeLidarDefinition().

+ 函数调用图:

◆ PostPhysTick()

void ARayCastLidar::PostPhysTick ( UWorld * World,
ELevelTick TickType,
float DeltaTime )
virtual

重载 ARayCastSemanticLidar .

在文件 RayCastLidar.cpp58 行定义.

引用了 carla::streaming::detail::token_type::get_stream_id(), ASensor::GetDataStream(), carla::ros2::ROS2::GetInstance(), ASensor::GetToken(), LidarData, PostPhysTick() , 以及 ARayCastSemanticLidar::SimulateLidar().

被这些函数引用 PostPhysTick().

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

◆ PostprocessDetection()

bool ARayCastLidar::PostprocessDetection ( FDetection & Detection) const
private

在文件 RayCastLidar.cpp134 行定义.

引用了 ARayCastSemanticLidar::Description, DropOffAlpha, DropOffBeta, FLidarDescription::DropOffIntensityLimit, URandomEngine::GetNormalDistribution(), URandomEngine::GetUniformFloat(), carla::sensor::data::LidarDetection::intensity, carla::geom::Vector3D::MakeUnitVector(), FLidarDescription::NoiseStdDev, carla::sensor::data::LidarDetection::point , 以及 ASensor::RandomEngine.

被这些函数引用 ComputeAndSaveDetections().

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

◆ PreprocessRays()

void ARayCastLidar::PreprocessRays ( uint32_t Channels,
uint32_t MaxPointsPerChannel )
overrideprivatevirtual

Method that allow to preprocess if the rays will be traced.

重载 ARayCastSemanticLidar .

在文件 RayCastLidar.cpp124 行定义.

引用了 ARayCastSemanticLidar::Description, DropOffGenActive, FLidarDescription::DropOffGenRate, URandomEngine::GetUniformFloat(), ASensor::RandomEngine , 以及 ARayCastSemanticLidar::RayPreprocessCondition.

+ 函数调用图:

◆ Set() [1/2]

void ARayCastLidar::Set ( const FActorDescription & Description)
overridevirtual

重载 ARayCastSemanticLidar .

在文件 RayCastLidar.cpp37 行定义.

引用了 ASensor::Set(), Set() , 以及 UActorBlueprintFunctionLibrary::SetLidar().

被这些函数引用 Set().

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

◆ Set() [2/2]

void ARayCastLidar::Set ( const FLidarDescription & LidarDescription)
overridevirtual

类成员变量说明

◆ DropOffAlpha

float ARayCastLidar::DropOffAlpha
private

Slope for the intensity dropoff of lidar points, it is calculated throught the dropoff limit and the dropoff at zero intensity The points is kept with a probality alpha*Intensity + beta where alpha = (1 - dropoff_zero_intensity) / droppoff_limit beta = (1 - dropoff_zero_intensity)

在文件 RayCastLidar.h60 行定义.

被这些函数引用 PostprocessDetection() , 以及 Set().

◆ DropOffBeta

float ARayCastLidar::DropOffBeta
private

在文件 RayCastLidar.h61 行定义.

被这些函数引用 PostprocessDetection() , 以及 Set().

◆ DropOffGenActive

bool ARayCastLidar::DropOffGenActive
private

Enable/Disable general dropoff of lidar points

在文件 RayCastLidar.h53 行定义.

被这些函数引用 PreprocessRays() , 以及 Set().

◆ LidarData

FLidarData ARayCastLidar::LidarData
private

在文件 RayCastLidar.h50 行定义.

被这些函数引用 ComputeAndSaveDetections(), PostPhysTick() , 以及 Set().


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