Overview
Cockpit is an intuitive and customizable cross-platform control station software for remote vehicles of all types.
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:
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)
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!
⏯️ Watch the usage introduction video
🌐 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
🎮 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
🚀 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
Quick Links
Documentation
Source code
Releases, changelogs, files
Discussions and Support
Usage Introduction Video
Phil Parisi (October 2024) - Supported by Blue Robotics
VIDEO
Developer Presentations
ArduPilot Developers Conference (October 2024)
VIDEO