Files
LuckyWorld/Source/LuckyWorldV2/Public/Robot/PilotComponent/RobotPilotSO100Component.h
Jb win c6f63317b6 FT - PilotComponent to drive so100
+ Base class for RobotPawn -> might be replaced by an Actor instead?
2025-05-02 00:36:58 +07:00

51 lines
1.4 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "Robot/PilotComponent/RobotPilotComponent.h"
#include "RobotPilotSO100Component.generated.h"
USTRUCT(BlueprintType)
struct FSo100Actuators : public FRobotActuators
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float Rotation = 0.f;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float Pitch = 0.f;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float Elbow = 0.f;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float WristPitch = 0.f;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float WristRoll = 0.f;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float Jaw = 0.f;
};
UCLASS(Blueprintable)
class LUCKYWORLDV2_API URobotPilotSO100Component : public URobotPilotComponent
{
GENERATED_BODY()
public:
URobotPilotSO100Component();
virtual void BeginPlay() override;
virtual void TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
UFUNCTION(BlueprintCallable)
virtual void StartAnimation(const FRobotActuators& NewAnimationTarget) override;
// Here let's write the code trying to match with Constantin class
// After both classes have been designed around specific needs, see what can be migrated in the parent class and update both children
// Tick where it can have targets
// Open Claw (ClawIndex)
// Presets to move certain joints into certain positions -> HardCode
// Move the arm myself JB + Capture LOG
};