22 #include <yarp/os/PeriodicThread.h>
23 #include <yarp/os/Stamp.h>
24 #include <yarp/dev/DeviceDriver.h>
25 #include <yarp/dev/PolyDriver.h>
26 #include <yarp/sig/Vector.h>
30 #include <yarp/math/Math.h>
162 yarp::os::BufferedPort<yarp::sig::Vector> bPort;
169 yarp::dev::IThreeAxisGyroscopes *iGyro{
nullptr};
171 yarp::sig::Vector gyroBias, gyro;
172 double mag_vel_thres_up{0.0};
173 double mag_vel_thres_down{0.0};
174 double bias_gain{0.0};
176 bool adaptGyroBias{
false};
179 mutable std::mutex m_mutex;
180 yarp::os::Stamp stampBias;
193 bool open(yarp::os::Searchable& config)
override;
194 bool close()
override;
197 bool attachAll(
const yarp::dev::PolyDriverList &
p)
override;
Adaptive window linear fitting to estimate the first derivative.
A class for defining a saturated integrator based on Tustin formula: .
bool attachAll(const yarp::dev::PolyDriverList &p) override
bool detachAll() override
bool threadInit() override
bool open(yarp::os::Searchable &config) override
bool getThreeAxisGyroscopeMeasure(size_t sens_index, yarp::sig::Vector &out, double ×tamp) const override
void threadRelease() override
virtual ~ImuFilter()=default
Copyright (C) 2008 RobotCub Consortium.