Sisällysluettelo:

Marsin tutustumisrobotti: 4 vaihetta
Marsin tutustumisrobotti: 4 vaihetta

Video: Marsin tutustumisrobotti: 4 vaihetta

Video: Marsin tutustumisrobotti: 4 vaihetta
Video: Марс проходит транзитом по Стрельцу | 28 декабря 2023 г. — 5 февраля 2024 г. | Ведическая Астрология 2024, Marraskuu
Anonim
Marsin tutustumisrobotti
Marsin tutustumisrobotti

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

Roomban työkalupakki
Roomban työkalupakki

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

Yhteyttä valmistellaan
Yhteyttä valmistellaan
Yhteyttä valmistellaan
Yhteyttä valmistellaan

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

Yhdistäminen robottiin
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

Koodi
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ä.

Suositeltava: