UAV Competition - Plane Design
What Went Into Designing the 2017 UAV Competition Plane
January 7, 2021
We needed to geo-tag geese and we had to do it fast. The search area was 1km by 2km and there was only an hour of time to fly it. Plus a half-hour post-flight to prepare and submit the results.
We needed an autonomous plane that could fly this area without running out of battery or losing radio range. It had to take high-quality pictures and send them back for processing.
To tackle this challenge, we designed and hand-built our own plane and loaded it with electronics and code.
We had over 20 people involved in preparing for this competition, however we were only able to take 9 to competition. I posted more details about this competition trip and our results in another post. For this post, I want to focus on the design of the plane.
General Design
Airframes capable of doing the job and available on the market were out of our price range as a new team, so we had to built our own. We were able to acquire most of the carbon fibre and manufacturing materials from our generous sponsors and with the help of other school teams.
Electrical Design
For the electrical systems, we used the Pixhawk autopilot system running ArduPlane firmware. Connected to it, we had a companion Linux computer - the Odroid C2. This connected to our machine vision camera, the Point Grey Blackfly S. This camera is seen in the render below, sitting inside the custom gimbal with the attached lens.
The job of the gimbal is to keep the lens pointing down at the ground as the plane rolls during turns.
Next to the lens, is a laser rangefinder. It measures a very precise distance from the ground and was used to calculate precise altitude for geo-tagging.
We used 2 radio systems, the RFD900 (900MHz) for long-range and reliable telemetry connection with the plane and then the Ubiquity Rocket M5 (5.8GHz) radio for our high-bandwidth link for transferring images. Due to the high frequency of the Ubiquity radio, we expected some dropouts, and designed our software to queue up photos for sending to the ground station while the connection was down.
Software Design
Image Capture and Goetagging
I wrote a custom Python program to trigger the camera from the Linux computer, to pull GPS and attitude data from the flight controller and merge it into a geo-tagged image. This image was then sent back to our ground station, which was running a basic server waiting to receive images.
Classification and Goose Geotagging
After receiving the images, we had another program to do the identification and geotagging of the geese.
Our initial plan was to have this step happen automatically using image recognition technology. First, running blob detection configure to look for particular color, size and shape of blobs.
Then we planned to run it through a classification algorithm that was trained to recognize various species of geese. For a bit, we had a human do the classification step.
However, that plan ended up being tougher than initially thought and we didn't have the manpower to make it happen. We ended up developing a simpler, more manual software.
We called it Goose GUI. It ended up working pretty well, we had users clicking on the geese they find in photos and grouping them by type. The software would convert the pixel locations to GPS coordinates using the GPS and attitude data we saved into the metadata of each image. When the user moves to the next photo, the program would display marks for the geese that were already tagged, solving the issue of tagging the same geese multiple times in overlapping photos.
Mechanical Design
There was a lot of effort and calculations by the mechanical team in designing this plane, the details are available in the full design report we submitted to the judges.
The construction of the plane was full carbon fibre. The fuselage was designed to house all the camera and lens a gimbal as well as the other electronics.
Related Posts
UAV Competition - Trip
How a Rookie Team Competed Successfully Against More Established Teams