Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Denne instruksjonsboken er en trinnvis veiledning for programmering og kommando av Mars Reconnaissance Robot.
For å starte må man skaffe seg listen over følgende materialer: En ladet iRobot-opprettelse tilpasset av Tickle College of Eningeering University of Tennessee, Et trådløst nettverk som er koblet til Raspberry Pi i iRobot, UTK iRobot-lader, Wifi-kompatibel datamaskin med tilgang til MATLAB og internett.
Trinn 1: Roomba Toolbox
Åpne MATLAB og opprett en ny mappe for kodefilene som skal lagres fra prosjektet ditt. I MATLAB åpner du et nytt skript og kjører koden nedenfor. Når skriptet er kjørt, legger du til den nye mappen i katalogen der MATLAB ser etter filer.
Kode:
funksjonsrombaInstallclc; % liste over filer for å installere filer = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % plassering å installere fra alternativer = weboptions ('CertificateFilename', ''); % be den om å ignorere sertifikatkrav server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Roomba Install/Update'; % visningsformål og få bekreftelsesprompt = {'Dette programmet vil laste ned disse EF 230 Roomba -filene:' '' strjoin (files, '') '' 'til denne mappen:' '' cd '' 'Vil du fortsette? '}; pip; yn = questdlg (ledetekst, … dlgTitle,… 'Ja', 'Nei', 'Ja');
hvis ~ strcmp (yn, 'Ja'), returner; slutt
% få liste over filer som eksisterer eksisterende_filer = filer (cellfun (@exist, filer)> 0); Hvis ~ isempty (eksisterende_filer) % sørg for at det virkelig er greit å bytte dem prompt = {'Du bytter ut disse filene:' '' strjoin (eksisterende_filer, '') '' 'OK å erstatte?' }; pip; yn = questdlg (ledetekst, … dlgTitle,… 'Ja', 'Nei', 'Ja'); hvis ~ strcmp (yn, 'Ja'), returner; ende ende
% last ned filene cnt = 0; for i = 1: lengde (filer) f = filer {i}; disp (['Laster ned' f]); prøv url = [server f]; websave (f, url, alternativer); % lagt til alternativer for å unngå sikkerhetsfeil cnt = cnt + 1; catch disp (['Feil ved nedlasting' f]); dummy = [f '.html']; hvis finnes (dummy, 'file') == 2 slett (dummy) end end end
if cnt == length (files) msg = 'Installasjon vellykket'; waitfor (msgbox (msg, dlgTitle)); else msg = 'Installasjonsfeil - se kommandovinduet for detaljer'; waitfor (errordlg (msg, dlgTitle)); slutt
slutt %roombaInstall
Trinn 2: Forbereder tilkobling
Koble mikro-USB-en som stikker ut fra roboten til den nederste porten på Raspberry Pi. Trykk deretter på og hold inne dock- og spotknappene samtidig på toppen av Roomba til lyset på Roomba dempes. Du bør høre en elektronisk skala fra Roomba når du slipper.
Trinn 3: Koble til roboten
Åpne de tilgjengelige nettverkene på datamaskinen din og velg det eksisterende nettverket mellom datamaskinen og Raspberry Pi. I MATLABs nåværende mappe, høyreklikk på din nåværende prosjektmappe og velg roomba -verktøykassen som ble lastet ned i trinn 1, og legg til banen. I et nettverk som er designet for flere Pi -tilkoblinger, spesifiser du roboten din ved å lage et objekt i klassen Roomba. Se eksempel nedenfor
Hvis du har en Roomba tildelt nummer 7, skriver du inn følgende:
r = roomba (7)
%Husk at denne variabelen nå er tilordnet roomba, enhver kommando gitt til roboten må ledes av den tildelte variabelen.
Trinn 4: Kode
drive.google.com/drive/folders/1OVR5oTHUsn…
Ved å bruke lenken ovenfor lagrer du alle.m -filene i den gitte mappen der hovedprogrammet skal kjøres. Lenken skal være åpen for alle som har lenken. Åpne et nytt skript i den nåværende mappen og kjør mycontrolprogram.m som vist nedenfor:
funksjon mycontrolprogram (r) global m m = mobiledev; emailInit (); kjører = 1; global f global telletall = 0; f = r; global direc direc = 0; r.getAngle; r.getDistance; global curLoc curLoc = [0, 0]; globale pts pt = nuller (1, 2, 2); manual = true; graphObs (1); v = 0,15; mens telling <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (count)); annet direc = direc + r.getAngle; manualDrive (); ende ende figSend (); slutt
Roboten skal nå utføre den designede jobben.