Some question about external vision

I asked you some question this morning at Github and I am very grateful for your answer. And here I have some other questions.
My problem was when I using external vision, the topic /mavros/local_position/pose seems nothing about external vision but all about NED. You said I should enable LPE manully in px4imu-v2_default.
But my test version was px4imu-v1_default and I looked into the code LPE and attitude estimator q had been enabled. So I guess the problem is not about enabling LPE and attitude estimator?
What’s more, I used inav before and it worked well. But recently version doesn’t support inav anymore. And in the source code of configs of px4imu-v2_default, I saw inav file had been commented. I wonder if I add the inav file in the configs of cmake can I use inav as well as before?

Thank you!!!:grin:

I tried your suggestion just now. I enable attitude_estimator_q, local_position_estimator and position_estimator_inav in /cmake/configs/nuttx_px4fmu-v2_default.cmake. As you said I can switch to LPE and INAV from QGC. But I can’t find ATT_EXT_HDG_M in parameter list of QGC. I put it in the search bar and click search button, it shows nothing.
After that I tried to change the variable _ext_hdg_mode in attitude_estimator_q_main.cpp, just want to enable the external heading integration regardless of the value of the outside parameter ATT_EXT_HDG_M. But hearthreakingly the output of /mavros/local_position/pose isn’t the same as /vision_position/pose…
Can you please give me some more advice:sob:
Thank you very very very much!!!

In which Firmware version are you using? I just tried the current Master version and compile the px4fmu-v2_default with LPE. In QGC, there was ATT_EXT_HDG for setting.

Yes, what I used was px4fmu-v2_default. I just downloaded the version from github yestoday, I think the version is v1.5.2

Sorry, just now I forgot to at you

@zzzzzq Did you uncomment the Estimation modules in nuttx_px4fmu-v2_default.cmake and recompiled the source code ?

Sorry to reply so late. I just saw the cmake file and found I forgot uncomment those modules. Thank you!!
What’s more I have another question. I am reading the source code of attitude_estimator_q_main.cpp. At line 468 there is a struct called vehicle_attitude_s but I can’t find the definition of it, as well as vision_position_estimate_s at line 160. In the declaration at the header they are at uORB/topics/… but I can’t find these .h files. Thank you!!!

And one more thing, as I know v1.5.1 have disabled inav mode. I wonder if I enable module/inav in cmake files can I enable inave mode as previous versions?

After you build the source code, there will generate vehicle_attitude_s.h file in your build folder.

Also, you could rebuild v1.5.1 with inav module and use it as previous.

Thank you very very much!!! And I have some problem fusing external vision, I just proposed that problem, can you please help me out…It’s here