Part of a series of videos and blogs tracking the development of The Groundhog, which was entered into the MAAXX Europe 2017 competition earlier this year.
Having successfully tested the re-written code to follow straight lines using velocity vectors for control and NED space mapping for line detection, we test it around a 50m track comprising 50mm wide red webbing – and we speed it up a bit as well.
The test turned out to be quite successful, with following speeds of 1.5m/s achieved under autonomous control provided by an on-board Raspberry Pi 3. This is significantly faster than the winning UAV in MAAXX Europe this year, which is quite pleasing!
The YouTube video shows both on-board and off-board camera footage, the former demonstrating the roaming regions of interest used by OpenCV to maintain a lock under varying lighting conditions.
Whilst the test was successful, there remain significant barriers to the higher-speed, lower level flight that I want to achieve.
Currently, altitude sensing is by barometer only, the accuracy of which is clearly limiting at low altitudes. I’m going to introduce a sonar in the first instance to give programmatic altitude control, adjustable in-flight by a pot on the transmitter.
Surface reflection ‘white-out’ of the line. These cause the range at which the line can be reliably spotted to be considerably reduced. A higher speeds, a forward looking camera is essential, however this also means the higher angles of incident light make it prone to surface reflection from the line which cause it to appear white. There are a number of physical and programmatic changes that can be made to take account of this.
Manoeuvrability. At 3Kg, the Groundhog only turns so fast. If the line curves faster than it can turn, the lock is lost. Again, several solutions here, but the Groundhog is not just following a line, it is plotting it out in NED space. This means it should be able to learn where the line should be. I think that’s enough of a clue…
My Masters project within the Bristol Robotics Laboratory is to design a system of UAVs that can be deployed in groups to co-operatively map the structure of their environment. This is envisaged as an internal environment, however it is expected that the technologies developed may be additionally adapted for external mapping. This series of posts documents key elements of the project. So far we have set the objectives and built an airframe based on a standard 450 quadcopter configuration.
An on-board Raspberry Pi will have overall control of the UAV. This post shows how we can set up communications between the Raspberry Pi 2 and a Pixhawk flight management unit, using the Mavlink messaging protocol, so that the Raspberry Pi can take control of navigation.
My Masters project within the Bristol Robotics Laboratory is to design a system of UAVs that can be deployed in groups to co-operatively map the structure of their environment. This is envisaged as an internal environment, however it is expected that the technologies developed may be additionally adapted for external mapping. This series of posts documents key elements of the project.
This post shows the construction of the new airframe being used for development.