Ako zachytiť prichádzajúcich ľudí a vozidlá pomocou Raspberry Pi a LIDAR

David - Touch4IT
Dávid Ondruš
Mar 30, 2020
3 min read
raspberry pi

Použitím pohybového senzora a kamery spolu s Raspberry Pi a prístupom na internet môžete vytvoriť databázu ľudí vchádzajúcich do vašej budovy, tabuliek s evidenčným číslom áut, atď.

Detekcia pohybu

LIDAR senzor nebol najprv našou prvou voľbou, keď sme hľadali vhodný senzor na meranie vzdialenosť. Našu pozornosť sme najprv upriamili na ultrazvukové senzory, no zistili sme, že vniektorých prípadoch robili celé riešenie nepoužiteľným. Senzory ako HC-SR04 (často používané sArduino) sú malé, jednoduché alacné, no použiteľné len pre malé vzdialenosti, a pretonedokázali splniť požiadavku detekcie objektov vo vzdialenosti 6 až 10 metrov ďaleko. Senzory určené pre vonkajšie použitie aodolné voči počasiu - ako MB7092 XL-MaxSonar-WRMA1 - boli dostatočne dobré na detekciu pravidelných objektov spovrchmi ako sklo, drevo aoceľ, no nedokázali detegovať osoby vrôznych typoch oblečenia. Taktiež, vo väčších vzdialenostiach nedokázali vôbec rozpoznať ľudí, pravdepodobne kvôli príliš širokému rozsahu pulzu.

LIDAR-Lite v3 od firmy GARMIN je optický senzor slaserom, ktorý vyriešil všetky problémy spresnou detekciou objektov vo veľkých vzdialenostiach, no na druhej strane bol aj najdrahší spomedzi všetkých, ktoré sme skúsili.

garmin lidar-lite v3
Zdroj: buy.garmin.com

Ako sa zamerať iba na prichádzajúce objekty?

Keďže projekt vyžadoval zachytenie len špecifických situácií, implementovali sme algoritmus na rozlíšenie približujúcich sa objektov aobjektov, ktoré sa vzďaľujú. Python skript číta hodnoty zo senzora frekvenciou 20 Hz apre vyššiu presnosť niekoľko hodnôt za sebou priemeruje. Hodnoty sú potom medzi sebou porovnávané avyhodnocované či včase stúpajú alebo klesajú. Väčšia hodnota znamená vyššiu vzdialenosť, čo znamená, že sa objekt vzďaľuje. Nižšia hodnota znamená menšiu vzdialenosť, čo znamená, že sa objekt približuje. Po analýze niekoľkých reálnych situácií sme nastavili aj minimálny rozdiel medzi týmito hodnotami, ktorý musí byť splnený, aby sa vôbec hodnota brala do úvahy.

Zameranie objektu

Pohybový senzor slúži ako spúšťač pre kameru, ktorá ihneď spraví fotku na príkaz senzora. Skript potom asynchrónne nahrá fotku, takže nečaká za výsledkom aneminie žiadnu ďalšiu detekciu, čo je aj vprípade pomalého internetového pripojenia.

raspberry pi
Zdroj: raspberrypi.com

Konfigurovateľnosť

Každá číselná premenná, ktorá vstupuje do algoritmu, je konfigurovateľná cez používateľské rozhranie poskytované backend aplikáciou na vzdialenom serveri. Minimálna amaximálna vzdialenosť, frekvencia merania, počet priemerovaných hodnôt, rozlíšenie kamery ainé hodnoty je možné vzdialene prispôsobiť pre konkrétny priestor, kde je toto riešenie využité. Takto napríklad miesta snízkou kvalitou internetového pripojenia môžu využiť menšie rozlíšenie kamery, čím sa zníži veľkosť fotky azrýchli sa nahrávanie.

Cena hardvéru ainé možnosti

Cena hardvéru sa pohybuje okolo 200 EUR a je to rozhodne vyššie číslo, ako sme pre toto, pomerne malé riešenie, očakávali. Spôsobuje to hlavne cena LIDAR senzora, apreto sa nižšie rozpočty budú musieť poobzerať po lacnejšej variante, možno však za daň menšej presnosti. Treba dôkladne otestovať, či senzor vyhovuje danému projektu predtým, než sa kúpi veľký počet kusov. Taktiež bola použitá najdrahšia konfigurácia Raspberry Pi 4 so 4GB RAM, takže cena sa dá znížiť napríklad aj použitím slabšej verzie. Camera Module v2 bola použitá ako jediná odporúčaná aoficiálna možnosť pre Raspberry Pi.

TL;DR

Použitím Raspberry Pi, LIDAR senzora akamerového modulu sme boli schopní vyvinúť kompaktné aprenosné hardvérové riešenie na detekciu prichádzajúcich objektov ako ľudí avozidiel, ich odfotenie anahrávanie na vzdialený server. Bohatá konfigurovateľnosť zaručuje použiteľnosť na rôznych miestach - od malých kancelárií až po dlhé tunely. Aj keď to môže znieť ako triviálne riešenie, tento projekt naozaj vyriešil zákazníkovi reálny problém, ato už vo fáze MVP verzie projektu. S tímom vTouch4IT preferujeme vždy najskôr otestovať minimálnu verziu, čo je pre nášho zákazníka lacnejšie arýchlejšie, apotom vďalších iteráciách dotiahnuť riešenie pre využitie vprodukčnom prostredí.

Chceli by ste vyvinúť niečo, sčím nemáte skúsenosti? Nemáte oddelenie inovácií alebo potrebných ľudí? Budeme radi, ak sa otom snami porozprávate anájdeme to správne riešenie.