I was inspired by the recent solar-powered launch system announcement to share some recent precision landing development work.
Automated charging systems require a high level of controls performance, especially during the landing process. This is a challenging problem, especially when operating in outdoor conditions, where a gust of wind can easily push the copter off-course.
The video shows a vision-guided precision landing technique, based on the existing APM:Copter feature (link). The default code has been reported to produce precision landing performance of ~30cm (i.e., the copter lands 0-to-30cm from the visual target). This is great in general, but the aforementioned automation applications require even better performance. Moreover, in some scenarios, a bad landing results in a crashed copter, for example, when ‘landing on a box’.
The video demonstrates a modified version of the default precision landing code. In the modified version, the copter localizes itself with respect to the visual target, and this localization is used to actively monitor and manage the landing accuracy. In this simple example, the copter is programmed to descend when the landing accuracy is within the specified bounds, and to ascend when outside the specified bounds. The image below shows that the error bound is set to 25cm for the AGL altitude range 1m-to-2m.
This approach can be extended and customized in a variety of ways depending on the particular application. The ultimate goal of ensuring safe and accurate landings for automated UAV systems.
APM:Copter Code (*modified 3.3.2-rc2)
Note: the default precision landing feature is enabled by default in the master branch of APM:Copter, intended for advanced users/developers