Marvelmind for Non-GPS navigation

This article explains how a MarvelMind system can be as a short-range substitude for a GPS allowing position control modes like Auto and Guided. See the user manual for more details on the system.

Note

Support was added in Copter-3.6 and Rover-3.3. This wiki page is a work-in-progress.

../_images/marvel-mind.jpg

image courtesy of marvelmind.com

Required Hardware

Connecting to a flight controller

  • ensure the mavelmind is firmware version 5.77 (or higher)
  • ensure that Copter-3.6 (or higher) or Rover-3.3 is loaded onto the flight controller and connect with a Ground Station (i.e. Mission Planner).
  • enable the EKF3 as described here
  • set EK3_ALT_SOURCE to 3 (means using Marvelmind for altitude)
  • set BCN_TYPE to 2 (means using Marvelmind system)
  • set BCN_LATITUDE, BCN_LONGITUDE and BCN_ALT to match your actual location. Getting these values exactly correct is not particularly important although getting it close is required in order for the compass’s declination to be correctly looked up from the small database held within ArduPilot.
  • set BCN_ORIENT_YAW to the heading from the origin anchor to the 2nd anchor. One way to capture this value is to stand at the origin holding the vehicle so that it’s nose points towards the second beacon. Read the vehicle’s heading from the HUD and enter this value into BCN_ORIENT_YAW
  • set GPS_TYPE to 0 to disable the GPS
  • set ARMING_CHECK to -9 to disable the GPS arming check
  • set SERIAL1_BAUD to 115 to set telemetry1’s baud rate to 115200 (if using Telem2 set SERIAL2_BAUD instead)
  • set SERIAL1_PROTOCOL to 13 to enable receiving data from the marvelmind (If using Telem2 set SERIAL2_PROTOCOL instead)
  • set BRD_SER1_RTSCTS to 0 to ensure telem1 does not use flow control (If using Telem2 set BRD_SER2_RTSCTS instead, not required if using Serial4/5)

Ground Testing

  • Connect the Flight Controller to a ground station
  • After about 1 minute the vehicle’s position should jump to the lattitude, longitude you input during the configuration step (above)
  • Check that the vehicle’s position is relatively stable (i.e. moving around less than one meter)
  • Walk the vehicle around between the anchors and ensure that it’s position on the map updates correctly

DataFlash logging

The distance to the beacons can be found in the dataflash log’s BCN message’s D0, D1, D2, D3 fields.