Technologie | Česko | Navigace

Vyzkoušeli jsme unikátní UWB lokalizaci Sewio. Polohu našeho robota určí na centimetry a to i bez GPS

  • Ultra-široké pásmo slibuje extrémně přesné techniky lokalizace
  • Používá jej třeba pražská továrna na kabely Prakab
  • A teď jsme si Sewio RTLS postavili i v naší redakci

Pražská kabelovna na východním okraji metropole je tak trochu jiný svět, který na první pohled ostře kontrastuje s high-tech provozy z Tchaj-wanu a dalších lokalit, o kterých na Živě.cz píšeme nejčastěji.

Namísto sterilních linek na ražbu procesorů vás přivítají obrovské litinové konstrukce, možná trochu toho prachu na zemi a stovky a tisíce bubnů s tunami měděného a hliníkového vlákna. Legendární Prakab s více než stoletou historií totiž už podle svého názvu patří k našim největším výrobcům kabelů.

Video: Jak funguje profesionální UWB real-time lokalizace Sewio v praxi. Navštívili jsme Prakab a pak si postavili vlastní experimentální Brkab

Každý rok tu zpracují 20 tisíc tun mědi a více než 8 tisíc tun hliníku, ze kterých automatické linky upletou více než 50 tisíc tun vodičů všeho druhu. A protože zvláště měď patří k poměrně drahým vstupním materiálům – své o tom ví Správa železnic, kde se ušlechtilý kov ztrácí docela pravidelně –, je třeba obrovské špulky střežit jako oko v hlavě.

Real-time lokalizační systém Sewio

K mnoha z nich je proto přimontovaná malá krabička a v nitru řídící deska, která na baterii vydrží až dva roky provozu. Jedná se o průmyslové tagy systému RTLS od brněnského Sewia.

RTLS je obecná zkratka pro Real-Time Location System a inženýři z jihomoravské metropole vsadili na poslední roky tolik citovanou rádiovou technologii UWB a čipy Decawave/Qorvo.

4d6c649b-b224-4970-ab76-cc4837b94712 cade2ba2-99d2-47cd-8d30-a388c2cce6577a5a79f8-b24c-4823-b6cf-04745725879e
Na bubnech je přimontovaná krabička s řídící deskou a lokalizačním UWB čipem Decawave

Ultra-široké pásmo

UWB, tedy ultra-širokopásmová komunikace, se třeba od Bluetooth, Wi-Fi nebo LTE liší v tom, že už podle svého názvu používá ohromný díl rádiového spektra a zasahuje i do kmitočtů, které používá třeba právě Wi-Fi.

Ničemu to ale nevadí, vyzařovaný výkon UWB je totiž dle normy natolik malý, že je pro ostatní protokoly prakticky neviditelný a jen mírně nad úrovní šumu.

140927fb-4b2e-43ed-9602-9bcf2f2a94dd
UWB a srovnání s  ostatními rádiovými protokoly

I proto se o UWB mluví jako o technologii, která by se mohla stát normou pro rychlý přenos dat na krátkou vzdálenost zvláště na mobilních telefonech, kde by doplnila Bluetooth a Wi-Fi.

Nanosekundové pulzy

UWB nabízí do budoucna celé spektrum možných využití a komunikačních protokolů, v průmyslu a byznysu se ale už dnes testuje a používá zejména jeho lokalizační funkce. Zde totiž může ultra-široké pásmo nabídnout schopnosti, kterým se nevyrovná ani ta nejpřesnější kapesní gépéeska.

d1f7ae53-c1c3-4157-b355-5be4818bdaafb57d3910-c212-441f-a9a8-abb586c3caa1
Čím je pulz širší ve frekvenční doméně, tím je kratší v té časové

Čím širší je signál ve frekvenční doméně, tím kratší budou jeho pulzy v časové doméně.  A protože je UWB široký až až, maličký vysílač může na anténě vytvářet extrémně krátké a diskrétní pulzy s délkou v řádu jednotek nanosekund.

Pulz je dostatečně krátký, takže kdybychom měli sadu dokonale synchronizovaných přijímačů, mohli bychom s vysokou přesností určit časový okamžik, kdy takový rádiový záblesk dorazil do cíle.

Světlo uletí ve vakuu 1 metr za 3,3 nanosekund

Světlo se ve vakuu pohybuje rychlostí 299 792 458 m/s. Nekomplikujme to atmosférou a nadále počítejme právě s tímto údajem. Za jedinou nanosekundu tedy světlo překoná vzdálenost 0,299 metrů, z čehož plyne, že 1 metr zvládne zhruba za 3,3 nanosekund.

c50db6d7-44f2-4d35-8dd0-dc1b468fff50
UWB používá pulzní modulaci, signál tedy tvoří v časové doméně extrémně úzké a diskrétní pulzy s délkou v řádu jednotek nanosekund

Rádiový pulz, u něhož chceme zaznamenat okamžik příjmu, tedy musí být co nejužší a nejstrmější, protože kdyby se nám roztáhl třeba na desítky nanosekund, zabralo by několik dalších drahocenných okamžiků, než by jej dokázal přijímač na elektrické úrovni vůbec detekovat.

No, a pokud světlo překoná celý metr za pouhé 3 nanosekundy, už na začátku bychom měli při snaze o výpočet polohy zdroje, který tyto pulzy vysílá, ohromnou odchylku.

RTLS Kit od Sewia, aneb hračka za 3 500 eur

UWB lokalizace s pulzní modulací toto vše řeší a při správné kalibraci celého systému se můžeme i v relativně zarušeném provozu jako Prakab dostat na přesnost v řádu decimetrů až jednotek centimetrů. I proto si dnes s ultra-širokopásmovými polohovacími systémy hrají po celém světě a já si chtěl takový malý Prakab – tedy Brkab – postavit i u nás v brněnské redakci.

2d652926-cff1-49f2-8ff8-b1c346ba61b5
Stacionární přijímač UWB s Wi-Fi a ethernetem, tedy anchor – kotva

Krátce po návštěvě průmyslové haly se stovkami a stovkami bubnů mědi jsem proto zajel do Jihomoravského inovačního centra, kde dnes sídlí i Sewio, a odvezl si velkou krabici s minimálním testovacím balíčkem RTLS UWB Wi-Fi Kit.

Mimochodem, podobná hračka stojí 3 500 eur bez DPH, což jen umocňuje fakt, že tato legrace není úplně pro každého a typickým zákazníkem je samozřejmě podnik a obecně komerční sféra.

78c9bb2f-e1d9-48e7-833a-5fba06f7b8b4
Různé typy vysílacích UWB tagů včetně provedení na řemínek a zápěstí (vpravo)

Uvnitř balíku jsem našel několik vysílacích tagů na baterii a pětici stacionárních přijímačů – anchorů –, tedy kotev, které se postarají o příjem našich UWB pulzů a jejich vhodným rozmístěním pokryje případný zákazník plochu o výměře až 500 m².

RTLS Studio provede veškerou výpočetní magii

Kotvy připojíte do sítě skrze ethernet (PoE), nebo Wi-Fi a na počítači spustíte speciální server RTLS Studio, ve kterém vše propojíte dohromady. Kupodivu to bylo docela jednoduché, výrobce totiž nabízí ke stažení obraz virtualizovaného Ubuntu s veškerým předinstalovaným softwarem pro prostředí VirtualBox.

1e15323e-5f7f-4425-a3bc-29ecd8c732eb292bbbe6-c93a-44a9-893c-38efc86f762a
Lokalizační server může běžet na virtualizovaném Ubuntu. Utáhl jej i můj pracovní laptop. Na druhém snímku je už seznam spárovaných kotev v jeho webovém rozhraní

Samotné ovládání celého podnikového RTLS systému nakonec není o moc komplikovanější než konfigurace vašeho domácího Wi-Fi routeru, vše totiž běží na lokálním HTTP serveru a v přívětivém webovém prostředí, které pochopí i vaše babička.

Time Difference of Arrival

UWB čipy zpravidla nabízejí dvě obecné techniky pro lokalizaci:

  • TWR (Two Way Ranging)
  • TDoA (Time Difference of Arrival)

A právě pro TDoA je nakonfigurovaný i testovací kit, který jsem nainstaloval v redakční dílně. Princip funkce je vlastně docela prostý. Jak už jsme si řekli výše, zdrojem pulzů UWB je maličký přenosný tag. Může být přimontovaný na buben s mědí v Prakabu, stejně tak to ale může být i náramek nebo přívěšek pro zaměstnance.

a80fb8ff-eba9-4130-9d56-cfcceb0e4e61
Pulz z tagu postupně dorazí k nejbližších kotvám. Podle časového rozdílu lze spočítat vzdálenost a nakonec i souřadnice X, Y a Z

Nanosekundové pulzy se šíří do všech stran a postupně je zachytí několik nejbližších anchorů – stacionárních kotev Sewia připojených k Wi-Fi/LAN. Tyto kotvy mají navzájem velmi přesně synchronizované vnitřní hodiny, o což se stará hlavní kotva – master.

Benchmark stanoví, kdo se stane masterem

Mastera dokáže automaticky doporučit samotný systém, který analýzou kvality rádiového spojení mezi jednotlivými anchory odhadne, která kotva je v rádiovém oboru nejlépe viditelná pro všechny ostatní.

ec644de1-6960-4d4a-abf9-f26ece5946eea2cfb1e6-4744-4dc7-9e69-ead65a3cdcc9
Křížový benchmark kvality spojení mezi jednotlivými kotvami a automatické určení mastera, který bude řídit časovou synchronizaci

Díky tomu, že jsou všechny kotvy perfektně synchronizované, výpočetní software na serveru získá přesné časové rozdíly, kdy doputoval pulz z tagu postupně ke každé z nich.

Ze známé rychlosti šíření světla v prostoru pak server dokáže odhadnout vzdálenost mezi tagem a kotvami a dalšími výpočty nakonec i souřadnice X, Y a Z na plánu budovy, který jsem nahrál do RTLS Studia hned při úvodní konfiguraci.

Síť lokalizačních buněk

Jedna ucelená soustava několika kotev s určeným masterem tvoří lokalizační buňku – cell –, no a několik takových klidně se i vzájemně překrývajících buněk pak mohou pokrýt i rozsáhlý průmyslový provoz.

868b0a01-67dd-4f8f-84d2-02de306c7a46
O mapování pohybu v rozsáhlejších prostorech se postarají lokalizační buňky – celly –, které se mohou i překrývat

V případě úvodního testování v Prakabu tak systém 22 kotev pokryl plochu o výměře zhruba 10 000 m² a operátor mohl v reálném čase a bez zbytečné latence sledovat, jak se po fabrice pohybuje 54 otagovaných bubnů s mědí.

Testovací robot Brkab 1.0

Rozpočet našeho bastlícího seriálu Pojďme programovat elektroniku má své limity, pro ostrý test technologie od Sewia jsme se tedy rozhodli, že budeme namísto těžké mědi převážet… Poněkud lehčí, menší a o několik řádů levnější cívky s pájkou.  Brkab – Brněnská kabelovna – bude mít k dispozici zároveň neméně jednoduchého robota Brkab 1.0.

0fd1b433-316d-4442-a9d7-90fb656f747f
Robot Brkab 1.0: Namísto těžkých bubnů s mědí vozí jen špulky s pájkou, na kterých jsou přilepené tagy Sewio

Brkab 1.0 pohání Raspberry Pi Zero 2 W, je vybavený širokoúhlou kamerou a na zádi konečně také bodcem pro umístění špulek s cívkou. Abychom se podmínkám v Prakabu přiblížili alespoň trošičku, pásový robot se bude prohánět v mé redakční dílně, ve které je velmi podobný nepořádek, a samotné vysílací tagy budou opět přilepené na jeho bubnech.

 
d913c0b1-5670-45c0-a53d-23cc5e387879 5b386108-8a0e-4f19-83ce-398180caa161
Robota ovládám na klávesnici PC skrze webové rozhraní s obrazem z jeho kamery

Můžete vytvořit no-go zóny i trasy

Instalace kotev má svá pravidla a výrobce doporučuje různé rozmístění podle půdorysu místnosti. Po správné kalibraci pak může dosahovat celý systém opravdu přesnosti v řádu jednotek centimetrů a dokáže měřit také souřadnici Z – výšku, rychlost, rychlost případného pádu a hromadu dalších metrik.

01913c9b-f41f-4149-951a-cf4938b22328
Vytvořil jsem růžovou nebezpečnou zónu. Pokud se v ní objeví robot, vyvolá alarm

RTLS Studio všechny tyto informace využívá i pro stavbu virtuálních plotů, tedy pro nejrůznější formy geofencingu. Nechybí tedy třeba možnost vytvoření no-go zón. Když se v nich objeví náš robot s tagem, systém vyhlásí varování.

Další funkcí je i naplánování pevných tras, ve kterých tag pohybuje a nikdy takovou trasu neopustí. Mohl by to být třeba pásový dopravník, přičemž my potřebujeme sledovat, kde se na něm přesně nachází nějaký předmět.

d6125a24-bfc8-401f-a1fc-d33c312bf7fe
Vytvořil jsem 22 cm širokou trasu. Pokud se v ní objeví robot, systém jej do něj umístí. To se hodí třeba pro sledování objektů na nějakém pevném pásovém dopravníku aj.

Sewio pak bude polohu tagu mapovat právě na tuto trasu a v plánu nám nebude kvůli případným nepřesnostem skákat sem a tam okolo ní.

Kompletní API v HTTP, Websocket a UDP

Možnosti lokalizačního systému z Brna jsou ale mnohem širší, součástí RTLS serveru je totiž samozřejmě i API pro napojení lokalizace do vlastních systémů a aplikací. K dispozici je HTTP REST a odpovědi v JSONu, ale také rychlejší Websocket a UDP pro streamování nejsurovějších polohových dat v reálném čase.

cc27a28e-2d1d-4544-bedd-cc486686a04d
Data – včetně těch polohových v reálném čase –, lze ze serveru získat pomocí API

Pojďme si to vyzkoušet. Dejme tomu, že náš lokalizační server poběží na LAN IP 192.168.225.2. Pokud bychom chtěli získat v JSON všechny vyčerpávající informace o tazích, stačí se zeptat adresy:

http://192.168.225.2/sensmapserver/api/tags

Dotaz doplňuje v HTTP hlavičce ještě API klíč s patřičnými právy, součásti lokálního managementu je totiž pochopitelně i pokročilá správa uživatelů.

Odpověď serveru bude poměrně košatá i pro náš příklad s jedním jediným aktivním tagem v systému:

{
  "results": [
    {
      "id": "6",
      "alias": "BRKAB #1",
      "title": "0x23046149CE6E",
      "private": "0",
      "description": "",
      "feed": "1.0.0",
      "updated": "2022-11-05 15:03:04.261581",
      "created": "2022-11-05 11:05:27.654377",
      "creator": "sewio_admin",
      "creator_id": "1",
      "version": "1.0.0",
      "website": "",
      "model_reference": null,
      "type": "tag",
      "uuid": "c136f05e-5cf9-11ed-a199-23046149ce6e",
      "tags": [
        "outdoorview"
      ],
      "calibration_at": null,
      "datastreams": [
        {
          "id": "posX",
          "current_value": " 5.78",
          "at": "2022-11-05 15:02:01.448000",
          "symbol": "",
          "label": ""
        },
        {
          "id": "plan_reference",
          "current_value": "1",
          "at": "2022-11-05 15:02:01.448000",
          "symbol": "",
          "label": ""
        },
        {
          "id": "numberOfAnchors",
          "current_value": "5",
          "at": "2022-11-05 15:02:01.448000",
          "symbol": "",
          "label": ""
        },
        {
          "id": "firmware_version",
          "current_value": "3.126",
          "at": "2022-11-05 11:05:28.623000",
          "symbol": "",
          "label": ""
        },
        {
          "id": "platform",
          "current_value": "Leonardo Asset",
          "at": "2022-11-05 11:05:28.623000",
          "symbol": "",
          "label": ""
        },
        {
          "id": "clr",
          "current_value": " 0.29",
          "at": "2022-11-05 15:02:01.448000",
          "symbol": "",
          "label": ""
        },
        {
          "id": "posZ",
          "current_value": "0",
          "at": "2022-11-05 13:42:55.262614",
          "symbol": "",
          "label": ""
        },
        {
          "id": "battery_voltage",
          "current_value": "3.13",
          "at": "2022-11-05 11:05:30.793000",
          "symbol": "",
          "label": ""
        },
        {
          "id": "posY",
          "current_value": " 1.78",
          "at": "2022-11-05 15:02:01.448000",
          "symbol": "",
          "label": ""
        },
        {
          "id": "hardware_version",
          "current_value": "1.3",
          "at": "2022-11-05 11:05:28.623000",
          "symbol": "",
          "label": ""
        },
        {
          "id": "battery_level",
          "current_value": "100%",
          "at": "2022-11-05 11:05:30.793000",
          "symbol": "",
          "label": ""
        }
      ],
      "barometerCalibration": {
        "pressure": null,
        "temperature": null,
        "height": null,
        "at": null,
        "plan_reference": null,
        "reference_anchor": null,
        "offset": null
      },
      "location": {
        "disposition": "",
        "ele": "3. patro",
        "name": "Building:Brkab",
        "lat": "0",
        "exposure": "indoor",
        "lon": "0",
        "domain": ""
      },
      "zones": []
    }
  ],
  "totalResults": 1
}

Všimněte si zejména těchto položek:

"id": "posY",
"current_value": " 1.78",
"at": "2022-11-05 15:02:01.448000",

"id": "posX",
"current_value": " 5.78",
"at": "2022-11-05 15:02:01.448000",

 

Které odpovídají souřadnicím Y a X v metrech počítaných od levého horního rohu aktuálního plánu. Tag se tedy 5.11. 2022 v 15:02:01,4 nacházel 1,78 metrů od horního okraje (Y) a 5,78 metrů od levého okraje plánu (X). yl v ten okamžik na mém kutilském stole.

b5207ab5-6324-4dac-b398-faef90c3c5f1
Tag je právě teď na stole, což potvrzuje i odpověď API

Naše konfigurace měla k dokonalosti daleko,  a přesto to fungovalo

Naše redakční instalace kotev měla k dokonalosti daleko. Prostě jsem je pouze rozestavěl po pracovních stolech, a to dokonce takovým způsobem, kdy na sebe přímo neviděly, ve středu místnosti je totiž příčka sloupu. V produkční verzi bych v takových podmínkách přijímače nainstaloval spíše na stěny, nebo rovnou na strop. Také bych si dal mnohem více práce s úvodní kalibrací.

106f6d0a-7c0e-43b4-98f5-72e1e17b1250
Robot BRKAB 1.0 na mapě. Podívejte se na úvodní video s UWB lokalizací v akci

Lokalizace testovacího tagu přesto povětšinou fungovala velmi dobře, odchylka v těch nejhorších případech dosahovala nejvíce jen pár decimetrů a já mohl na plánu pracoviště a v reálném čase sledovat, jak se redakcí sem a tam prohání robot Brkab 1.0 se špulkami pájky a lokalizačním tagem na zádech.

Velké téma pro příští roky

Přesná vnitřní lokalizace na bází UWB je i na dále velmi živá a v aktivních vývoji a má tedy před sebou nejspíše ještě velmi bohatou budoucnost. Tu by mohlo nakonec podpořit i používání UWB v mobilních telefonech nejen pro rychlou komunikaci, která doplní (nebo časem nahradí) Bluetooth, ale právě i pro lokalizační služby všeho druhu.

Podívejte se na úvodní video, ve kterém vám ukážeme jak pražský Prakab, tak jednotlivé části a funkce samotného RTLS systému od Sewia v akci

Diskuze (8) Další článek: V Číně klesly ceny procesorů AMD Ryzen 7000 až o třetinu. U nás už o 10 %

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,