Cockpit for Multiple Vehicles

Hi @SamH, welcome to the forum :slight_smile:

You should be able to post it in a code (pre-formatted text) block if you want, unless you mean you aren’t allowed or don’t want to share the code publicly or something.

I raised this yesterday in our monthly Cockpit developer call :slight_smile:

While fully-fledged fleet management is not something we’re intending for Cockpit to support, displaying data from sources other than the primary vehicle is something we’ve been planning for a while now, and your idea of being able to send control commands to other vehicles seems straightforward enough that it’s worth us putting some thought into whether the existing application infrastructure poses any barriers to doing so.

As a note, Cockpit already has support for input from multiple joysticks simultaneously, but that’s also somewhat irrelevant as the important part is that any given input could conceivably be used to trigger an Action that could go to an arbitrary connection on the network. For full joystick control that will likely be made easier once Cockpit’s MANUAL_CONTROL support is converted to a configurable Action (which could then be duplicated and reconfigured to be sent to a different vehicle), although it should also be possible to use more direct MAVLink messages, and avoid MANUAL_CONTROL entirely (with some ROV limitations at the moment, that workarounds are actively being worked on for).

The other current limitations I’m aware of are:

  1. Cockpit only allows for and maintains a single websocket for MAVLink2REST communication, so this may need to be changed to a multi-source configuration, or the communication may need to go through a merging MAVLink router before it gets to Cockpit
  2. The same applies to video, for auto-discovering available video streams (and being able to record them)
  3. Mission planning is very much single-vehicle at the moment, although there are some basic tools/options that could be considered to make it more useful for multi-vehicle use-cases
    • in particular, mission uploading could provide a vehicle selector, and
    • basic sector scans could be generated with multiple side-by-side paths, to handle multiple USVs, for example
  4. The map more generally is similar to mission planning, especially with regard to the right click command options (like GoTo), which could conceivably have a source selector added