Operácie

Mobilný prieskumný robot: Rozdiel medzi revíziami

Zo stránky SensorWiki

StudentDTV (diskusia | príspevky)
StudentDTV (diskusia | príspevky)
Riadok 207: Riadok 207:


9. Prepojíme jednotlivé moduly presne podla schémy zapojenia.
9. Prepojíme jednotlivé moduly presne podla schémy zapojenia.
[[Súbor:Dtv2019_postup_schema.jpeg|center|x300px]]


10. Spojíme spodnú časť podvozku s vrchnou.
10. Spojíme spodnú časť podvozku s vrchnou.

Verzia z 00:19, 10. jún 2019

Autor: Meno Priezvisko
Študijný odbor: Aplikovaná informatika 3. Bc. (2019)

Opis projektu

Cieľom projektu je zostaviť diaľkovo ovládané mobilné zariadenie, ktoré by sa mohlo použiť na prieskumné účely. Toto zariadenie by sa mohlo používať na kontrolu statiky budov, prieskum potrubí a na iných miestach, kde sa človek nedostane alebo je to pre neho nebezpečné.

Použité zdroje:

Použitý softvér:

Použité komponenty:

Základom zariadenia je RPI 3 model B+.

Tieto servomotory sú súčasťou podstavca pre kameru. Umožňujú jej pohyb v dvoch stupňoch voľnosti.

Tento modul dokáže generovať 16 PWM signálov a taktiež poskytuje piny na napájanie ďalších zariadení z iného zdroja ako je napájaná logika modulu.

Tento modul poskytuje možnosť riadenia dvoch jednosmerných motorov. Dokáže riadiť rýchlosť aj smer pomocou 4 binárnych vstupov a dvoch enable vstupoch, na ktoré môžeme pripojiť PWM signál a tým riadiť rýchlosť motorov. Tento modul je nutný k ovládaniu motorčekov, pretože potrebný prúd na spustenie motorčekov je väčší, ako RPI dokáže bez poškodenia dodať. Dokáže dodať nárazovo až 2A pre každý motor.

Tento modul meria aktuálne zrýchlenie a ukladá ho do svojho registra.

Tento modul zabezpečuje prevod analógového signálu na digitálni, ktorého výsledok si uloží do svojho registra.

Zariadenia bude mať štyri jednosmerné motorčeky, ktoré sú riadené pomocou modulu L298N. Motory na jednej strane zariadenia budú pripojené na jeden kanál tohto modulu.

Táto kamera je pripojená k RPI štandardným CSI konektorom. Je prichytená na podstavci so servomotormi, ktoré umožňujú jej natáčanie.

Tento modul obsahuje dva rezistory s odpormi 30kΩ a 7.5 kΩ. Na vstup sa priviedlo napätie na batérií a na výstupe je napätie 5x menšie, ktoré je merateľné A/D prevodníkom ADS1115.

Tento modul dokáže detegovať prekážku vo vzdialenosti 2 až 40cm. Poskytuje binárny výstup, ktorý značí prítomnosť alebo neprítomnosť prekážky. Tento modul je potrebné kalibrovať pomocou dvoch potenciometrov.

Tento modul ma binárny výstup, ktorý sa nastavuje podľa toho, či je IR lúč prerušený. O prerušenie lúča sa stará disk s dierami, ktorý je pripevnený o motor, a má presný počet dierok.

Tento modul mení 11.1V napätie z batérie na 5V a 3A prúd potrebný na správne fungovanie RPI a ďalších modulov. Nárazovo dokáže dodať prúd až 4A.

Na napájanie robota sme zvolili 3-článkovú, 11.1V li-po batériu.

Tento modul odpojí batériu, ak napätie na batérií klesne pod určitú hranicu. Táto hranica sa nastavuje pomocou potenciometra, aktuálne je nastavená na 11V. Je potrebný pretože naša batéria sa nenávratne poškodzuje ak z nej odoberáme energiu keď ma nízke napätie.

  • 6x metrická skrutka M4x40mm s maticami M4 – slúži na spojenie oboch častí podvozku
  • 6x M2.5x8mm – spojenie dvoch častí držiaka RPI
  • 6x M2.5x12mm – spojenie držiaka RPI s podvozkom
  • 8x M2.5x10mm – prichytenie RPI o držiak a PWM modulu o podvozok
  • 24x M2.5 matica – pre všetky skrutky raz okrem skrutiek na RPI, kde sa použili na odsadenie od držiaka
  • 4x M2x10mm – prichytenie držiaka kamery o podvozok
  • 2x M2x12mm – prichytenie servomotora o držiak kamery
  • 2x M2x8 mm – pripevnenie kamery o upravený držiak na kameru
  • 10x M2 matica – pre všetky skrutky jedna okrem kamery, kde sa používajú na odsadenie od držiaka
  • 22x M3x18mm – prichytenie spínača a všetkých modulov na vrchnom a spodnom podvozku okrem PWM modulu
  • 2x M3x25mm – prichytenie svorkovníc I2C zbernice a napájania
  • 8x M3x35mm – prichytenie jednosmerných motorov
  • 2x M3x6mm – prichytenie IR senzorov rýchlosti o uholník
  • 2x M3x10mm – prichytenie uholníkov o podvozok
  • 40x M3 matica - pre všetky skrutky jedna okrem napäťového meniča, kde sa používajú na odsadenie od podvozku

Analýza

V tejto časti popíšete ako idete daný problém riešiť. Uvediete sem aj všetky potrebné technické údaje, ktoré sú potrebné na úspešné vyriešenie projektu. Napríklad:

  • popis komunikačnej zbernice (i2c, 1-wire, RS-232 a pod.)
  • obrázok zapojenia vývodov použitej súčiastky
  • odkaz na katalógový list
  • priebehy dôležitých signálov
  • este jedna polozka


Popis riešenia

Návrh podvozku

Podvozok sme navrhli tak, aby ho bolo možné vyrezať laserom. Skladá sa z dvoch častí a obsahuje dierky na presných miestach tak, aby sa moduly dali jednoducho zapojiť. Je vyrezaní zo 6mm plexiskla. Súčasťou podvozku T spojky (4 vyrezané z 6 mm plexiskla, ktoré sa vsúvajú do dietok z vnútornej strany, a 4 vyrezané z 3 mm plexiskla, ktoré sa vsúvajú z vonkajšej časti).

Médiá:Dtv2019_sbr_podvozok_rezanie.pdf

Médiá:Dtv2019_sbr_podvozok_rezanie_T.pdf

Návrh držiaka na RPI a batériu, disk s otvormi na meranie rýchlosti

Tieto časti boli navrhnuté na tlač na 3D tlačiarni.

Médiá:Dtv2019_sbr_3d_tlac.rar


Postup montáže

1. Pripevníme moduly na spodný podvozok. Všetky moduly sú oddelené od podvozku dištančným stĺpikom. (okrem PWM modulu) Použité skrutky aj miesto ich použitia boli vymenované na začiatku. Dve svorkovnice pripevníme o podvozok pomocou dvoch dierok v strede (svorkovnice nie sú vyznačené na obrázku!).

2. Pripevníme moduly na vrchný podvozok.

3. Pripevníme RPI na držiak. Spojíme držiak na RPI s držiakom na batériu pomocou skrutiek.

4. Pripevníme držiak na baterku a RPI na vrchný podvozok. Pripevníme spínač na držiak RPI.

5. Pripevníme disky s otvormi na zadné dva motorčeky.

6. Pripevníme T časti a motorčeky na vrchný podvozok.

7. Pripravíme si stojan na kameru. (Je potrebné vytvoriť dierky na stojane na pripevnenie kamery a skrátenie nástavca na sevomotor)

8. Pripevníme stojan s kamerou na vrchný podvozok.

9. Prepojíme jednotlivé moduly presne podla schémy zapojenia.

10. Spojíme spodnú časť podvozku s vrchnou.

11. Vložíme baterku a máme hotovo.

Algoritmus a program

Program je písaný v jazykoch C++ a C#. Program bežiaci na RPI sa skladá z viacerých projektov. Tieto projekty sú vo forme statických a dynamických knižníc. Súčasťou projektu je aj zdrojový kód na vytvorenie kompilovateľného projektu pomocou programu cmake. Medzi základne projekty patria AI, Modules a Networking. Networking zdieľa program na RPI ako aj užívateľské rozhranie a zabezpečuje komunikáciu pomocou protokolu UDP/IP. Zabezpečuje odosielanie, potvrdzovanie prijatia ako aj znovu vysielanie dát. Nie všetky dáta sa potvrdzujú, len tie potrebné na ovládanie robota. Modules implementuje abstraktné triedy, pomocou ktorých vytvára programové rozhranie k všetkým použitým modulom. Projekt AI je vrstvou medzi operátorom a modulmi. Rieši odosielanie dát zo senzorov. Aktuálne má na starosti len preklad medzi údajmi od operátora na údaje pre moduly, ale v budúcnosti by sa mohla rozšíriť o nejaké funkcie zabezpečujúce autonómnosť robota. Všetky zdrojové súbory sú súčasťou repozitára, kde sa všetky zmeny sa zaznamenávajú. Tento repozitár je vytvorený pomocou programu GIT. Operačný systém na RPI je Raspbian a o spustenie programu sa stará skript, ktorý sa spúšťa po nabehnutí operačného systému. Tento skript okrem spustenia programu aj spustí prednastavený hotspot ak sa nedokáže pripojiť na sieť.

Médiá:dtv2019_spustaciscript.sh

Zdrojové súbory a CAD súbory

Git repozitár: https://1drv.ms/u/s!AnuRDVVxxeNDgYQcBXLpILl0jdHf4Q

CAD súbory: https://1drv.ms/u/s!AnuRDVVxxeNDgYQdu-rnS8PVis_BsQ

Výsledok

Vytvorené zariadenie sa dokáže pohybovať pomocou kolies a otáčať kamerou. Obraz z kamery ako aj údaje z ostatných senzorov sa pomocou WiFi pripojenia posielajú operátorovi. Zariadenie dokáže plniť svoju úlohu i keď bolo by vhodné pridať nejaký kryt, ktorý by chránil elektroniku. Hrúbka použitého plexiskla sa zdá byť až príliš velká, pravdepodobne by stačilo aj 4-5 mm plexisklo.