RapyutaSimulationPlugins
Public Member Functions | List of all members
URRKinematicJointComponent Class Reference

Kinematic Joint component. Uses K2_SetWorldTransform to move joint. More...

#include <RRKinematicJointComponent.h>

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

Public Member Functions

 URRKinematicJointComponent ()
 
virtual void InitializeComponent () override
 Initialize JointToChildLink and ParentLinkToJoint. More...
 
virtual void TickComponent (float DeltaTime, ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override
 Call UpdatePose after update PositionTarget and OrientationTarget with LinearVelocity and AngularVelocity. More...
 
virtual void SetVelocityTarget (const FVector &InLinearVelocity, const FVector &InAngularVelocity) override
 Set velocity target. More...
 
virtual void SetPose (const FVector &InPosition, const FRotator &InOrientation) override
 Super::SetPose + UpdatePose. More...
 
virtual void SetPoseTarget (const FVector &InPosition, const FRotator &InOrientation) override
 Set the Pose Target. Set LinearVelocity and AngularVelocity. More...
 
virtual void UpdatePose ()
 Update joints and ChildLink pose by K2_SetWorldTransform with PositionTarget and OrientationTarget. More...
 
virtual void Teleport (const FVector &InPosition, const FRotator &InOrientation) override
 Teleport robot to given pose. Just call SetPose. More...
 
virtual void MoveToInitPose ()
 
- Public Member Functions inherited from URRJointComponent
 URRJointComponent ()
 
virtual bool IsValid ()
 
virtual void SetVelocity (const FVector &InLinearVelocity, const FVector &InAngularVelocity)
 Directly set velocity. More...
 
virtual void SetVelocityWithArray (const TArray< float > &InVelocity)
 Set the Velocity With TArray. More...
 
virtual void SetVelocityTargetWithArray (const TArray< float > &InVelocity)
 Set the Velocity Target. More...
 
virtual bool HasReachedVelocityTarget (const float InLinearTolerance=-1.f, const float InAngularTolerance=-1.f)
 Check Pose reach the target pose. More...
 
virtual bool HasReachedPoseTarget (const float InPositionTolerance=-1.f, const float InOrientationTolerance=-1.f)
 Check Pose reach the target pose. More...
 
virtual void SetPoseWithArray (const TArray< float > &InPose)
 Directly set pose. More...
 
virtual void SetPoseTargetWithArray (const TArray< float > &InPose)
 Set Pose Target. More...
 
FTransform GetJointToChildLink ()
 
FTransform GetParentLinkToJoint ()
 

Additional Inherited Members

- Public Attributes inherited from URRJointComponent
FVector LinearVelocity = FVector::ZeroVector
 
FVector AngularVelocity = FVector::ZeroVector
 
FVector LinearVelocityTarget = FVector::ZeroVector
 
FVector AngularVelocityTarget = FVector::ZeroVector
 
FVector PositionTarget = FVector::ZeroVector
 
FRotator OrientationTarget = FRotator::ZeroRotator
 
FVector Position = FVector::ZeroVector
 
FRotator Orientation = FRotator::ZeroRotator
 
float PositionTolerance = 1.f
 [cm] tolerance for control More...
 
float OrientationTolerance = 1.f
 [degree] tolerance for control More...
 
float LinearVelocityTolerance = 10.f
 [cm/s] tolerance for control More...
 
float AngularVelocityTolerance = 10.f
 [degree/s] tolerance for control More...
 
UStaticMeshComponent * ParentLink
 
UStaticMeshComponent * ChildLink
 
ERRJointControlType ControlType = ERRJointControlType::POSITION
 
uint8 LinearDOF = 0
 Linear Degrees Of Freedom. More...
 
uint8 RotationalDOF = 1
 Rotational Degrees Of Freedom. More...
 
FVector PositionMax = FVector(1000, 1000, 1000)
 Pose Limitations[cm]. More...
 
FVector PositionMin = FVector(-1000, -1000, -1000)
 Pose Limitations[cm]. More...
 
FRotator OrientationMax = FRotator(180.f)
 Orientation Limitations[deg]. More...
 
FRotator OrientationMin = FRotator(-180, -180, -180)
 Orientation Limitations[deg]. More...
 
FVector LinearVelMax = FVector(1000, 1000, 1000)
 Linear Velocity Limitations[cm/s]. More...
 
FVector AngularVelMax = FVector(180.f)
 Angular Velocity Limitations[deg/s]. More...
 
bool bLimitRoll = true
 
bool bLimitPitch = true
 
bool bLimitYaw = true
 
FVector InitialPosition = FVector::ZeroVector
 
FRotator InitialOrientation = FRotator::ZeroRotator
 
- Protected Member Functions inherited from URRJointComponent
virtual void PoseFromArray (const TArray< float > &InPose, FVector &OutPosition, FRotator &OutOrientation)
 
virtual void VelocityFromArray (const TArray< float > &InVelocity, FVector &OutLinearVelocity, FVector &OutAngularVelocity)
 
- Protected Attributes inherited from URRJointComponent
FTransform JointToChildLink = FTransform::Identity
 
FTransform ParentLinkToJoint = FTransform::Identity
 

Detailed Description

Kinematic Joint component. Uses K2_SetWorldTransform to move joint.

Expects Joint(this) is child component of ParentLink and ChildLink is child component of Joint(this). Use initial pose

relations among parent link, joint and child link to calculate joint movement.

#Controltype:

See also
K2_SetWorldTransform

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

Constructor & Destructor Documentation

◆ URRKinematicJointComponent()

URRKinematicJointComponent::URRKinematicJointComponent ( )

Member Function Documentation

◆ InitializeComponent()

virtual void URRKinematicJointComponent::InitializeComponent ( )
overridevirtual

Initialize JointToChildLink and ParentLinkToJoint.

Reimplemented from URRJointComponent.

◆ MoveToInitPose()

virtual void URRKinematicJointComponent::MoveToInitPose ( )
virtual

◆ SetPose()

virtual void URRKinematicJointComponent::SetPose ( const FVector &  InPosition,
const FRotator &  InOrientation 
)
overridevirtual

Super::SetPose + UpdatePose.

Reimplemented from URRJointComponent.

◆ SetPoseTarget()

virtual void URRKinematicJointComponent::SetPoseTarget ( const FVector &  InPosition,
const FRotator &  InOrientation 
)
overridevirtual

Set the Pose Target. Set LinearVelocity and AngularVelocity.

Velocity become Max, Min or Zero velocity.

Parameters
InPosition
InOrientation

Reimplemented from URRJointComponent.

◆ SetVelocityTarget()

virtual void URRKinematicJointComponent::SetVelocityTarget ( const FVector &  InLinearVelocity,
const FVector &  InAngularVelocity 
)
overridevirtual

Set velocity target.

Velocity become same value as VelocityTarget with Kinematic Mode.

Parameters
InLinearVelocity
InAngularVelocity

Reimplemented from URRJointComponent.

◆ Teleport()

virtual void URRKinematicJointComponent::Teleport ( const FVector &  InPosition,
const FRotator &  InOrientation 
)
overridevirtual

Teleport robot to given pose. Just call SetPose.

Parameters
InPosition
InOrientation

Reimplemented from URRJointComponent.

◆ TickComponent()

virtual void URRKinematicJointComponent::TickComponent ( float  DeltaTime,
ELevelTick  TickType,
FActorComponentTickFunction *  ThisTickFunction 
)
overridevirtual

Call UpdatePose after update PositionTarget and OrientationTarget with LinearVelocity and AngularVelocity.

Parameters
DeltaTime
TickType
ThisTickFunction

◆ UpdatePose()

virtual void URRKinematicJointComponent::UpdatePose ( )
virtual

Update joints and ChildLink pose by K2_SetWorldTransform with PositionTarget and OrientationTarget.

See also
K2_SetWorldTransform

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