Flying 10 or more drones auto without collision

I am wondering what the simplest way is to do a fleet of 10 drones, for example, all auto-takeoff, all fly from their own location A to their own location B, all hover at their own location B for X time, and then all fly back to their own location A without collision. We do not want the drones to fly in a straight line; we want them to be side-by-side. The flight sortie will initially stay at Y m. Assuming a network has been established where a GCS can see all the drones and there is a healthy GPS signal. There are no object avoidance sensors installed.

How to make it idiot proof, meaning, if the users place the drone’s heading pointing in whatever direction they like.

Vertical separation is probably the easiest way.

May I know why you say vertical separation is easier to implement? So, it will be a straigthline flying where each drone has its own altitude, I suppose.

Exactly. As long as the drones takeoff in order of descending altitude and land in order of ascending altitude there is no risk of collision if you assign different altitudes to the drones and if they takeoff/land in the wrong order the risk is limited.

the barometer is unlikely to glitch and they’ll all be taking off from the same reference pressure, and moving through the same air pressure zones so regardless of GPS inaccuracies, they shouldn’t be drifting into each other (though I’d be giving a healthy vertical separation regardless)

Assuming the same airframe design, any dips/gains from weird air flow effects some drones have when flying quickly should all be much the same too.

Okay, let’s say I place the 10 drones side by side and have them launch to different heights (the perspective view is a slope), so I plan the waypoints for each drone; that is, each drone’s own location A to its own location B. Am I in the right direction for exploring?

I highly recommend using GPS for height in this scenario

Meaning I need a better-grade GPS module. A lower-cost GPS module may still result in a collision.

Will setting EK3_OGN_HGT_MASK to 5 be helpful with default altitude from barometer?

An inexpensive M10 will generally give you better height than the baro to within 1m I would say. Less than that would require a more expensive GPS.

Hi @Jai.GAY,.

I would do it with NAV_DELAY commands to make sure all the drones takeoff at exactly the same time and it can also be used to re-sync them at waypoints because they’ll inevitably get there at different times.

A more complex option is follow mode. I’ve been thinking of creating a lua script that allows the user to fly in Loiter but have multiple vehicles follow it around without having to interact with the followers at all (e.g. automatic arming, etc)

That will be interesting. I believe you are referring to using the LUA script follow = {} APIs.

If the identical script is loaded into all the drones, including the drone leader, how do you plan to identify who the leader is? A hard-coded SYSID_THISMAV?

Hi @Jai.GAY,

I was planning to re-use the follow mode’s SYSID parameter and the script would primarily handle the part of the flight where the vehicle isn’t following the leader. So it would automate the arming, takeoff and landing of the vehicle and perhaps some failsafe events like the loss of the telemetry connection with the leader.

I was thinking that the lead vehicle might also need a lua script to block arming until all the followers are ready to takeoff.

FOLL_OFS_X, FOLL_OFS_Y, FOLL_OFS_Z: 3D offset (in meters) from the lead vehicle; in this case, the users cannot place the following vehicles in any way as they like, am I right? For one to follow one leader potentially collision is low, but with more than 1 follower, the potential for the followers colliding with each other is high, I think, referencing the video.

I believe you plan to improve the follow-target-send.lua.

Hi @Jai.GAY,

I think there should be ways to position the followers so that they don’t crash into each other. Follow does not include object avoidance of other followers though.

I might extend follow-target-send.lua or maybe it would be a new lua script, I’m not sure yet. I probably won’t start until the DroneBridge ESP32 telemetry changes are complete to make it easy for air-to-air communication.

I think this idea sits between a drone show and multiple drones waypoint flying.