Browse Source

sensors: wait for real sample rate to initialize LowPassFilter2p

release/1.12
Daniel Agar 4 years ago
parent
commit
d430e13401
  1. 2
      src/lib/mathlib/math/filter/LowPassFilter2p.hpp
  2. 3
      src/modules/sensors/vehicle_acceleration/VehicleAcceleration.hpp
  3. 6
      src/modules/sensors/vehicle_angular_velocity/VehicleAngularVelocity.hpp

2
src/lib/mathlib/math/filter/LowPassFilter2p.hpp

@ -49,6 +49,8 @@ template<typename T> @@ -49,6 +49,8 @@ template<typename T>
class LowPassFilter2p
{
public:
LowPassFilter2p() = default;
LowPassFilter2p(float sample_freq, float cutoff_freq)
{
// set initial parameters

3
src/modules/sensors/vehicle_acceleration/VehicleAcceleration.hpp

@ -93,10 +93,9 @@ private: @@ -93,10 +93,9 @@ private:
matrix::Vector3f _acceleration_prev{};
static constexpr const float kInitialRateHz{1000.f}; /**< sensor update rate used for initialization */
float _filter_sample_rate{NAN};
math::LowPassFilter2p<matrix::Vector3f> _lp_filter{kInitialRateHz, 30.f};
math::LowPassFilter2p<matrix::Vector3f> _lp_filter{};
DEFINE_PARAMETERS(
(ParamFloat<px4::params::IMU_ACCEL_CUTOFF>) _param_imu_accel_cutoff,

6
src/modules/sensors/vehicle_angular_velocity/VehicleAngularVelocity.hpp

@ -130,10 +130,8 @@ private: @@ -130,10 +130,8 @@ private:
float _filter_sample_rate_hz{NAN};
static constexpr const float kInitialRateHz{1000.f}; /**< sensor update rate used for initialization */
// angular velocity filters
math::LowPassFilter2p<float> _lp_filter_velocity[3] {{kInitialRateHz, 30.f}, {kInitialRateHz, 30.f}, {kInitialRateHz, 30.f}};
math::LowPassFilter2p<float> _lp_filter_velocity[3] {};
math::NotchFilter<float> _notch_filter_velocity[3] {};
#if !defined(CONSTRAINED_FLASH)
@ -167,7 +165,7 @@ private: @@ -167,7 +165,7 @@ private:
#endif // !CONSTRAINED_FLASH
// angular acceleration filter
math::LowPassFilter2p<float> _lp_filter_acceleration[3] {{kInitialRateHz, 30.f}, {kInitialRateHz, 30.f}, {kInitialRateHz, 30.f}};
math::LowPassFilter2p<float> _lp_filter_acceleration[3] {};
uint32_t _selected_sensor_device_id{0};

Loading…
Cancel
Save