19 #include "CoreMinimal.h"
21 #include "GenericPlatform/GenericPlatformMath.h"
27 #include "ROS2NodeComponent.h"
29 #include "ROS2Publisher.h"
41 #include "RRROS2BaseSensorComponent.generated.h"
91 GaussianRNG = std::normal_distribution<>(Mean, std::sqrt(Cov));
97 virtual void Init(
const float InMean,
const float InCov)
120 return GaussianRNG(Gen);
150 std::mt19937 Gen = std::mt19937(Rng());
224 virtual void InitalizeWithROS2(UROS2NodeComponent* InROS2Node,
226 const FString& InPublisherName = TEXT(
""),
228 const FString& InTopicName = TEXT(
""),
230 const UROS2QoS InQoS = UROS2QoS::SensorData);
249 virtual void CreatePublisher(
const FString& InPublisherName = TEXT(
""));
270 virtual void PreInitializePublisher(UROS2NodeComponent* InROS2Node,
const FString& InTopicName = TEXT(
""));
295 virtual void InitializePublisher(UROS2NodeComponent* InROS2Node,
const UROS2QoS InQoS = UROS2QoS::SensorData);
380 TSubclassOf<UROS2Publisher> SensorPublisherClass = URRROS2BaseSensorPublisher::StaticClass();
398 TSubclassOf<UROS2GenericMsg> MsgClass = UROS2GenericMsg::StaticClass();
407 FString TopicName = TEXT(
"sensor_data");
416 FString FrameId = TEXT(
"sensor_frame");
425 int32 PublicationFrequencyHz = 30;
436 bool bAppendNodeNamespace =
true;
445 bool bIsValid =
true;