基于射线投射的激光雷达传感器 更多...
#include <RayCastSemanticLidar.h>
类 ARayCastSemanticLidar 继承关系图:
ARayCastSemanticLidar 的协作图:Public 成员函数 | |
| ARayCastSemanticLidar (const FObjectInitializer &ObjectInitializer) | |
| virtual void | Set (const FActorDescription &Description) override |
| virtual void | Set (const FLidarDescription &LidarDescription) |
Public 成员函数 继承自 ASensor | |
| ASensor (const FObjectInitializer &ObjectInitializer) | |
| virtual void | BeginPlay () |
| boost::optional< FActorAttribute > | GetAttribute (const FString Name) |
| const UCarlaEpisode & | GetEpisode () const |
| URandomEngine * | GetRandomEngine () |
| 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 () |
| virtual void | PostPhysTick (UWorld *World, ELevelTick TickType, float DeltaSeconds) |
| void | PostPhysTickInternal (UWorld *World, ELevelTick TickType, float DeltaSeconds) |
| virtual void | PrePhysTick (float DeltaSeconds) |
| virtual void | Set (const FActorDescription &Description) |
| 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 () |
Protected 类型 | |
| using | FSemanticDetection = carla::sensor::data::SemanticLidarDetection |
| using | FSemanticLidarData = carla::sensor::data::SemanticLidarData |
Protected 成员函数 | |
| virtual void | ComputeAndSaveDetections (const FTransform &SensorTransform) |
| This method uses all the saved FHitResults, compute the RawDetections and then send it to the LidarData structure. 更多... | |
| void | ComputeRawDetection (const FHitResult &HitInfo, const FTransform &SensorTransf, FSemanticDetection &Detection) const |
| Compute all raw detection information 更多... | |
| void | CreateLasers () |
| Creates a Laser for each channel. 更多... | |
| virtual void | PostPhysTick (UWorld *World, ELevelTick TickType, float DeltaTime) override |
| virtual void | PreprocessRays (uint32_t Channels, uint32_t MaxPointsPerChannel) |
| Method that allow to preprocess if the rays will be traced. 更多... | |
| 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 属性 | |
| 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 |
| URandomEngine * | RandomEngine = nullptr |
| Random Engine used to provide noise for sensor output. 更多... | |
| int32 | Seed = 123456789 |
| Seed of the pseudo-random engine. 更多... | |
Private 属性 | |
| FSemanticLidarData | SemanticLidarData |
基于射线投射的激光雷达传感器
在文件 RayCastSemanticLidar.h 第 25 行定义.
|
protected |
在文件 RayCastSemanticLidar.h 第 32 行定义.
在文件 RayCastSemanticLidar.h 第 31 行定义.
| ARayCastSemanticLidar::ARayCastSemanticLidar | ( | const FObjectInitializer & | ObjectInitializer | ) |
在文件 RayCastSemanticLidar.cpp 第 30 行定义.
|
protectedvirtual |
This method uses all the saved FHitResults, compute the RawDetections and then send it to the LidarData structure.
被 ARayCastLidar 重载.
在文件 RayCastSemanticLidar.cpp 第 187 行定义.
引用了 FLidarDescription::Channels, ComputeRawDetection(), Description, PointsPerChannel, RecordedHits, carla::sensor::data::SemanticLidarData::ResetMemory(), SemanticLidarData, carla::sensor::data::SemanticLidarData::WriteChannelCount() , 以及 carla::sensor::data::SemanticLidarData::WritePointSync().
被这些函数引用 SimulateLidar().
函数调用图:
这是这个函数的调用关系图:
|
protected |
Compute all raw detection information
在文件 RayCastSemanticLidar.cpp 第 204 行定义.
引用了 carla::sensor::data::SemanticLidarDetection::cos_inc_angle, FActorRegistry::FindCarlaActor(), FCarlaActor::GetActorId(), ASensor::GetEpisode(), carla::sensor::data::SemanticLidarDetection::object_idx, carla::sensor::data::SemanticLidarDetection::object_tag, carla::sensor::data::SemanticLidarDetection::point , 以及 UE_LOG().
被这些函数引用 ComputeAndSaveDetections().
函数调用图:
这是这个函数的调用关系图:
|
protected |
Creates a Laser for each channel.
在文件 RayCastSemanticLidar.cpp 第 52 行定义.
引用了 FLidarDescription::Channels, Description, LaserAngles, FLidarDescription::LowerFovLimit , 以及 FLidarDescription::UpperFovLimit.
被这些函数引用 Set() , 以及 ARayCastLidar::Set().
这是这个函数的调用关系图:
|
static |
在文件 RayCastSemanticLidar.cpp 第 25 行定义.
引用了 UActorBlueprintFunctionLibrary::MakeLidarDefinition().
函数调用图:
|
overrideprotectedvirtual |
重载 ASensor .
被 ARayCastLidar 重载.
在文件 RayCastSemanticLidar.cpp 第 68 行定义.
引用了 carla::streaming::detail::token_type::get_stream_id(), ASensor::GetDataStream(), carla::ros2::ROS2::GetInstance(), ASensor::GetToken(), PostPhysTick(), SemanticLidarData , 以及 SimulateLidar().
被这些函数引用 PostPhysTick().
函数调用图:
这是这个函数的调用关系图:
|
protectedvirtual |
Method that allow to preprocess if the rays will be traced.
被 ARayCastLidar 重载.
在文件 RayCastSemanticLidar.cpp 第 171 行定义.
被这些函数引用 SimulateLidar().
这是这个函数的调用关系图:
|
protected |
Clear the recorded data structure
在文件 RayCastSemanticLidar.cpp 第 162 行定义.
引用了 RecordedHits.
被这些函数引用 SimulateLidar().
这是这个函数的调用关系图:
|
overridevirtual |
重载 ASensor .
被 ARayCastLidar 重载.
在文件 RayCastSemanticLidar.cpp 第 36 行定义.
引用了 Set() , 以及 UActorBlueprintFunctionLibrary::SetLidar().
被这些函数引用 Set().
函数调用图:
这是这个函数的调用关系图:
|
virtual |
被 ARayCastLidar 重载.
在文件 RayCastSemanticLidar.cpp 第 44 行定义.
引用了 FLidarDescription::Channels, CreateLasers(), Description, PointsPerChannel , 以及 SemanticLidarData.
函数调用图:
|
protected |
Shoot a laser ray-trace, return whether the laser hit something.
在文件 RayCastSemanticLidar.cpp 第 231 行定义.
引用了 Description , 以及 FLidarDescription::Range.
被这些函数引用 SimulateLidar().
这是这个函数的调用关系图:
|
protected |
Updates LidarMeasurement with the points read in DeltaTime.
在文件 RayCastSemanticLidar.cpp 第 100 行定义.
引用了 FLidarDescription::Channels, ComputeAndSaveDetections(), Description, carla::sensor::data::SemanticLidarData::GetHorizontalAngle(), FLidarDescription::HorizontalFov, LaserAngles, FLidarDescription::PointsPerSecond, PreprocessRays(), RayPreprocessCondition, ResetRecordedHits(), FLidarDescription::RotationFrequency, SemanticLidarData, carla::sensor::data::SemanticLidarData::SetHorizontalAngle(), ShootLaser(), SimulateLidar(), carla::geom::Math::ToDegrees(), carla::geom::Math::ToRadians(), UE_LOG() , 以及 WritePointAsync().
被这些函数引用 ARayCastLidar::PostPhysTick(), PostPhysTick() , 以及 SimulateLidar().
函数调用图:
这是这个函数的调用关系图:
|
protected |
Saving the hits the raycast returns per channel
在文件 RayCastSemanticLidar.cpp 第 181 行定义.
引用了 DEBUG_ASSERT , 以及 RecordedHits.
被这些函数引用 SimulateLidar().
这是这个函数的调用关系图:
|
protected |
在文件 RayCastSemanticLidar.h 第 71 行定义.
被这些函数引用 ARayCastLidar::ARayCastLidar(), ComputeAndSaveDetections(), ARayCastLidar::ComputeAndSaveDetections(), ARayCastLidar::ComputeDetection(), ARayCastLidar::ComputeIntensity(), CreateLasers(), ARayCastLidar::PostprocessDetection(), ARayCastLidar::PreprocessRays(), Set(), ARayCastLidar::Set(), ShootLaser() , 以及 SimulateLidar().
|
protected |
在文件 RayCastSemanticLidar.h 第 73 行定义.
被这些函数引用 CreateLasers() , 以及 SimulateLidar().
|
protected |
在文件 RayCastSemanticLidar.h 第 77 行定义.
被这些函数引用 ComputeAndSaveDetections(), ARayCastLidar::ComputeAndSaveDetections(), Set() , 以及 ARayCastLidar::Set().
|
protected |
在文件 RayCastSemanticLidar.h 第 76 行定义.
被这些函数引用 PreprocessRays(), ARayCastLidar::PreprocessRays() , 以及 SimulateLidar().
|
protected |
在文件 RayCastSemanticLidar.h 第 75 行定义.
被这些函数引用 ComputeAndSaveDetections(), ARayCastLidar::ComputeAndSaveDetections(), ResetRecordedHits() , 以及 WritePointAsync().
|
private |
在文件 RayCastSemanticLidar.h 第 80 行定义.
被这些函数引用 ComputeAndSaveDetections(), PostPhysTick(), Set() , 以及 SimulateLidar().