Agrarsense
|
#include <PIDDrone.h>
Public Member Functions | |
APIDDrone () | |
virtual EVehicleTypes | GetVehicleType () const override |
virtual FTransform | GetInteractableWorldTransform_Implementation () const override |
void | SetDroneAction (EDroneAction mode) |
Set drone's action (roaming, manual) More... | |
EDroneAction | GetDroneAction () const |
Get drone's action (roaming, manual) More... | |
FDroneParameters | GetDroneParameters () const |
void | ChangeDroneParameters (const FDroneParameters &newParameters) |
void | AddWayPoint (FVector Waypoint) |
float | GetDroneDistanceToNextPoint () |
float | GetDroneSpeed () const |
void | ClearWaypoints () |
void | SetFlightpath () |
Called in tick function for drone roaming through points. More... | |
void | SetManualControl (bool value) |
void | MoveDroneToPosition (const FTransform Transform) |
Override all drone roaming points and continue towards this position. More... | |
TArray< FTransform > | GenerateRoamingPoints (float radius, int32 roamingPoints) |
Generates a roadming points array for the drone in radius. More... | |
float | GetYawRotationDifference (USkeletalMeshComponent *DroneSkeletalMesh, UStaticMeshComponent *DesiredLocation) |
Get wanted waypoint target rotation. More... | |
virtual void | SetCurrentTransformToMovedFromGarageTransform () override |
void | SetShowForwardArrow (bool Show) |
void | SetDrawDebugPoints (bool show) |
bool | GetShowForwardArrow () const |
USkeletalMeshComponent * | GetDroneSkeletalMesh () const |
![]() | |
AVehicle () | |
virtual EVehicleTypes | GetVehicleType () const |
void | TogglePhysics (bool isOn) |
void | SetVehicleMeshVisibility (bool Visible) |
void | TeleportVehicleTo (FVector NewLocation, FRotator NewRotation) |
virtual void | TeleportVehicleTo_Implementation (FVector NewLocation, FRotator NewRotation) |
void | ResetCamera () |
void | ToggleLights (bool isOn) |
void | SetVisualizeVehicleOverlapArea (bool Visible) |
FString | ExportToJsonFile (const FString &FileName) |
void | SetVehicleIsInGarage (bool VehicleIsInGarage) |
bool | IsVehicleInGarage () const |
USensorsManagerComponent * | GetSensorsManager () const |
ACollisionSensor * | GetCollisionSensor () const |
ATransformSensor * | GetTransformSensor () const |
AOverlapSensor * | GetOverlapSensor () const |
FTransform | GetMovedFromGarageTransform () const |
virtual void | SetCurrentTransformToMovedFromGarageTransform () |
virtual FText | GetInteractableName_Implementation () const override |
virtual FTransform | GetInteractableWorldTransform_Implementation () const override |
virtual FString | GetActorID_Implementation () const override |
virtual FString | GetActorName_Implementation () const override |
virtual FString | GetActorInformation_Implementation () const override |
virtual void | SetActorName_Implementation (const FString &NewActorName) override |
virtual void | SetActorIDAndName_Implementation (const FString &NewActorName, const FString &NewID) override |
void | SetVehicleParameters (FWheeledVehicleParameters NewParameters) |
FWheeledVehicleParameters | GetVehicleParameters () const |
void | ApplyVehicleParameters (FWheeledVehicleParameters CurrentParameters) |
virtual void | PossessedBy (AController *NewController) override |
![]() | |
FText | GetInteractableName () const |
FTransform | GetInteractableWorldTransform () const |
![]() | |
FString | GetActorID () const |
FString | GetActorName () const |
FString | GetActorInformation () const |
void | SetActorName (const FString &NewActorName) |
void | SetActorIDAndName (const FString &NewActorName, const FString &NewID) |
Public Attributes | |
FDroneFinished | OnDroneFinished |
![]() | |
FText | InteractableName |
FVehicleGarageChangedDelegate | OnVehicleGarageChanged |
Protected Member Functions | |
void | ROSBridgeStateChanged (EROSState ROSState) override |
virtual void | BeginPlay () override |
virtual void | EndPlay (const EEndPlayReason::Type EndPlayReason) override |
virtual void | ROSBridgeStateChanged (EROSState ROSState) |
Protected Attributes | |
UTopic * | ROSTopic = nullptr |
TSharedPtr< ROSMessages::std_msgs::Float32 > | ROSMessage |
![]() | |
FWheeledVehicleParameters | VehicleParameters |
TObjectPtr< USensorsManagerComponent > | SensorsManager |
ACollisionSensor * | CollisionSensor = nullptr |
ATransformSensor * | TransformSensor = nullptr |
AOverlapSensor * | OverlapSensor = nullptr |
UNiagaraComponent * | NiagaraComponent = nullptr |
TArray< UStaticMeshComponent * > | ExtraTransformSensorPositions |
FString | ActorName |
FString | ActorID |
FTransform | OriginalCameraTransform |
FTransform | MovedFromGarageTransform |
bool | VehicleInGarage = false |
TArray< ATransformSensor * > | ExtraTransformSensors |
Private Member Functions | |
virtual void | BeginPlay () override |
virtual void | Tick (float DeltaTime) override |
virtual void | EndPlay (const EEndPlayReason::Type EndPlayReason) override |
void | CreateTopic () |
void | DestroyTopic () |
void | HandleDestroy () |
void | AutoPilot (const float DeltaTime) |
void | DrawDebugPoints () |
void | AssignRoamingPoints (const TArray< FTransform > Points) |
void | SetDroneRotation (USkeletalMeshComponent *target, FRotator rotator) |
void | UpdateGroundHeight () |
bool | IsRoaming () const |
void | SetDesiredLocationMesh (UStaticMeshComponent *meshcomponent) |
FVector | GetCurrentWaypointTarget () |
FTransform | GetCurrentWaypointTarget_Transform () |
Private Attributes | |
FDroneParameters | DroneParameters |
EFlightMode | flightmode = EFlightMode::Roaming |
UWorld * | World = nullptr |
FVector | StartingPosition |
USkeletalMeshComponent * | DroneSkeletalMesh = nullptr |
UStaticMeshComponent * | PositionMesh = nullptr |
AOverlapSensor * | InnerOverlapSensor = nullptr |
TArray< FVector > | WayPoints |
bool | waypointReached = false |
bool | manualControl = false |
bool | ShowForwardArrow = false |
bool | drawDebugPoints = false |
int32 | passedWaypoints = 0 |
float | DroneHeightFromGround = 0.0f |
float | distanceToNextPoint = 0.0f |
TArray< FTransform > | dronePath |
FTimerHandle | DestroyHandle |
Additional Inherited Members | |
![]() | |
static void | SetAndValidateActorIDAndName (FString &ActorName, FString &ActorID, TWeakObjectPtr< AActor > Actor) |
static bool | DestroyActorByID (const FString &ID) |
static AActor * | GetActorByID (const FString &ID) |
template<typename T > | |
static TArray< T * > | GetActorsWithInterface () |
static void | PrintAllIds () |
Definition at line 25 of file PIDDrone.h.
APIDDrone::APIDDrone | ( | ) |
Definition at line 28 of file PIDDrone.cpp.
References AVehicle::InteractableName.
|
inline |
Definition at line 83 of file PIDDrone.h.
References FDroneParameters::Points.
|
private |
Definition at line 354 of file PIDDrone.cpp.
References ClearWaypoints(), and WayPoints.
|
private |
Definition at line 186 of file PIDDrone.cpp.
References FDroneParameters::DroneAction, DroneParameters, SetFlightpath(), and Stationary.
Referenced by Tick().
|
overrideprivatevirtual |
Reimplemented from AVehicle.
Definition at line 90 of file PIDDrone.cpp.
References AVehicle::ActorID, ChangeDroneParameters(), CreateTopic(), DroneParameters, DroneSkeletalMesh, AVehicle::NiagaraComponent, AVehicle::OverlapSensor, FOverlapSensorParameters::OwningActor, FTransformSensorParameters::OwningActor, PositionMesh, FTransformSensorParameters::PrimitiveComponent, FOverlapSensorParameters::RelativePosition, ROSMessage, FTransformSensorParameters::SaveTransformDataToDisk, FOverlapSensorParameters::Size, USensorFactory::SpawnOverlapSensor(), USensorFactory::SpawnTransformSensor(), StartingPosition, AVehicle::TransformSensor, FTransformSensorParameters::UseOwningActorTransform, and World.
void APIDDrone::ChangeDroneParameters | ( | const FDroneParameters & | newParameters | ) |
Definition at line 34 of file PIDDrone.cpp.
References AVehicle::ActorID, FOverlapSensorParameters::AllChannels, FDroneParameters::CollisionsEnabled, FDroneParameters::CreateInnerOverlapSensor, DroneParameters, DroneSkeletalMesh, FDroneParameters::InnerOverlapRadiusMeters, InnerOverlapSensor, FDroneParameters::OverlapRadiusMeters, AVehicle::OverlapSensor, FOverlapSensorParameters::OwningActor, FOverlapSensorParameters::RelativePosition, AOverlapSensor::SetOverlapBounds(), AOverlapSensor::SetVisualizeOverlapArea(), FOverlapSensorParameters::Size, USensorFactory::SpawnOverlapSensor(), and FDroneParameters::VisualizeOverlap.
Referenced by BeginPlay(), and USimulatorJsonParser::ParseAndSetDroneParameters().
|
inline |
Definition at line 115 of file PIDDrone.h.
Referenced by AssignRoamingPoints().
|
private |
Definition at line 487 of file PIDDrone.cpp.
References AVehicle::GetActorID_Implementation(), UAgrarsenseStatics::GetROSGameInstance(), and ROSTopic.
Referenced by BeginPlay(), and ROSBridgeStateChanged().
|
private |
Definition at line 527 of file PIDDrone.cpp.
References ROSTopic.
Referenced by EndPlay(), and ROSBridgeStateChanged().
|
private |
Definition at line 196 of file PIDDrone.cpp.
References DroneParameters, dronePath, DroneSkeletalMesh, FDroneParameters::Points, and World.
Referenced by Tick().
|
overrideprivatevirtual |
Reimplemented from AVehicle.
Definition at line 147 of file PIDDrone.cpp.
References DestroyTopic(), InnerOverlapSensor, ROSMessage, and AVehicle::TransformSensor.
TArray< FTransform > APIDDrone::GenerateRoamingPoints | ( | float | radius, |
int32 | roamingPoints | ||
) |
Generates a roadming points array for the drone in radius.
radius | radius of the roaming area |
Definition at line 449 of file PIDDrone.cpp.
Referenced by SetFlightpath().
|
private |
Definition at line 339 of file PIDDrone.cpp.
References GetCurrentWaypointTarget_Transform().
Referenced by SetFlightpath().
|
private |
Definition at line 344 of file PIDDrone.cpp.
References DroneParameters, DroneSkeletalMesh, passedWaypoints, and FDroneParameters::Points.
Referenced by GetCurrentWaypointTarget().
|
inline |
Get drone's action (roaming, manual)
Definition at line 68 of file PIDDrone.h.
|
inline |
Definition at line 92 of file PIDDrone.h.
References Manual.
|
inline |
Definition at line 74 of file PIDDrone.h.
Referenced by USimulatorJsonExporter::SetDroneParameters().
|
inline |
Definition at line 186 of file PIDDrone.h.
|
inline |
Definition at line 104 of file PIDDrone.h.
|
inlineoverridevirtual |
Reimplemented from AVehicle.
Definition at line 39 of file PIDDrone.h.
|
inline |
Definition at line 180 of file PIDDrone.h.
|
inlineoverridevirtual |
Get type of the Vehicle
Reimplemented from AVehicle.
Definition at line 37 of file PIDDrone.h.
References Drone.
float APIDDrone::GetYawRotationDifference | ( | USkeletalMeshComponent * | DroneSkeletalMesh, |
UStaticMeshComponent * | DesiredLocation | ||
) |
Get wanted waypoint target rotation.
Definition at line 510 of file PIDDrone.cpp.
|
private |
Definition at line 226 of file PIDDrone.cpp.
References ASimulationLevelManager::CeaseManualControlOfVehicle(), Destroy, ASimulationLevelManager::GetManuallyControlledVehicle(), UAgrarsenseStatics::GetSimulationLevelManager(), passedWaypoints, and World.
Referenced by SetFlightpath().
|
inlineprivate |
Definition at line 227 of file PIDDrone.h.
References Roaming.
Referenced by SetFlightpath().
void APIDDrone::MoveDroneToPosition | ( | const FTransform | Transform | ) |
Override all drone roaming points and continue towards this position.
Transform | drone move position |
Definition at line 326 of file PIDDrone.cpp.
References DroneParameters, FDroneParameters::Points, and Transform.
|
overrideprotectedvirtual |
Reimplemented from AVehicle.
Definition at line 473 of file PIDDrone.cpp.
References Connected, CreateTopic(), DestroyTopic(), and Disconnected.
|
inlineoverridevirtual |
Reimplemented from AVehicle.
Definition at line 153 of file PIDDrone.h.
|
inlineprivate |
Definition at line 233 of file PIDDrone.h.
|
inline |
Definition at line 174 of file PIDDrone.h.
Referenced by USimulatorJsonParser::ParseAndSetDroneParameters().
|
inline |
Set drone's action (roaming, manual)
Definition at line 55 of file PIDDrone.h.
|
private |
Definition at line 364 of file PIDDrone.cpp.
void APIDDrone::SetFlightpath | ( | ) |
Called in tick function for drone roaming through points.
Definition at line 246 of file PIDDrone.cpp.
References Destroy, DestroyHandle, distanceToNextPoint, FDroneParameters::DroneAction, FDroneParameters::DroneEndAction, DroneParameters, DroneSkeletalMesh, GenerateRandomNew, GenerateRoamingPoints(), GetCurrentWaypointTarget(), GoBackwards, HandleDestroy(), IsRoaming(), OnDroneFinished, passedWaypoints, FDroneParameters::Points, PositionMesh, RepeatFromBeginning, Roaming, Stationary, Stop, and waypointReached.
Referenced by AutoPilot().
|
inline |
Definition at line 127 of file PIDDrone.h.
|
inline |
Definition at line 169 of file PIDDrone.h.
Referenced by USimulatorJsonParser::ParseAndSetDroneParameters().
|
overrideprivatevirtual |
Definition at line 167 of file PIDDrone.cpp.
References AutoPilot(), DrawDebugPoints(), drawDebugPoints, AVehicle::IsVehicleInGarage(), and UpdateGroundHeight().
|
private |
Definition at line 394 of file PIDDrone.cpp.
References DroneHeightFromGround, DroneSkeletalMesh, ROSMessage, ROSTopic, and World.
Referenced by Tick().
|
private |
Definition at line 285 of file PIDDrone.h.
Referenced by SetFlightpath().
|
private |
Definition at line 281 of file PIDDrone.h.
Referenced by SetFlightpath().
|
private |
Definition at line 275 of file PIDDrone.h.
Referenced by Tick().
|
private |
Definition at line 279 of file PIDDrone.h.
Referenced by UpdateGroundHeight().
|
private |
Definition at line 244 of file PIDDrone.h.
Referenced by AutoPilot(), BeginPlay(), ChangeDroneParameters(), DrawDebugPoints(), GetCurrentWaypointTarget_Transform(), MoveDroneToPosition(), and SetFlightpath().
|
private |
Definition at line 283 of file PIDDrone.h.
Referenced by DrawDebugPoints().
|
private |
Definition at line 255 of file PIDDrone.h.
Referenced by BeginPlay(), ChangeDroneParameters(), DrawDebugPoints(), GetCurrentWaypointTarget_Transform(), SetFlightpath(), and UpdateGroundHeight().
|
private |
Definition at line 247 of file PIDDrone.h.
|
private |
Definition at line 261 of file PIDDrone.h.
Referenced by ChangeDroneParameters(), and EndPlay().
|
private |
Definition at line 271 of file PIDDrone.h.
FDroneFinished APIDDrone::OnDroneFinished |
Definition at line 61 of file PIDDrone.h.
Referenced by SetFlightpath().
|
private |
Definition at line 277 of file PIDDrone.h.
Referenced by GetCurrentWaypointTarget_Transform(), HandleDestroy(), and SetFlightpath().
|
private |
Definition at line 258 of file PIDDrone.h.
Referenced by BeginPlay(), and SetFlightpath().
|
protected |
Definition at line 198 of file PIDDrone.h.
Referenced by BeginPlay(), EndPlay(), and UpdateGroundHeight().
|
protected |
Definition at line 196 of file PIDDrone.h.
Referenced by CreateTopic(), DestroyTopic(), and UpdateGroundHeight().
|
private |
Definition at line 273 of file PIDDrone.h.
|
private |
Definition at line 252 of file PIDDrone.h.
Referenced by BeginPlay().
|
private |
Definition at line 269 of file PIDDrone.h.
Referenced by SetFlightpath().
|
private |
Definition at line 264 of file PIDDrone.h.
Referenced by AssignRoamingPoints().
|
private |
Definition at line 250 of file PIDDrone.h.
Referenced by BeginPlay(), DrawDebugPoints(), HandleDestroy(), and UpdateGroundHeight().