ROS 2 3D lidar components.
More...
#include <RR3DLidarComponent.h>
|
| URR3DLidarComponent () |
| Construct a new URR3DLidarComponent object. More...
|
|
virtual void | TickComponent (float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override |
| async: Update RecordedHits from TraceHandles which is update in SensorUpdate. More...
|
|
void | Run () override |
| sync: Initialize #FHitResult More...
|
|
void | SensorUpdate () override |
| Get Lidar data, add noise, draw lidar rays. More...
|
|
bool | Visible (AActor *TargetActor) override |
| Return true if laser hits the target actor. More...
|
|
FROSPointCloud2 | GetROS2Data () |
| Create ROS 2 Msg structure from RecordedHits. More...
|
|
virtual void | SetROS2Msg (UROS2GenericMsg *InMessage) override |
| Set result of GetROS2Data to InMessage. More...
|
|
uint64 | GetTotalScan () const |
| Get the Total Scan object. More...
|
|
| URRBaseLidarComponent () |
|
void | GetData (TArray< FHitResult > &OutHits, float &OutTime) const |
| Get RecordedHits and TimeOfLastScan. More...
|
|
FLinearColor | InterpColorFromIntensity (const float InIntensity) |
|
| URRROS2BaseSensorComponent () |
| Construct a new URRROS2BaseSensorComponent object. More...
|
|
virtual void | InitalizeWithROS2 (UROS2NodeComponent *InROS2Node, const FString &InPublisherName=TEXT(""), const FString &InTopicName=TEXT(""), const UROS2QoS InQoS=UROS2QoS::SensorData) |
| Create and initialize publisher and start sensor update by calling. More...
|
|
virtual void | CreatePublisher (const FString &InPublisherName=TEXT("")) |
| Create a Publisher with SensorPublisherClass. More...
|
|
virtual void | PreInitializePublisher (UROS2NodeComponent *InROS2Node, const FString &InTopicName=TEXT("")) |
| Set publish frequency, topic name and FrameId. More...
|
|
virtual void | InitializePublisher (UROS2NodeComponent *InROS2Node, const UROS2QoS InQoS=UROS2QoS::SensorData) |
| Initialize Sensorpublisher by using UROS2Publisher's methods. More...
|
|
virtual void | Stop () |
| Stop timer to update and publish sensor data by using ClearTimer. More...
|
|
|
int32 | NChannelsPerScan = 32 |
|
float | StartVerticalAngle = -45.f |
| [degrees] More...
|
|
float | FOVVertical = 90.f |
| [degrees] More...
|
|
bool | bOrganizedCloud = false |
| Data is organized or not. More...
|
|
float | DVAngle = 0.f |
| [degrees] More...
|
|
int32 | NSamplesPerScan = 360 |
|
float | StartAngle = 0.f |
| [degrees] scan goes from StartAngle to StartAngle+FOVHorizontal More...
|
|
float | FOVHorizontal = 360.f |
| [degrees] scan goes from StartAngle to StartAngle+FOVHorizontal More...
|
|
float | MinRange = 12.f |
| [m] More...
|
|
float | MaxRange = 350.f |
| [m] More...
|
|
TEnumAsByte< ECollisionChannel > | TraceCollisionChannel = ECC_Visibility |
|
bool | bIgnoreSelf = false |
|
FLinearColor | ColorMiss = FColor(255, 127, 0, 255) |
|
FLinearColor | ColorMin = FColor(255, 0, 0, 255) |
|
FLinearColor | ColorMid = FColor(255, 0, 0, 255) |
|
FColor | ColorMax = FColor(255, 255, 255, 255) |
|
float | TimeOfLastScan = 0.f |
|
float | DHAngle = 0.f |
|
TObjectPtr< URRGaussianNoise > | PositionNoise |
|
TObjectPtr< URRGaussianNoise > | IntensityNoise |
|
float | PositionalNoiseMean = 0.f |
|
float | PositionalNoiseVariance = 1.f |
|
float | IntensityNoiseMean = 0.f |
|
float | IntensityNoiseVariance = .01f |
|
uint8 | BWithNoise: 1 |
|
TArray< FHitResult > | RecordedHits |
|
TArray< FTraceHandle > | TraceHandles |
|
bool | bShowLidarRays = true |
|
bool | ShowLidarRayMisses = false |
|
uint8 | DrawPointDepthIntensity = 0 |
| DepthIntesity of DrawPoint. More...
|
|
float | IntensityNonReflective = 1000.f |
|
float | IntensityReflective = 6000.f |
|
float | IntensityMin = 0.f |
|
float | IntensityMax = 10000.f |
|
TSubclassOf< UROS2Publisher > | SensorPublisherClass = URRROS2BaseSensorPublisher::StaticClass() |
|
URRROS2BaseSensorPublisher * | SensorPublisher = nullptr |
|
TSubclassOf< UROS2GenericMsg > | MsgClass = UROS2GenericMsg::StaticClass() |
|
FString | TopicName = TEXT("sensor_data") |
|
FString | FrameId = TEXT("sensor_frame") |
|
int32 | PublicationFrequencyHz = 30 |
|
bool | bAppendNodeNamespace = true |
| Append namespace to FrameId or not. More...
|
|
bool | bIsValid = true |
|
ROS 2 3D lidar components.
This class has 2 types of implementation, async and sync which can be switched by define TRACE_ASYNC.
sync uses LineTraceSingleByChannel and async uses AsyncLineTraceByChannel.
- See also
- LineTraceSingleByChannel
-
AsyncLineTraceByChannel
UCLASS(ClassGroup = (Custom), Blueprintable, meta = (BlueprintSpawnableComponent))
◆ URR3DLidarComponent()
URR3DLidarComponent::URR3DLidarComponent |
( |
| ) |
|
◆ GetROS2Data()
FROSPointCloud2 URR3DLidarComponent::GetROS2Data |
( |
| ) |
|
◆ GetTotalScan()
uint64 URR3DLidarComponent::GetTotalScan |
( |
| ) |
const |
|
inline |
◆ Run()
void URR3DLidarComponent::Run |
( |
| ) |
|
|
overridevirtual |
◆ SensorUpdate()
void URR3DLidarComponent::SensorUpdate |
( |
| ) |
|
|
overridevirtual |
◆ SetROS2Msg()
virtual void URR3DLidarComponent::SetROS2Msg |
( |
UROS2GenericMsg * |
InMessage | ) |
|
|
overridevirtual |
◆ TickComponent()
virtual void URR3DLidarComponent::TickComponent |
( |
float |
DeltaTime, |
|
|
enum ELevelTick |
TickType, |
|
|
FActorComponentTickFunction * |
ThisTickFunction |
|
) |
| |
|
overridevirtual |
◆ Visible()
bool URR3DLidarComponent::Visible |
( |
AActor * |
TargetActor | ) |
|
|
overridevirtual |
Return true if laser hits the target actor.
- Parameters
-
- Returns
- true
-
false
Reimplemented from URRBaseLidarComponent.
◆ bOrganizedCloud
bool URR3DLidarComponent::bOrganizedCloud = false |
◆ DVAngle
float URR3DLidarComponent::DVAngle = 0.f |
◆ FOVVertical
float URR3DLidarComponent::FOVVertical = 90.f |
◆ NChannelsPerScan
int32 URR3DLidarComponent::NChannelsPerScan = 32 |
◆ StartVerticalAngle
float URR3DLidarComponent::StartVerticalAngle = -45.f |
The documentation for this class was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/rapyutasimulationplugins/checkouts/devel/Source/RapyutaSimulationPlugins/Public/Sensors/RR3DLidarComponent.h