The upcoming Copter-3.4 release will include terrain following support for mission commands using either Google earth altitude data or a Laser Range Finder. This is a demonstration video shot at a ski hill near my home in Karuizawa Japan of this new feature.
For this test I used a venerable 3DR IRIS with a PulsedLight Lidar Lite. This lidar is difficult to find but actually I recommend the sensors from Lightware (like the SF10) which, although they are quite a bit more expensive, are much more reliable and offer a greater range.
With this new feature, the pilot can input a mission with altitudes specified as either Terrain altitudes (i.e. altitude above the terrain), Absolute altitudes (i.e. 1300m) or the regular Alt-Above-Home that we've always supported.
In case you're wondering how we decide whether to use google earth data vs lidar, if the vehicle has a lidar attached it will use it, if not, and the mission specifies terrain altitudes, google earth data will be used (Note: the ground station must support sending the terrain data to the vehicle which Mission Planner and MAVProxy certainly do but I'm less sure about Tower, APPlanner2 and QGroundControl).
This was actually the third or fourth test flight of the feature. Some of the others are below with varying levels of success :-).
Terrain following with Google earth data
Terrain following with Lidar but crashes because of weak battery
Short mission with straight line waypoints (successful)
Longer mission with spline waypoints (unsuccesful because of tuning and hits altitude fence)
The changes are under peer review and should end up in master within a few days.
The dataflash log of the flight can be found here.
Special thanks to Leonard Hall and Tridge who helped me at numerous points during the development of this feature.
Comments
When will the lidar terrain following will be implemented in Plane?
@BretC, yes it does (see wiki here). By the way, we've moved most ardupilot support over here to the ardupilot forums and I don't think you'll see most of the core ArduPilot developers here much anymore The servers are a little slow but they'll be upgraded soon.
Group - does the latest version of PLANE support terrain following?
Thanks!
Hi Randy, thank you for your great work!
I have a question: despite many attempts using version Copter V3.4-rc1 (dfa90d29), it seems impossible to use the rangefinder (SF11) during mission in auto mode.
Alt Hold and Loiter use Laser correctly, in fact altitude is perfect (many test, perfect results), but when in auto mode the altitude is not stable and solid as in others mode, varying for many cm.
In according with the wiki, we used these parameters:
SERIAL4_PROTOCOL = 9
SERIAL4_BAUD = 19
RNGFND_TYPE = 8
RNGFND_SCALING = 1
RNGFND_MIN_CM = 5
RNGFND_MAX_CM = 12000 (sf11)
RNGFND_GNDCLEAR = 15
Any idea? Thank you in advance!
We talked on the dev call about reducing the google maps data block size from the default (90m or 100m) down to the minimum (30m) at least for Copter and we think it might just work if we change the TERRAIN_SPACING parameter to 30. So something to try once we get into beta testing.
Hi Randy,
TX1 - Super Cool, that should definitely have the power.
Very much looking forward to where you are headed.
Best Regards,
Gary
Nice, thank's Randy
@Cala, yes, if you're flying in the semi-autonomous modes (Loiter, PosHold) then the auxiliary switch (i.e. ch7, ch8) option to enable/disable the sonar will do that. In the case of when you're flying a mission though, the mission itself specifies the altitude type (absolute, above-home, terrain) so the pilot would need to change those altitudes and re-upload the mission (which can technically be done in flight although I wouldn't). By the way, if the vehicle is flying a terrain mission using Lidar and the pilot switches off the lidar (with the above mentioned auxiliary switch) it will switch over to using google maps data.
Sometimes looks better to fly with Lidar and sometimes baro depends what you want, It's possible to have a switch to choose the use of lidar or Baro?
@Gary, All,
Using Lidar (or camera) for Non-GPS position estimation and object avoidance is something that won't make it into Copter-3.4 but I hope it will be in Copter-3.5. It's a big job but I've found a sponsor recently for this project and I hope to begin on it in the next month or so. Before then I'll be working on a vision based precision landing (using an NVidia TX1) - this will be just an extension of the IR-Lock based precision landing.