Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tämä Instructable on vaiheittainen opas Mars Reconnaissance -robotin ohjelmointiin ja komentoon.
Aloittamiseksi sinun on hankittava luettelo seuraavista materiaaleista: Tennesseen Tickle College of Eningeering Univerisityn räätälöimä ladattu iRobot-luomus, Langaton verkko, joka on yhdistetty Raspberry Pi -laitteeseen iRobotissa, UTK iRobot create -laturi, Wifi-yhteensopiva tietokone, jolla on pääsy MATLABiin ja Internetiin.
Vaihe 1: Roomba Toolbox
Avaa MATLAB ja luo uusi kansio projektisi tallennettaville kooditiedostoille. Avaa uusi komentosarja MATLABissa ja suorita alla oleva koodi. Kun komentosarja on suoritettu, lisää uusi kansio hakemistoon, josta MATLAB etsii tiedostoja.
Koodi:
toiminto roombaInstallclc; % luettelo asennettavista tiedostoista = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % sijainti asennettavaksi vaihtoehdoista = weboptions ('CertificateFilename', ''); % käske ohittaa varmennevaatimukset palvelin = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Roomban asennus/päivitys'; % näyttötarkoitus ja vahvistuskehote = {'Tämä ohjelma lataa nämä EF 230 Roomba -tiedostot:' '' strjoin (tiedostot, '') '' '' tähän kansioon: '' 'cd' '' Haluatko jatkaa? '}; piippaus; yn = questdlg (kehote,… dlgTitle,… 'Kyllä', 'Ei', 'Kyllä');
jos ~ strcmp (yn, 'Kyllä'), palaa; loppuun
% get luettelo tiedostoista olemassa olevista_files = files (cellfun (@exist, files)> 0); jos ~ isempty (olemassa olevat_tiedostot) % varmista, että on todella hyvä korvata ne. }; piippaus; yn = questdlg (kehote,… dlgTitle,… 'Kyllä', 'Ei', 'Kyllä'); jos ~ strcmp (yn, 'Kyllä'), palaa; loppu loppu
% lataa tiedostot cnt = 0; i = 1: pituus (tiedostot) f = tiedostot {i}; disp (['Ladataan' f]); kokeile url = [palvelin f]; web -tallennus (f, url, vaihtoehdot); % lisävaihtoehtoja suojausvirheiden välttämiseksi cnt = cnt + 1; catch disp (['Virhe ladattaessa' f]); nukke = [f '.html']; jos on olemassa (dummy, 'file') == 2 poista (dummy) end end end end
if cnt == pituus (tiedostot) msg = 'Asennus onnistui'; odota (msgbox (msg, dlgTitle)); else msg = 'Asennusvirhe - katso lisätietoja komentoikkunasta'; waitfor (errordlg (msg, dlgTitle)); loppuun
end %roombaInstall
Vaihe 2: Yhteyden valmistelu
Liitä robotista ulkoneva mikro-USB Raspberry Pi -laitteen pohjaporttiin. Paina sitten Roomban yläosassa samanaikaisesti telakka- ja pistepainikkeita, kunnes Roomban valo himmenee. Sinun pitäisi kuulla elektroninen vaaka Roombasta, kun vapautat sen.
Vaihe 3: Yhdistäminen robottiin
Avaa käytettävissä olevat verkot tietokoneellasi ja valitse olemassa oleva verkko tietokoneen ja Raspberry Pi: n välillä. Napsauta MATLABin nykyisessä kansiossa hiiren kakkospainikkeella nykyistä projektikansioasi ja valitse vaiheessa 1 ladattu roomba -työkalupakki ja lisää polkuun. Verkossa, joka on suunniteltu useille Pi -yhteyksille, määritä robotti luomalla Roomba -luokan objekti. Katso esimerkki alla
Jos sinulla on Roomba numero 7, kirjoita seuraava:
r = roomba (7)
%Muista, että tämä muuttuja on nyt liitetty roombaan, minkä tahansa robotille annetun komennon täytyy johtaa määritetty muuttuja.
Vaihe 4: Koodi
drive.google.com/drive/folders/1OVR5oTHUsn…
Tallenna yllä olevat linkit käyttämällä kaikki.m -tiedostot siihen kansioon, jossa pääohjelma ajetaan. Linkin pitäisi olla avoin kaikille linkin saaneille. Avaa uusi komentosarja nykyiseen kansioon ja suorita mycontrolprogram.m alla kuvatulla tavalla:
toiminto mycontrolprogram (r) global m m = mobiledev; emailInit (); juoksu = 1; globaali f globaali lukumäärä = 0; f = r; maailmanlaajuinen suora suunta = 0; r.getAngle; r.getDistance; globaali curLoc curLoc = [0, 0]; globaali pts pts = nolla (1, 2, 2); manuaalinen = totta; graphObs (1); v = 0,15; kun taas laskea <50, jos (manuaalinen == epätosi) obsDetect (r, v, pts); directc = direct + r.getAngle; r.setLEDDigits (numero2str (määrä)); else direct = direct + r.getAngle; manualDrive (); end end figSend (); loppuun
Robotin pitäisi nyt suorittaa suunniteltu tehtävä.