Obsah:

Prieskumný robot Mars: 4 kroky
Prieskumný robot Mars: 4 kroky

Video: Prieskumný robot Mars: 4 kroky

Video: Prieskumný robot Mars: 4 kroky
Video: What's Maker's Red Box and who is it for? 2024, Júl
Anonim
Prieskumný robot Mars
Prieskumný robot Mars

Tento návod je podrobný sprievodca k programovaniu a ovládaniu prieskumného robota Mars.

Na začiatok je potrebné získať zoznam nasledujúcich materiálov: Nabitý iRobot vytvorený na mieru spoločnosťou Tickle College of Eningeering Univerisity v Tennessee, Bezdrôtová sieť, ktorá je pripojená k Raspberry Pi v iRobot, UTK iRobot create nabíjačka, Wifi počítač s prístupom k MATLABu a internetu.

Krok 1: Roomba Toolbox

Sada nástrojov Roomba
Sada nástrojov Roomba

Otvorte MATLAB a vytvorte nový priečinok pre súbory kódu, ktoré sa majú uložiť z vášho projektu. V MATLABe otvorte nový skript a spustite nižšie uvedený kód. Po spustení skriptu pridajte nový priečinok do adresára, kde MATLAB hľadá súbory.

Kód:

funkcia roombaInstallclc; % zoznam súborov na inštaláciu súborov = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % umiestnenia na inštaláciu z options = weboptions ('CertificateFilename', ''); % povedzte, aby ignoroval požiadavky na certifikát server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Inštalácia/aktualizácia Roomba'; % účel zobrazenia a výzva na potvrdenie = {'Tento program stiahne tieto súbory EF 230 Roomba:' '' strjoin (súbory, '') '' 'do tohto priečinka:' '' cd '' 'Chcete pokračovať? '}; pípnutie; yn = questdlg (prompt, … dlgTitle, … 'Yes', 'No', 'Yes');

if ~ strcmp (yn, 'Yes'), return; koniec

% získať zoznam existujúcich súborov existing_files = files (cellfun (@exist, files)> 0); if ~ isempty (existing_files) % uistite sa, že je skutočne v poriadku ich nahradiť prompt = {'Nahrádzate tieto súbory:' '' strjoin (existing_files, '') '' 'OK to replace?' }; pípnutie; yn = questdlg (prompt, … dlgTitle, … 'Yes', 'No', 'Yes'); if ~ strcmp (yn, 'Yes'), return; koniec koniec

% stiahnuť súbory cnt = 0; pre i = 1: dĺžka (súbory) f = súbory {i}; disp (['sťahovanie' f]); skúste url = [server f]; websave (f, URL, možnosti); % pridané možnosti, ako sa vyhnúť chybám zabezpečenia cnt = cnt + 1; catch disp (['Chyba pri sťahovaní' f]); atrapa = [f '.html']; ak existujú (atrapa, 'súbor') == 2 vymazať (atrapu) koniec koniec koniec

ak cnt == dĺžka (súbory) msg = 'Inštalácia bola úspešná'; čakať (msgbox (msg, dlgTitle)); else msg = 'Chyba inštalácie - podrobnosti nájdete v príkazovom okne'; čakať na (errordlg (msg, dlgTitle)); koniec

koniec %roombaInštalácia

Krok 2: Príprava na pripojenie

Príprava na pripojenie
Príprava na pripojenie
Príprava na pripojenie
Príprava na pripojenie

Pripojte micro-USB vyčnievajúci z robota k spodnému portu Raspberry Pi. Potom na vrchu robota Roomba súčasne stlačte a podržte tlačidlá doku a bodu, kým svetlo na stroji Roomba nezhasne. Hneď po uvoľnení by ste mali z Roomby počuť elektronickú váhu.

Krok 3: Pripojenie k robotu

Pripojenie k robotu
Pripojenie k robotu

Otvorte v počítači dostupné siete a vyberte existujúcu sieť medzi počítačom a Raspberry Pi. V aktuálnom priečinku MATLAB kliknite pravým tlačidlom myši na aktuálny priečinok projektu, vyberte súbor nástrojov roomba stiahnutý v kroku 1 a pridajte ho na cestu. V sieti, ktorá je navrhnutá pre viacero pripojení Pi, zadajte svojho robota vytvorením objektu triedy Roomba. Viď príklad nižšie

Ak máte Roomba priradené k číslu 7, zadajte nasledujúce:

r = roomba (7)

%Pamätajte si, že táto premenná je teraz priradená robotovi roomba, každý príkaz daný robotovi musí byť vedený priradenou premennou.

Krok 4: Kód

Kód
Kód

drive.google.com/drive/folders/1OVR5oTHUsn…

Pomocou vyššie uvedeného odkazu uložte všetky súbory.m do daného priečinka, v ktorom bude spustený hlavný program. Odkaz by mal byť otvorený pre všetkých, ktorí ho majú. Otvorte nový skript v aktuálnom priečinku a spustite mycontrolprogram.m, ako je uvedené nižšie:

funkcia mycontrolprogram (r) global m m = mobiledev; emailInit (); beh = 1; global f global count count = 0; f = r; global direc direc = 0; r.getAngle; r.getDistance; globálna curLoc curLoc = [0, 0]; globálne body pts = nuly (1, 2, 2); manuál = true; graphObs (1); v = 0,15; zatiaľ čo počet <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (počet)); else direc = direc + r.getAngle; manualDrive (); koniec konca figSend (); koniec

Robot by teraz mal vykonávať svoju navrhnutú prácu.

Odporúča: