Cuprins:

Robot de recunoaștere pe Marte: 4 pași
Robot de recunoaștere pe Marte: 4 pași

Video: Robot de recunoaștere pe Marte: 4 pași

Video: Robot de recunoaștere pe Marte: 4 pași
Video: NASA angajează preoți care vor pregăti oamenii pentru contactul cu extratereștrii 2024, Iulie
Anonim
Robot de recunoaștere pe Marte
Robot de recunoaștere pe Marte

Acest Instructable este un ghid pas cu pas pentru programarea și comanda robotului Mars Reconnaissance.

Pentru a începe, trebuie să obțineți lista următoarelor materiale: Un iRobot încărcat creat personalizat de Tickle College of Eningeering Univerisity din Tennessee, O rețea fără fir care este conectată la Raspberry Pi în iRobot, UTK iRobot creează încărcător, capabil Wifi computer cu acces la MATLAB și la internet.

Pasul 1: Roomba Toolbox

Roomba Toolbox
Roomba Toolbox

Deschideți MATLAB și creați un folder nou pentru fișierele de cod care vor fi stocate din proiect. În MATLAB, deschideți un nou script și rulați codul de mai jos. După executarea scriptului, adăugați noul folder în directorul în care MATLAB caută fișiere.

Cod:

function roombaInstallclc; % list of files to install files = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % locație de instalat din options = weboptions ('CertificateFilename', ''); % spune-i să ignore cerințele certificatului server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Instalare / actualizare Roomba'; % afișează scopul și primește promptul de confirmare = {'Acest program va descărca aceste fișiere EF 230 Roomba:' '' strjoin (files, '') '' 'în acest folder:' '' cd '' 'Vrei să continui? '}; bip; yn = questdlg (prompt, … dlgTitle, … 'Da', 'Nu', 'Da');

if ~ strcmp (yn, 'Da'), returnează; Sfârșit

% obține lista de fișiere care există existing_files = files (cellfun (@exist, files)> 0); if ~ isempty (existing_files)% asigurați-vă că este într-adevăr ok să le înlocuiți prompt = {'Înlocuiți aceste fișiere:' '' strjoin (existing_files, '') '' 'OK pentru a înlocui?' }; bip; yn = questdlg (prompt, … dlgTitle, … 'Da', 'Nu', 'Da'); if ~ strcmp (yn, 'Da'), returnează; sfârșit sfârșit

% descarcă fișierele cnt = 0; pentru i = 1: lungime (fișiere) f = fișiere {i}; disp ([„Descărcare” f]); încercați url = [server f]; websave (f, url, opțiuni); % opțiuni adăugate pentru a evita erorile de securitate cnt = cnt + 1; catch disp (['Eroare la descărcarea' f]); manechin = [f '.html']; dacă există (fictiv, „fișier”) == 2 ștergeți (fictiv)

if cnt == length (files) msg = 'Instalare reușită'; waitfor (msgbox (msg, dlgTitle)); else msg = 'Eroare de instalare - vezi fereastra de comandă pentru detalii'; waitfor (errordlg (msg, dlgTitle)); Sfârșit

end% roombaInstall

Pasul 2: Pregătirea pentru conectare

Pregătirea pentru conectare
Pregătirea pentru conectare
Pregătirea pentru conectare
Pregătirea pentru conectare

Conectați micro-USB-ul care iese din robot la portul inferior al Raspberry Pi. Apoi, în partea de sus a Roomba, apăsați simultan și mențineți apăsate butoanele de andocare și puncte până când lumina de pe Roomba se estompează. Ar trebui să auziți o cântare electronică de la Roomba odată ce eliberați.

Pasul 3: Conectarea la robot

Conectarea la robot
Conectarea la robot

Deschideți rețelele disponibile pe computer și selectați rețeaua existentă între computer și Raspberry Pi. În folderul curent al MATLAB, faceți clic dreapta pe folderul de proiect curent și selectați caseta de instrumente roomba descărcată la pasul 1 și adăugați la cale. Într-o rețea proiectată pentru mai multe conexiuni Pi, specificați robotul dvs. prin crearea unui obiect din clasa Roomba. Vezi exemplul de mai jos

Dacă aveți un Roomba atribuit numărului 7, introduceți următoarele:

r = roomba (7)

% Amintiți-vă că această variabilă este acum atribuită roomba, orice comandă dată robotului trebuie să fie condusă de variabila atribuită.

Pasul 4: Cod

Cod
Cod

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

Folosind linkul de mai sus, salvați toate fișierele.m în folderul dat unde va fi rulat programul principal. Link-ul ar trebui să fie deschis tuturor celor care au link-ul. Deschideți un nou script în folderul curent și rulați mycontrolprogram.m așa cum se vede mai jos:

function mycontrolprogram (r) global m m = mobiledev; emailInit (); alergare = 1; global f numărare globală = 0; f = r; global direc direc = 0; r.getAngle; r.getDistance; curLoc global curLoc = [0, 0]; puncte globale puncte puncte = zerouri (1, 2, 2); manual = adevărat; graphObs (1); v = 0,15; în timp ce numărați <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (count)); else direc = direc + r.getAngle; manualDrive (); end end figSend (); Sfârșit

Robotul ar trebui să își îndeplinească acum sarcina proiectată.

Recomandat: