Sommario:

Robot da ricognizione su Marte: 4 passaggi
Robot da ricognizione su Marte: 4 passaggi

Video: Robot da ricognizione su Marte: 4 passaggi

Video: Robot da ricognizione su Marte: 4 passaggi
Video: Tutto su Perseverance, il rover atterrato su Marte in cerca di tracce di vita passata 2024, Dicembre
Anonim
Robot da ricognizione su Marte
Robot da ricognizione su Marte

Questo Instructable è una guida passo passo per programmare e comandare il Mars Reconnaissance Robot.

Per iniziare, è necessario ottenere l'elenco dei seguenti materiali: un iRobot carico creato personalizzato dal Tickle College of Eningeering Univerisity of Tennessee, una rete wireless collegata al Raspberry Pi nell'iRobot, un caricabatterie UTK iRobot creato, compatibile con Wi-Fi computer con accesso a MATLAB e Internet.

Passaggio 1: cassetta degli attrezzi di Roomba

Toolbox Roomba
Toolbox Roomba

Apri MATLAB e crea una nuova cartella per i file di codice da archiviare dal tuo progetto. In MATLAB, apri un nuovo script ed esegui il codice seguente. Una volta eseguito lo script, aggiungi la nuova cartella alla directory in cui MATLAB cerca i file.

Codice:

funzione roombaInstallclc; % elenco di file da installare files = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % percorso di installazione da options = weboptions('CertificateFilename', ''); % digli di ignorare i requisiti del certificato server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Installazione/Aggiornamento Roomba'; % visualizza lo scopo e ottieni la richiesta di conferma = { 'Questo programma scaricherà questi file EF 230 Roomba:' '' strjoin(files, ' ') '' 'in questa cartella:' '' cd '' 'Vuoi continuare? ' }; bip; yn = questdlg(prompt, … dlgTitle, … 'Sì', 'No', 'Sì');

if ~strcmp(yn, 'Sì'), return; fine

% ottiene l'elenco dei file esistenti esistenti_file = files(cellfun(@exist, files) > 0); if ~isempty(existing_files) % assicurati che sia davvero ok sostituirli prompt = {'Stai sostituendo questi file: ' '' strjoin(existing_files, ' ') '' 'OK per sostituire?' }; bip; yn = questdlg(prompt, … dlgTitle, … 'Sì', 'No', 'Sì'); if ~strcmp(yn, 'Sì'), return; fine fine

% scarica i file cnt = 0; for i=1:lunghezza(file) f=file{i}; disp(['Scaricamento 'f]); prova url = [server f]; websave(f, url, opzioni); % di opzioni aggiunte per evitare errori di sicurezza cnt = cnt + 1; catch disp(['Errore durante il download 'f]); fittizio = [f '.html']; if exist(fittizio, 'file')==2 delete(fittizio) end end end

if cnt == length(files) msg = 'Installazione riuscita'; waitfor(msgbox(msg, dlgTitle)); else msg = 'Errore di installazione - vedere la finestra di comando per i dettagli'; waitfor(errordlg(msg, dlgTitle)); fine

end %roombaInstall

Passaggio 2: preparazione alla connessione

Preparazione alla connessione
Preparazione alla connessione
Preparazione alla connessione
Preparazione alla connessione

Collega la micro-USB che sporge dal robot alla porta inferiore del Raspberry Pi. Quindi, sulla parte superiore di Roomba, tieni premuti contemporaneamente i pulsanti dock e spot finché la luce su Roomba si attenua. Dovresti sentire una bilancia elettronica da Roomba una volta rilasciato.

Passaggio 3: connessione al robot

Connessione al Robot
Connessione al Robot

Apri le reti disponibili sul tuo computer e seleziona la rete esistente tra il computer e Raspberry Pi. Nella cartella corrente di MATLAB, fai clic con il pulsante destro del mouse sulla cartella del progetto corrente e seleziona la toolbox roomba scaricata nel passaggio 1 e aggiungi al percorso. In una rete progettata per più connessioni Pi, specifica il tuo robot creando un oggetto di classe Roomba. Vedi esempio sotto

Se hai un Roomba assegnato al numero 7, inserisci quanto segue:

r=roomba(7)

%Ricorda che questa variabile è ora assegnata al roomba, qualsiasi comando dato al robot deve essere guidato dalla variabile assegnata.

Passaggio 4: codice

Codice
Codice

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

Utilizzando il collegamento sopra, salva tutti i file.m nella cartella indicata in cui verrà eseguito il programma principale. Il collegamento dovrebbe essere aperto a tutti coloro che hanno il collegamento. Apri un nuovo script nella cartella corrente ed esegui mycontrolprogram.m come mostrato di seguito:

funzione mycontrolprogram(r)global m m = mobiledev; emailInit(); in esecuzione = 1; globale f conteggio globale conteggio = 0; f = r; direzione globale direzione = 0; r.getAngle; r.getDistance; LocLoc globale LocCur = [0, 0]; punti globali punti = zeri(1, 2, 2); manuale = vero; graphObs(1); v = 0,15; while count < 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(); fine

Il Robot dovrebbe ora svolgere il suo lavoro progettato.

Consigliato: