Setup guide for medium-sized outdoor shows (251-1000 drones)
Before going through this setup guide, please read the Outdoor, 1-250 drones setup guide first as it is a prerequisite for this guide.
If you grow your fleet larger than 250 drones, you will need to separate your drones into groups of max 250 drones each, to have a group ID for all your drones besides the limited 8-bit system ID in the MAVLink packages. With this method drones must still have a unique system ID within a single group, but they can take the same values again in the next group.
The only thing you will need to configure differently now is the mavlink
extension, such as in the skybrush-outdoor-dual-*.jsonc
configuration examples in the etc/conf folder of the Skybrush Server, where two networks are setup for max 2*250=500 drones.
You have two basic options how you might want to address your different groups of 250 drones, as discussed below.
Configuration with a single IP and multiple UDP ports
If you wish to use only a single access point for your entire WiFi network, you must differentiate your groups based on the UDP ports used for the two-way communication between the drones and Skybrush Server, such as in the example below:
"mavlink": {
"enabled": true,
"networks": {
"mav": null,
"mav1": {
"connections": [
"udp-listen://192.168.1.254:14550?broadcast_port=14555"
],
"routing": { "rtk": [0] }
},
"mav2": {
"connections": [
"udp-listen://192.168.1.254:14650?broadcast_port=14655"
],
"routing": { "rtk": [0] },
"id_offset": 250
}
}
},
The example above silences the default network called mav
and creates two new networks called mav1
and mav2
instead, using the same IP (192.168.1.254) for both, but different UDP ports for listening to inbound heartbeat packages (14550 and 14650 for the two networks) and for sending broadcast messages (14555 and 146555 in the example above).
Also note the "id_offset"
parameter for the second network, that adds 250 to all 8-bit system IDs of all drones in the second network. This way the network separation will be hidden behind the full 1-500 range of system IDs when addressing and visualizing drones in Skybrush Server and Skybrush Live.
Finally, the "routing"
parameter in the example above instructs the mavlink
extension to forward RTK correction data on the 0th, WiFi network to all drones in all network groups, such as previously.
if you use the setup discussed above, you must change the default UDP configuration of your drones as well to harmonize with the configuration you are using. |
Configuration with a multiple IPs and a single UDP port
When your fleet size becomes larger than 250 drones, it is actually recommended to use multiple access points in your network for handling only a limited subset of drones each, not to get jammed. To support this kind of setup, one can configure the mavlink
extension in a way that the the UDP port settings remain on the default value for all drones, but different network groups get a separate IP address, as in the example below:
"mavlink": {
"enabled": true,
"networks": {
"mav": null,
"mav1": {
"connections": [
"udp-listen://192.168.1.254:14550?broadcast_port=14555"
],
"routing": { "rtk": [0] }
},
"mav2": {
"connections": [
"udp-listen://192.168.2.254:14550?broadcast_port=14555"
],
"routing": { "rtk": [0] },
"id_offset": 250
}
}
},
In the example above the two network groups get the IPs 192.168.1.254 and 192.168.2.254, all with the same UDP port settings.
It is up to you which method you use for your configuration, based on your network infrastructure and personal preference.
Limitations
The open-source part of Skybrush Server is mostly written in Python, which is a great human-readable language but reaches its limitation in network traffic handling at around 800-1000 drones. You can still try, but you will most probably not be able to go above this limit due to CPU overload, network congestion and timeout problems.
At this point we already expect you to be our professional partner anyways, but this is truly the last point of return 😊. If you wish to go above the thousand-drone limit, we can only provide you paid license options, with smooth handling of extra large drone fleets up to even 10000 drones.