RapyutaSimulationPlugins
Protected Member Functions | List of all members
URRTurtlebotROS2Interface Class Reference

Example of URRRobotROS2Interface's child class. More...

#include <RRTurtlebotROS2Interface.h>

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

Protected Member Functions

void SetupROSParams () override
 Init turlebot's ros parameter and set to publish odom as topic and tf. More...
 
- Protected Member Functions inherited from URRRobotROS2Interface
template<typename TROS2Message , typename TROS2MessageData , typename TRobot , typename TRobotMemFuncType = void (TRobot::*)(const TROS2MessageData&)>
FORCEINLINE void OnMessageReceived (const TROS2Message *InMsg, const TRobotMemFuncType &InMemFunc)
 
template<typename TROS2Message , typename TROS2MessageData , typename TRobot >
FORCEINLINE void OnMessageReceivedFunc (const TROS2Message *InMsg, const TFunction< void(const TROS2MessageData &)> &InFunc)
 
template<typename TService , typename TServiceRequest >
void MakeServiceRequest (const FName &InServiceName, const TServiceRequest &InRequest)
 

Additional Inherited Members

- Public Member Functions inherited from URRRobotROS2Interface
virtual bool IsSupportedForNetworking () const override
 
void GetLifetimeReplicatedProps (TArray< FLifetimeProperty > &OutLifetimeProps) const override
 Returns the properties used for network replication, this needs to be overridden by all actor classes with native. More...
 
virtual void Initialize (ARRBaseRobot *InRobot)
 Initialize robot's ROS 2 interface by calling InitRobotROS2Node, InitPublishers, InitSubscriptions and ARRBaseRobot::InitSensors. More...
 
void BPInitialize ()
 AdditionalInitialization implemented in BP. More...
 
virtual void DeInitialize ()
 DeInitialize robot's ROS 2 interface by stopping publisher. More...
 
void InitRobotROS2Node (ARRBaseRobot *InRobot)
 Spawn ROS2Node and initialize it. More...
 
virtual void JointCmdCallback (const UROS2GenericMsg *Msg)
 Move robot joints by setting position or velocity to Pawn(=Robot) with given ROS 2 msg. More...
 
void UpdateJointState (UROS2GenericMsg *InMessage)
 Update Joint State msg. More...
 
void BPSetupROSParams ()
 Setup ROS params called after SetupROSParams. override by BP child class to config custom ROS 2 Interface's params. More...
 
void SetupROSParamsAll ()
 Call SetupROSParams and BPSetupROSParams. More...
 
virtual bool InitPublishers ()
 Initialize non sensor basic publishers such as odometry. More...
 
virtual void StopPublishers ()
 Stop all publishers. More...
 
virtual bool InitSubscriptions ()
 Initialize subscriptions for cmd_vel & joint_states topics. More...
 
virtual bool InitServiceClients ()
 Initialize service clients. More...
 
virtual bool InitServiceServers ()
 Initialize service servers. More...
 
virtual bool InitActionClients ()
 Initialize action clients. More...
 
virtual bool InitActionServers ()
 Initialize action servers. More...
 
virtual void MovementCallback (const UROS2GenericMsg *Msg)
 MoveRobot by setting velocity to Pawn(=Robot) with given ROS 2 msg. More...
 
- Public Attributes inherited from URRRobotROS2Interface
TObjectPtr< ARRBaseRobotRobot = nullptr
 Target robot. More...
 
TObjectPtr< UROS2NodeComponent > RobotROS2Node = nullptr
 ROS 2 node of this interface created by InitRobotROS2Node. More...
 
TObjectPtr< UROS2SpawnableROSSpawnParameters = nullptr
 ROS2SpawnParameters which is created when robot is spawn from /SpawnEntity srv provided by ASimulationState. More...
 
TObjectPtr< URRBaseOdomComponentOdomComponent = nullptr
 Odometry source. More...
 
bool bPublishOdom = true
 
bool bPublishOdomTf = false
 
float OdomPublicationFrequencyHz = 30
 
FString CmdVelTopicName = TEXT("cmd_vel")
 Movement command topic. If empty is given, subscriber will not be initiated. More...
 
FString JointCmdTopicName = TEXT("ue_joint_commands")
 Joint control command topic. If empty is given, subscriber will not be initiated. More...
 
TObjectPtr< UROS2Publisher > JointStatePublisher = nullptr
 JointState Publisher. More...
 
float JointStatePublicationFrequencyHz = 30.f
 Joint control command topic. If empty is given, subscriber will not be initiated. More...
 
FString JointStateTopicName = TEXT("ue_joint_states")
 Joint state topic. More...
 
bool bWarnAboutMissingLink = true
 
TObjectPtr< URRROS2TFsPublisherJointsTFPublisher = nullptr
 
bool bPublishJointTf = false
 
float JointTfPublicationFrequencyHz = 1.f
 
TObjectPtr< URRROS2OdomPublisherOdomPublisher = nullptr
 Odom publisher. More...
 
TMap< FString, UROS2Publisher * > Publishers
 You can add your publishers here to ask ROS2Interface to manage. More...
 
TMap< FString, UROS2Subscriber * > Subscribers
 You can add your subscribers here to ask ROS2Interface to manage. More...
 
TMap< FString, UROS2ServiceClient * > ServiceClients
 You can add your publishers here to ask ROS2Interface to manage. More...
 
TMap< FString, UROS2ServiceServer * > ServiceServers
 You can add your publishers here to ask ROS2Interface to manage. More...
 
TMap< FString, UROS2ActionClient * > ActionClients
 You can add your publishers here to ask ROS2Interface to manage. More...
 
TMap< FString, UROS2ActionServer * > ActionServers
 You can add your publishers here to ask ROS2Interface to manage. More...
 
- Protected Attributes inherited from URRRobotROS2Interface
TMap< FName, UROS2ServiceClient * > ServiceClientList
 

Detailed Description

Example of URRRobotROS2Interface's child class.

UCLASS(ClassGroup = (Custom))

Member Function Documentation

◆ SetupROSParams()

void URRTurtlebotROS2Interface::SetupROSParams ( )
inlineoverrideprotectedvirtual

Init turlebot's ros parameter and set to publish odom as topic and tf.

Reimplemented from URRRobotROS2Interface.


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