# External Vision in the EKF2 Critical Navigation Failure

**URL:** <https://discuss.px4.io/t/external-vision-in-the-ekf2-critical-navigation-failure/8534>\
**Category:** Pixhawk\
**Created:** [November 18, 2018, 2:39am UTC](https://discuss.px4.io/t/external-vision-in-the-ekf2-critical-navigation-failure/8534 "2018-11-18T02:39:46Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![curtismuntz](https://discuss.px4.io/letter_avatar_proxy/v4/letter/c/a87d85/32.png) [@curtismuntz](https://discuss.px4.io/u/curtismuntz)\
**Post date:** [November 18, 2018, 2:39am UTC](https://discuss.px4.io/t/external-vision-in-the-ekf2-critical-navigation-failure/8534/1 "2018-11-18T02:39:46Z")

</div>

I’m working on integrating an external vision sensor into the EKF2 on PX4 version 1.8.0. We have previously been flying with great success on the inav/attq combo. I’ve been having issues flying indoors with the EKF2 under external vision estimation (no gps).

During manual flights, I keep getting a `CRITICAL NAVIGATION FAILURE - CHECK SENSOR CALIBRATION` message from commander, while the EKF2 position estimate seems to hang.

Here is an example flight that exhibits the issue: [https://logs.px4.io/plot\_app?log=7d81671f-c98a-4250-9293-58587f24818d](https://logs.px4.io/plot_app?log=7d81671f-c98a-4250-9293-58587f24818d)

I feel like I’m missing something silly, do you guys have any thoughts?

---

<div class="post-metadata">

**Author:** ![curtismuntz](https://discuss.px4.io/letter_avatar_proxy/v4/letter/c/a87d85/32.png) [@curtismuntz](https://discuss.px4.io/u/curtismuntz)\
**Post date:** [November 19, 2018, 10:52pm UTC](https://discuss.px4.io/t/external-vision-in-the-ekf2-critical-navigation-failure/8534/2 "2018-11-19T22:52:22Z")

</div>

I’ll be updating this post as I learn about the problem.

I discovered that despite mavlink requiring me to send in a position estimate covariance [as part of the message](https://github.com/mavlink/c_library_v2/blob/033fa8e7a4a75a0c3f17cea57e3be8966e05f770/common/mavlink_msg_vision_position_estimate.h#L76), the mavlink receiver is not [configured to unpack it](https://github.com/PX4/Firmware/blob/v1.8.0/src/modules/mavlink/mavlink_receiver.cpp#L1232). It looks like this has been updated on master.

Is it more common to use the `local_position_ned_cov` + `attitude_quaternion_cov` for these applications instead?

---

<div class="post-metadata">

**Author:** ![das\_automat](https://discuss.px4.io/letter_avatar_proxy/v4/letter/d/eb8c5e/32.png) [@das\_automat](https://discuss.px4.io/u/das_automat)\
**Post date:** [July 12, 2019, 6:56am UTC](https://discuss.px4.io/t/external-vision-in-the-ekf2-critical-navigation-failure/8534/3 "2019-07-12T06:56:05Z")

</div>

Hi curtismuntz,

Did you end up figuring the problem? I’m facing the exact same situation using VICON. I might try reloading the firmware tomorrow.
