Welcome to the CAN-bus Wiki project

UAVCAN is a lightweight protocol designed for reliable communication in aerospace and robotic applications.

The core design goals listed below help explain the basic UAVCAN concepts and the motivation behind them.

  • Democratic network - There is no master node. All nodes in the network have the same communication rights so that there is no single point of failure.
  • Publish/subscribe or request/response (RPC) exchange semantics - High-level communication mechanisms simplify application design.
  • Nodes can exchange long payloads - Nodes are provided with a simple way to exchange large data structures that cannot fit into a single CAN frame (such as GNSS solutions, 3D vectors, etc.). UAVCAN performs automatic transfer decomposition and reassembly at the protocol level, hiding the related complexity from the application.
  • Support for redundant interfaces and redundant nodes - This is a common requirement for safety-concerned applications.
  • High throughput, low latency communication - Applications that are dependent on high-frequency, hard real-time control loops, require a low-latency, high-throughput communication method.
  • Simple logic, low computational requirements - UAVCAN targets a wide variety of embedded systems, from high-performance embedded on-board computers for intensive data processing (e.g., a high-performance Linux-powered machine) to extremely resource-constrained microcontrollers. The latter imposes severe restrictions on the amount of logic needed to implement the protocol.
  • Common high-level functions should be clearly defined - UAVCAN defines standard services and messages for common high-level functions, such as network discovery, node configuration, node firmware update, node status monitoring (which naturally grows into a vehicle-wide health monitoring), network-wide time synchronization, dynamic node ID allocation (a.k.a. plug-and-play), etc.
  • Open specification and reference implementations - The UAVCAN specification is open and freely available; the reference implementations in popular programming languages are distributed under the terms of the MIT License.

More information at uavcan.org and the User Forum
What is UAVCAN an interesting summary on the UAVCAN application compiles by Kvaser

QR Code
QR Code can_higher_layer_protocols_uavcan (generated for current page)