1 #include "../BlockLocalPositionEstimator.hpp" 37 PX4_INFO(
"[lpe] sonar init " 38 "mean %d cm std %d cm",
61 if (d > max_dist || d < min_dist) {
70 y(0) = (d + _param_lpe_snr_off_z.get()) *
93 cov = _param_lpe_snr_z.get() * _param_lpe_snr_z.get();
122 float beta = (r.
transpose() * (S_I * r))(0, 0);
uORB::SubscriptionData< distance_sensor_s > * _sub_sonar
static const float BETA_TABLE[7]
matrix::Vector< Type, M > getMean()
BlockStats< float, n_y_sonar > _sonarStats
uint64_t _time_init_sonar
Matrix< Type, N, M > transpose() const
#define mavlink_and_console_log_info(_pub, _text,...)
Send a mavlink emergency message and print to console.
uORB::SubscriptionData< vehicle_attitude_s > _sub_att
int sonarMeasure(Vector< float, n_y_sonar > &y)
static const int REQ_SONAR_INIT_COUNT
Vector< float, 6 > f(float t, const Matrix< float, 6, 1 > &, const Matrix< float, 3, 1 > &)
__BEGIN_DECLS typedef void * orb_advert_t
ORB topic advertiser handle.
Matrix< float, n_x, n_x > m_P
matrix::Vector< Type, M > getStdDev()
uint64_t _time_last_sonar
static const float SONAR_MAX_INIT_STD
static const uint32_t SONAR_TIMEOUT
uORB::PublicationData< ekf2_innovations_s > _pub_innov
orb_advert_t mavlink_log_pub
void update(const matrix::Vector< Type, M > &u)