Drone Software Development
  • Introduction
  • Introduction
    • Drone Software Development
  • Software Development Environment
    • Software Development Environment
      • Docker
      • Manual
        • OpenCV
        • PX4
        • JMAVSim
        • MAVLink
        • Ardupilot
        • SITL Simulator
        • DroneKit
        • DroneCore
        • QGroundControl
        • APM Planner
        • GStreamer
  • Drone Solution Architect
    • Drone Solution Architect
    • Unmanned Aerial Vehicle
    • History
    • Flight Controller Hardware
    • Flight Code
    • Communication
    • Ground Control Station
    • Simulation
    • Developer API
    • Drone Software Developer
    • Unmanned Aerial Systems
    • Market Ecosystem
  • Dronecode Project
    • Dronecode Project
  • Virtual Drone Solution
    • Virtual Drone Solution
    • Flight Controller Operating System
      • NuttX
    • Flight Code
      • PX4
        • Architecture
        • DriverFramework
        • Shell
      • Ardupilot
      • Software In The Loop
        • DroneKit SITL
          • API
        • jMAVSim
        • Ardupilot SITL
          • X-Plane
      • Hardware In The Loop
    • Communication
      • MAVLink
        • PyMAVLink
    • Ground Control Station
      • QGroundControl
      • APM Planner 2
      • MAVProxy
    • Developer API
      • DroneKit
      • DroneCore
    • Features
      • Video Streaming
      • Joystick
      • Global Positioning System
    • Uses Cases
      • Xunán Kab
      • Maax
      • Tasks
      • Services
        • Telemetry
        • Image
      • Applications
  • Computer Vision
    • Computer Vision
    • OpenCV
      • Object Detection
      • Face Detection
  • Hybrid Drone Solution
    • Hybrid Drone Solution
    • Flight Controller Hardware
      • Pixhawk
    • Flight Code
      • Ardupilot
      • PX4
    • Companion Computer
      • Raspberry Pi
      • Intel Aero Platform
    • Ground Control Station
      • QGroundControl
    • Developer API
      • DroneKit
    • Computer Vision
  • Autonomous Drone Solution
    • Autonomous Drone Solution
    • FlyTbase
    • Paparazzi UAV
Powered by GitBook
On this page
  • uORB
  • Mavlink
  • Dronecore
  • UAVCAN
  • RTPS
  1. Virtual Drone Solution

Communication

PreviousHardware In The LoopNextMAVLink

Last updated 7 years ago

uORB

The uORB is an asynchronous publish() / subscribe() messaging API used for inter-thread/inter-process communication.

Mavlink

Communications between the flight stack and ground control currently use MAVLink. In future protocols like RTPS are expected to provide more configurable messaging between the drone, GCS, cloud, and between processes running on the vehicle. Other comms protocols are used at different layers within the platform.

The Micro Air Vehicle Communication Protocol (MAVLink) is a lightweight, header-only message marshalling library for micro air vehicles. It is widely used for communicating commands and telemetry between ground stations and autopilots (it is also the protocol used by DroneKit to communicate with vehicles). The protocol is currently being updated to support signing/authentication and other features that are becoming increasingly important.

Dronecore

DroneCore is the best way to integrate with PX4 over MAVLink! Use the simple core API to access vehicle information and control missions and movement. Extend the library with plugins to integrate with custom hardware or add new features. Run the library on mobile devices, companion computers and even the cloud. The sky's the limit!

UAVCAN

UAVCAN is a lightweight protocol designed for reliable communication in aerospace and robotic applications via CAN bus. The specification and the reference implementation are open and free to use (MIT License).

RTPS

The DroneCode Messaging Working Group is currently evaluating middleware solutions for communication between GCS, drone, cloud, and between processes running on the vehicle. At time of writing, the WG is enabling this via the RTPS protocol, which is also being used by the ROS2 efforts from the OSRF.

PX4 Middleware
Mavlink Homepage
Dronecore
UAVCAN Homepage
UAVCAN Github Source Code
RTPS Homepage
Fast RTPS