Flight Control Unit
Flight Control Unit Madgwick Control Filter Research Platform
프로젝트 개요 (KR)
본 프로젝트는 비행용이 아니라, “지상에서 묶어둔 상태 “의 **쿼드콥터(UAV)용 비행제어기(FCU)**를 직접 구현하고,
특히 Madgwick 필터 기반 자세 추정(Attitude Estimation) 알고리즘의 동작과 제어 특성을 연구·검증하기 위한 오픈소스 실험 플랫폼입니다.
Madgwick 필터는 자이로, 가속도계, 지자기 센서의 데이터를 결합하여
드론의 기울기와 방향(Roll, Pitch, Yaw) 을 실시간으로 계산하는 자세 추정 알고리즘입니다.
센서 융합 → PID 제어 → 모터 출력으로 이어지는 전체 비행 제어 루프를 MCU 상에서 구현하였으며,
비행 중 생성되는 데이터를 이더넷 기반 UDP 텔레메트리로 외부 PC에 전송하여
실시간 모니터링 및 사후 분석이 가능하도록 설계되었습니다.
W5500 사용 목적과 역할 (KR)
본 프로젝트에서 W5500 이더넷 컨트롤러는
비행제어기와 외부 분석 환경을 연결하는 핵심 인터페이스 역할을 합니다.
- UDP 기반 텔레메트리 전송
- 저지연·고신뢰의 실시간 데이터 스트리밍
시스템 아키텍처 (KR)
시스템은 크게 비행 제어 계층과 모니터링/분석 계층으로 구성됩니다.
Flight Control Unit (MCU)
- IMU 센서 데이터 수집
- Madgwick 필터를 이용한 자세 추정
- PID 제어 알고리즘 실행
- 모터 믹싱 및 출력 생성
Ethernet Telemetry (W5500)
- FCU 상태, IMU, 자세 데이터를 UDP 패킷으로 전송
PC / Ground Station
- UDP 데이터 수신
- 실시간 시각화
- 로그 저장 및 Python 기반 분석
이 프로젝트의 특징 및 의의 (KR)
- Madgwick 필터 기반 자세 추정 알고리즘을 실제 FCU 환경에서 검증
- PID 제어 파라미터 튜닝과 비행 응답 특성 분석 가능
- 이더넷 UDP 텔레메트리를 통한 실시간 + 오프라인 데이터 분석
- 드론 제어 알고리즘 학습 및 연구용으로 적합한 구조
👉 “날리기 위한 드론”이 아니라, “이해하기 위한 드론 제어 시스템”
Project Overview (EN)
This project is an open-source quadcopter Flight Control Unit (FCU) designed as a
research and experimentation platform focused on Madgwick-filter-based attitude estimation.
The full flight-control loop—sensor fusion → PID control → motor mixing—is implemented directly on the MCU.
During operation, flight data is streamed to an external PC via Ethernet-based UDP telemetry, enabling
real-time monitoring and offline data analysis.
Rather than a simple drone build, this project serves as:
👉 a research-oriented FCU platform for observing, analyzing, and tuning attitude estimation and control behavior.
System Architecture (EN)
The system is divided into a Flight Control layer and a Monitoring & Analysis layer.
Flight Control Unit (MCU)
- IMU sensor data acquisition
- Attitude estimation using the Madgwick filter
- PID control execution
- Motor mixing and output generation
Ethernet Telemetry (W5500)
- Transmission of FCU state, IMU, and attitude data via UDP
PC / Ground Station
- UDP data reception
- Real-time visualization
- Logging and Python-based analysis
This architecture turns the flight controller into an observable system, rather than a black box.
Why W5500 is Used (EN)
In this project, the W5500 Ethernet controller serves as the
core communication interface between the FCU and the external analysis system.
- SPI-connected wired Ethernet interface
- UDP-based telemetry transmission
- Low-latency, reliable real-time data streaming
By choosing wired Ethernet (W5500) instead of wireless communication, the project achieves:
- Reduced packet loss during experiments
- Stable bandwidth and predictable latency
- Improved reproducibility for control and estimation analysis
Key Features & Significance (EN)
- Real-world validation of Madgwick-based attitude estimation on an FCU
- Analysis of PID tuning and flight response characteristics
- Real-time and offline analysis via Ethernet UDP telemetry
- Well-suited for learning and research on drone control algorithms
👉 Not just a drone to fly, but a flight control system to understand.
FAQ (English Version)
Q1. Why use the WIZnet W5500 instead of a software TCP/IP stack?
A. The W5500 integrates a hardware TCP/IP stack that offloads all network protocol processing from the MCU. This significantly reduces CPU load and prevents timing jitter in the flight-control loop. In real-time control systems, software stacks like LwIP can introduce unpredictable latency, which negatively affects control stability and data integrity.
Q2. How is the W5500 connected to the Teensy flight controller?
A. The W5500 is connected via an SPI interface using four primary signals: MISO, MOSI, SCK, and CS. Teensy 4.x supports high-speed SPI operation, which allows telemetry packets to be transferred efficiently. An optional interrupt pin can be used for asynchronous socket event handling.
Q3. What is the exact role of the W5500 in this project?
A. In FCUMCFRP, the W5500 functions as the UDP telemetry transport layer. It streams real-time IMU data, attitude estimates, and event information from the flight controller to a PC for visualization and post-flight analysis. The W5500 does not participate in control decisions and is intentionally isolated from the real-time control loop.
Q4. Is this setup suitable for beginners?
A. This project is best suited for intermediate users. Basic experience with Teensy or Arduino-style development, SPI communication, and UDP networking is required. However, the W5500 itself simplifies networking by eliminating the need to implement or tune a software TCP/IP stack, reducing overall system complexity.
Q5. Why use Ethernet instead of Wi-Fi for telemetry?
A. Ethernet provides deterministic latency and minimal jitter, which is critical for research-grade flight-control data collection. Wi-Fi is susceptible to interference, retransmissions, and variable delays, which can distort timing-sensitive measurements. Wired Ethernet ensures that telemetry does not become an uncontrolled experimental variable.
