Title: WARG - Software Engineering Co-op
Manager: Andrew Shum (CS 2A, Resume, Linkedin)
Compensation and Benefits Information: This position is unpaid.
Location & Time Commitment:
This position is hybrid or in person in Waterloo. You will have flexible hours as you desire and are free to set your own schedule, but we will expect you to be available for our team meetings which tend to take place in the evenings and weekly flight tests which occur over the weekends (you don’t have to attend if your project isn’t being tested, but it’s highly encouraged). Our equipment, hardware, and aerial vehicles are in our E5 bay which will be required for job responsibilities.
Team Summary:
The Waterloo Aerial Robotics Group (WARG) is a student design team at the University of Waterloo competing annually in the Aerial Evolution Association of Canada's (AEAC) Student Competition. We are a passionate group of students focused on innovating in the Unmanned Aerial Vehicle industry. We take pride in building everything ourselves, from the autopilot, frame, and computer vision software, to our custom designed ZeroPilot board used in our aircraft.
The Autonomy subteam is responsible for developing and implementing custom software solutions for autonomous drone operations. As the AEAC competition and drone technology at large shift towards autonomous operations, our role becomes increasingly significant.
Project Description:
This project focuses on developing a Python module for our drones to autonomously avoid obstacles using LiDAR technology. The main objective is to create a system that enables our drones to navigate safely in complex environments without human intervention. You will be the primary developer for this project, with opportunities to lead and design the architecture.
Job Responsibilities:
Develop a Python module to allow our drones to autonomously avoid obstacles.
Design and implement an object detection algorithm using LiDAR data to detect obstacles.
Communicate with ArduPilot flight controller via dronekit-python commands.
Required Skills:
Problem solving: ability to independently experiment and research when you get stuck.
Programming skills: experience writing software, reading/writing documentation, and testing/debugging code.
A drive to learn and contribute: design teams are all about growth and passion, and we want you to be serious about achieving something you can be proud of at WARG and stay on after your co-op ends.
Strong communication skills: capable of staying in contact with various stakeholders, participating in technical discussions, and asking thoughtful questions.
Bonus skills:
Experience with Python, concurrency and multithreading, LiDAR.
Experience with ArduPilot and MAVLink.
Experience with Git/version control and code review.