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