Go to the documentation of this file.
17 #include "GameFramework/Pawn.h"
19 #include "GameFramework/PlayerController.h"
21 #include "UnrealClient.h"
27 #include "ROS2NodeComponent.h"
45 #include "RRNetworkPlayerController.generated.h"
76 virtual void Tick(
float DeltaSeconds)
override;
92 void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps)
const override;
103 UROS2NodeComponent* SimStateClientROS2Node =
nullptr;
153 virtual void OnRep_SimStateClient();
185 void CreateROS2SimStateClient(
const TSubclassOf<URRROS2SimulationStateClient>& InSimStateClientClass);
200 void ClientInitSimStateClientROS2();
215 void ServerSetPlayerName(
const FString& InPlayerName);
239 float LocalTime = 0.0f;
257 void RequestServerTimeUpdate();
278 void ServerRequestLocalClockUpdate(
float InClientRequestTime);
303 void ClientSendLocalClockUpdate(
float InClientRequestTime,
float InServerCurrentTime);
315 void UpdateLocalClock(
float InDeltaSeconds);
340 virtual void ServerSetLinearVel(
ARRBaseRobot* InServerRobot,
342 float InClientTimeStamp,
344 const FTransform& InClientRobotTransform,
346 const FVector& InLinearVel);
371 virtual void ServerSetAngularVel(
ARRBaseRobot* InServerRobot,
373 float InClientTimeStamp,
375 const FRotator& InClientRobotRotation,
377 const FVector& InAngularVel);
393 virtual void BeginPlay()
override;
395 virtual void ReceivedPlayer()
override;
Provide ROS 2 interface implementations to interact with UE4.
Definition: SimulationState.h:173
Base Robot class. Other robot class can inherit from this class.
Clock publisher class. Get elapsed time by UGameplayStatics.
Definition: RRROS2ClockPublisher.h:48
Clock publisher class. Get elapsed time by UGameplayStatics::GetTimeSeconds
SimulationState class provides ROS 2 interface implementation to interact with UE4.
Network Player controller provides functionality for client-server. Major functionalites are.
Definition: RRNetworkPlayerController.h:66
FString PlayerName
Controller's PlayerName.
Definition: RRNetworkPlayerController.h:166
RRROS2SimulationStateClient class provides ROS 2 service interfaces to interact with UE4.
FTimerHandle ClockRequestTimerHandle
Timer handle used by RequestServerTime(). This will used to sync simulation time.
Definition: RRNetworkPlayerController.h:228
virtual float GetLocalTime()
Definition: RRNetworkPlayerController.h:241
Provide ROS 2 interfaces to interact with UE4. This provide only ROS 2 interfaces and implementation ...
Definition: RRROS2SimulationStateClient.h:78
Base Robot class. Other robot class should inherit from this class.
Definition: RRBaseRobot.h:161