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.
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 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)
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?
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 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.