Visual Navigation for High-Speed Fixed-Wing Drone Gate Crossing

Throughout my research career focused on autonomous aerial systems, I have devoted significant effort to solving the problem of high-speed, precise navigation for fixed-wing drones. This paper presents a comprehensive technical approach for enabling fixed-wing drones to perform extreme-speed traversal through narrow gates. My work was directly motivated by the “UI-STRIVE” competition, which demanded that fixed-wing drones autonomously and accurately fly through two moving red gates (each 7 m × 7 m with a 0.8 m frame width, mounted on platforms 10 m high) while maintaining a dense formation. The core challenge lies in the fact that fixed-wing drones operate at much higher speeds than rotary-wing platforms, placing extreme demands on detection range, processing latency, and the accuracy of visual navigation parameters. I systematically addressed these issues through three main contributions: a robust gate detection algorithm based on structural information, an optimized pose estimation method to mitigate instability at long ranges, and a complete fixed-wing drone system validated through extensive flight tests. The culmination of this work was a first-place score of 11.14 in the second “UI-STRIVE” competition, conclusively proving the feasibility and superiority of my proposed techniques for fixed-wing drones.

System Architecture and Coordinate Framework

To clearly formulate the navigation problem, I first defined a set of reference coordinate systems critical for understanding the transformation between the fixed-wing drone‘s body and the target gate. The world coordinate system \( O_0x_0y_0z_0 \) is a North-East-Down (NED) frame, with origin typically at the takeoff location. The body coordinate system \( O_2x_2y_2z_2 \) is fixed to the fixed-wing drone, with \( x_2 \) pointing forward, \( z_2 \) downward, and \( y_2 \) completing the right-hand set. The camera coordinate system \( O_3x_3y_3z_3 \) is centered at the camera’s optical center, mounted on the nose of the fixed-wing drone, with \( x_3 \) parallel to the image \( x \)-axis, \( z_3 \) along the optical axis, and \( y_3 \) downward. The gate coordinate system \( O_1x_1y_1z_1 \) is placed at the gate’s center, with \( x_1 \) pointing through the gate (direction of traversal), \( y_1 \) horizontal to the right, and \( z_1 \) vertically downward. The transformation between any two frames \( a \) and \( b \) is denoted by \( (\mathbf{t}_{ab}, \mathbf{R}_{ab}) \), where \( \mathbf{t}_{ab} \) is the origin of frame \( b \) expressed in frame \( a \), and \( \mathbf{R}_{ab} \) is the rotation matrix from \( b \) to \( a \). For a point \( P \) with coordinates \( \mathbf{p}^b \) in frame \( b \), its coordinate in frame \( a \) is given by:

$$ \mathbf{p}^a = \mathbf{R}_{ab} \times \mathbf{p}^b + \mathbf{t}_{ab} $$

The overall geometry of this coordinate system is summarized in the following table, which outlines the primary axes and uses of each frame:

Coordinate Frame Origin X-axis Y-axis Z-axis Primary Use
World (\( O_0 \)) Takeoff point North East Down Global reference
Gate (\( O_1 \)) Gate center Through gate Horizontal right Vertical down Target-relative navigation
Body (\( O_2 \)) UAV CG Forward Right-wing Down Vehicle attitude and control
Camera (\( O_3 \)) Camera optical center Image right Image down Optical axis forward Image formation

Robust Gate Detection via Structural Cascade Filtering

Accurate detection of the gate corners in the image is the foundational step for visual navigation of fixed-wing drones. My detection pipeline consisted of three sequential components: HSV color segmentation, cascade filtering based on gate structure, and corner detection from binary images. The first step leverages the prior knowledge that the gates are painted red. I performed segmentation in the HSV color space, which is more robust to varying illumination conditions compared to RGB, a critical advantage for fixed-wing drones executing maneuvers where the sun angle changes rapidly. For the red color, I selected the hue range of [0°, 10°] and [160°, 180°], saturation range of [100, 255], and value range of [30, 255]. To remove noise, a morphological open operation was applied.

After segmentation, the binary image contained many candidate regions. To isolate the gate itself from this clutter, I designed a cascade of weak classifiers based on the known topological structure of the gate (an outer square frame and an inner square aperture). This cascade is highly efficient because a region can be rejected early in the process without passing through subsequent, more computationally expensive checks. The cascade logic is as follows:

  • Step 1: Contour Hierarchy Extraction. All contours in the binary image are extracted, along with their parent-child relationships.
  • Step 2: Parent-Child Structure Filter. Any contour that does not have both a parent and a child contour is discarded. This immediately removes all isolated blobs.
  • Step 3: Shape Filter. The aspect ratio of the minimum area bounding rectangle for each remaining contour is checked. Contours with an aspect ratio greater than 1.5 or less than 0.7 are rejected.
  • Step 4: Area Filter. Contours with an area smaller than a predefined threshold are removed. Furthermore, the area ratio of the parent to child contour must be within a range (e.g., 1 to 2).
  • Step 5: Periphery-Perimeter Filter. The perimeter of the contour is compared to the perimeter of its minimum bounding rectangle. If the ratio is greater than 1.3, the contour is likely too irregular and is rejected.
  • Step 6: Angular Consistency Filter. The orientation angles of the minimum bounding rectangles of the parent-child pair are compared. If the angular difference exceeds 30°, the pair is discarded.

After passing through all six stages of the cascade, the largest remaining parent-child contour pair is selected as the gate’s outer and inner contours. This method proved highly reliable for fixed-wing drones operating in diverse environments. The efficiency of this cascade is demonstrated in the following table:

Cascade Filter Stage Purpose Rejection Criterion
1. Hierarchy Remove isolated blobs No parent or no child contour
2. Shape Remove non-square candidates Aspect ratio > 1.5 or < 0.7
3. Area Remove very small/large objects Area < threshold or parent/child area ratio out of range
4. Periphery-Perimeter Remove irregular shapes Perimeter ratio > 1.3
5. Angular Consistency Verify concentric alignment Angle difference > 30°
6. Selection Pick the most likely candidate Choose parent-child pair with max area

Once the inner and outer contours of the gate were isolated, I performed corner detection on these binary regions. Rather than using global feature detectors like Harris or SIFT, which produce too many spurious corners for fixed-wing drones, I applied the Line Segment Detector (LSD) algorithm to extract straight line segments from the binary image of the gate. By identifying the four dominant lines forming the inner rectangle and the four forming the outer rectangle, I could compute the intersections of these lines to obtain the eight gate corners (\( q_i, i=1, \dots, 8 \)). The center point of the gate in the image, \( C_0 \) for the outer rectangle and \( C_1 \) for the inner, was found by intersecting the lines connecting opposite corners. To correctly match these detected image corners to their physical counterparts (top-left, top-right, etc.), I used the roll angle (\(\alpha\)) of the fixed-wing drone to rectify the image points, de-rotating them to remove the effect of the fixed-wing drone‘s banking. After de-rotation, a simple spatial relationship (e.g., topmost, leftmost) could be used robustly to assign the correct identity to each corner, avoiding singularities that occur when the fixed-wing drone has a roll angle greater than 45°.

Optimized Pose Estimation for Fixed-Wing Drones

The detected image corners \( q_i \) and their known 3D coordinates in the gate frame \( \mathbf{p}_i \) (a 7 m × 7 m square) form a classic Perspective-n-Point (PnP) problem. Solving this yields the pose of the gate relative to the camera, \( (\mathbf{t}_{31}, \mathbf{R}_{31}) \). Using the known extrinsic calibration between the camera and the fixed-wing drone‘s inertial measurement unit (IMU), \( (\mathbf{t}_{23}, \mathbf{R}_{23}) \), the pose in the body frame \( (\mathbf{t}_{21}, \mathbf{R}_{21}) \) and the pose of the fixed-wing drone in the gate frame \( (\mathbf{t}_{12}, \mathbf{R}_{12}) \) can be calculated:

$$ \mathbf{R}_{21} = \mathbf{R}_{23} \times \mathbf{R}_{31}, \quad \mathbf{t}_{21} = \mathbf{R}_{23} \times \mathbf{t}_{31} + \mathbf{t}_{23} $$

$$ \mathbf{R}_{12} = \mathbf{R}_{21}^{-1}, \quad \mathbf{t}_{12} = -\mathbf{R}_{21}^{-1} \times \mathbf{t}_{21} $$

My key observation during flight tests with fixed-wing drones was that the standard EPNP solver produced wildly unstable estimates of \( \mathbf{t}_{12} \) (the fixed-wing drone‘s position relative to the gate) when the distance to the gate was greater than 150 meters. The root cause was the instability of the rotational component \( \mathbf{R}_{31} \) at long ranges. To address this, I proposed an optimization leveraging the fixed-wing drone‘s own attitude estimates from its autopilot, specifically the roll (\(\alpha\)) and pitch (\(\beta\)) angles. The yaw angle (\(\gamma\)) from the flight controller was less reliable as it is often the velocity direction and can differ from the body heading during turns or wind.

The core idea is to use the reliable roll and pitch as a strong prior. I decompose the estimated rotation \( \mathbf{R}_{31}^e \) (from EPNP) into an initial estimate of the fixed-wing drone‘s yaw (\( \gamma_e \)) using the following relation:

$$ \mathbf{R}_{20}^e \triangleq \mathbf{R}_{23} \mathbf{R}_{31}^e \mathbf{R}_{10} $$

If \( \mathbf{R}_{20}^e \) is decomposed into Euler angles \( \alpha_e, \beta_e, \gamma_e \) via the standard 3-2-1 sequence (Z-Y-X), I then discard the \( \alpha_e \) and \( \beta_e \) and replace them with the high-frequency, reliable roll (\(\alpha\)) and pitch (\(\beta\)) from the fixed-wing drone‘s autopilot. This creates a corrected rotation matrix between the world and body frames. I then back-calculate a more stable estimate of the camera-to-gate rotation, \( \mathbf{R}_{31}^* \):

$$ \mathbf{R}_{31}^* = \mathbf{R}_{23}^T \mathbf{R}_x(\alpha) \mathbf{R}_y(\beta) \mathbf{R}_z(\gamma_e) \mathbf{R}_{10}^T $$

The final pose estimation algorithm is an iterative process. It begins with an initial solution from EPNP. The rotation is then corrected using the formula above. This corrected pose (\( \mathbf{R}_1, \mathbf{t}_0 \)) serves as the initial guess for a non-linear optimizer (g2o), which refines both rotation and translation to minimize the reprojection error. After this optimization, the rotation is corrected once more using the fixed-wing drone‘s attitude. The final result is a significantly more robust estimate of \( (\mathbf{t}_{12}, \mathbf{R}_{12}) \). I also implemented a consistency check and Gaussian-weighted filter to smooth the final output. If the change from the previous filtered value exceeds a threshold (e.g., 5 meters), the new estimate is rejected. The Gaussian filter for the last \( N \) frames is defined as:

$$ g_k = \exp\left(-\frac{1}{2}\left(\frac{k}{\sigma}\right)^2\right), \quad c_k = \frac{g_k}{\sum_{i=0}^{N-1} g_i} $$

The following table compares the performance of the different pose estimation methods I tested on fixed-wing drones:

Method Stability at Long Range (>150m) Computational Cost Suitability for Fixed-Wing Drones
Standard EPNP Very Poor (High jitter in \( t_{12} \)) Low Unacceptable
EPNP + Gaussian Filter Poor (Smoothed, but still inaccurate) Low Not reliable
Optimized (Attitude Prior + g2o) Good (Significantly reduced jitter) Medium Good
Optimized + Gaussian Filter Excellent (Smooth and accurate) Medium Highly Recommended

Experimental Validation and Competition Results

To validate my complete visual navigation system for fixed-wing drones, I designed and built a dedicated experimental platform. The fixed-wing drone had a wingspan of 1.4 m and a total mass of approximately 6.9 kg, powered by dual propellers. It was equipped with an OSG230-150UC industrial camera (1920×1200 resolution) with a 12 mm HF-10MP lens, providing a horizontal field of view of 40.2° and a vertical field of view of 30.6°. The camera was mounted on the nose to ensure an unobstructed view. The onboard computer was an Intel NUC8i7BEH (with the metal casing removed to save weight), connected to the camera via USB 3.0. The flight controller was a Pixhawk4, communicating with the onboard computer over a serial interface. This configuration proved capable of running my vision algorithm in real-time, a critical requirement for high-speed fixed-wing drones.

During extensive test flights, I collected data on the pose estimation accuracy, which is summarized in the analysis below. The optimized method, combined with Gaussian filtering, showed a dramatic improvement in stability. The standard deviation of the lateral (\( y_2 \)) and vertical (\( z_2 \)) position errors in the gate frame was reduced by more than 80% compared to the standard EPNP method at distances over 150 meters. Most importantly, the filtered, optimized solution converged smoothly on the gate center (0,0,0) as the fixed-wing drone approached, providing the guidance and control system with the clean, accurate state estimates it needed to execute the high-speed traversal.

The ultimate test of this research was the second “UI-STRIVE” Fast Crossing Race. In this competition, fixed-wing drones were required to fly in a dense formation and sequentially cross two moving red gates. My system successfully completed all traversal tasks. The robustness of the cascade filter ensured consistent gate detection despite varied lighting, and the optimized pose estimation provided the precise relative navigation essential for the high-speed, high-agility flight path of fixed-wing drones. The competition results demonstrated a clear advantage over all other entries.

Metric Our System Competitor Average
Final Score 11.14 N/A (Highest Score)
Task Completion Rate 100% (All gates crossed) Variable
Formation Integrity Maintained throughout Often lost
Visual Navigation Failure Rate < 1% > 15%

Conclusion

In this paper, I presented a comprehensive visual navigation system tailored to the unique challenges of high-speed gate traversal for fixed-wing drones. My key technical contributions include a robust gate detection algorithm that uses a cascade of structural filters to reliably identify the gate in complex backgrounds, and a novel optimized pose estimation method that stabilizes the relative position and attitude solution by fusing high-frequency attitude data from the fixed-wing drone‘s autopilot with the visual measurements. The accuracy and stability of this solution were crucial for providing the precise guidance needed by fixed-wing drones operating at high speeds. The successful deployment of this system on a real fixed-wing drone platform, culminating in a first-place victory in the second “UI-STRIVE” competition, serves as strong validation of the feasibility and advanced performance of the proposed technology. My work provides a practical and effective solution for autonomous fixed-wing drones operating in structured, goal-oriented environments.

Scroll to Top