Cockpit Documentation
Usage

Overview

Cockpit is an intuitive and customizable cross-platform control station software for remote vehicles of all types.
Cockpit Banner
Interface Highlight

A bit of context...

The existing market for control station software is missing an option that's readily available, easy to use, versatile, easy to customise and develop for, and cross-platform. In response to this need, and fueled by years of inspirations for what a truly great control station could be, Cockpit is Blue Robotics' next-generation control interface, for thrusting your vehicle control experience into the future.

Availability and Limitations

Cockpit is open source, and is free to install and use.

It is currently available as:

  1. a BlueOS Extension (requires BlueOS >= 1.1)
    • with an interface that runs in a web browser, on almost any web-capable device (including mobiles and VR headsets)
  2. a standalone application
    • built for Windows, macOS, and Linux (including SteamOS)
      • we are looking into also making it available on iOS and android
    • includes some additional features, and may run more reliably
    • if connected to a non-BlueOS vehicle, requires external server software to communicate in the formats it expects

Try it!

  1. ⏯️ Watch the usage introduction video
  2. 🌐 Run a browser-served version, to play with the latest state of the interface
    • Opens instantly
    • Has no vehicle connected, so widgets don't display meaningful data
  3. 🎮 Run a full vehicle simulation with BlueOS, to test the control process and effectiveness of different views
    • Can take several minutes to start and connect to the virtual machine
    • Can get behind on updates, so may not be running the latest Cockpit and/or BlueOS version
  4. 🚀 Install your own copy

Primary Feature List

  • Browser-based control station software, for vehicle control and monitoring from any web-capable device
  • Widget-based layout system, with freeform positioning and resizing
    • Widgets can display generic input, including custom MAVLink NAMED_VALUE_FLOAT/_INT messages
    • Externally provided widgets can be detected and included automatically
  • Custom display Views, for interface pages/profiles that can be switched between
    • Different browser windows/screens/devices can independently select which view to display
    • Views are downloadable and can be shared (json contains name and list of components and widget settings)
  • WebRTC-based video widget
    • Multiple widgets can be added to support arbitrary numbers of video streams
    • Includes video recording support on the display device, with subtitle files of telemetry
  • Map widget
    • Provides position tracking and guiding
    • Allows planning (and saving/loading) autonomous missions
    • Allows mission control
  • Do It Yourself widget
    • Provides complete control over the widget contents, styling, and functionality
    • Integrates with Cockpit's data lake, and Actions system
  • Versatile Actions system, mappable to user inputs through joystick actions and on-screen elements
    • Actions can send commands to the vehicle, or trigger local events like view switching and starting video recording
    • Includes support for simultaneous input from multiple sources (including multiple joysticks)
  • Joysticks of any type can be configured
    • Buttons and axes can be mapped to arbitrary Actions
  • Notification system
    • Displays autopilot (MAVLink STATUSTEXT) and application alerts
    • Includes text to speech announcements
  • Mission naming used on the interface and video save filenames
  1. Documentation
  2. Source code
  3. Releases, changelogs, files

Community

Discussions and Support

Usage Introduction Video

Phil Parisi (October 2024) - Supported by Blue Robotics

Developer Presentations

ArduPilot Developers Conference (October 2024)


Powered by Zola and Bluetheme Documentation under CC BY-NC-SA 4.0 creative commons attribution non commercial share alike
Sponsored by Blue Robotics Code under AGPLv3 / Cockpit Custom