V robotice: rozpočet vysílacího času
Všechno z předchozích kapitol se dá sečíst do jediné tabulky, která odpoví na otázku, se kterou každý projekt začíná a málokdo ji položí správně: kolik robotů se vejde na jeden kanál?
Jak se to počítá
Telemetrie 200 bajtů při MCS5 stojí 310 µs vysílacího času, z toho jen 26 % jsou data. Dvanáct robotů po padesáti hertzích tedy zabere 600 rámců za sekundu, což je 19 % kanálu. Dvě kamery po čtyřech megabitech přidají dalších 26 %. Dohromady 45 % — a to je ještě v pořádku.
Zvýšit telemetrii na 100 Hz znamená 38 % místo 19, tedy dohromady 64 %. Přidat čtyři roboty znamená 77 % a je konec.
Sedm pravidel, která z téhle labky plynou
- Počítej rámce, ne bajty. Fixní režie 181 µs na rámec je většinou to hlavní. Sdružuj data v aplikaci.
- Navrhuj na 50 % vysílacího času. Zbytek spotřebuje opakování, roaming a to, co jsi nezapočítal.
- 5 GHz a úzké kanály. Víc buněk je vždycky lepší než širší kanál — kapitola 1 a kapitola 12.
- Zakaž nejnižší rychlosti. Jinak jedna pomalá stanice srazí celou buňku (kapitola 6).
- Zapni 802.11r a 802.11k. Roaming ze stovek milisekund na jednotky (kapitola 10).
- Značkuj řídicí provoz a vypni na něm agregaci. Kratší okno a žádné čekání na sloučení.
- Neřiď přes Wi-Fi. Posílej žádané hodnoty a stav; rychlou smyčku nech v měniči. Tohle je jediné pravidlo, které platí bez výjimky.
Co tahle labka NEumí
Počítá jednu buňku s DCF. Nemodeluje plánovaný přístup 802.11ax (OFDMA), MU-MIMO, skutečná pravidla agregace, ani rate-adaptation algoritmy — ty jsou u každého výrobce jiné a žádný je nezveřejňuje. Kde by číslo záviselo na některé z těch věcí, je to v textu řečeno místo aby se vymyslelo.
Bluetooth, LoRa a spol. mají jiné kompromisy a jsou v BleLabu a IoTLabu. Otázka, jestli se přes tohle vůbec smí řídit stroj — a co má robot dělat během těch tří set milisekund roamingu — je RoboLinkLab.
Jedno číslo na závěr, které stojí za zapamatování: jeden kanál 802.11 zvládne kolem 4 000 rámců za sekundu, ať jsou plné nebo prázdné. Vyděl to počtem robotů a máš strop, kolikrát za sekundu smí každý z nich promluvit. U dvaceti robotů je to dvěstěkrát — a to už je slyšet, že to není moc.