Obsah:

RADbot: 7 krokov
RADbot: 7 krokov

Video: RADbot: 7 krokov

Video: RADbot: 7 krokov
Video: Русский ниндзя | Выпуск 7 2024, Október
Anonim
RADbot
RADbot

Projekt Jacksona Breakella, Tylera McCubbinsa a Jakoba Thalera pre EF 230

Na Marse budú astronauti vystavení rôznym nebezpečenstvám, od extrémnych teplôt po prachové búrky. Jeden z faktorov, ktoré sa často prehliada, je nebezpečenstvo, ktoré predstavujú silné rádioizotopy nachádzajúce sa na povrchu planéty. RADbot poskytuje pomoc pri skúmaní astronautov na povrchu Marsu identifikáciou vzoriek hornín s vysokými aktivitami pri jeho cestovaní a má tiež naprogramované bezpečnostné funkcie, ktoré využívajú jeho útesové senzory, svetelné senzory, senzory nárazníka a kameru, ktoré predchádzajú poškodeniu robota. na neľútostnom marťanskom teréne. Okrem varovania astronautov pred možným rádioaktívnym nebezpečenstvom na povrchu by mohla byť funkcia umiestnenia rádioaktívnej vzorky robota implementovaná ako nástroj na identifikáciu oblastí, ktoré by mohli obsahovať veľké zásoby uránu a iných aktinidov. Astronauti by mohli tieto prvky ťažiť, dostatočne ich obohatiť a používať v jadrových reaktoroch a termoelektrických generátoroch, ktoré by mohli pomôcť napájať stálu, sebestačnú kolóniu na planéte.

Na rozdiel od typického roveru Mars náš dizajn ponúka bežne dostupné komponenty a rozumnú cenu. Za predpokladu, že máte finančné prostriedky a túžbu, môžete si ich dokonca vytvoriť sami podľa tohto sprievodcu. Pokračujte v čítaní, aby ste sa dozvedeli, ako si vytvoriť vlastného RADbota.

Krok 1: Získajte potrebné diely a materiály

Získajte potrebné diely a materiály
Získajte potrebné diely a materiály
Získajte potrebné diely a materiály
Získajte potrebné diely a materiály
Získajte potrebné diely a materiály
Získajte potrebné diely a materiály

Čo budete potrebovať na začiatok (obrázky sú zoradené v poradí, v akom sú uvedené)

1. Jedna Roomba (akýkoľvek novší model)

2. Jedno počítadlo Geiger-Mueller

3. Jeden Raspberry Pi

4. Jednodesková kamera s výstupom USB

5. Jeden kábel micro USB na USB

6. Jeden kábel USB na USB

7. Jedna rádioaktívna vzorka dostatočnej aktivity (~ 5μSv alebo vyššia)

8. Jeden počítač s nainštalovaným Matlabom

9. Lepidlo (prednostne lepiaca páska pre jednoduchú odnímateľnosť)

Krok 2: Konfigurácia počítadla kamery a Geigera-Mullera

Konfigurácia fotoaparátu a počítadla Geiger-Muller
Konfigurácia fotoaparátu a počítadla Geiger-Muller

Teraz, keď máte všetky potrebné materiály na vytvorenie RADbot, začneme jednoduchým umiestnením kamery, aby mohla čítať aktivitu na počítadle. Počítadlo Geiger-Muller umiestnite čo najbližšie ku koncu Roomby a uistite sa, že jeho senzor nie je zablokovaný. Počítadlo pevne zaistite lepidlom, ktoré ste si vybrali, a pripevnite fotoaparát tvárou k sebe. Umiestnite kameru čo najbližšie k displeju pultu, aby vonkajšie vstupy neovplyvňovali program, a keď sa budete cítiť pohodlne, zaistite ju na svojom mieste. Odporúčame však, aby ste si zaistenie fotoaparátu uložili ako posledné, pretože keď je váš kód hotový, môžete z počítača na svojom počítači zobraziť obrázok, ktorý vám umožní umiestniť kameru podľa zorného poľa. Akonáhle je kamera aj počítadlo pevne na svojom mieste, zapojte kameru do jedného z USB vstupov na Raspberry Pi káblom USB na USB a zapojte Raspberry Pi do Roomba káblom micro USB na USB.

Krok 3: Pripojte sa k robotu Roomba a vytvorte kód svetelného senzora

Pripojte sa k robotu Roomba a vytvorte kód svetelného senzora
Pripojte sa k robotu Roomba a vytvorte kód svetelného senzora

Najprv si stiahnite súbor nástrojov Roomba z webovej stránky EF 230 a umiestnite ho do určených priečinkov. Ak sa chcete pripojiť k svojmu robotovi Roomba, jednoducho si pozrite nálepku pripevnenú k Raspberry Pi a do príkazového okna bez úvodzoviek zadajte „r = roomba (x)“a kde x znamená číslo Roomba. Roomba by mala hrať melódiu a tlačidlo čistenia by malo okolo nej zobrazovať zelený krúžok. Začnite kód vyhlásením „zatiaľ“a odkazujte na svetelné senzory tak, ako sú uvedené v zozname senzorov. Otvorte zoznam senzorov zadaním „r.testSensors“do príkazového okna.

Na základe farby nášho objektu, ktorá určuje, koľko svetla sa odráža, nastavte požiadavky na vykonanie príkazu while ako> funkcie. V našom prípade sme nastavili snímač predného svetla na spustenie kódu v príkaze while, ak bola hodnota na ľavom alebo pravom strednom svetelnom senzore> 25. Pre spustiteľný príkaz nastavte rýchlosť robota Roomba, aby sa spomalila, zadaním „r.setDriveVelocity (x, y)“, kde x a y sú rýchlosti ľavého a pravého kolesa. Vložte príkaz „else“, aby Roomba nespomalila pri nešpecifikovaných hodnotách, a zadajte príkaz pre nastavenú rýchlosť jazdy znova, s výnimkou inej rýchlosti. Ukončite príkaz while „koncom“. Vďaka tomuto segmentu kódu sa robot Roomba priblíži k objektu a spomalí, akonáhle dosiahne určitý rozsah, aby sa minimalizoval dopad.

V prílohe je snímka obrazovky nášho kódu, ale môžete ho upraviť tak, aby čo najlepšie zodpovedal parametrom vašej misie.

Krok 4: Vytvorte kód nárazníka

Vytvorte kód nárazníka
Vytvorte kód nárazníka

Keď Roomba spomaľuje, minimalizuje vplyv, ktorý má na predmet, aj keď nie natoľko, aby nespúšťal fyzický nárazník. V tomto segmente kódu začnite znova so slučkou „while“a nastavte jeho výraz na hodnotu true. Pre príkaz nastavte premennú T rovnajúcu sa výstupu nárazníka, buď 0 alebo 1, na hodnotu false a true. Na to môžete použiť "T = r.getBumpers". T bude vystupovať ako štruktúra. Zadajte príkaz „if“a jeho výraz pre podštruktúru T.front nastavte na hodnotu 1 a pomocou príkazu „r.setDriveVelocity (x, y)“alebo „r.stop nastavte príkaz na buď nastavenie rýchlosti pohonu na 0. “. Zadajte „prestávku“, aby sa robot Roomba mohol pohnúť po splnení podmienky v nasledujúcom kóde. Pridajte „else“a nastavte jeho príkaz na nastavenie rýchlosti jazdy na normálnu cestovnú rýchlosť Roomby.

V prílohe je snímka obrazovky nášho kódu, ale môžete ho upraviť tak, aby čo najlepšie zodpovedal parametrom vašej misie.

Krok 5: Vytvorte kód na čítanie obrazovky počítadla, interpretujte ho a ustúpte od zdroja

Vytvorte kód na čítanie obrazovky počítadla, jeho interpretáciu a ústup od zdroja
Vytvorte kód na čítanie obrazovky počítadla, jeho interpretáciu a ústup od zdroja

Jadrom nášho projektu je počítadlo Geiger-Muller a nasledujúci segment kódu slúži na určenie, čo údaje na obrazovke znamenajú pomocou fotoaparátu. Vzhľadom na to, že obrazovka nášho počítadla mení farbu na základe aktivity zdroja, nastavíme fotoaparát tak, aby interpretoval farbu obrazovky. Začnite svoj kód nastavením premennej, ktorá sa rovná príkazu „r.getImage“. Premenná bude obsahovať 3d pole hodnôt farieb obrázku, ktorý bol urobený, v červenej, zelenej a modrej farbe. Nastavte premenné rovné priemerom týchto príslušných farebných matíc pomocou príkazu „priemer (priemer (img1 (:,:, x)))“, kde x je celé číslo od 1 do 3. 1, 2 a 3 predstavujú červenú, zelenú a modrá resp. Rovnako ako všetky uvedené odkazy na príkazy, neuvádzajte úvodzovky.

Nechajte program na 20 sekúnd pozastaviť pomocou „pauzy (20)“, aby počítadlo mohlo získať presné čítanie vzorky, a potom začnite s príkazom „ak“. Náš robot Roomba sme niekoľkokrát nechali zapípať pomocou „r.beep“a potom sa zobrazilo menu s textom „Rádioizotop nájdený! Pozor!“To sa dá dosiahnuť príkazom „waitfor (helpdlg ({'texthere'})“. Po kliknutí na tlačidlo Roomba bude robot Roomba pokračovať v sledovaní zvyšku kódu vo vyhlásení „if“. Nechajte robot Roomba prejsť po vzorke pomocou kombinácia príkazov „r.moveDistance“a „r.turnAngle“. Ukončite príkaz if príkazom „end“.

V prílohe je snímka obrazovky nášho kódu, ale môžete ho upraviť tak, aby čo najlepšie zodpovedal parametrom vašej misie.

Krok 6: Vytvorte kód senzora útesu

Vytvorte kód senzora útesu
Vytvorte kód senzora útesu

Ak chcete vytvoriť kód, ktorý bude využívať vstavané snímače útesu Roomba, začnite slučkou „while“a nastavte jeho výraz na pravdivý. Nastavte premennú na „r.getCliffSensors“a výsledkom bude štruktúra. Začnite príkazom „if“a nastavte premenné „X.leftFront“a „X.rightFront“v štruktúre tak, aby boli väčšie ako niektoré vopred určené hodnoty, kde „X“je premenná, na ktorú ste vybrali príkaz „r.getCliffSensors“byť rovný. V našom prípade sme použili 1000, pretože kus bieleho papiera bol použitý na reprezentáciu útesu, a keď sa senzory priblížili, papier, hodnoty narástli na oveľa viac ako 1 000, čo zaisťuje, že kód sa spustí iba vtedy, keď je detekovaný útes.. Pridajte príkaz „break“za a potom vložte príkaz „else“. Pre príkaz „else“, ktorý sa vykoná, ak nie je zistený žiaden útes, nastavte rýchlosť pohonu na normálnu cestovnú rýchlosť pre každé koleso. Ak robot Roomba zistí útes, vykoná sa „prestávka“a potom sa spustí kód mimo slučky while. Po umiestnení „konca“do slučky „if“a „while“nastavte Roomba na pohyb dozadu pomocou príkazu presunúť vzdialenosť. Aby ste astronautov varovali, že sa v blízkosti nachádza útes, nastavte rýchlosti pohonu každého kolesa x a y v príkaze rýchlosti pohonu na a a -a, kde a je skutočné číslo. To spôsobí, že sa Roomba otočí a upozorní astronauta na útes.

V prílohe je snímka obrazovky nášho kódu, ale môžete ho upraviť tak, aby čo najlepšie zodpovedal parametrom vašej misie.

Krok 7: Záver

Záver
Záver

Konečným cieľom RADbota na Marse je pomôcť astronautom pri ich prieskume a kolonizácii červenej planéty. Pri identifikácii rádioaktívnych vzoriek na povrchu dúfame, že robot alebo rover v tomto prípade môže skutočne udržať astronautov v bezpečí a pomôcť identifikovať zdroje energie pre ich základne. Po vykonaní všetkých týchto krokov a pravdepodobne pri pokusoch a omyloch by mal byť váš RADbot v prevádzke. Umiestnite rádioaktívnu vzorku niekam do testovacej oblasti, spustite kód a sledujte, ako rover robí to, na čo bol navrhnutý. Užite si svojho RADbota!

-Tím EF230 RADbot

Odporúča: