Setters for verlocity and angular velocity

This commit is contained in:
Pascal Serrarens 2023-12-29 10:41:28 +01:00
parent a6d1b0c945
commit c872a63eb2
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,
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 "Placement.h"
#include "Polar.h"
#include "Quaternion.h"
#include "Vector2.h"
namespace Passer {
@ -61,12 +62,22 @@ public:
float pitch = 0.0F, float roll = 0.0F);
virtual Polar GetVelocity();
virtual float GetAngularVelocity();
virtual Vector3 GetPosition();
virtual Quaternion GetOrientation();
virtual void SetPosition(Vector3 worldPosition);
virtual void SetOrientation(Quaternion worldOrientation);
protected:
/// @brief The number of motors used for Propulsion
unsigned int motorCount = 0;
/// @brief The Placement of the motors used for Propulsion
Placement *placement = nullptr;
Vector3 worldPosition = Vector3::zero;
Quaternion worldOrientation = Quaternion::identity;
};
} // namespace RoboidControl