Sensoren, en wat elke laag verbergt
Sensoren leggen feiten vast, een vluchtstack houdt de standhouding, middleware verbindt processen en een operatiesysteem geeft sorties vrij. Haal je de lagen door elkaar, dan wordt een demonstratiescherm aangezien voor een logistiek netwerk.
Wat er werkelijk wordt gemeten
GNSS leidt positie en tijd af uit afstanden tot satellieten. Een nauwkeurigheid van meters is gebruikelijk. Stedelijke straatcanyons veroorzaken multipath, en het signaal kan worden gestoord of vervalst. De koers bij stilstand volgt niet uit een spoor waarlangs je je niet beweegt. RTK gebruikt de draaggolffase plus correcties van een basis of een netwerk en haalt centimeternauwkeurigheid als de gehele-getalambiguïteit is opgelost. Een float-oplossing is geen fix. Verlies je de correcties, dan zit je weer op gewone GNSS. Een verkeerde basiscoördinaat verschuift het hele nauwkeurige antwoord. Een IMU meldt versnelling en hoeksnelheid met hoge frequentie en drift weg als je integreert. Een barometer is sterk voor relatieve hoogte en wordt vertekend door het weer en, bij een slecht geplaatste opening, door de rotorwind.
Camera's zijn passief. Ze hebben textuur en licht nodig en raken in de war door zon, regen, glas en structuurloze sneeuw. Ze kunnen aanwijzingen voor landing en obstakels ondersteunen. Op zichzelf zijn ze geen sensor voor alle weersomstandigheden. LiDAR meet actief afstand en levert geometrie directer. Mist, zware regen en stof verslechteren het, en het kost massa en vermogen. Een duurdere sensor heft het falen van een goedkopere niet automatisch op. Een schatter voegt deze samen tot één toestand. Lees het samengevoegde beeld niet als een bewering dat elke invoer altijd klopt. Voor de vlucht moet je kunnen zeggen hoe de schatting verslechtert als elke invoer wegvalt.
ADS-B In luistert naar coöperatieve uitzendingen, vooral van bemande vliegtuigen die ADS-B-apparatuur moeten hebben. In de Verenigde Staten is ADS-B Out verplicht in bepaald luchtruim. Vliegtuigen zonder die apparatuur verschijnen niet, en de meeste kleine drones evenmin. Het is een gedeeltelijk beeld van het bemande verkeer, op zichzelf geen detect-and-avoid-systeem. Remote ID werkt de andere kant op: het onbemande vliegtuig zendt zijn eigen identiteit en locatie uit, en standaarduitzendingen kunnen het controlestation bevatten. Het is een signaal voor verantwoording. Het is geen sensor voor ander verkeer en het identificeert niet de mens die het pakket ontvangt. Laat de twee radio's niet samenvallen in de bewering dat het vliegtuig kan zien.
Hoe vliegtuigen hun positie bepalen door om zich heen te kijken, onder bruggen en in tunnels waar satellietpositionering faalt, wordt met voorbeelden behandeld in positie schatten waar GNSS niet komt (Airffic Inspection).
Waarom het kompas de weg kwijtraakt naast staal, wordt uitgelegd in vliegen met drones bij staal dat het kompas in de war brengt in de Inspection-gids.
Wat elke laag mag verbergen
PX4 en ArduPilot zijn vluchtstacks aan boord van het vliegtuig. Ze lezen sensoren, draaien een schatter, sluiten de lussen voor standhouding en positie, mengen commando's naar de motoren en handhaven failsafes zoals een geofence, lage accu of verlies van verbinding. Wat ze verbergen is 'bereik deze standhouding, snelheid of positie binnen de grenzen van het vliegtuig.' Buiten die grenzen bereiken ze het niet. MAVLink is het protocol van het gesprek: telemetrie, commando's, missie-items, heartbeats. Systeem- en componentidentificaties zijn adressen, geen veiligheidsbeslissingen. Het protocol abstraheert de grammatica op de lijn. Het abstraheert niet de vraag of een vlucht moet worden vrijgegeven.
ROS 2 is middleware op een companion-computer. Nodes publiceren en abonneren op getypeerde berichten. Het abstraheert robotsoftware tussen processen, perceptie en experimentele planning. Het is geen autopilot. Een ROS-node mag niet het enige zijn dat de rotors stabiel houdt. De vluchtstack faalt zelf veilig. QGroundControl is een bedieningsconsole voor installatie, kalibratie, missiebewerking en live telemetrie van één vliegtuig. Mission Planner en verwante programma's vervullen een vergelijkbare rol naast ArduPilot. Eén vliegtuig, één sessie, een mens in de lus. Dat is geen operatiesysteem van een luchtvaartmaatschappij.
Een SDK van een fabrikant abstraheert een afgebakend gebied. Kits van het DJI-type sturen het vliegtuig en zijn payloads aan op het missieniveau dat de fabrikant openstelt. De schatter en de motormenging blijven binnenin. Auterion legt een zakelijke laag rond PX4, dichter bij vlootsoftware en toepassingen dan bij een stuurknuppel. Kits van het Skydio-type bieden high-level skills op hun eigen casco en houden het ontwijken intern. Niets hiervan betekent dat de aanroeper bezit wat de fabrikant verborgen heeft. Benoem de grens van de abstractie aan de hand van het contract en de documentatie. Een SDK die je zo niet kunt beschrijven is een handige black box, geen veiligheidsverklaring.
De protocollaag verwarren met de applicatielaag leidt tot een verkeerde lezing van wat er gegarandeerd is. Met de ontwikkeling van cameradrones als voorbeeld: MAVLink en MAVSDK laag voor laag uit elkaar houden (Airffic Aerial).
Hoe sensoren omgaan met tunnels, waar satellieten niet komen, wordt behandeld in hoe drones tunnels inspecteren in de Inspection-gids.
Een piloten-app is geen operatiesysteem
De horizon van een piloten-app is één vlucht. Inschakelen, een checklist, een missie voor dit casco, besturing met stick of waypoints, terugkeer. De gebruiker is een piloot of een remote operator, en de klok loopt van opstijgen tot landen. De horizon van een operatiesysteem is het netwerk: bestellingen, beschikbaarheid van vliegtuigen, padslots, een weer waarbij niet gevlogen wordt, luchtruimbeperkingen, strategische separatie, conformiteitsbewaking, het logboek waar een toezichthouder om zal vragen en een koppeling met het bestelsysteem. De gebruiker is een planner en de klok is de slots van de dag. MAVLink-telemetrie kan naar dat systeem stromen. Die stroom maakt van een grondstation nog geen UTM.
Identificatie, geofencing, vliegtoestemming, tracking en ondersteuning bij conflictdetectie, zoals U-space en UTM ze beschrijven, zijn diensten aan de operatiekant. Ze op het scherm van één vliegtuig tekenen implementeert ze niet. Als een demo werkt, willen mensen het scherm een netwerk noemen. Het scherm kan laten zien dat één vliegtuig commando's heeft opgevolgd. Het laat niet het volgende padslot zien, een geweigerd luchtruimvolume, een overdracht die niet plaatsvond of een wind die de reserve opat. Als geen ander systeem die vier bijhoudt, is er nog geen logistiek. Prijs de vluchtstack. Benoem hem niet tot operatiesysteem.
Een stapsgewijze inleiding in hoe een drone zijn positie bepaalt (Tobira, in het Japans) behandelt GNSS, barometer en kompas vanaf het begin.
- PX4 — System architecture
Het overzicht van PX4 van een vluchtcontroller, QGroundControl als grondstation en een companion met ROS of MAVSDK. Een kaart van lagen, geen certificeringsclaim.
- MAVLink — System and component IDs
Hoe een MAVLink-systeem één systeem-id deelt en elke component een eigen id geeft. Het gaat over het adresseren van berichten, niet over operationeel oordeel.
- ROS 2 — Basic concepts
De ROS 2-documentatie definieert een getypeerde publish-and-subscribe-middleware tussen processen. De graaf is een netwerk van nodes. Ze beweert geen lus voor standhouding te zijn.
- FAA — Remote identification of drones
De beschrijving van de FAA van een drone die tijdens de vlucht identiteit en locatie uitzendt. Een verantwoordingslaag voor integratie, geen verkeerssensor op het ontvangende vliegtuig.