Role: Mechanical Design Lead, Flight Control Lead
Timeline: August 2023 - June 2024
Tools: CAD, 3D Printing, Python, Rasberry Pi, Drone Control Softwares, YOLO Image Recognition
The goal of the Robotic Goose Keeper is to create a technological device that manages geese around the recreational, outdoor spaces of Boston, MA. The customer request for this project required device that is fast-acting, robust, and autonomous to keep geese and other beings safe in designated areas.
This project acted as the Senior Capstone Project to the Bachelor’s Degree at Boston University.
The initial 3D printed drone configuration (above, left), later redesigned to implement a stronger, carbon fiber frame and improved blades (above, right).
Over the academic school year, I, with three teammates, built up and programmed a quadcopter drone with the ability to fly autonomously and an image recognition system to direct navigation.
First, we sought to design a drone optimized for high maneuverability. Through research on environmental factors, existing products, and flight considerations, we began by 3D printing a frame and connecting up a PixHawk (flight controller), GPS Signal Receiver, Odroid (onboard computer), motors, power board, battery, and camera. We learned and become familiar with flight controls by using QGroundControl to link to the PixHawk and a remote control to manually direct the drone. In this learning process, we found that the 3D printed frame was too weak to withstand the outdoor environment and desired movements. From here, we rebuilt the drone with a carbon fiber frame and incorporated stronger motors and larger, 5 inch blades for improved flight abilities.
Complete, high level, BOM illustrated through CAD Model Rendering.
On the software side of this project, as Mechanical Engineers, we had very little experience with coding drone control systems or image processing. This process exemplified our ability to utilize resources to learn on the job and directly implement that knowledge. We experimented with many softwares, but most failed to execute our needs. With support from professors, I mastered the skills to interact with the Odroid and implement the Robot Operating System (robot development framework), DroneKit (flight simulator), and various other software components.
Flight planning program, where we planned flight paths and executed missions via computer connection.Image shows real flight around BU soccer field.
Additionally, we developed, using OpenCV and Tensorflow, an image processing system to identify and locate geese given an image. All together, the on board camera fed images to the image processing system, which identified geese and sent the flight control system information for movement.
After months on a very steep learning curve, we ended the year with a fully functioning drone that could fly autonomously and follow decoy geese around a designated area. The image processing system functioned with 98% accuracy, flew for 23 minutes without failure, and could withstand dropping from 10.2 feet in the air.
During the learning process, we found visualizations for hardware and software systems were most effective in understanding and communicating ideas. Here are process flows for the drone computer parts (upper) and Robot Operating System (lower).
Image Recognition training improvement shown through multiple training epochs, a total of 4200 images.