Arbitration

The arbitration algorithm in Veronte 4x is based on a scoring system.

Each autopilot must send continuously a set of Arbitration Variables that will be used by the arbiter in order to calculate the score for each unit.

Then, based on the scores and the current Arbitration mode, the arbiter will choose to keep the current Selected autopilot, or switching to one of the other units.

../../_images/arbitrating.gif

Arbitration


Scoring System

A Score is a 32 bit, single precission, floating-point value with a range between 0 and 0xFFFFFFFF, where 0 is a Perfect score. That is, the lower the value, the better the score.

Scores are calculated using the Arbitration variables received from each autopilot at their dedicated addresses. After receiving the value, each variable is multiplied by their respective Arbitration weight, and then it is used to compute the score for their respective unit.

Tip

The Arbitration weights should be used to increase or decrease the relevance that a certain arbitration variable has over the calculation of the score.

Any Variable in Veronte can be used as an arbitration variable. Depending on the platform, operation, application etc. the more relevant variables can be selected for its use as arbitration references.

Currently, the maximum amount of arbitration variables supported is 6.

Absolute Arbitration Variables

Absolute arbitration variables are indicators that are inherently good or bad, and so they are added directly to the score.

Examples of absolute arbitration variables are Link Quality, GNSS accuracy or warnings such as Sensors error or Position not fixed.

Relative Arbitration Variables

Relative arbitration variables are not inherently good or bad, and hence need to be compared against the other autopilots in order to calculate its score contribution.

The contribution to the score from a relative arbitration variable will be its Deviation from the Average of the same variable from each autopilot.

Examples of relative arbitration variables are Attitude, Position, measurements from sensors, etc.


Lets see a practical example:

Autopilot

Var. Nº

Veronte Variable

Type

Value

Mean

Deviation

Weight

Score

Total Score

1

1

Roll

Relative

0.12

0.096

0.024

1

0.024

0.058

2

Pitch

Relative

0.30

0.283

0.017

1

0.017

3

GNSS 1 Accuracy

Absolute

1.7

0.01

0.017

2

1

Roll

Relative

0.10

0.096

0.004

1

0.004

0.026

2

Pitch

Relative

0.28

0.283

0.003

1

0.003

3

GNSS 1 Accuracy

Absolute

1.9

0.01

0.019

3

1

Roll

Relative

0.07

0.096

0.026

1

0.026

0.054

2

Pitch

Relative

0.27

0.283

0.013

1

0.013

3

GNSS 1 Accuracy

Absolute

1.5

0.01

0.015

Arbitration Example

In the above example, AP2 is considered to be the best, since it has the lowest score. Vven though its GNSS accuracy is the worst of all 3, its values for pitch and roll are the ones with the lower deviation from the mean.


Arbitration modes & parameters

The following parameters will determine the selected autopilot at each moment depending on the scores

Arbitration modes

The main arbitration modes are the following:

  • Always best:

    The selected autopilot is always the one with the best score.

  • Change if worst:

    The arbiter will only switch if the currently selected autopilot has the worst score. In that case, it will switch to the one with the best score.

  • Fixed while ok:

    This mode does not take into account scores. In this mode, the Preferred autopilot will be selected by default. A switch will only happen if the current autopilot is considered Dead (See Alive Status in Arbiter Operation).

Additionally, the following modes are also available:

  • Round Robin Control:

    The arbiter will periodically switch between autopilots. This mode is meant for testing purposes only.

  • Fixed:

    Arbitration is disabled and one autopilot is selected arbitrarily. In this mode 4x Veronte will behave as a 1x Veronte.

Arbitration parameters

  • Preferred autopilot:

    The preferred autopilot will be chosen in case of a draw. Fixed while ok mode will always select this autopilot first.

  • Holding CAP time:

    Amount of time needed from last switch in order to allow a new switch.

  • Hysteresis:

    When comparing scores, the difference between them needs to be bigger than this value in order to consider a score better or worse than other. The difference is proportional to the score of the selected autopilot.

    i.e. If current selected autopilot is AP1, arbitration mode is Always best, hysteresis is 0.5 and score for AP1 is 0.3, AP2 will need a score lower than 0.15 in order to be selected.