ZED stereo camera for Non-GPS Navigation

This article explains how a ZED stereo camera can be used with OpenKai as a substitute for a GPS allowing position control modes like Loiter, PosHold, RTL, Auto.


This is an feature was released in Copter-3.5.


  • connect the autopilot and TX1 as shown on the NVidia TX1 as a Companion Computer wiki page
  • flash the TX1 as described in the Setup the TX1 section of the above wiki page but use the apsync-tx1-openkai image from firmware.ardupilot.org
  • mount the ZED camera upside-down and using vibration dampeners to the front of the vehicle. It can be mounted right-side-up after connecting with ssh and then modify ~/src/OpenKAI/kiss/apmCopter.kiss so “bFlip” is 1.
  • in order to download the ZED camera’s calibration parameters from stereolabs.com, connect the TX1 to the Internet with an Ethernet cable during powerup (this procedure is only required once)
  • disable APSync’s video streaming (so that OpenKai can use the camera) by connecting your computer to APSync’s access point (ssid=ardupilot, pw=ardupilot), then open a browser to and click the red Disable Auto Streaming button (button should turn green) and reboot the TX1.
../_images/apsync-disable-auto-stream.png ../_images/zed-enrouteex700.jpg

Configuration through the Ground Station

Ensure that Copter-3.5 (or higher) is loaded onto the autopilot and connect with a Ground Station (i.e. Mission Planner).

Optionally you may also:

Ground Testing

  • Plug in the vehicle’s LiPo battery so that both the TX1 and autopilot are powered
  • Connect the autopilot to a ground station using a USB cable
  • If you are using Mission Planner as your ground station, once messages are successfully passing from the ZED/TX1 to the autopilot: - a proximity viewer should appear showing the distance to objects ahead of the vehicle (if PRX_TYPE was enabled above) - “Bad Vision Position” message should disappear from the HUD
  • Set the home position from the ground station map (from MP’s Flight Data screen, right-mouse-button-click on the map and select “Set EKF Origin Here”). The vehicle should appear on the map.
  • Pick-up the vehicle and walk it around checking that the vehicle’s position movements are shown on the map

Flight testing

  • Setup the vehicle with AltHold and Loiter flight modes
  • Setup an auxiliary switch to enable/disable object avoidance and move switch to the off position. Alternatively set PRX_TYPE to 0. This helps ensure the vehicle will not backaway from objects in AltHold mode which could surprise the pilot.
  • Attempt to arm and take-off in Loiter mode

DataFlash logging

  • The ZED’s visual odometry information will appear in the VISO dataflash log messages.
  • Distance to objects ahead of the vehicle will appear in the PRX messages.
  • EKF’s visual odometry information will appear in XKFD messages