|
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 | DestroyComponent (bool bPromoteChildren=false) override |
| Destroy after stop timers and destroy publisher. More... | |
| virtual void | InitalizeWithROS2 (UROS2NodeComponent *InROS2Node, const FString &InPublisherName, const FString &InTopicName, const UROS2QoS InQoS) |
| Create and initialize publisher and start sensor update by calling. More... | |
| virtual void | InitalizeWithROS2 (UROS2NodeComponent *InROS2Node, const FString &InPublisherName=TEXT(""), const FString &InTopicName=TEXT("")) |
| 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 |
| UROS2QoS | QoS = UROS2QoS::SensorData |
| 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.
1.8.17