Sadržaj:

Mars izviđački robot: 4 koraka
Mars izviđački robot: 4 koraka

Video: Mars izviđački robot: 4 koraka

Video: Mars izviđački robot: 4 koraka
Video: Телохранитель из Пекина - Боевик / триллер / криминал / Гонконг / 1994 2024, Juli
Anonim
Mars izviđački robot
Mars izviđački robot

Ovaj Instructable je korak-po-korak vodič za programiranje i upravljanje Marsovim izviđačkim robotom.

Za početak je potrebno pribaviti popis sljedećih materijala: Napunjeni iRobot kreiran po mjeri Tickle College of Eningeering Univerisity u Tennesseeju, Bežična mreža koja je spojena na Raspberry Pi u iRobotu, UTK iRobot stvara punjač, podržava Wifi računar sa pristupom MATLAB -u i internetu.

Korak 1: Roomba Toolbox

Roomba Toolbox
Roomba Toolbox

Otvorite MATLAB i stvorite novu mapu za datoteke kodova koje ćete pohraniti iz vašeg projekta. U MATLAB -u otvorite novu skriptu i pokrenite donji kod. Kada se skripta pokrene, dodajte novu mapu u direktorij u kojem MATLAB traži datoteke.

Šifra:

function roombaInstallclc; % lista datoteka za instaliranje datoteka = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % lokacija za instaliranje iz options = weboptions ('Naziv datoteke certifikata', ''); % reci mu da zanemari zahtjeve sertifikata server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Instaliranje/ažuriranje Roombe'; % display purpose i get prompt prompt = {'Ovaj program će preuzeti ove datoteke EF 230 Roomba:' '' strjoin (files, '') '' '' u ovu fasciklu: '' 'cd' '' Želite li nastaviti? '}; bip; yn = questdlg (prompt,… dlgTitle,… 'Yes', 'No', 'Yes');

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

% get lista datoteka koje postoje postojeće_datoteke = datoteke (cellfun (@exist, files)> 0); if ~ isempty (existing_files) % provjerite je li zaista u redu zamijeniti ih prompt = {'Zamjenjujete ove datoteke (datoteke):' '' strjoin (postojeće_datoteke, '') '' 'U redu za zamjenu?' }; bip; yn = questdlg (prompt,… dlgTitle,… 'Yes', 'No', 'Yes'); if ~ strcmp (yn, 'Yes'), return; end end

% preuzimanja datoteka cnt = 0; za i = 1: dužina (datoteke) f = datoteke {i}; disp (['Preuzimanje' f]); probajte url = [server f]; websave (f, url, opcije); % dodanih opcija za izbjegavanje sigurnosnih grešaka cnt = cnt + 1; catch disp (['Greška pri preuzimanju' f]); lutka = [f '.html']; ako postoji (dummy, 'file') == 2 delete (dummy) end end end

if cnt == length (files) msg = 'Instalacija je uspjela'; waitfor (msgbox (msg, dlgTitle)); else msg = 'Greška pri instalaciji - pogledajte naredbeni prozor za detalje'; waitfor (errordlg (msg, dlgTitle)); kraj

end %roombaInstall

Korak 2: Priprema za povezivanje

Priprema za povezivanje
Priprema za povezivanje
Priprema za povezivanje
Priprema za povezivanje

Spojite mikro-USB koji strši iz robota na donji priključak Raspberry Pi. Zatim na vrhu Roombe istovremeno pritisnite i držite tipke za priključnu stanicu i spot dok se svjetlo na Roombi ne priguši. Od izdanja Roombe trebali biste čuti elektroničku vagu.

Korak 3: Povezivanje s robotom

Povezivanje sa robotom
Povezivanje sa robotom

Otvorite dostupne mreže na računaru i odaberite postojeću mrežu između računara i Raspberry Pi. U trenutnom direktoriju MATLAB -a kliknite desnim tasterom miša na trenutnu fasciklu projekta i izaberite roomba toolbox preuzet u 1. koraku i dodajte putanju. U mreži koja je dizajnirana za više Pi veza, navedite svog robota stvaranjem objekta klase Roomba. Pogledajte primjer ispod

Ako imate Roombu dodijeljenu broju 7, unesite sljedeće:

r = roomba (7)

%Upamtite da je ova varijabla sada dodijeljena roombi, bilo koju naredbu datu robotu mora voditi dodijeljena varijabla.

Korak 4: Kodirajte

Kod
Kod

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

Koristeći gornju vezu, spremite sve.m datoteke u datu mapu u kojoj će se pokrenuti glavni program. Link bi trebao biti otvoren za sve koji imaju vezu. Otvorite novu skriptu u trenutnoj mapi i pokrenite mycontrolprogram.m kao što je prikazano ispod:

funkcija mycontrolprogram (r) globalno m m = mobiledev; emailInit (); trčanje = 1; globalno f globalno prebrojavanje = 0; f = r; globalna direc direc = 0; r.getAngle; r.getDistance; globalni curLoc curLoc = [0, 0]; globalni pts pts = nule (1, 2, 2); manual = true; graphObs (1); v = 0,15; dok je broj <50 if (ručno == lažno) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (count)); else direc = direc + r.getAngle; manualDrive (); kraj kraj figSend (); kraj

Robot bi sada trebao obavljati svoj osmišljeni posao.

Preporučuje se: