Obsah:
- Krok 1: Potrebné diely
- Krok 2: Konfigurácia súborov a fotoaparátu
- Krok 3: Počiatočné testovanie robota Roomba
- Krok 4: Príklad kódu MATLAB
Video: Roomba pomáhajúca astronautom: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Tento projekt je vyrobený s využitím Raspberry Pi 3 na palube iRobot Create verzie 2. MATLAB sa používa na programovanie robota, aby podľa senzorov a kamery robil konkrétne pokyny. Senzory a kamery slúžia na vykonávanie konkrétnych úloh, ktoré by nasledovali po astronautovi a poskytli mu schopnosť komunikovať so svojou domovskou základňou, ak sa niečo pokazí.
Krok 1: Potrebné diely
1. iRobot Create Verzia 2
IRobot Create je najdôležitejšou súčasťou tohto projektu, pretože je programovateľný a môže byť skvelou reprezentáciou skutočného rovera, ktorý sleduje astronautov a pomáha im v budúcnosti
2. Raspberry Pi 3
Programovateľným programom použitým pre tento projekt bol Raspberry Pi. Kód je určený pre Pi a pripojená verzia Pi je 3 (model B). Použiteľné sú aj iné programovateľné dosky, ako napríklad arduino, arduino a väčšina ostatných dosiek však budú vyžadovať iné kódovanie, ako je popísané v inom kroku
3. Modul kamery Raspberry Pi
Jediným externým pripojením k Raspberry Pi potrebným pre tento projekt je kamerový modul. Kamerový modul je neoddeliteľnou súčasťou tohto projektu, pretože robot Roomba bude vykonávať úlohy iba na základe toho, čo vidí vo fotoaparáte
4. MATLAB 2018a
Na kódovanie zahrnuté v tomto nastavení bola použitá druhá najnovšia verzia programu MATLAB, 2018a. Je pravdepodobné, že s tým bude fungovať mnoho ďalších verzií MATLABu, pretože programovanie roomba existuje už nejaký čas
Krok 2: Konfigurácia súborov a fotoaparátu
1. Pripojenie Raspberry Pi a fotoaparátu k robotu Roomba
- Pi sa môže k iRobot pripojiť priamo pomocou micro USB. To je všetko, čo potrebuje, aby bolo pripravené na použitie. Odporúča sa však, aby bol na izbovej izbe bezpečne umiestnený tak, ako je to zatiaľ znázornené na obrázkoch.
- Kamera má priame pripojenie k Raspberry Pi a dôrazne sa odporúča, aby sa niečo kúpilo alebo vyrobilo, aby sa kamera držala priamo hore. Kamera nemá zmysel, ak ju nemožno držať na mieste, aby ukázala, čo roomba vidí.
2. Súbory
- Keď všetko nastavíte a pripojíte, uistite sa, že je robot resetovaný a pripravený na spustenie, podržaním tlačidiel „Spot“a „Dock“na 10 sekúnd spoločne.
- Tu je MATLAB najskôr potrebný. Súbory pre roomba je potrebné nainštalovať ako prvé a na spustenie týchto súborov stačí iba kód uvedený na tomto odkaze:
- https://ef.engr.utk.edu/ef230-2017-08//projects/ro…
Krok 3: Počiatočné testovanie robota Roomba
Na Roombe je potrebné vykonať mnoho počiatočných kontrol, aby sa ubezpečil, že funguje.
1. Uistite sa, že ste pripojení k rovnakej sieti WiFi ako roomba. Bez toho sa nikdy nepripojíte cez MATLAB.
2. Zistite, akému číslu je priradená vaša robota Roomba, aby ste sa mohli konkrétne pripojiť k robote, ktorú ste si vybrali. Ak je napríklad číslo vašej roboty roomba 30, pripojili by ste sa k nej zadaním príkazu roomba (30) do príkazového okna v programe MATLAB.
3. Roomba sa dá ovládať pomocou štruktúr v MATLABe. Ak napríklad nastavíte kód pre roomba (30) na premennú „r“, robot sa bude dať posúvať dopredu príkazom r.moveDistance (0,2, 0,1).
4. Roomba môže oznámiť veľa rôznych príkazov, ktoré je možné vidieť zadaním príkazu „doc roomba“do príkazového okna.
5. Senzory na čítanie svetiel, nárazov a útesov je možné čítať pomocou príkazov uvedených v dokumente „doc roomba“, ale spôsob, ako mať konštantnú a úhľadnú ponuku na zobrazenie údajov senzorov, je možné zobraziť pomocou programu „r.testSensors“. '.
6. Po otestovaní tohto všetkého je možné softvér na zhromažďovanie obrázkov robota použiť na čítanie a prezeranie nasnímaných fotografií. Základný kód pre to by bol img = r.getImage a imshow (img);.
7. Hodnoty RGB obrázka nájdete pomocou kódov red_mean = priemer (priemer (obrázok (:,:, 1)));
green_mean = priemer (priemer (obrázok (:,:; 2))); a blue_mean = priemer (priemer (obrázok (:,:, 3)));.
Krok 4: Príklad kódu MATLAB
V tomto bode ste teraz pripravení použiť senzory a softvér na snímanie fotografií na vytvorenie vlastného točenia na prototype Mars Rover, ktorý pomáha ľuďom. Náš príklad je nasledovať astronauta sledovaním bielej farby a pohybom k nej. Ak senzory čítajú vysoké hodnoty, robot zapípa, takže astronaut môže resetovať robota, ak je zaseknutý, alebo ho ísť vyzdvihnúť a resetovať, ak je zaseknutý na útese. Tieto chyby však číta iba vtedy, pokiaľ vidí biele. Bez toho, aby robot videl bielu farbu, prejde do chybového režimu. Je naprogramovaný tak, aby odosielal dva rôzne druhy e -mailov späť na domácu základňu podľa toho, čo vidí. Ak vidí farbu pokožky astronauta, zjavne to nie je dobré, a tak upozorní domácu základňu, ak má astronaut kožu zobrazenú s poruchou obleku. Druhá správa je pripravená, ak astronaut jednoducho zmizne z dohľadu. Ak sa pre kamery nezobrazuje biela alebo farba pokožky, robot sa otočí a odošle ďalší, ale iný e -mail. Obrázky, na ktorých roomba astronauta nevidí, budú odoslané spolu so správou v e -mailoch. Kód pre náš projekt je uvedený nižšie:
pre i = 1:.1: 3 img = r.getImage; obrázok (img) red_mean = priemer (priemer (obrázok (:,:, 1))); green_mean = priemer (priemer (obrázok (:,:; 2))); blue_mean = priemer (priemer (obrázok (:,:; 3))); ak red_mean> 110 && red_mean 110 && blue_mean 110 && green_mean0 || bump.left> 0 || bump.front> 0 r.beep () r.beep () r.beep () r.stop elseif cliff.left <10 || cliff.leftFront <10 || cliff.rightFront <10 || cliff.right700 || light.leftFront> 700 || light.leftCenter> 700 || light.rightCenter> 700 || light.rightFront> 700 || svetlo.vpravo> 700 r.píp () r.píp () r.píp () r.píp () r.píp () r.zastaviť inak pre i = 1: 2 r.pohybová vzdialenosť (0,2, 0,1) r. setDriveVelocity (.3,.2) r.stop end end end if green_mean <35 && blue_mean <35 %color color showing (need to adjust based on astronaut's skin skin) r.beep (); r.beep (); r.beep (); mail = '[email protected]'; %odosiela e -maily s hlásením, že oblek je vypnutý psswd = 'áno'; host = 'smtp.gmail.com'; port = '465'; emailto = '[email protected]'; m_subject = 'predmet'; m_text = 'test'; setpref ('Internet', 'E_mail', pošta); setpref ('Internet', 'SMTP_Server', hostiteľ); setpref ('Internet', 'SMTP_Username', mail); setpref ('Internet', 'SMTP_Password', psswd); props = java.lang. System.getProperties; props.setProperty ('mail.smtp.user', pošta); props.setProperty ('mail.smtp.host', hostiteľ); props.setProperty ('mail.smtp.port', port); props.setProperty ('mail.smtp.starttls.enable', 'true'); props.setProperty ('mail.smtp.debug', 'true'); props.setProperty ('mail.smtp.auth', 'true'); props.setProperty ('mail.smtp.socketFactory.port', port); props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.fallback', 'false'); sendmail (email na: „Pomoc!“, „Uniforma astronautov je vypnutá!“, obr.); koniec, ak red_mean 135 || green_mean 135 || blue_mean 135 pre j = 1: 2 %, ak robot nemôže nájsť bielu r.turnAngle (360) mail = '[email protected]'; psswd = 'áno'; host = 'smtp.gmail.com'; port = '465'; emailto = '[email protected]'; m_subject = 'predmet'; m_text = 'test'; setpref ('Internet', 'E_mail', pošta); setpref ('Internet', 'SMTP_Server', hostiteľ); setpref ('Internet', 'SMTP_Username', mail); setpref ('Internet', 'SMTP_Password', psswd); props = java.lang. System.getProperties; props.setProperty ('mail.smtp.user', mail); props.setProperty ('mail.smtp.host', hostiteľ); props.setProperty ('mail.smtp.port', port); props.setProperty ('mail.smtp.starttls.enable', 'true'); props.setProperty ('mail.smtp.debug', 'true'); props.setProperty ('mail.smtp.auth', 'true'); props.setProperty ('mail.smtp.socketFactory.port', port); props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.fallback', 'false'); sendmail (email na: „Pomoc!“, „Astronauta nemožno nájsť!“, obr.); r.stop koniec koniec koniec
Očividne je to tu chaotické, ale po skopírovaní by sa to malo vymazať. Heslá a e -maily k tomu musia poskytnúť tí, ktorí robia tento projekt.
Náš príklad je však len jedným z mnohých spôsobov, ako sa s týmto robotom pohrávať, aby vyhovoval každému. Je potrebné urobiť veľa rôznych vecí, ktoré si môžete prispôsobiť sami.
Odporúča:
Projekt Mars Roomba UTK: 4 kroky
Mars Roomba Project UTK: UPOZORNENIE: TOTO BUDE FUNGOVAŤ IBA AK JE ROOMBA NASTAVENÁ V RIADNOM ŠPECIÁLNOM SPÔSOBE, TENTO INŠTRUKTÍV VYTVORILA A URČILA POUŽÍVAŤ UNIVERZITA V TENNESSEE ŠTUDENTOCH A FACULTY Tento kód sa používa na miestne nainštalovanie miestnosti. napísané a
Roomba Explorer: 4 kroky
Roomba Explorer: Použitím robotov Create2 Robot od MATLAB a iRobot tento projekt preskúma rôzne oblasti neznámeho miesta. Senzory na robote sme použili na pomoc pri manévrovaní s nebezpečným terénom. Získaním fotografií a videa z Raspberry Pi, ktoré
Localino sleduje Roomba IRobot, mapuje prostredie a umožňuje ovládanie .: 4 kroky
Localino sleduje Roomba IRobot, mapuje prostredie a umožňuje ovládanie: Tento návod vysvetľuje postup, ako sledovať a ovládať váš Roomba iRobot v interiéri pomocou lokálneho lokalizačného systému Localino, mostíka WiFi-UART a počítačovej aplikácie. Detail vysvetlenia tohto pokynu, vysvetľujúci HIL-control
ROOMBA poháňaná ARDUINO YUN prostredníctvom aplikácie Wifi od STEFANO DALL'OLIO: 4 kroky (s obrázkami)
ROOMBA poháňaná aplikáciou ARDUINO YUN prostredníctvom aplikácie Wifi od STEFANO DALL'OLIO: S touto príručkou zdieľam kód na pripojenie ARDUINO YUN k robotu Roomba, aby bolo možné ovládať robot Roomba prostredníctvom siete Wi -Fi. Kód a aplikáciu si úplne vytvoril a vyvinul sám Stefano Dall ' Olio. Moja Roomba je Roomba 620, ale rovnaký kód môžete použiť aj pre ostatné Roomb
Roomba s MATLABOM: 4 kroky (s obrázkami)
Roomba s MATLABom: Tento projekt využíva MATLAB a programovateľného robota iRobot Create2. Tým, že testujeme naše znalosti o MATLABe, sme schopní naprogramovať Create2 na interpretáciu obrázkov a detekciu signálov. Funkčnosť robota závisí predovšetkým od