37 lines
1014 B
C++
37 lines
1014 B
C++
#pragma once
|
|
|
|
#include "Propulsion.h"
|
|
#include "Thing.h"
|
|
#include "VectorAlgebra/Vector3.h"
|
|
|
|
namespace Passer {
|
|
namespace RoboidControl {
|
|
|
|
/// @brief Support for Quadcopter as a propulsion method
|
|
/// @note This is work in progress
|
|
class Quadcopter : public Propulsion {
|
|
public:
|
|
/// @brief Default constuctor
|
|
Quadcopter();
|
|
|
|
// virtual void SetTwistSpeed(float forward, float yaw = 0.0F) override;
|
|
// virtual void SetTwistSpeed(Vector2 linear, float yaw = 0.0F) override;
|
|
// virtual void SetTwistSpeed(Vector3 linear, float yaw = 0.0F,
|
|
// float pitch = 0.0F, float roll = 0.0F)
|
|
// override;
|
|
|
|
// Vector3 GetTargetVelocity();
|
|
// float GetYawSpeed();
|
|
// float GetPitchSpeed();
|
|
// float GetRollSpeed();
|
|
|
|
protected:
|
|
Vector3 velocity = Vector3::zero;
|
|
float pitchSpeed = 0.0F;
|
|
float yawSpeed = 0.0F;
|
|
float rollSpeed = 0.0F;
|
|
};
|
|
|
|
} // namespace RoboidControl
|
|
} // namespace Passer
|
|
using namespace Passer::RoboidControl; |