GEO Caging
Overview
To ensure that aircraft meet fundamental safety requirements, the European Union (EU) has issued the UAV Regulation EU 2019/945 for UAS certification. Aircraft classified under categories C5 and C6, as special permitted categories, must undergo different compliance tests to verify their functionality. The UAV systems must pass a series of compliance tests conducted by certified laboratories before they can enter the European market.
To comply with the EU C6 compliance certification, PSDK offers the GEO Caging feature, which allows aircraft to perform different flight behaviors within three distinct zones.
Terminology Explanation
Flight Geography Area (FG)
In this area, aircraft can perform normal operations including takeoff, landing, and flight tasks.
Contingency Area (CA)
In this zone, takeoffs and landings are prohibited, and intelligent functions such as return-to-home or waypoint navigation are disabled. If an aircraft reaches the edge of this area, it will stop and hover.
Operation Volume (OV)
This includes the flight geographic area and the contingency area. Exiting the Operation Volume triggers the Flight Termination System (FTS), causing the aircraft to deploy a parachute for emergency landing.
Flight Termination System (FTS)
This is an independent set of equipment and software designed to forcibly halt flight operations in response to safety hazards.
FTS Function
GEO Caging includes an operational area and a contingency area. Aircraft should operate within the operational area. If an aircraft enters the contingency area, it will hover, trigger continuous alarms, and require manual guidance back to the operational area. Flying over the contingency area activates the FTS function, and if equipped, the aircraft will deploy a parachute for an emergency landing. Operators should check operational targets before missions and pay attention to the prompts during the flight.
Figure. FTS Functionality
Using the FTS Function
Developers need to provide an FTS signal callback function in their applications. This function should implement the trigger of the FTS signal and return the correct execution result. Incorrect return values will cause the FTS callback to perform repeatedly, ensuring that it is achieved.
NOTE: Activation of the FTS is a one-time action per flight cycle; thus, only a registration interface for the callback function is provided, without a deregistration option.
1. Initialize the Flight Control Module
Before using any flight control-related interfaces, initialize the flight control module with the DjiTest_FlightControlInit
interface.
returnCode = DjiTest_FlightControlInit(ridInfo);
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("Init flight Control sample failed,error code:0x%08llX", returnCode);
return returnCode;
}
2. Implementing the FTS Callback
Developers should fill the callback with the triggering actions of FTS signal and return outcomes in a real environment. Example code uses a logging approach for demonstration, as it does not connect to the physical FTS signal.
T_DjiReturnCode DjiTest_TriggerFtsEventCallback(void)
{
USER_LOG_INFO("Received FTS Trigger event.");
USER_LOG_WARN("Note: This is an empty implementation, and the FTS signal needs to be triggered by the PWM signal.");
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
3. Registering the Callback Function
returnCode = DjiFlightController_RegTriggerFtsEventCallback(DjiTest_TriggerFtsEventCallback);
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("Register trigger FTS event callback failed.");
return returnCode;
} else {
s_isFtsCallbackRegistered = true;
USER_LOG_INFO("Register trigger FTS event callback successfully."
"Please wait for the aircraft to trigger the payload to execute FTS action.");
}