mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-02 17:01:35 +08:00
attitude_estimator_q_main: remove epsilon comparison; fix logic
This commit is contained in:
@@ -350,10 +350,10 @@ void AttitudeEstimatorQ::task_main()
|
|||||||
if (orb_copy(ORB_ID(vehicle_visual_odometry), _vision_odom_sub, &vision) == PX4_OK) {
|
if (orb_copy(ORB_ID(vehicle_visual_odometry), _vision_odom_sub, &vision) == PX4_OK) {
|
||||||
// validation check for vision attitude data
|
// validation check for vision attitude data
|
||||||
bool vision_att_valid = PX4_ISFINITE(vision.q[0])
|
bool vision_att_valid = PX4_ISFINITE(vision.q[0])
|
||||||
&& (PX4_ISFINITE(vision.pose_covariance[vision.COVARIANCE_MATRIX_ROLL_VARIANCE]) ? fabsf(sqrtf(fmaxf(
|
&& (PX4_ISFINITE(vision.pose_covariance[vision.COVARIANCE_MATRIX_ROLL_VARIANCE]) ? sqrtf(fmaxf(
|
||||||
vision.pose_covariance[vision.COVARIANCE_MATRIX_ROLL_VARIANCE],
|
vision.pose_covariance[vision.COVARIANCE_MATRIX_ROLL_VARIANCE],
|
||||||
fmaxf(vision.pose_covariance[vision.COVARIANCE_MATRIX_PITCH_VARIANCE],
|
fmaxf(vision.pose_covariance[vision.COVARIANCE_MATRIX_PITCH_VARIANCE],
|
||||||
vision.pose_covariance[vision.COVARIANCE_MATRIX_YAW_VARIANCE]))) - _eo_max_std_dev) < FLT_EPSILON : true);
|
vision.pose_covariance[vision.COVARIANCE_MATRIX_YAW_VARIANCE]))) <= _eo_max_std_dev : true);
|
||||||
|
|
||||||
if (vision_att_valid) {
|
if (vision_att_valid) {
|
||||||
Dcmf Rvis = Quatf(vision.q);
|
Dcmf Rvis = Quatf(vision.q);
|
||||||
@@ -382,10 +382,10 @@ void AttitudeEstimatorQ::task_main()
|
|||||||
if (orb_copy(ORB_ID(vehicle_mocap_odometry), _mocap_odom_sub, &mocap) == PX4_OK) {
|
if (orb_copy(ORB_ID(vehicle_mocap_odometry), _mocap_odom_sub, &mocap) == PX4_OK) {
|
||||||
// validation check for mocap attitude data
|
// validation check for mocap attitude data
|
||||||
bool mocap_att_valid = PX4_ISFINITE(mocap.q[0])
|
bool mocap_att_valid = PX4_ISFINITE(mocap.q[0])
|
||||||
&& (PX4_ISFINITE(mocap.pose_covariance[mocap.COVARIANCE_MATRIX_ROLL_VARIANCE]) ? fabsf(sqrtf(fmaxf(
|
&& (PX4_ISFINITE(mocap.pose_covariance[mocap.COVARIANCE_MATRIX_ROLL_VARIANCE]) ? sqrtf(fmaxf(
|
||||||
mocap.pose_covariance[mocap.COVARIANCE_MATRIX_ROLL_VARIANCE],
|
mocap.pose_covariance[mocap.COVARIANCE_MATRIX_ROLL_VARIANCE],
|
||||||
fmaxf(mocap.pose_covariance[mocap.COVARIANCE_MATRIX_PITCH_VARIANCE],
|
fmaxf(mocap.pose_covariance[mocap.COVARIANCE_MATRIX_PITCH_VARIANCE],
|
||||||
mocap.pose_covariance[mocap.COVARIANCE_MATRIX_YAW_VARIANCE]))) - _eo_max_std_dev) < FLT_EPSILON : true);
|
mocap.pose_covariance[mocap.COVARIANCE_MATRIX_YAW_VARIANCE]))) <= _eo_max_std_dev : true);
|
||||||
|
|
||||||
if (mocap_att_valid) {
|
if (mocap_att_valid) {
|
||||||
Dcmf Rmoc = Quatf(mocap.q);
|
Dcmf Rmoc = Quatf(mocap.q);
|
||||||
|
|||||||
Reference in New Issue
Block a user