Servers by jDrones

Proposal for companion system architecture

This is the latest revision of the Companion Computer Architecture.
After some more discussion regarding the overall structure, we thought it would be a good idea to incorporate the various parts of the the complete system typically used in flying a UAV.
Please note that some of the items are optional or redundant and can be left out as indicated by a . Ideally the RF link comprises of only one link, most likely over wifi, however for redundancy and compliance purposes other connections are shown.
This is composed of 4 main building blocks:
FC: Flight Control - This sub-system includes the RTOS based autopilot, telemetry radio
, RC receiver* and peripherals
CC : Companion Computer - This sub-system includes higher level Linux based CPU and peripherals
GCS: Ground Control Station - This sub system is the user interface for UAV control - This typically includes PC/Linux/iOS and Android based platforms that can communicate via telemetry radio, wifi or LTE/3G/4G
MLG: Multi Link Gateway - This is an optional system for use on the ground to provide connectivity with the CC and FC. It can also be used as a local AP, media store and antenna tracker etc.
The FC is connected as follows:
via RC receiver* to the remote control
via Telemetry* radio to the GCS
via UART or Ethernet to the CC
via FC IO to peripherals like ESC, servos etc.

The CC is connected as follows:
via WLAN to the GCS and/or MLG
via LTE/3G/4G* modem to the GCS and/or MLG
via UART or Ethernet to the FC
via CC IO to HD peripherals, like USB or CSI camera etc

The GCS is connected as follows:
via telemetry* radio from the FC
via MLG WLAN or MLG AP or direct from the CC AP
via MLG or direct LTE/3G/4G* through the internet or PtP
control of tracking unit on the MLG*
various peripherals like joystick, VR goggles etc

I have been reading a lot around companion computers next to ardupilot (read: pixhawk). I see some initiatives around companies (thinking of Volta, FlytOS, etc) assembling a package with a raspberry/odroid and installating a number of applications and libraries (ROS, OPENCV, etc) but nothing solid that can be called a configurable solution to get something comparable what dji is doing with computer vision on a phantom 4 or now the new released Mavic Pro. Basically I don’t see anything going further than giving you a ready hardware/software package that provides you with a ready development environment, but that’s it. Are you aware of (commercial) available companion solutions that can be used next to ardupilot/mavlink and that delivers actually ready implementations like active tracking/computervision based sense and avoid etc?


Hello Pascal,

Intel might come with something interesting with the AERO platform. Unfortunately its seem that there is some confusion about support and collaboration between Intel and Ardupilot since the recent split of DroneCode. To be followed…

Hi ppoirier,

Thanks for your answer… was looking for Intel AERO but this seems not a companion but an all in one autopilot board and not a companion?

Yes it can do both , its up to you to decide where the APM functions runs : on board or on a dedicated autopilot

Servers by jDrones