Control loop latency
Latence v řídicí smyčce (control loop latency) je časové zpoždění mezi vznikem informace (senzorické měření nebo příkaz) a jejím efektivním využitím v regulátoru či akčním členu. V bezpilotních letových systémech (UAV) s vysokými nároky na stabilitu a přesnost představuje latence kritický omezující faktor. Zvyšuje fázovou rezervu spotřebovanou zpožděním, snižuje ziskovou rezervu, zhoršuje potlačení rušení a může vést k oscilačnímu chování až k ztrátě stability. Tento článek komplexně rozebírá zdroje latence v komunikačním stacku, jejich kvantifikaci a navrhuje metody mitigace od úrovně hardwaru přes operační systém až po návrh regulátorů.
Definice a metriky latence
- One-way latency: čas od odeslání po doručení v jednom směru.
- End-to-end (E2E) latency: součet všech částečných zpoždění od senzoru po akční člen, včetně filtrace, plánování, přenosu a frontování.
- Jitter: rozptyl latence (směrodatná odchylka nebo percentilové statistiky); důležitý pro předvídatelnost.
- Packet loss / drop rate: ztráta paketů; interaguje s latencí (fronty se plní až do chvíle, kdy začne docházet ke ztrátám).
- Delay budget: přidělený rozpočet zpoždění jednotlivým segmentům řetězce.
Zdrojové složky latence v komunikačním stacku UAV
- Fyzická vrstva a linka: přenosové rychlosti a rámcování (UART, CAN/CAN-FD, SPI, I2C, Ethernet, Wi-Fi, LTE/5G); kódování a retransmise.
- MAC/Linkové fronty: kolize, CSMA/CA (Wi-Fi), plánování přístupu, priorita rámců, velikost MTU.
- Síťová/transportní vrstva: IP směrování, UDP/TCP chování, Nagleův algoritmus, congestion control (u TCP), checksum offload.
- Middleware: MAVLink, RTPS/DDS (ROS 2), uORB; serializace, (de)marshalling, kopírování dat, QoS profily a discovery.
- OS a ovladače: přeplněné RX/TX buffery, ISR/softirq, NAPI, interrupt coalescing, plánování vláken.
- Aplikační vrstva: filtry (EKF/VIO), downsamplování, dávkování měření, pipeline zpracování.
Typické hodnoty latencí podle technologie
Následující orientační rozsahy (pro krátké vzdálenosti a správná nastavení) slouží k návrhu rozpočtu latence:
- SPI: ~5–50 µs na rámec (záleží na frekvenci a délce); velmi nízký jitter.
- I2C: ~50–500 µs; závislé na rychlostním módu a kolizích na sběrnici.
- UART (MAVLink): ~0,5–5 ms při 921 kbps; výrazně roste při nízkém baudratu.
- CAN: ~0,5–2 ms; CAN-FD snižuje latenci a zvyšuje propustnost.
- Ethernet (100/1000BASE-T): ~50–500 µs one-way v lokální síti; determinističnost závisí na switchích a QoS.
- Wi-Fi: ~2–20 ms s vysokým jitterem (závisí na rušení a power-save mechanismech).
- LTE/5G: ~10–50 ms (LTE), ~5–20 ms (5G NSA); variabilita podle zátěže buněk a rádiových podmínek.
Modelování zpoždění a jeho vliv na stabilitu
Časové zpoždění v řídicí smyčce lze aproximovat jako pure time-delay e−sT nebo pomocí Padého aproximace. Zpoždění spotřebovává fázovou rezervu úměrně frekvenci: při frekvenci ω vyvolá fázové zpoždění −ωT (v radiánech). Pro vnitřní rychlé smyčky (rate/attitude) je tolerance zpoždění nejnižší; poziční smyčky snesou více.
- Delay margin: maximální tolerovatelné T před ztrátou stability; souvisí se ziskovou a fázovou rezervou.
- Small-gain a μ-analýza: hodnocení robustnosti vůči časově variabilnímu zpoždění a jitteru.
- Diskrétní čas: při výpočtu se vzorkováním je třeba zahrnout “computational delay” (obvykle 0–1 vzorek) a “sensor-to-actuator” pipeline.
Rozklad E2E latence: příklad rozpočtu
| Segment | Typ | Rozpočet | Poznámka |
|---|---|---|---|
| IMU → MCU (SPI) | HW/Link | 30 µs | DMA + vysoká frekvence SPI |
| ISR → EKF | OS/CPU | 200 µs | ISR přenos do ring bufferu, bez kopírování |
| EKF výpočet | Algoritmus | 400 µs | Vektorové instrukce, fixed-point |
| Regulátor (rate/att) | Algoritmus | 150 µs | PID/LQR, saturace |
| MCU → ESC (DShot) | Link | 150 µs | DShot600 až 1200 |
| Celkem | ~0,93 ms | Jitter < 0,1 ms |
Měření latence a jitteru
- Hardwarové timestampy: použití TSC/HPET nebo MCU časovačů s nanosekundovým/µs rozlišením.
- PTP/1588 nebo časová synchronizace MAVLink TIMESYNC: k opravě hodinových posunů mezi moduly.
- Tracing: ftrace/perf/ETW-analogy, LTTng, eBPF; časování ISR, softirq, vláken.
- Síťová analýza: tshark/pcap, RTPS a MAVLink dissektory; měření jednosměrného zpoždění s pevnou časovou referencí.
- Loopback testy: generování impulsů a osciloskopické měření odezvy na PWM/DShot.
Vliv architektury řízení (vnitřní vs. vnější smyčky)
UAV řízení je hierarchické: rate → attitude → velocity → position → mission. Čím vnitřnější smyčka, tím přísnější limit latence. Vnitřní smyčky by měly běžet na stejném procesoru/bloku jako senzory a akční členy, s minimálním overheadem OS. Vnější smyčky mohou komunikovat přes méně deterministická média (Ethernet, Wi-Fi) za předpokladu dodržení QoS a filtrů.
OS, plánování a ovladače: vliv na latenci
- Realtime kernel: PREEMPT_RT (Linux) nebo RTOS (NuttX, FreeRTOS); vázání vláken na CPU, izolace jader (CPU isolation).
- Prioritizace vláken: rate monotonic nebo deadline-oriented; prevence priority inversion (mutexy s priority inheritance).
- IRQ/TX-RX tuning: NAPI polling, limitace ring bufferů, vypnutí nadměrného interrupt coalescing pro nízký jitter.
- Zero-copy a pinning: vyhýbání se zbytečným kopiím, pinned memory, NUMA affinity.
Middleware a protokoly: MAVLink, RTPS/DDS, ROS 2 QoS
- MAVLink: lehký UDP/serial protokol; minimalizujte velikost zpráv, upřednostněte one-way telemetrii před request/response ve kritických cestách, nastavte rate limits a filtrační pravidla.
- RTPS/DDS: nastavte QoS profily (reliability = best effort pro nízkou latenci, history = keep last, depth = 1–2, deadline a latency budget), omezte discovery chatter (statické endpointy).
- uORB/ROS 2: preferujte intra-process publikování/odběr, loaned messages a zero-copy transporty.
Vliv senzorů a filtrace
- IMU: vyvážení mezi DLPF (zpoždění) a šumem; vysoká ODR s minimálním filtrem a následnou softwarovou filtrací s malým fázovým skluzem (např. filtry s nulovou fází pro ne-online cesty, nebo komplementární/causal filtry pro online).
- VIO/kamera: režijní zpracování (10–40 ms) kompenzujte predikcí stavového odhadu a časově zarovnanými měřeními (time offset, measurement augmentation).
- GNSS: nižší frekvence a vysoké zpoždění; fúze v EKF s explicitním modelem zpoždění a odhadu časového offsetu.
Mitigace na úrovni sítě a linky
- QoS/DSCP na Ethernet/Wi-Fi switchech; mapování na vysokoprioritní fronty.
- MTU a fragmentace: preferujte větší MTU na kabelových linkách (jumbo frames) a minimalizujte fragmentaci na bezdrátových.
- Škálování front: omezte velikost TX/RX ringů, aby se minimalizoval bufferbloat.
- Kanál a pásmo: na Wi-Fi pevný kanál, vypnutí power-save, 5 GHz pásmo; na LTE/5G vyhnout se přetíženým buňkám (pokud je to možné).
- Přechod na deterministické linky: pro vnitřní smyčky – SPI/CAN-FD/Ethernet (TSN) místo Wi-Fi.
Mitigace v návrhu softwaru
- Pipeline s pevnou hloubkou: jednotná délka front, drop oldest při přetížení.
- Back-pressure: zdroje zpomalují při plných cílových frontách, aby se předešlo kaskádovému nárůstu latence.
- Deterministické alokace: static memory, předalokované pooly, žádný GC v kritických vláknech.
- Dávkování rozumně: malý batch pro zvýšení propustnosti, ale s limitem, aby nerostla latence.
Mitigace v návrhu regulátorů a odhadovačů
- Přediktivní kompenzace zpoždění: Smithův prediktor, predikce stavu dopředu o T, Padé-kompenzace ve frekvenční doméně.
- IMC/H∞ loop-shaping: návrh s robustností vůči zpoždění a variabilitě parametrů.
- Sample-and-hold modely: zahrnout “computation + transport delay” jako ekvivalentní z-posun v diskrétním modelu.
- Delay-aware EKF/UKF: zpětné vložení (out-of-sequence measurements), augmentace stavu o časový offset, časově zarovnaná měření.
- Feedforward: pro známé perturbace (např. tah vrtulí při změnách škrticí klapky) snižuje závislost na zpětné vazbě.
Event-triggered a time-triggered řízení
Time-triggered přístup s pevným periodickým plánem minimalizuje jitter a usnadňuje dokazování časování. Event-triggered snižuje průměrnou propustnost, ale vyžaduje opatrné prahové hodnoty, aby nevyvolal náhlé špičky a variabilní latenci. Hybridní schémata používají pevné periody pro vnitřní smyčky a event-trigger pro méně kritické úlohy.
Časová synchronizace a kalibrace času
- PTP/1588 nebo udržované offsety mezi moduly (IMU, palubní počítač, companion computer).
- MAVLink TIMESYNC: pravidelné měření a kompenzace clock skew a offset.
- Kalibrace pipeline: měření konstantních posunů (např. kamera → VIO → EKF) a explicitní kompenzace v softwaru.
Bezpečnostní a fail-safe aspekty při skocích latence
- Detekce anomálií: monotónně rostoucí E2E latence nebo špičky jitteru spouští de-rate (snížení agresivity regulace) nebo přechod do hover/loiter.
- Degradované režimy: přechod z VIO na pouze IMU+baro; z Wi-Fi řízení na autonomní režim.
- Watchdogy: time-based (nedodržení deadlinu) a sequence-based (vynechané vzorky) s bezpečným výstupem.
Postup návrhu: od rozpočtu po validaci
- Stanovte požadavky: maximální E2E pro vnitřní smyčky < 1 ms, jitter < 0,1 ms (příklad).
- Návrh architektury: senzory + vnitřní regulátor na MCU/RTOS; externí výpočty (VIO/ML) na companion



























