How ACE Works

Explanation of the internal workings of the Autonomous Control Engine

Overview

ACE can be used for either Full Control of the UAV from moving platforms, or in a Guidance Only mode that provides relative position information instead of control commands to the autopilot.

ACE uses a small camera and an onboard embedded computer connected directly to the autopilot to provide autonomous outer-loop control of the entire aircraft. ACE works by fusing measurement from the camera sensor with telemetry from the autopilot to resolve a navigation solution, and then sends commands to the autopilot to control the aircraft as needed to complete its mission.

ACE's operation extends beyond simply detecting a landing location. ACE's functions fall into three broad categories, which are all interdependent.

  • Sensor fusion and data processing

  • Predictive motion

  • Intelligent command and control

While ACE has several flight modes that use all of these functions, the most conspicuous is precision landing on moving platforms. We will use landing as the example for describing how ACE works.

ACE Functions for Precision Landing

Sensor Fusion and Data Processing

ACE processes sensor data from the autopilot as well camera imagery, and fuses the measurements to determine the lateral position, range, pitch, roll, and yaw between the aircraft and the landing target.

ACE uses a proprietary machine vision fiducial detection system that includes a code printed onto the landing target. The detection algorithm is very fast, and the landing target is detected and decoded at a high frame rate on the embedded processor. The detection system is robust to partial occlusions, changing lighting conditions, glare, blurriness, and moderate focus issues. The detection system also works in darkness with the aid of IR illumination on the landing target that is invisible to the naked eye.

By processing the fused data, ACE is able to lock onto the landing target as the aircraft approaches the host vehicle.

Predictive Motion

A predictive motion algorithm uses the outputs of the detection algorithm to predict the motion and future state of the aircraft and landing target. The motion is constantly updated to account for rapid changes and inaccurate measurements. The algorithm allows the aircraft to adapt to moving landing target very quickly in much the same way a highly-skilled pilot would make adjustments in a manned helicopter. In the terminal phase of flight, ACE determines the proper descent rate, and then finds the optimal time to execute a landing. ACE dynamically adjusts to conditions and prevents landing if the motion is too severe.

Intelligent Commands and Controls

Based on ACE's sensor fusion and motion prediction algorithms, it generates precision controls and sends commands directly to the autopilot. The control algorithm is used to command the aircraft during any phases of flight specific to operations to and from moving platforms (e.g. takeoff, return-to-boat and landing).

The control system will adapt to the environment by changing the flight commands based on the landing target motion. It scales the flight characteristics based on its distance from the landing target. For example, it will track a boat more loosely at higher altitude, but respond more quickly when close to the landing target.

The control system executes maneuvers based on the state of the aircraft and landing target, which includes position and speed, in addition to roll, pitch, and heave. If a safe landing can not be executed, ACE will command the aircraft to hold position and wait for the landing target motion to stabilize. If necessary, it will command the aircraft to ascend and re-attempt an aborted landing, the same way a skilled pilot would.

During the critical terminal landing sequence, the algorithm will intelligently explore work to maximize landing reliably and accuracy. Timing is a crucial aspect for the landing maneuver to maximize precision. Reliability is prioritized to prevent mishaps that are common in other positioning systems.

Finally, ACE automatically detects when it is has landed and issues a motor shutdown command to the autopilot.

Last updated