RapyutaSimulationPlugins
|
ROS 2 2D lidar components. More...
#include <RR2DLidarComponent.h>
Public Member Functions | |
URR2DLidarComponent () | |
Construct a new URR2DLidarComponent 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... | |
FROSLaserScan | GetROS2Data () |
Create ROS 2 Msg structure from RecordedHits. More... | |
virtual void | SetROS2Msg (UROS2GenericMsg *InMessage) override |
Set result of GetROS2Data to. More... | |
float | GetMinAngleRadians () const |
float | GetMaxAngleRadians () const |
Public Member Functions inherited from URRBaseLidarComponent | |
URRBaseLidarComponent () | |
void | GetData (TArray< FHitResult > &OutHits, float &OutTime) const |
Get RecordedHits and TimeOfLastScan. More... | |
FLinearColor | InterpColorFromIntensity (const float InIntensity) |
Public Member Functions inherited from URRROS2BaseSensorComponent | |
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... | |
Additional Inherited Members | |
Public Attributes inherited from URRBaseLidarComponent | |
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 |
Public Attributes inherited from URRROS2BaseSensorComponent | |
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 |
Protected Member Functions inherited from URRBaseLidarComponent | |
virtual void | BeginPlay () override |
FLinearColor | InterpolateColor (float InX) |
Static Protected Member Functions inherited from URRBaseLidarComponent | |
static float | GetIntensityFromDist (float InBaseIntensity, float InDistance) |
Protected Attributes inherited from URRBaseLidarComponent | |
float | Dt = 0.f |
Protected Attributes inherited from URRROS2BaseSensorComponent | |
FTimerHandle | TimerHandle |
ROS 2 2D 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.
UCLASS(ClassGroup = (Custom), Blueprintable, meta = (BlueprintSpawnableComponent))
URR2DLidarComponent::URR2DLidarComponent | ( | ) |
Construct a new URR2DLidarComponent object.
float URR2DLidarComponent::GetMaxAngleRadians | ( | ) | const |
float URR2DLidarComponent::GetMinAngleRadians | ( | ) | const |
FROSLaserScan URR2DLidarComponent::GetROS2Data | ( | ) |
Create ROS 2 Msg structure from RecordedHits.
UFUNCTION(BlueprintCallable) This should probably be removed so that the sensor can be decoupled from the message types
|
overridevirtual |
sync: Initialize #FHitResult
async: Initialize #FTraceHandle
Reimplemented from URRROS2BaseSensorComponent.
|
overridevirtual |
Get Lidar data, add noise, draw lidar rays.
sync : Uses LineTraceSingleByChannel to get lidar data.
async : Uses AsyncLineTraceByChannel to get lidar data.
Reimplemented from URRROS2BaseSensorComponent.
|
overridevirtual |
|
overridevirtual |
async: Update RecordedHits from TraceHandles which is update in SensorUpdate.
DeltaTime | |
TickType | |
ThisTickFunction |
|
overridevirtual |
Return true if laser hits the target actor.
TargetActor |
Reimplemented from URRBaseLidarComponent.