Over the past month or so a few of us have been experimenting with using the Pozyx system (based on the decawave DWM1000 chip) for non-GPS navigation.
We've made quite good progress and it's just been integrated into ArduPilot master and should go out with Copter-3.5 in a few months. You can see a video of a flight using Pozyx here:
The system works by setting up 4 anchors (aka "beacons") in a rectangle (see image below). Then a "tag" is mounted to the vehicle (see IRIS above). This tag is a pozyx sensor plus an arduino uno which runs a fairly simple sketch which tells ArduPilot's the length of the sides of the rectangle and the vehicle's distance to each beacon. ArduPilot's EKF has been enhanced to consume this information and come up with a position estimate.
Some extra info:
- the range of the sensors seems to be a bit longer than 50m.
- there's some indication that the system suffers from multipathing so it really needs a clear line-of-sight from the vehicle to the beacons.
- so far we use 4 beacons. The minimum is 3, the EKF supports up to 10.
- the hardware is quite bulky but we hope smaller hardware will be manufactured by someone eventually. There seems to be interest from several groups to do this.
For developer who want to experiement with the system, we've created a fairly detailed setup wiki page here.
Some credit for the work so far:
- idea to use the DWM1000 was brought to the team by long-time ArduPilot developer Jonathan Challinger
- strategy to use Pozyx and first GPS_INPUT implementation by the Drone Japan School members including Kitaoka-san, Matsuura-san and Murata-san.
As per usual, if you're interested in getting involved with ArduPilot development, you can find many of us on Gitter.