Obsah:
- Krok 1: Materiály a nástroje
- Krok 2: Konštrukcia auta
- Krok 3: Spájkovacie obvody
- Krok 4: Nainštalujte závislosti na vstavaný systém
- Krok 5: Nastavte statickú adresu IP
- Krok 6: Nahrajte kód do Arduina
- Krok 7: Pripojte obvody a počítač k automobilu
- Krok 8: Nastavte prostredie VR
- Krok 9: Spustite to všetko spoločne
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Už ste niekedy chceli byť zmenšení a pilotovať remeslo ako Innerspace alebo Fantastic Voyage? Myslím, že je to tak blízko, ako sa dostanete v krátkom čase!
Tu je ihrisko:
Auto na diaľkové ovládanie Real-Life pilotované z príkazovej konzoly virtuálnej reality. To znamená, že si pripnete náhlavnú súpravu VR, prepnete vypínač na RC aute a potom môžete pilotovať z VR so živým prenosom videa priamo do tváre.
Existujú veci, ktoré som implementoval a ktoré môžete ovládať na aute VR.
- Kolesá
- Klaksón
- Svetlá
Všetky majú nejaký druh tlačidla alebo páky vo VR, ktoré môžete otočiť alebo prepnúť na riadenie auta.
Ak chcete získať úplné repo a ďalšie informácie, navštívte môj Github a môj web!
Krok 1: Materiály a nástroje
Mechanický:
Súprava podvozku s pohonom všetkých štyroch kolies
Elektrické:
- Kodér kolies
- Batéria 3S 1300 mAh
- Arduino Uno
- Motorový štít Arduino
- Piezoelektrický bzučiak
- Malá LED dióda
- Konektory XT60
- Boost / Buck Converter
Počítač:
- Akýkoľvek vstavaný počítačový systém: Raspberry Pi, Jetson Nano atď.
- USB kamera (vhodnejšia - 180 stupňová kamera)
Nástroje / Extra:
- Spájkovačka
- Nejaké nastavenie VR - mám Oculus Rift
- Multimeter
Krok 2: Konštrukcia auta
Podvozok pre auto je veľmi ľahko zostaviteľný. Motory stačí pripevniť k základnej doske pomocou úchytiek, ktoré vám dajú. Potom, čo pripevníte kolesá a motory, budete potrebovať aj niečo na pripevnenie kamery k prednej časti auta.
Na pripevnenie som použil kartónovú škatuľu, do ktorej prišla kamera. Vystrihol som veľký tvar L a vyrezal otvor pre fotoaparát, aby poriadne šťuchol. Potom môžete fotoaparát jednoducho zasunúť do otvoru a vzadu vložiť pásku, aby zostala na svojom mieste. Ak chcete, môžete teraz tiež vložiť otvory pre svetlomety alebo to urobte neskôr pri meraní dĺžky drôtu.
Budete tiež musieť pripevniť kodér kolies na jedno z kolies. Je jedno ktoré, dal som to na zadné ľavé koleso. Magnetický disk musíte vložiť na skutočný hriadeľ kolesa a kodér by mal byť pripevnený k automobilu vedľa neho. Je dosť vnímavý, takže nemusí byť hneď na začiatku, ale čo najbližšie. Kodér som zaistil páskou a zapínaním na zips. Kodér je to, čo použijeme na meranie rýchlosti nášho auta.
Krok 3: Spájkovacie obvody
Táto časť je dosť únavná, ale nie komplikovaná. Ak budete postupovať podľa obrázku a pred odrezaním drôtu všetko odmeriate, nie je to také zlé.
Kým to robíte, mali by ste tiež kalibrovať váš prevodník dolárov na výstup správneho napätia. Raspberry Pi a Jetson Nano majú 5 V, ale naša batéria je 11,1 V. Musíme sa teda uistiť, že svoju elektroniku nesmažíme. Za týmto účelom zapojte batériu do vstupnej strany prevodníka dolárov. Kým je batéria zapojená, pomocou multimetra zmerajte výstupnú stranu prevodníka dolára. Malým skrutkovačom s plochou hlavou otáčajte potenciometrom na prevodníku buck, kým nebude výstupné napätie 5v. Akonáhle je výstup správny, už nebudete musieť otáčať potenciometrom.
Krok 4: Nainštalujte závislosti na vstavaný systém
Nie je tu príliš veľa práce, ale stále je to veľmi dôležité.
Najprv sa pripojte k smerovaču, ktorý budete používať, aby sa odteraz mohol automaticky pripájať.
Potom otvorte terminál a zadajte nasledujúce:
sudo apt aktualizácia
sudo apt install openssh-server
sudo apt install python-pip pip install numpy pip install opencv-python pip install pyzmq
Akonáhle sú tieto veci nainštalované, musíme sa uistiť, že bez ohľadu na port, do ktorého je arduino zapojené, je vždy rozpoznaný. Preto píšeme pravidlá, ktoré sa nazývajú pravidlá UDEV. Toto sú pravidlá pre váš operačný systém, ktoré určujú, čo sa stane, keď veci zapojíte. Chceme arduino identifikovať, keď je zapojené, a pomenovať ho, aby k nemu malo prístup. Ten názov bude „arduino_0“. Na tento účel použijeme interné sériové číslo arduina, ktoré ho identifikuje.
info o udevadm -a -n /dev /ttyUSB1 | grep '{serial}' | hlava -n1
Toto vyplivne hodnotu sériového čísla, pokračujte a skopírujte túto hodnotu.
Potom musíme upraviť (alebo vytvoriť, ak neexistuje) súbor s názvom „99-usb-serial.rules“. Tento súbor sa nachádza v nasledujúcej ceste k súboru "/etc/udev/rules.d/99-usb-serial.rules". Ako som už spomenul, ak tento súbor neexistuje, vytvorte ho a prilepte do nasledujúceho riadka hodnotou VALUE_FROM_ABOVE, ktorá bola predtým nahradená vašou hodnotou.
SUBSYSTEM == "tty", ATTRS {serial} == "VALUE_FROM_ABOVE", SYMLINK+= "arduino_0"
To hovorí operačnému systému, že kedykoľvek uvidí toto konkrétne sériové číslo, aby ho nazval arduino_0.
Posledná vec, ktorú musíte urobiť, je stiahnuť súbor pushArucoVideoPullCommands.py a umiestniť ho na ľahko dostupné miesto. Odporúčal by som pre vášho používateľa domovský adresár, pretože tam skončíme, keď sa neskôr prihlásime do integrovaného systému.
Krok 5: Nastavte statickú adresu IP
Teraz je tá časť, ktorú každý miluje, IP adresa. Aby tento projekt fungoval, musí kód vedieť, kam majú posielať obrázky a riadiace príkazy, a to znamená, že naše zariadenia potrebujú statickú IP.
Existuje mnoho spôsobov, ako priradiť vášmu zariadeniu statickú IP, ale pretože máme router, ktorý spája našu pozemnú stanicu a vstavaný systém, môžeme ho použiť na to, aby sme nám mohli veľmi ľahko poskytnúť konkrétne adresy IP.
Prejdite do sekcie správcu smerovača (zvyčajne (pre väčšinu smerovačov) sa to robí tak, že otvoríte webový prehliadač a prejdete na „192.168.1.1“. Požiada vás o prihlásenie a typické štandardné používateľské meno a heslo pre väčšinu smerovačov je „admin“.
Prejdite tam, kde je zmienka o serveri DHCP. „Toto je proces, ktorý beží na vašom smerovači a sleduje, aké zariadenia sú k nemu pripojené pomocou adresy MAC, ktorá je vždy konštantná. Chceme vybrať zariadenia, na ktorých nám záleží. o počítači pozemnej stanice a vstavanom systéme a pridajte ich do vyhradenej klientskej sekcie. To im poskytne statickú IP adresu vždy, keď budú pripojené k tomuto smerovaču.
Uistite sa, že ste nastavili IP integrovaného systému na 192.168.1.122. IP pozemnej stanice je možné nastaviť na čokoľvek.
Krok 6: Nahrajte kód do Arduina
Na nahranie kódu arduino musíme najskôr nainštalovať knižnicu, ktorá bude pracovať so štítom motora.
Vo svojom IDE Arduino prejdite na Skica-> Zahrnúť knižnicu-> Spravovať knižnice … Potom vyhľadajte knižnicu Adafruit Motor Shield Library. Nainštalujte si túto knižnicu a potom nahrajte kód do svojho arduina, nič iné by ste nemali vyžadovať.
Krok 7: Pripojte obvody a počítač k automobilu
Teraz, keď je okruh postavený, je čas dať to všetko na auto. Nebudem klamať, veľa z týchto vecí je držaných na páske, pretože to bolo pre mňa najľahšie rýchlo sa dať dohromady. Ako už bolo povedané, má vybavené montážne otvory, ako je vidieť na obrázku vyššie.
Väčšinu vecí je celkom ľahké nechať sedieť niekde na vrchu auta, takže sa nebojte, ak nie je veľa miesta.
Krok 8: Nastavte prostredie VR
Táto časť bude vyzerať trochu inak v závislosti od toho, aký typ nastavenia VR máte za sebou. V každom prípade som na vývoj tohto softvéru použil SteamVR, takže ho možno budete musieť mať nainštalovaný.
Pokiaľ používate SteamVR, ovládacie prvky by sa mali prispôsobiť rôznym ovládačom. Ovládacie prvky som mapoval na „Akcie“, nie nevyhnutne na tlačidlá, takže sa teoreticky prispôsobí každému.
Stačí si stiahnuť a rozbaliť súbor pomocou programu build Unity world a byť pripravený spustiť VR_Bot.exe.
Krok 9: Spustite to všetko spoločne
Takže teraz, keď máme nastavenie auta a pozemnú stanicu napojenú a pripravenú vyraziť, ako vlastne spustíme tohto zlého chlapca? Z pohľadu pozemnej stanice stačí, ak spustíte súbor VR_Bot.exe, ktorý sme videli skôr.
Súčasne budete musieť do vstavaného systému zapojiť batériu a nechať ju automaticky naštartovať a pripojiť sa k smerovaču. Akonáhle je spustený, SSH do neho. Na prístup k tomu budete potrebovať nejaký terminál na pozemnej stanici, odporúčam GitBash.
SSH znamená Secure Shell a je to protokol pre bezpečný prístup k vzdialeným systémom. V našom prípade nám to umožní prístup k vstavanému systému z pozemnej stanice. Kliknutím sem získate ďalšie informácie.
Musíte poznať používateľské meno, pomocou ktorého nastavujete svoj vstavaný systém. Pre Raspberry Pi je predvolené užívateľské meno „pi“a heslo „Raspberry“.
Po inštalácii otvorte terminál a zadajte nasledujúce:
ssh {používateľské meno integrovaného systému}@192.168.1.122
Tým sa otvorí terminál vo vstavanom systéme.
Akonáhle ste tam, stačí spustiť skript pythonu, ktorý sme skopírovali predtým.
python /path/to/pushArucoVideoPullCommands.py
Keď to urobíte, vstavaný systém začne pumpovať obrázky a prijímať príkazy do a z pozemnej stanice.
Potom môžete začať jazdiť a zabávať sa!