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 FString &InServiceName, const TServiceRequest &InRequest)
 

Additional Inherited Members

- Public Member Functions inherited from URRRobotROS2Interface
virtual 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 (AActor *Owner) override
 Initialize robot's ROS 2 interface by calling InitRobotROS2Node, InitPublishers, InitSubscriptions and ARRBaseRobot::InitSensors. More...
 
virtual void InitInterfaces () override
 Init publishers, subscribers, service clients, service servers, action clients, and action servers. More...
 
virtual void DeInitialize () override
 DeInitialize robot's ROS 2 interface by stopping publisher. More...
 
virtual void InitROS2NodeParam (AActor *Owner) override
 Spawn ROS2 Node, and initialize it if ROS2 Node = nullptr. 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...
 
virtual bool InitPublishers () override
 Initialize non sensor basic publishers such as odometry. More...
 
virtual bool InitSubscriptions () override
 Initialize subscriptions for cmd_vel & joint_states topics. More...
 
virtual void MovementCallback (const UROS2GenericMsg *Msg)
 MoveRobot by setting velocity to Pawn(=Robot) with given ROS 2 msg. More...
 
- Public Member Functions inherited from URRBaseROS2Interface
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...
 
void BPInitialize ()
 AdditionalInitialization implemented in BP. More...
 
virtual void InitRobotROS2Node (AActor *Owner)
 Spawn ROS2Node and initialize it. 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 void StopPublishers ()
 Stop all publishers. 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...
 
- Public Attributes inherited from URRRobotROS2Interface
TObjectPtr< ARRBaseRobotRobot = nullptr
 Target robot. 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...
 
- Public Attributes inherited from URRBaseROS2Interface
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...
 
FString DefautlROSNamespace = TEXT("")
 Defautl ROS namespace. 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...
 

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 URRBaseROS2Interface.


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