Hi everyone, we have implemented a vision-based intercept flight mode on the PX4 stack. We will share the architecture with rough details and flight test results.
We want to share this implementation to show that open-source technologies have great potential for low-cost defense projects. Hopefully, the community can gain some insight into this potential and help make such applications more accessible. Because, well, the bad guys can already do this anyway
.
Team instagram profile : https://www.instagram.com/cicikusrc/
Feel free to ask questions.
- Infographics created by claude.
What you will find here
- System Architecture
- Simulation Environment
- Mission computer and PX4 stack connection
- Intercept flight mode architecture
- Image processing and development process
- Test videos
System Architecture
For a successful interception ground and air systems should work together. This bring some complexity about architecture but especially if you want to defend a dedicated area, fixed ground systems have a big advantage for early warning. Due to the target profiles, the threat can generally only be detected when it is within a few miles. So searching in air not enough for reaction time. So a ground system should detect and interceptor should launch as fast as possible directly to the target.
PX4 Intercept flight mode make this possible from end-to-end. 2 gimbal camera on ground with high zoom rates searching the area and when a threat detected, ground station start calculating target global position by using their own local position. Here system architecture shown
This GUI showing detected target and required states about it. When both of the gimbals detect target GCS (modified QGroundControl) start publishing target position over an LTE mesh to interceptor air vehicles. And until interceptors see the target on their onboard gimbals navigating with position coming from GCS.
While interceptor airvehicle moving into target also onboard gimbal start looking calculated target position with geolocation to see target as soon as possible.
When air vehicle onboard tracker status become true it stops listening calculating position with ground gimbals an guidance start only based on image processing. This also an advantage for new type of threats which are start using EW methods to cut FPV signals. And Intercept flight mode calculates navigation commands to intercept with target.
Mission computer and PX4 stack connection
This type of specific applications requires custom developments in both sides. Opensource infrastructures like PX4 make this developments possible with a powerful tool set. Because PX4 already have a great structure for standard flights. If you can understand this structure and implement your applications suitable with original pattern results will be impressive.
First of all MMC (Mission management computer like raspberry or jetson) not responsible about flight. Separating tasks properly will lead a clean structure when your application start interact with other subsystems. So in this application MMC only responsible with image processing and share required states with FCC. And FCC listen this outputs to calculate required guidance commands with Intercept flight mode.
Intercept flight mode architecture
Intercept flight mode consumes image processing outputs from MMC and calculates guidance commands. Some parts of Intercept mode implemented directly on PX4 stack like all other modes. And logic state-flow part implemented in simulink and integrated with PX4 by using code generation.
This model manage desired tracking source and type by using ground and air gimbal tracker status bits.
And second part of the Intercept flight mode implemented with its own navigator, pos control, mode management layers just like other flight modes. And consumes management decisions from simulink model and start intercepting the target.
Simulation Environment
First of all development process we have build simulation environment that contain all flight instruments in a HITL environment
- FCC
- MMC
- 4G/5G LTE system
- Identical model of SIYI Gimbals SDK (one air two ground gimbal)
- Nonlinear dynamic model of air vehicle.
Image processing and development process
Image processing is seperated completely from flight management like a black box. FCC only listen desired image processing outputs and runs intercept mode. As we said seperating MMC and FCC tasks properly results very clean architecture.This is exactly where that separation becomes valuable. To verify image processing outputs sign convention for navigation calculations we conducted test flights with known target. By comparing real sensor data (position, speed, roll angle etc.) from target and image processing outputs verified that intercept flight mode will take proper data from MMC. (Also by using an intermediate verification intercept flight mode operated in shadow mode to see what it calculating.) You can see a video here our plane following the other plane in swarm flight mode (May be we can share swarm mode in another post) and resulted los vectors calculated from image processing and directly calculated from target location.
Image processing outputs verification flight : (After 1.11m)
And here you can see calculated los vector comparisi between image processing and direct target gps location. So you can verify that image processing producing correct direction into target. Some filtering process to smooth the result of course needed.
Loiter following
Square following
Figure eight following










