4x Redundant Autopilot

Mission configuration - Reference Patch

4x Redundant Autopilot


4xVeronte Autopilot is a triple redundant version of the Veronte Autopilot. It includes three complete Veronte Autopilot modules together with a dissimilar arbiter for detecting system failures and selecting the module in charge of the control. The autopilot selected as the master will be the one controlling the actuators and communicating with the payloads.

Each Veronte autopilot contains all the electronics and sensors in order to properly execute all the functions needed to control the UAV. Veronte executes in real time all the guidance, navigation and control algorithms for the carrying airframe, acting on the control surfaces and propulsion system and processing the signals from different sensors: accelerometers, gyroscopes, magnetometer, static pressure, dynamic pressure, GNSS and external sensors.

All three modules are managed by a dissimilar microprocessor. This arbiter includes voting algorithms for managing the module in charge of vehicle control. This microprocessor compares data from all modules in real time and processes it for discarding any autopilot module showing an undesired performance.



Each one of the Vereonte Autopilots modules inside 4xVeronte Autopilot has it own radio module featuring frequency hopping the best possible communication. For each one of the module the user can set the configuration from veronte Pipe.

Mission configuration - Reference Patch

Radio menu in Veronte Pipe


For each particular case the configuration of the radio may vary. Common radio configurations are PP for complet redundant communicatoion or PMP for one 4xVeronte Autopilot and one Ground Autopilot

CAN bus

4xVeronte Autopilot includes three complete Veronte Autopilot modules that have to be configured independtly in order to work porperly. 4xVeronte Autopilot is compatible with all configuration files from Veronte Autopilot. The communication channel between Veronte Autopilots modules and arbitrer is done by using CAN bus so in order to start arbitring, Veronte Autopilots modules have to send the following information.

Configuration Value
Baudrate 1 Mbps
Endianess Little endian

Each Veronte shall send using its CAN-TX ID and in little endian format.

Variable value message:

Byte0 0 Telemetry message
Byte1 variable id Variable id sent (0 to 127)
Byte2-5 variable value Variable value as Float (32 bits)

Status message:

Byte0 0 Telemetry message
Byte1 0xFF Status flag
Byte3 bit0 1:Ready, 0:Not ready
  bit7-1 Reserved

By default the arbiter will send the following CAN messages.

Variable value message:

Byte0 0 Telemetry message
Byte1 N, Autopilot id Autopilot [0, 3]
Byte2-5 value Autopilot score as Float(32 bits)

Status message:

Byte0 0 Telemetry message
Byte1 0xFF Status flag
Byte3 bit6-0 Selected autopilot
  bit7 Arbitrating 0:false, 1:true
Byte4 bit0 AP0 Alive
  bit1 AP1 Alive
  bit2 AP2 Alive
  bit3 AP3 Alive (external)
  bit4 AP0 Ready
  bit5 AP1 Ready
  bit6 AP2 Ready
  bit7 AP3 Ready (external)
Byte5 bit0 system ok
  bit1 start
  bit2 pdi
  bit3 memory alloc
  bit4 cana bus on
  bit5 canb bus on
  bit6 Reserved
  bit7 Reserved
Byte6 bit0 system ok
  bit1 Vcc A
  bit2 Vcc B
  bit3 Vcc arb
  bit4 Vcc1
  bit5 Vcc2
  bit6 Vcc3
  bit7 Reserved


One modification has to be implemented in order to have smooth transition between Veronte Autopilots modules. This modification involves sending the control outputs of Veronte Autopilots modules to the rest of autopilots so it is considered in the transition. The user can refer to the configuration examples for this implementation.