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: Дедушка не выдержал и дал ответ за Украинский флаг 2024, Srpanj
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 nabaviti 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čunalo s pristupom MATLAB -u i internetu.

Korak 1: Roomba Toolbox

Roomba Toolbox
Roomba Toolbox

Otvorite MATLAB i stvorite novu mapu za datoteke koda koje će se pohraniti iz vašeg projekta. U MATLAB -u otvorite novu skriptu i pokrenite donji kod. Nakon pokretanja skripte dodajte novu mapu u direktorij u kojem MATLAB traži datoteke.

Kodirati:

funkcija roombaInstallclc; % popis 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 certifikata server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Instaliranje/ažuriranje Roombe'; % display purpose and get prompt prompt = {'Ovaj program će preuzeti ove datoteke EF 230 Roomba:' '' strjoin (files, '') '' '' u ovu mapu: '' 'cd' '' Želite li nastaviti? '}; bip; yn = questdlg (upit, … dlgTitle, … 'Da', 'Ne', 'Da');

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

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

% preuzimanje datoteka cnt = 0; za i = 1: duljina (datoteke) f = datoteke {i}; disp (['Preuzimanje' f]); probajte url = [poslužitelj f]; websave (f, url, opcije); % dodanih mogućnosti za izbjegavanje sigurnosnih pogrešaka cnt = cnt + 1; catch disp (['Pogreška pri preuzimanju' f]); lutka = [f '.html']; ako postoji (lažna, 'datoteka') == 2 brisanje (lažna) end end end

if cnt == length (files) msg = 'Instalacija uspješna'; waitfor (msgbox (msg, dlgTitle)); else msg = 'Greška pri instalaciji - detalje potražite u naredbenom prozoru'; waitfor (errordlg (msg, dlgTitle)); kraj

kraj %roombaInstaliraj

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 mjesto dok se svjetlo na Roombi ne priguši. Nakon objavljivanja trebali biste čuti elektroničku vagu s Roombe.

Korak 3: Povezivanje s robotom

Povezivanje s robotom
Povezivanje s robotom

Otvorite dostupne mreže na svom računalu i odaberite postojeću mrežu između računala i Raspberry Pi. U trenutnoj mapi MATLAB -a desnom tipkom miša kliknite trenutnu mapu projekta i odaberite roomba toolbox preuzet u 1. koraku te dodajte stazi. U mreži koja je dizajnirana za više Pi veza, navedite svog robota stvaranjem objekta klase Roomba. Vidi 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

Kodirati
Kodirati

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

Pomoću gornje veze spremite sve.m datoteke u određenu 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 u nastavku:

funkcija mycontrolprogram (r) globalni m m = mobiledev; emailInit (); trčanje = 1; globalno f globalno brojanje = 0; f = r; globalni direc direc = 0; r.getAngle; r.getDistance; globalni curLoc curLoc = [0, 0]; globalni pts pts = nule (1, 2, 2); priručnik = istina; 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čeni: