Integration of ArduPilot and VIO tracking camera (Part 2): Complete installation and indoor non-GPS flights

This might just be that the data you are reading is in body frame (NED), which means z-axis is pointing downwards. May I suggest that you check out the control scripts here for some working examples.

I have a doubt regarding the PID parameter tuning. If we are using visual odometry for guided mode do we need to tune the parameters of PID?

We are facing a strange issue, initially when we tried the guided mode, the drone was following the waypoints really well except for some time when it drifted a lot in x direction. We had a small accident and we broke the flight controller so we replaced the flight controller and now the drone is always going haywire. Do you have any idea why this is happening?

Thanks in advance.

I think the VIO pose data (VISION_POSITION_ESTIMATE) should be checked first. The VIO pose data is not always stable and could have drifted/diverged/jumped which led to the crash.

Greetings to all , I am trying the same setup for indoor navigation … just a bit confuse before going further … Can i use same setup for same obstacles avoidance ??? If so if there is any further setup i need make ???

  • The T265 has stereo fisheye cameras, so in theory you can compute depth from T265 images using OpenCV, then perform obstacle avoidance in some way. In practice, the depth quality will not be reliable enough for obstacle avoidance so you would be better off just use a dedicated sensor appropriate for this task.
  • Object avoidance with rotating LiDAR has also been long available, so that would be the go-to solution. There are some 2020 GSoC ArduPilot projects related to obstacle avoidance (using depth camera as well). You can follow and even become a beta tester to boost the progress yourself.

Thanks for your advice …
I do have livoxtech Md-40 Lidar on stock … I am willing to use same lidar for the purpose your mentioned … However after going from internet search i havent seen any such work (using Livoxtech with Pixhawk etc) … So let say if i am use The same lidar how should i start proceeding …

The wikis are your go-to starting point:

For issues related to using the lidar, you can open a new issue as well as search among other posts on the site related to it.

Thanks i ll open up new issue for Lidar

Hi @LuckyBird, I got Bad Compass Health issue before Arming. Do you have some ideas on that?


Hi @LuckyBird, when I try to set EKF home, Mission planner says Error: No SRTM data for this area.

If I close the window and try again, the message says EKF2 refusing set origin.
Hope to get some suggestions.

@cnpcshangbo, I think this, “No SRTM data for this area” message is a Mission Planner issue. It may help to:

  • zoom in more
  • ensure you have a good internet connection
  • check that the altitude appears in the top right of the Plan screen as you move the cursor around
1 Like

Hi @rmackay9,

  • I have tried to zoom more, but it doesn’t help.
  • I am able to connect to Google Map. I also tried to use my cell phone hotspot. However, they don’t help.
  • I changed to the Plan tab and moved my mouse on the map, the altitude appears in the top right is always 0.00m.
  • I also tried to use the python script to set home, however, EKF2 also refused.

    Do you have some ideas on how to get some clues?


Very strange, maybe raise an issue on the MP issues list regarding the altitudes not appearing. I strongly suspect that the issue is the internet connection is not good, you’re not zoomed in enough or perhaps you haven’t waited long enough for the altitude data to be downloaded. I’m really not sure.

Here’s an example of latest beta MP running in Japan and showing the altitudes.

@cnpcshangbo Note that the procedure goes something like this:

  1. Power up,
  2. Launch all the nodes / run all the script,
  3. Wait to confirm the position data (via vision-position-estimate message or other message types) is being received (must be available before you can set EKF origin),
  4. Then you can set EKF home via ros service / python script / MP.

@cnpcshangbo regarding the “no SRTM data” with MP: you can go to the Plan tab, zoom in to an area on the map that you want to set home, right click -> Map tool -> Prefetch. After that the SRTM will probably be stored locally.

Thanks @rmackay9 . MP shows SRTM data today. Maybe my laptop and MP needed a reboot.

1 Like

Hi @rmackay9 and @LuckyBird, I am able to set EKF home now. I failed to set EK2_GPS_TYPE=3.
Thanks for your help.

1 Like

@cnpcshangbo, excellent! great that it’s working.

Nice to meet you.
It’s very interesting this subject so, I’m trying to following this way.
But, I can’t find “VISION_POSITION_ESTIMATE” messages on my mission planner mavlink Inspector.
I have verified T265 node, MAVROS node, vision_to_mavros node status and that’s all working well as I know.
What is the problem?
this is my mavlink inspector capture image.
Anybody help me…


I found the cause of this problem.

The following MAVLink “vision” messages are not currently supported by PX4: GLOBAL_VISION_POSITION_ESTIMATE (opens new window), VISION_SPEED_ESTIMATE (opens new window), VICON_POSITION_ESTIMATE