10th of June, 2022

Remote power management and offline maps in Skybrush Live

Remote power management and offline maps in Skybrush Live
Skybrush Team
Skybrush Team

We have released Skybrush Live 2.2.0 and the associated server component, Skybrush Server 2.3.0 today, with remote power management and support for offline cached map tiles in the server.

Visit the Modules page to download the latest versions of Skybrush Live and Skybrush Server. As always, the community edition of Skybrush Live is limited to 10 drones, but you can always get the source code of the components (without limitations on the number of drones) from Github.

Remote power management #

The UAVs toolbar of Skybrush Live now provides buttons for turning drones on and off remotely, or to send them to sleep mode and wake them up later. You can use this to simplify your workflow; for instance, you can turn on all drones before a show, upload the show trajectories to them, and then send them to a low-power sleep mode and wake them up a few minutes before the show to let them gain an accurate GPS RTK lock before takeoff.

Note that the remote power management feature is not supported on most off-the-shelf drones at the moment as it requires hardware modifications. In particular, the drone needs to be equipped with a dedicated power management module that can capture the messages sent to the drone from the ground station and recognize Skybrush-specific power management messages. It also needs to be able to cut power from the flight controller and the LEDs and to restore power later when it receives the appropriate messages from Skybrush Live. Contact us if you are a drone manufacturer or drone builder and you are interested in adding support for this feature in your own drones, or join our Discord channel and we will be happy to provide you with detailed instructions.

Offline maps #

One of the pain points in working with many drones out in the field is that you do not always have access to the Internet and thus you are forced to work without map tiles in Skybrush Live. In the past, the solution to this problem was usually to connect the GCS laptop to the Internet with a 4G LTE USB dongle, or to download the map tiles in advance while you were offline and let Skybrush Live store them in its internal tile cache provided by the underlying Electron framework. Now there is a third option for users of Skybrush Live Pro: you can load an offline map cache extension in Skybrush Server and let Skybrush Live route all map tile requests through Skybrush Server. There are at least two advantages of this method compared to earlier solutions:

  • The built-in cache in Skybrush Live is essentially a cache similar to the one used in web browsers (because the underlying engine is essentially a web browser); it will “forget” tiles after a while. The cache in the server is not like that; once a tile is stored and cached in the server, it stays there until you clear the server cache manually.

  • Once the tiles are cached on the server, they are available to all clients connecting to the server, so if you use multiple ground stations, you only need to seed the cache from a single one and all other ground stations automatically get the cached tiles for free.

Enabling the feature is a two-step process:

  • First, you need to enable the map_cache extension in the server by adding a new section to the end of the configuration file named skybrushd.jsonc like this (where ... marks the existing content of the file):

    {
      ...
      "map_cache": {
        "enabled": true
      }
    }
    
  • Then, you need to open the “Toolbox” menu in the upper right hand corner of Skybrush Live, navigate to “Offline maps” and toggle the switch that tells Live to use cached map tiles when possible.

Currently, the offline maps feature is available to Skybrush Live Pro users only, and it was tested with all map tile providers (OpenStreetMap, Mapbox, MapTiler) that we support in Live in the default installation. Contact us if you are interested in getting access to the Pro version, or if you would like to use another tile provider that is not supported in Live yet.

Other improvements #

Broadcast switch on the UAVs toolbar #

The toolbar in the UAVs panel gained an extra toggle on the left hand side that allows you to temporarily turn on broadcasting mode for the next five seconds. While in broadcasting mode, all commands that you trigger from the UAVs toolbar are sent in broadcast mode to all drones in the network instead of targeting the selected drones. The broadcast toggle automatically switches back to unicast mode after five seconds to prevent you from accidentally triggering a command on all drones when you do not intend to do so.

Rotation gesture for the convex hull of the show #

In Skybrush Live, it has always been possible to adjust the location of the show by loading a show file and then dragging the yellow outline of the show area to a new location. However, adjusting the orientation of the show was not that easy; you always had to adjust the orientation of the X axis of the show manually in the “Setup environment” dialog. This is not the case any more: now you can hold down Alt (or ⌥ on macOS) while dragging the convex hull to rotate the show area instead.

Providing feedback #

As always, feel free to contact us on Discord for feedback, bug reports, feature requests and ideas. If you would like to report an issue and you know which component of Skybrush is the source of the problem, you can also open an issue in the issue tracker of the corresponding repository on Github.

essential