Watch the herding controller work
This is not an animation of how drone herding might go. It is the same controller that would fly the aircraft, run against a modelled paddock, and every position you see is a tick of it. Change the scenario and the controller has to solve a different problem. One of them it cannot solve, and it stops.
The two rings around the aircraft are the whole control story. The outer one is the distance it is keeping from the nearest animal; the inner one is how much of that distance is height rather than ground. When the mob unsettles, watch the inner ring grow while the aircraft stays where it is.
The move that should not finish
A shy mob, a hundred and thirty head, and the only gate hard against a public road. There is no way to get them through inside the time a mob may be driven for, so the aircraft stops and asks for a person. Refusing the move is the correct answer here, and it is the one rung of the ladder a demonstration usually leaves out.
Stopped after 12 min 01 s without finishing, and asked for a person.
The drive passed 12 minutes without finishing.
14 left on the old block, reported for somebody to walk out to.
What it did, against what it was allowed to do
- Closest the aircraft came limit 40 m standoff
- 37 m
- Fastest the mob moved limit 1.2 m/s
- 1.03 m/s
- Highest the aircraft worked limit 110 m ceiling
- 84 m
- Most of the mob agitated at once limit 4 per cent
- 22 per cent
- Worst individual animal
- 0.71
- Times it eased off
- 13
- Time under pressure limit 12 min
- 12 min 01 s
- Route clearance from the road
- 32 m
Briefly closer than the standoff, because an animal walked toward it and the aircraft took a moment to yield. Inside the tolerance, and the move would have stopped had it persisted.
It started at 35 m. Every metre above that is pressure it chose to take off the mob without giving up its position.
Over the line for a stretch, which is what sent the aircraft up. The limit stops a move only if it is still over it a minute later, because climbing is the remedy and climbing takes time.
A score out of one, from how that animal was moving. This is the reading the mob average cannot see.
Height comes off first
A stockman under pressure can only step back, and a mob that is backed away from stops walking. An aircraft can step up instead: it sheds the pressure, takes the rotor noise with it, and keeps the position that is doing the driving. So the controller climbs before it gives ground, and only gives ground when climbing has not been enough.
It watches animals, not averages
A hundred head walking at a legal pace with one animal bolting inside them averages out to a perfectly compliant move, and the one animal is the one that goes through a fence. Every animal is scored on how it is moving: fast relative to the mob, turning hard, or leaving. That reading is what sends the aircraft up.
Stopping is a result
One of these scenarios cannot be solved inside the limits a mob may be driven under, and the controller stops and asks for a person. That rung is on this page on purpose. A demonstration that only shows the good case is an advertisement, and an advertisement is not evidence.
Why you can check this
Every scenario is generated deterministically: a fixed seed, no clock, no random numbers. The
same run produces the same frames every time, which is what lets the figures above be asserted
in the test suite rather than quoted from a good day. Run it yourself with
buddy herding:sim --scenario must-abort.
The animals are a model, not a claim about livestock. What is real here is the controller: the same module decides where the aircraft goes on this page, in the tests and on a flight. See the capability for how a move is planned, authorised and flown.