Undergraduate Project : Drone

This project features a quadcopter UAV that utilizes lift generated by forward motion. The drone's structure combines 3D-printed parts and carbon fiber, equipped with various sensors, controllers, and a 4S battery. It runs on ROS implemented in Python, with nodes for flight control and OpenCV-based image recognition. The system is tested on a simulated course mirroring the TDK flying competition, including tasks like hovering, line following, traffic light response, payload dropping, and landing. This simulation aims to validate the program's real-world applicability, laying groundwork for future applications in delivery, surveying, and tracking missions.

Drone

Motivation

Drone applications are expanding rapidly, from entertainment to military and industrial uses, driving market growth. Taiwan's advantage in drone development stems from its strong ICT industry, providing key components like batteries, chips, cameras, and antennas. This mature supply chain offers cost benefits in R&D. Our research focuses on integrating stable drone flight and image recognition with ROS (Robot Operating System). We aim to demonstrate our achievements by completing the TDK flying competition course. This project leverages Taiwan's ICT strengths to advance drone technology, particularly in flight stability and computer vision, potentially leading to broader industrial applications and innovations in the drone sector.

Teamwork

The project initially split into mechanical design and programming phases. The drone's structure was conceived after studying various designs, then modeled in Solidworks and 3D printed. Programming began with image recognition and flight control using Airsim's environment and API.

Later, the team decided to use ROS and MAVROS for physical control. Team members independently studied required knowledge, sharing progress and challenges in regular meetings. Problem-solving followed a "share-when-solved" approach, with solutions discussed in meetings for efficient collaboration.

Drone

Result

This project successfully assembled a quadcopter drone using Pixhawk 4 Mini as the flight control core, with QGroundControl as the ground control station. The drone integrates Jetson Xavier NX, optical flow sensor, LiDAR, IMX219-120 Camera, and OpenCV for autonomous flight and image recognition.

Key challenges addressed:

1. Image Recognition: To mitigate shadow interference and unclear recognition during flight, the image is segmented into multiple sections, reducing the risk of interference.

2. Stable Flight: For indoor flights where GPS is unavailable, optical flow and LiDAR sensors were added to achieve stable takeoff and flight.

These solutions enhance the drone's performance in image processing and flight stability, particularly in GPS-denied environments.

Drone

Final Project Video

© Copyright 2024 Bruce Lin