Embedded Quadcopter Control System: Multi-Mode Flight Control
Project Overview
We developed a comprehensive embedded control system for a tethered electrical model quadcopter, implementing multiple flight modes and achieving stable flight control. The project demonstrates the application of embedded systems in UAV technology, utilizing custom PCB, sensor modules, and motor controllers.
Key Technologies
- Rust Programming: For efficient and safe embedded software development
- Custom Communication Protocol: For reliable data exchange between host and device
- State Machine: For managing different operational modes
- PID Control: For stabilizing quadcopter flight in various modes
- Sensor Fusion: Implementing Kalman filter for orientation estimation
- Real-time Data Logging: For performance analysis and debugging
- Terminal User Interface (TUI): For user-friendly control and monitoring
Development Process
- System Architecture Design
- Designed communication protocol for host-device interaction
- Developed state machine for managing operational modes
- Implemented user input handling for joystick and keyboard
- Flight Control Implementation
- Created manual mode for direct motor control
- Developed calibration mode for sensor offset calculation
- Implemented yaw control mode with proportional control
- Designed full control mode with cascaded control loops
- Developed raw mode using Kalman filter for sensor fusion
- Implemented height control mode with PID controller
- Data Management and Visualization
- Implemented real-time data logging system
- Developed Terminal User Interface (TUI) for system monitoring
- Testing and Optimization
- Conducted performance analysis of communication systems
- Evaluated control loop iteration times for different modes
- Compared custom Kalman filter with built-in DMP for orientation estimation
Innovation: Multi-Mode Control System
Our key contribution is the development of a versatile control system supporting multiple flight modes, each tailored for specific operational requirements. This approach allows for flexible quadcopter operation and facilitates both testing and real-world applications.
Future Work
Potential areas for improvement and expansion include:
- Implementing more efficient data storage management for logging
- Exploring advanced filtering techniques like the Madgwick filter
- Integrating camera functionality for enhanced control and features
Video Showcase
Here’s a demonstration of me testing the drone’s control system.