RapyutaSimulationPlugins
Public Member Functions | Public Attributes | Protected Attributes | List of all members
URRROS2IMUComponent Class Reference

IMU sensor components which publish Orienation, AngularVelocity, LinearAcceleration. More...

#include <RRROS2IMUComponent.h>

Inheritance diagram for URRROS2IMUComponent:
Inheritance graph
[legend]
Collaboration diagram for URRROS2IMUComponent:
Collaboration graph
[legend]

Public Member Functions

 URRROS2IMUComponent ()
 Construct a new URRROS2IMUComponent object. More...
 
void BeginPlay () override
 
virtual void SensorUpdate () override
 Calculate IMU data, i.e. Orienation, AngularVelocity, LinearAcceleration. More...
 
virtual void Reset ()
 Initialize sensor data. More...
 
virtual FROSImu GetROS2Data ()
 return Data More...
 
virtual void SetROS2Msg (UROS2GenericMsg *InMessage) override
 Set result of GetROS2Data to InMessage. More...
 
- 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 Run ()
 Start timer to update and publish sensor data by using SetTimer. More...
 
virtual void Stop ()
 Stop timer to update and publish sensor data by using ClearTimer. More...
 

Public Attributes

FTransform InitialTransform = FTransform::Identity
 
FVector LinearAcceleration = FVector::ZeroVector
 
FVector AngularVelocity = FVector::ZeroVector
 
FQuat Orientation = FQuat::Identity
 
TObjectPtr< URRGaussianNoiseLinearAccelerationNoise
 
float NoiseMeanLinearAcceleration = 0.f
 
float NoiseVarianceLinearAcceleration = 0.05f
 
TObjectPtr< URRGaussianNoiseOrientationNoise
 
float NoiseMeanOrientation = 0.f
 
float NoiseVarianceOrientation = 0.01f
 
float OrientationNoiseDriftCoefficient = 0.0f
 
TObjectPtr< URRGaussianNoiseAngularVelocityNoise
 
float NoiseMeanAngularVelocity = 0.f
 
float NoiseVarianceAngularVelocity = 0.01f
 
FROSImu Data
 
- Public Attributes inherited from URRROS2BaseSensorComponent
TSubclassOf< UROS2Publisher > SensorPublisherClass = URRROS2BaseSensorPublisher::StaticClass()
 
URRROS2BaseSensorPublisherSensorPublisher = 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 Attributes

FVector OffsetOrientation = FVector::ZeroVector
 
FVector OrientationNoiseSum = FVector::ZeroVector
 
FTransform LastTransform = FTransform::Identity
 
FVector LastLinearVel = FVector::ZeroVector
 
FTransform LastdT = FTransform::Identity
 
float LastSensorUpdateTime
 
- Protected Attributes inherited from URRROS2BaseSensorComponent
FTimerHandle TimerHandle
 

Detailed Description

IMU sensor components which publish Orienation, AngularVelocity, LinearAcceleration.

UCLASS(ClassGroup = (Custom), Blueprintable, meta = (BlueprintSpawnableComponent))

Constructor & Destructor Documentation

◆ URRROS2IMUComponent()

URRROS2IMUComponent::URRROS2IMUComponent ( )

Construct a new URRROS2IMUComponent object.

Member Function Documentation

◆ BeginPlay()

void URRROS2IMUComponent::BeginPlay ( )
override

◆ GetROS2Data()

virtual FROSImu URRROS2IMUComponent::GetROS2Data ( )
virtual

return Data

Returns
FROSImu

UFUNCTION(BlueprintCallable)

◆ Reset()

virtual void URRROS2IMUComponent::Reset ( )
virtual

Initialize sensor data.

UFUNCTION(BlueprintCallable)

◆ SensorUpdate()

virtual void URRROS2IMUComponent::SensorUpdate ( )
overridevirtual

Calculate IMU data, i.e. Orienation, AngularVelocity, LinearAcceleration.

Reimplemented from URRROS2BaseSensorComponent.

◆ SetROS2Msg()

virtual void URRROS2IMUComponent::SetROS2Msg ( UROS2GenericMsg *  InMessage)
overridevirtual

Set result of GetROS2Data to InMessage.

Parameters
InMessage

Reimplemented from URRROS2BaseSensorComponent.

Member Data Documentation

◆ AngularVelocity

FVector URRROS2IMUComponent::AngularVelocity = FVector::ZeroVector

◆ AngularVelocityNoise

TObjectPtr<URRGaussianNoise> URRROS2IMUComponent::AngularVelocityNoise

◆ Data

FROSImu URRROS2IMUComponent::Data

◆ InitialTransform

FTransform URRROS2IMUComponent::InitialTransform = FTransform::Identity

◆ LastdT

FTransform URRROS2IMUComponent::LastdT = FTransform::Identity
protected

◆ LastLinearVel

FVector URRROS2IMUComponent::LastLinearVel = FVector::ZeroVector
protected

◆ LastSensorUpdateTime

float URRROS2IMUComponent::LastSensorUpdateTime
protected

◆ LastTransform

FTransform URRROS2IMUComponent::LastTransform = FTransform::Identity
protected

◆ LinearAcceleration

FVector URRROS2IMUComponent::LinearAcceleration = FVector::ZeroVector

◆ LinearAccelerationNoise

TObjectPtr<URRGaussianNoise> URRROS2IMUComponent::LinearAccelerationNoise

◆ NoiseMeanAngularVelocity

float URRROS2IMUComponent::NoiseMeanAngularVelocity = 0.f

◆ NoiseMeanLinearAcceleration

float URRROS2IMUComponent::NoiseMeanLinearAcceleration = 0.f

◆ NoiseMeanOrientation

float URRROS2IMUComponent::NoiseMeanOrientation = 0.f

◆ NoiseVarianceAngularVelocity

float URRROS2IMUComponent::NoiseVarianceAngularVelocity = 0.01f

◆ NoiseVarianceLinearAcceleration

float URRROS2IMUComponent::NoiseVarianceLinearAcceleration = 0.05f

◆ NoiseVarianceOrientation

float URRROS2IMUComponent::NoiseVarianceOrientation = 0.01f

◆ OffsetOrientation

FVector URRROS2IMUComponent::OffsetOrientation = FVector::ZeroVector
protected

◆ Orientation

FQuat URRROS2IMUComponent::Orientation = FQuat::Identity

◆ OrientationNoise

TObjectPtr<URRGaussianNoise> URRROS2IMUComponent::OrientationNoise

◆ OrientationNoiseDriftCoefficient

float URRROS2IMUComponent::OrientationNoiseDriftCoefficient = 0.0f

◆ OrientationNoiseSum

FVector URRROS2IMUComponent::OrientationNoiseSum = FVector::ZeroVector
protected

The documentation for this class was generated from the following file: