What design criteria must our project meet? What is the desired functionality?
The end goal of our project is to develop a fixed-wing drone capable of autonomously delivering payloads to designated locations. The drone will autonomously follow a preselected flight path and deliver the payload with high precision.
What design criteria must our project meet?
We had three primary criteria for a successful test flight:
Have the airplane autonomously take off, fly, and land.
Have the airplane visually detect a colored target on the ground.
Have the airplane drop a payload onto the colored target.
CAD model of our camera module
What is our design?
We chose a fixed-wing aircraft for our project due to its efficiency for long-distance applications, which aligns with our goal of servicing rural and hard-to-reach locations. Specifically, we used the E-Flite Apprentice STS, a beginner-friendly RC plane, which provided stability and durability essential for autonomous flight testing (and crashing).
The system's autopilot and flight control were handled by a Pixhawk 4 flight controller, selected for its ease of integration with the PX4 firmware which is compatible with QGroundControl and the Gazebo simulator.
For onboard computation, we used a Raspberry Pi 5 running a Linux-based operating system to facilitate CV and payload control.
The vision system relied on an Arducam global shutter camera, chosen for its affordability, compact size, and sufficient resolution for detecting colored targets on the ground. The camera was housed in a 3D-printed casing, which was designed to be impact-resistant and capable of adjusting angles for different payload drop trajectories.
The payload delivery system consisted of a servo motor connected to the Raspberry Pi’s GPIO pins and housed within a 3D-printed payload bay. The bay was specifically designed to hold a Coleman portable first aid kit, chosen for its compact and durable packaging.
To ensure system protection and compact integration, the avionics bay was designed to shield components from dirt, water, and impact while maintaining accessibility to ports and pins.
CAD model of our avionics bay
What design choices did we make when you we formulated our design? What trade-offs did we have to make?
We chose a fixed-wing aircraft over a quadcopter because fixed-wing designs are far more efficient for long-distance flight, which aligns with our goal of delivering payloads to rural and far-reaching locations. However, the trade-off was reduced maneuverability compared to a quadcopter, which required more precise flight control and planning. We also couldn't drop the payload while hovering so we had to compensate for forward velocity.
Our specific choice of the E-Flite Apprentice STS was based on its beginner-friendly design, stability, and durability. The trade-off was that much of its stock Spektrum hardware was proprietary, forcing us to replace components like the transmitter/receiver with compatible systems.
We selected the Pixhawk 4 for its proven reliability, ease of use, and compatibility with software we needed like QGroundControl and Gazebo. Unlike other flight controllers, Pixhawk 4 required minimal setup, allowing us to focus on higher-level tasks like computer vision and payload deployment. There were no significant trade-offs here since Pixhawk 4 met all of our needs.
The Raspberry Pi 5 was chosen as the onboard computer because of its balance of performance, affordability, and extensive documentation. The tradeoff here was that we couldn't run more compute-intensive object detection models such as Tiny-YOLO due to its limitations. We chose to power the Pi with a BEC, which drops the main flight battery voltage to 5.5V for the Pi. This was lighter and simpler than adding a secondary avionics battery, but it came at the cost of a small drop in flight range (theoretically under 10%).
The Arducam camera was selected for its affordability, ease of integration, and adequate resolution for detecting ground targets. However, this choice introduced significant trade-offs. The camera struggled outdoors due to glare, color tints, and inconsistent framerate, which became a bottleneck for reliable object detection. While we had access to a more advanced Intel RealSense camera, we avoided using it because of concerns about potential damage during crashes, which were frequent in early test flights.
To meet project requirements, we designed and 3D-printed custom components for rapid prototyping. The payload bay was designed to hold a Coleman portable first aid kit, chosen for its compact packaging. This ensured secure payload delivery while minimizing weight. The camera housing was created to be impact-resistant with an adjustable angle for flexible flight plans. The avionics bay was engineered to be compact and shield sensitive components from dirt, water, and potential shorts. The trade-off for using 3D-printed parts was the reliance on adhesives and fasteners for durability. While this worked well for prototyping, it may not be as robust as injection-molded parts in long-term use.
Throughout the project, we aimed for cost-efficiency without sacrificing critical factors like reliability and functionality. For example the Raspberry Pi and Arducam were chosen as affordable alternatives to higher-end systems. However, the resulting trade-offs were reduced performance and reliability in the vision system.
Payload Bay
How do our design choices impact how well the project meets design criteria that would be encountered in a real engineering application, such as robustness, durability, and efficiency?
Since this project closely mirrors a real engineering application, all our design decisions were made with robustness, durability, and efficiency in mind to ensure the system meets real-world standards.
We prioritized robust components that could handle impact and wear. For instance, the E-Flite Apprentice STS plane was chosen for its durability and stability, essential for successful autonomous flight and payload delivery. For parts most susceptible to stress, such as the payload bay and camera housing, we used 3D-printed components designed to withstand physical forces while minimizing weight.
The payload system was specifically designed with durability in mind. The servo mechanism was enclosed in a reinforced payload bay to prevent damage during flight and payload release. Similarly, the camera and Raspberry Pi were securely mounted to ensure their functionality during vibration and landing impact.
To balance performance and affordability, we selected a Raspberry Pi 5 with sufficient computational power to handle computer vision tasks without compromising efficiency. This allowed us to focus on CV development rather than struggling with flight control limitations. The use of a global shutter camera ensured precise image capture during flight, improving detection accuracy without requiring additional computational resources.
While we kept affordability in mind, it did not take precedence over other factors like reliability and functionality. For example, the flight computer and hardware were selected to minimize troubleshooting time, ensuring that the system works consistently and reliably.