Report
WARG
The Waterloo Aerial Robotics Group (WARG) is a student design team at the University of Waterloo that has previously competed in the Unmanned Systems Canada Student UAS Competition. We are a passionate group of over 100 students focused on innovating the Unmanned Aerial Vehicle industry. We take pride in building everything ourselves, from the autopilot and computer vision software, to the custom designed flight controller board (ZeroPilot) that we use on our aircraft. As as student design team, our mission is to provide opportunities for students (of all backgrounds) to learn about all parts of robotics and aerial robotic solutions including design, development, project management, and financing through collaboration and non-classroom instruction.
Hardware Accelerator Use Cases
WARG’s computer vision team develops tools and techniques to assist pilots in the successful completion of competition objectives autonomously. These tools make heavy use of PyTorch and enable object/target detection and autonomous wayfinding in complex environments. The computer vision team’s NVIDIA Jetson TX2i aids in accelerating this process as it is GPU optimized and can run computationally expensive deep learning algorithms in real time onboard the aircraft, eliminating the need for complicated communications with a ground-side desktop computer.
Computer Vision Processing
The primary objective of the computer vision team is to perform real time or near real time object detection. 30 FPS camera data is used by the YOLOv5 deep learning computer vision model to locate targets quickly. These targets can range from a package that needs to be located and collected to a moving body that needs to be followed. The computer vision model is trained on a variety of datasets collected from recordings of WARG’s test flights as well as existing data from other institutions.
LIDAR mapping will also be used to augment camera sensors for object detection, providing additional data to improve the results of the deep learning models. In conjunction with camera data, LIDAR data can also be used for obstacle detection to prevent aircraft collisions.
The outputs of these deep learning vision models and environmental data collected from both camera and LIDAR sensors can be used to inform autonomous path finding decisions for a complete autopilot solution, including take off, landing, and route planning. Indoor and outdoor navigation systems are both considered for these autonomous flights.
Requirements
Mechanical
The mechanical team’s goals center around designing the aircraft for maximum flight time and reliability. Therefore, solutions that minimize weight on the aircraft are generally prioritized. Commonly, minimizing the size of components and utilizing electronics that can be passively cooled result in a reduction in the weight of the frame. With these considerations in mind, solutions that:
are similar or smaller than the dimensions of the Jetson and carrier board of 87 mm x 50 mm x 40 mm; and
are similar or lighter than the weight of the Jetson and carrier board (0.6 kg)
are preferred over the existing solution.
Another concern of selected components is exposure to the high-vibration environment of a multi-rotor aircraft. Components that are designed for use in these environments, or that can be isolated to reduce vibrations are preferred.
Electrical
All components on the aircraft are battery powered. This means that minimizing power usage will extend flight times for the aircraft. AI accelerators with minimal power usage are preferred, with a preference to
meet or beat the Jetson’s power consumption of 10-20 watts.
Additionally, to easily interface with other onboard components without need for additional power conversion circuitry, systems should use a
standard input power voltage of 3.3, 5, or 12V.
Firmware
Of critical importance for the computer vision processing system is the interface with the flight controller. In order for the aircraft to control its attitude and fly in the desired manner, use of the real time flight controller is required. To minimize the impact on firmware development, the selected computer vision processing system should
support standard electrical communication protocols, including UART, SPI, or I2C
In order to ensure that the system can receive the necessary camera and LIDAR data, the system should also
have the ability to make use of UART, MIPI CSI, USB, or ethernet.
Typically, the firmware team chooses an STM32 7-series processor, although recent chip shortages have often left us using chips such as the F4, L5, and H7. Direct chip-to-chip communication over PCI-E may not always be possible.
Computer Vision
Currently, the deep learning models created by the computer vision team make use of PyTorch. In order to be maximally useful to development, the selected system should:
have support for well-known deep learning frameworks such as PyTorch and Tensorflow; and
have the ability to run existing computer vision algorithms from a Python virtual environment with minimal porting effort.
Applicability to UntetherAI’s Products
Small form-factor, low-latency AI accelerators that can be packaged standalone, or in a system, that can act as alternatives to devices such as NVIDIA’s Jetson are core components of our computer vision system, and we think that there could be use cases where Untether AI’s products may substitute or replace parts of those systems and allow for lower cost computer vision programs.
As a student design team that develops all applications in house, we see it possible to integrate Untether AI’s products directly onto our SoC Autopilot board, or to integrate products using common communication protocols such as SPI/I2C/UART.