mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-19 02:43:33 +08:00
Use new Vector4 class
This commit is contained in:
@@ -250,9 +250,9 @@ float EkfWrapper::getYawAngle() const
|
||||
return euler(2);
|
||||
}
|
||||
|
||||
matrix::Vector<float, 4> EkfWrapper::getQuaternionVariance() const
|
||||
matrix::Vector4f EkfWrapper::getQuaternionVariance() const
|
||||
{
|
||||
return matrix::Vector<float, 4>(_ekf->orientation_covariances().diag());
|
||||
return matrix::Vector4f(_ekf->orientation_covariances().diag());
|
||||
}
|
||||
|
||||
int EkfWrapper::getQuaternionResetCounter() const
|
||||
|
||||
@@ -111,7 +111,7 @@ public:
|
||||
|
||||
Eulerf getEulerAngles() const;
|
||||
float getYawAngle() const;
|
||||
matrix::Vector<float, 4> getQuaternionVariance() const;
|
||||
matrix::Vector4f getQuaternionVariance() const;
|
||||
int getQuaternionResetCounter() const;
|
||||
|
||||
matrix::Vector3f getDeltaVelBiasVariance() const;
|
||||
|
||||
@@ -331,9 +331,9 @@ TEST_F(EkfGpsHeadingTest, stopOnGround)
|
||||
_ekf_wrapper.setMagFuseTypeNone();
|
||||
|
||||
// WHEN: running without yaw aiding
|
||||
const matrix::Vector<float, 4> quat_variance_before = _ekf_wrapper.getQuaternionVariance();
|
||||
const matrix::Vector4f quat_variance_before = _ekf_wrapper.getQuaternionVariance();
|
||||
_sensor_simulator.runSeconds(20.0);
|
||||
const matrix::Vector<float, 4> quat_variance_after = _ekf_wrapper.getQuaternionVariance();
|
||||
const matrix::Vector4f quat_variance_after = _ekf_wrapper.getQuaternionVariance();
|
||||
|
||||
// THEN: the yaw variance is constrained by fusing constant data
|
||||
EXPECT_LT(quat_variance_after(3), quat_variance_before(3));
|
||||
|
||||
@@ -83,7 +83,7 @@ public:
|
||||
|
||||
void quaternionVarianceBigEnoughAfterOrientationInitialization()
|
||||
{
|
||||
const matrix::Vector<float, 4> quat_variance = _ekf_wrapper.getQuaternionVariance();
|
||||
const matrix::Vector4f quat_variance = _ekf_wrapper.getQuaternionVariance();
|
||||
const float quat_variance_limit = 0.0001f;
|
||||
EXPECT_TRUE(quat_variance(1) > quat_variance_limit) << "quat_variance(1)" << quat_variance(1);
|
||||
EXPECT_TRUE(quat_variance(2) > quat_variance_limit) << "quat_variance(2)" << quat_variance(2);
|
||||
|
||||
@@ -59,8 +59,8 @@ public:
|
||||
bool isAvailable() { return _input_available; };
|
||||
|
||||
// Position : 0 : pitch, 1 : roll, 2 : throttle, 3 : yaw
|
||||
const matrix::Vector<float, 4> &getPosition() { return _positions; }; // Raw stick position, no deadzone
|
||||
const matrix::Vector<float, 4> &getPositionExpo() { return _positions_expo; }; // Deadzone and expo applied
|
||||
const matrix::Vector4f &getPosition() { return _positions; }; // Raw stick position, no deadzone
|
||||
const matrix::Vector4f &getPositionExpo() { return _positions_expo; }; // Deadzone and expo applied
|
||||
|
||||
// Helper functions to get stick values more intuitively
|
||||
float getRoll() const { return _positions(1); }
|
||||
@@ -90,8 +90,8 @@ public:
|
||||
|
||||
private:
|
||||
bool _input_available{false};
|
||||
matrix::Vector<float, 4> _positions; ///< unmodified manual stick inputs
|
||||
matrix::Vector<float, 4> _positions_expo; ///< modified manual sticks using expo function
|
||||
matrix::Vector4f _positions; ///< unmodified manual stick inputs
|
||||
matrix::Vector4f _positions_expo; ///< modified manual sticks using expo function
|
||||
|
||||
uORB::Subscription _manual_control_setpoint_sub{ORB_ID(manual_control_setpoint)};
|
||||
uORB::Subscription _failsafe_flags_sub{ORB_ID(failsafe_flags)};
|
||||
|
||||
Reference in New Issue
Block a user