Control loop latency
Latence v řídicí smyčce (control loop latency) je časový posun mezi vznikem informace (senzorické měření nebo příkaz) a jejím účinným využitím v regulátoru nebo aktuátoru. V bezpilotních leteckých systémech (UAV) s vysokými požadavky na stabilitu a přesnost je latence kritickým limitujícím faktorem. Zvyšuje fázovou rezervu spotřebovanou zpožděním, snižuje ziskovou rezervu, zhoršuje potlačení poruch a může způsobit oscilační chování až po ztrátu 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 dílčích prodlev od senzoru po aktuátor, včetně filtrace, plánování, přenosu a frontování.
- Jitter: rozptyl latence (směrodatná odchylka nebo percentilové statistiky); důležitý pro predikovatelnost.
- Packet loss / drop rate: ztráta paketů; interaguje s latencí (fronty se plní, dokud nezačnou ztrácet).
- 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, řízení přetížení (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), downsampling, 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ží pro návrh rozpočtu latence:
- SPI: ~5–50 µs na rámec (závislé na frekvenci a délce); velmi nízký jitter.
- I2C: ~50–500 µs; závislé na rychlostním režimu a kolizích na sběrnici.
- UART (MAVLink): ~0,5–5 ms při 921 kbps; výrazně roste s nízkým baudratem.
- CAN: ~0,5–2 ms; CAN-FD zkracuje latenci a zvyšuje propustnost.
- Ethernet (100/1000BASE-T): ~50–500 µs one-way v lokální síti; determinističnost závisí na switchech a QoS.
- Wi-Fi: ~2–20 ms s vysokým jitterem (závislé na rušení a power-save mechanismech).
- LTE/5G: ~10–50 ms (LTE), ~5–20 ms (5G NSA); variabilita dle buněčné zátěže a rádiových podmínek.
Modelování zpoždění a jeho vliv na stabilitu
Časové zpoždění v smyčce lze aproximovat jako pure time-delay e−sT nebo pomocí Padého aproximace. Zpoždění spotřebovává fázovou rezervu proporcionálně frekvenci: při frekvenci ω způsobí fázový posun −ω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í tolerovaný T před ztrátou stability; souvisí s regulačními rezervami zisku a fáze.
- Small-gain a μ-analýza: hodnocení robustnosti vůči časově-variabilnímu zpoždění a jitteru.
- Diskrétní čas: ve výpočtech se vzorkováním je nutno zahrnout „computational delay“ (typicky 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: využití TSC/HPET nebo MCU časovačů s nanosekundovým/µs rozlišením.
- PTP/1588 nebo časová synchronizace MAVLink TIMESYNC: pro korekci 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 pevným časem.
- 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 co senzory a aktuátory, s minimálním overheadem OS. Vnější smyčky mohou komunikovat přes méně deterministická média (Ethernet, Wi-Fi) při dodržení QoS a filtrů.
OS, plánování a ovladače: vliv na latenci
- Realtime jádro: 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; zamezení priority inversion (mutexy s priority inheritance).
- IRQ/TX-RX tuning: NAPI polling, omezení 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 v 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ásledná softwarová filtrace s malým fázovým skluzem (např. filtry s nulovou fází pro ne-on-line cesty, nebo komplementární/causal filtry pro on-line).
- VIO/kamera: režiérové 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: upřednostněte větší MTU na kabelových linkách (jumbo frames) a minimalizujte fragmentaci u bezdrátových.
- Škálování front: omezte velikost TX/RX ringů, aby se minimalizoval bufferbloat.
- Kanál a pásmo: u Wi-Fi fixní kanál, vypnutí power-save režimu, 5 GHz pásmo; u LTE/5G vyhnout se přetíženým buňkám (pokud 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 fronty, 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: statická paměť, předalokované pooly, žádné GC v kritických vláknech.
- Batching rozumně: malý batch pro zvýšení propustnosti, ale omezený tak, aby nerostla latence.
Mitigace v návrhu regulátorů a odhadovačů
- Prediktivní 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í na zpoždění a variabilitu parametrů.
- Sample-and-hold modely: zahrnout „computation + transport delay“ jako ekvivalentní z-posun v diskrétním modelu.
- Delay-aware EKF/UKF: zpětné vsazení (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) sníží závislost na zpětné vazbě.
Event-triggered a time-triggered řízení
Time-triggered přístup s pevně periodickým plánem minimalizuje jitter a usnadňuje důkazy o časování. Event-triggered snižuje průměrnou propustnost, ale vyžaduje opatrné prahy, aby nevyvolal nárazové chování a variabilní latenci. Hybridní schémata používají pevné periody pro vnitřní smyčky a event-trigger pro méně kritické úkoly.
Časová synchronizace a kalibrace
- PTP/1588 nebo udržované offsety mezi moduly (IMU, palubní počítač, doprovodný počítač).
- 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 režimu.
- Degradované režimy: přechod z VIO → pouze IMU+baro; z Wi-Fi řízení → autonomní režim.
- Watchdogy: time-based (deadline miss) a sequence-based (vynechané vzorky) s bezpečným výstupem.
Postup návrhu: od rozpočtu po validaci
- Sdělte 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 doprovodném počítači s Ethernet



























