2016 Hugin Aircraft at USC

Team Guardian is SFU’s unmanned aerial vehicle team. We compete in national and international competitions, namely AUVSI and USC. Each year, we overhaul our UAS, and completely replace it every other year.



New for 2017, we are flying both a fixed wing aircraft called the ‘Swallow,’ and a hexacopter. This combination is ideal for the assigned challenge at USC, where we must survey a goose population and retrieve an egg from the ground. This year, I am officially tasked as being the autopilot lead, an extension of my responsibilities from 2015/2016.

This year, I performed extensive modifications of the APM failsafes to meet competition requirements. Additionally, I wrote a system to allow the team to run a mock AUVSI SUAS competition. This system, which we called the guidance script, used the DroneKit API to send MAVLink commands to the copter. The system interfaced with AUVSI’s interoperability judging system, where it also received its waypoints, search and drop areas, and obstacle locations. The guidance script features a stationary obstacle avoidance algorithm, as well as an algorithm to generate square spiral search patterns. These features were shown off during a flight demo, where we achieved a 1 metre drop accuracy, and found all ground targets in the search area. The guidance script was developed under Linux and was extensively tested with APM’s SITL functionality.



This season, I worked with the PixHawk autopilot for our fixed wing aircraft, the Hugin. I was responsible for flight planning and ground control operations. During the development process, I modified the failsafes in APM to meet competition requirements. As the failsafes cause the plane to spiral into the ground when activated (as per requirements), my modifications had to be extensively tested for reliability.

I also worked on the probe drop mechanism, 3D printing parts and modifying the design to operate smoothly.



Testing failsafes on the PixHawk


As a new member of the team, I was tasked with various introductory duties. In particular, I helped write software for the vision system in Python. The software pulled data from an XML file to assign the proper correction matrix for each camera and lens, so that distortions could be removed from images.