Setters for verlocity and angular velocity

This commit is contained in:
Pascal Serrarens 2023-12-29 10:41:28 +01:00
parent a6d1b0c945
commit dd7b6225d9
2 changed files with 26 additions and 1 deletions

View File

@ -40,4 +40,18 @@ void Propulsion::SetTwistSpeed(Vector2 linear, float yaw) {}
void Propulsion::SetTwistSpeed(Vector3 linear, float yaw, float pitch, void Propulsion::SetTwistSpeed(Vector3 linear, float yaw, float pitch,
float roll) {} float roll) {}
Polar Propulsion::GetVelocity() { return Polar(0, 0); } Polar Propulsion::GetVelocity() { return Polar(0, 0); }
float Propulsion::GetAngularVelocity() { return 0; }
Vector3 Propulsion::GetPosition() { return this->worldPosition; }
Quaternion Propulsion::GetOrientation() { return Quaternion::identity; }
void Propulsion::SetPosition(Vector3 worldPosition) {
this->worldPosition = worldPosition;
}
void Propulsion::SetOrientation(Quaternion worldOrientation) {
this->worldOrientation = worldOrientation;
}

View File

@ -3,6 +3,7 @@
#include "Motor.h" #include "Motor.h"
#include "Placement.h" #include "Placement.h"
#include "Polar.h" #include "Polar.h"
#include "Quaternion.h"
#include "Vector2.h" #include "Vector2.h"
namespace Passer { namespace Passer {
@ -61,12 +62,22 @@ public:
float pitch = 0.0F, float roll = 0.0F); float pitch = 0.0F, float roll = 0.0F);
virtual Polar GetVelocity(); virtual Polar GetVelocity();
virtual float GetAngularVelocity();
virtual Vector3 GetPosition();
virtual Quaternion GetOrientation();
virtual void SetPosition(Vector3 worldPosition);
virtual void SetOrientation(Quaternion worldOrientation);
protected: protected:
/// @brief The number of motors used for Propulsion /// @brief The number of motors used for Propulsion
unsigned int motorCount = 0; unsigned int motorCount = 0;
/// @brief The Placement of the motors used for Propulsion /// @brief The Placement of the motors used for Propulsion
Placement *placement = nullptr; Placement *placement = nullptr;
Vector3 worldPosition = Vector3::zero;
Quaternion worldOrientation = Quaternion::identity;
}; };
} // namespace RoboidControl } // namespace RoboidControl