Setup guide for small indoor shows (1-250 drones)
The most common indoor drone shows performed by Skybrush are using the Crazyflie ecosystem. This guide helps you setup a configuration for such a system.
The setup you need for small indoor shows requires you to configure the crazyflie, and optionally the show extensions, as discussed below in detail.
It is also advised to configure the http_server
extension the same way as for small outdoor shows.
Configuring the crazyflie
extension
{
"crazyflie": {
"enabled": true,
"connections": [
"crazyradio://0/70/2M/E7E7E7E7",
"crazyradio://1/75/2M/E7E7E7E7"
],
"fence": {
"enabled": false,
"distance": 1.0,
"action": "stopMotors"
}
},
}
The most important property of the crazyflie
extension you need to setup is connections
, which has a decent default value for a single CrazyRadio used for communicating with the drones, but in the example above we show a configuration for two radius.
Each connection in the list has the crazyradio://[radio_index]/[channel]/[bitrate]/[address_prefix]
format, where radio_index
is the index of the radio as it is known by the Crazyflie system, channel
is the communication channel of that specific radio used, bitrate
is the bitrate used by the radio for communication and addres_prefix
is the first four bytes of the addresses of all drones that you want to connect to that specific radio.
In your setup you need to have a different address + channel setup for every single drone, and since drone addresses are 5-byte long in the CrazyFlie system, each radio can handle in theory a maximum of 256 drones. In practice it is adviced to use no more than 10 CrazyFlies per radio for smooth communication.
Enabling the fence
property is optional, it sets up a virtual geofence around the axis-aligned bounding box of the show trajectories for safety reasons with the proper distance
padding and action
parameters.
There are several other customization options, such as setting up the controller type, the takeoff altitude, the ID format or the status interval between messages. For a full description, checkout the auto-generated documentation of the crazyflie extension itself.
Configuring the show
extension
{
"show": {
"default_start_method": "auto"
},
}
if using multiple Crazyflies, it is advised to start your show automatically and not with a controller.
To setup this, set the default_start_method
parameter of the show
extension to "auto"
.
Configuring the positioning system
Crazyflie inherently supports Loco (UWB) and LightHouse positioning and in general you do not need any special configuration in Skybrush to use these.
However, if geofence is used, it is advised to setup the distance
parameter of the fence above 1 meter for Lighthouse positioning and above 2 meters for UWB positioning.
If you use a motion capture system for positioning, setup the motion_capture extension for that.