COBRA X objects, functions and algorithms

This page provides basic information about the functionality of COBRA X.

The software contains over 370 programming modules, each of which is responsible

for the implementation of the corresponding function.

The developed COMA, COMMIX and XOMA algorithms are not subjected to public disclosure.

Object: UAV


This is the space in COBRA X where you can define UAVs, edit their properties, determine the level of unfitness and strength of each gene, decide of using mutation and normalization, search and sort UAVs, and view their location on a map.


Module: UAV Configuration


​This module is responsible for defining the configuration of the UAV. You can define many different configurations (e.g. by specifying different cruising speeds) and then assign the selected configuration to the one or more UAVs.

Object : Destination (mission target)


​This is the space in COBRA X where you can define destination, edit its properties, determine the level of unfitness and strength of each gene, decide of the use of mutation and normalization, search and sort UAVs, and view their location on a map.


Object: Distance


​The "Distance" object is created between each UAV and each destination automatically. You can determine the level of unfitness and strength of each gene, decide to use mutations and normalization, search for and sort distances, and view a map of the relationships between UAVs and destinations.

Module: Constraints


Through the add and edit tools, you can make constraints on mission routes. In COBRA X there are predefined categories of constraints (e.g. the occurrence of strong wind), but there are also dictionary tools available with which you can create new categories and set their status.

5_cx_gene mapping dis report.PNG

Module: Reports (UAV, destinations, IoT devices)


​Reports are a set of information downloaded automatically (based on a report calendar or on demand) from the sensors of IoT devices. Data from downloaded reports can be automatically mapped to a specific gene unfitness value. For example, if you specify a range of 20 - 23 degrees Celsius for unfitness = 0.7 , then after receiving the report, this value will be automatically set for the gene.

Module: Gene mapping (distances)


Gene mapping is one of the most important functions of COBRA X. The level of gene unfitness (and a set of genes, i.e. chromosomes) is evaluated during the execution of the COMA genetic algorithm. Setting the appropriate mapping intervals (automatically or manually) and assigning the selected mapping configuration to the features is essential.

6_cx_gene mapping dis.PNG

Module: Gene mapping (IoT devices)

Gene mapping is available for any IoT devices that support our COX.4 communication protocol (i.e. they are able to connect remotely to COBRA X and send a report form sensors). You can automatically assign the gene unfitness to the intervals or set it to yourself. In this way, you can create different mapping configurations that will be useful for different mission parameters. 

Object: Cluster


​Clusters are used to group a UAV assignment to specific destinations. You can choose a quantitative allocation (i.e. one where you indicate the number of UAVs for each destination) or an assigned allocation (where you directly define which UAVs are dedicated to a specific destination). The created clusters are then used during COMA synthesis.


Object: Mission


​Creating a mission consists of several stages. The first is to create a mission, determine the basic or advanced parameters of the mission. The next step is to load the mission files into the UAV (there are several ways to load). The next step is the execution (launch) of the mission (immediately, at a certain time, for a certain period of time) and after  completion there are functions that allow you to determine status (success, failure) and analyzing tools for mission are as well available.

Function:  Editing the basic parameters of the mission

To create a mission, it is necessary to select a cluster on the basis of which the UAV allocation to the destination will be optimised, and then the allocation of air corridors and other mission parameters will be determined.


Function:  editing the advanced parameters of the mission

Advanced mission parameters enable precise determination of specific requirements. For example, optimisation variants are available, excluding chromosomes from COMA synthesis, enabling automatic allocation of parking spaces or determining the amount of iterations for a genetic algorithm. Settings for all parameters can be saved for later use.

Module: COMA and COMMIX algorithm

Running the COMA and COMMIX algorithms results in sequential execution of subsequent programming modules. Depending on the size of the selected cluster, the setting of initial parameters and limitations, the optimisation time may vary. The process can also show deviations from the rules (e.g., the number of available UAVs is less than required) allowing the operator to make a choice. The optimisation process is completely automatic and does not require any additional parameters.


Function: Space of solutions (COMA)

When the optimisation is complete, the operator receives a set of results that present (depending on the choice of view options) the ordered sets of the UAVs assignment to the destination. There is an option to display potential collisions during the flight. Approval of the selected solution moves to the implementation of COMMIX synthesis.

Function: Mission optimisation (COMMIX)

​After completing the COMMIX synthesis, the operator receives a prepared set of data for the implementation of the mission, taking into account the assigned air corridors (depending on the mission parameter settings), times, speeds and altitudes for each of the UAVs. A graphical visualization of each phase of the flight is available.


Function: Mission simualtion

​Mission simulation - based on the results of optimisation - allows you to view the implementation of the mission, in particular the analysis of potential collisions in flight and the order of placing the cargo in place (COBRA X has advanced functions of folding cargo in the destination).

Object: IoT devices


​The object stores information about all defined IoT devices (compliant with the specification of our COX.4 communication protocol). Devices can be related to each other (dependency tree). Each of the IoT devices has specific properties that determine its function with COBRA X.


Function: IoT device report calendar

​Calendar allows you to define periods for downloading reports from IoT devices. Downloading reports is critical for COBRA X, as it estimates the unfitness of each of the IoT devices. For example, when one of the devices reports a low battery level (let's assume that unfitness = 0.9) and the other reports the battery level in the norm (unfitness = 0.2), then for optimisation it is an important factor that during optimisation (genotypes crossing process) will significantly affect the unfitness of the entire genotype.

Algorithm: XOMA (entire solution space search)


​The XOMA algorithm randomly searches the entire solution space, taking into account the initial conditions entered by the operator. You can specify the number of solutions required or the execution time of the XOMA algorithm. Additional parameters will allow you to define how to allocate the UAV to the destination.


Algorithm: XOMA (solutions presentation)

​As a result of the XOMA algorithm, it is possible to display the 3 best solutions (for the selected display condition, e.g. according to the shortest mission time) or to select solutions for comparison. Selected solutions are presented in a graphical form and allow you to create a quantitative or assigned cluster from the solution.

Object: UAVs parking spaces

​Creating and editing parking spaces is associated with a dedicated algorithm for allocating optimal landings or UAV hovering - depending on the option chosen. It is possible to create one or more parking spaces and assign them to a UAV.


Function: Validations and cross - validations (COBRAX)


​Each module and function in COBRA X contains validations and cross validations that prevent the input or selection of unacceptable or out-of-range values. In addition, the built-in Rules Controller checks whether the dependencies between individual objects or parameters of these objects are met.

Module: Integration with  DCS („Drone Control Station”)


Visit or to learn more about DCS.


Module: Education functions (ANTs)


An interactive board game that allows you to understand the issues of assigning x objects to y objects and the complexity of optimisation algorithms of COBRA X software.