Sisukord:

Marsi luurerobot: 4 sammu
Marsi luurerobot: 4 sammu

Video: Marsi luurerobot: 4 sammu

Video: Marsi luurerobot: 4 sammu
Video: КАК ПОБЕЖДАТЬ КАЖДУЮ ИГРУ НА МАРСИ 7.34d 2024, November
Anonim
Marsi luurerobot
Marsi luurerobot

See juhend on samm-sammult juhend Marsi luureroboti programmeerimiseks ja juhtimiseks.

Alustamiseks tuleb hankida järgmiste materjalide loend: Laetud iRobot-loomine, mille on kohandanud Tennessee'i Eningeering Univerisity'i Tickle College, Traadita võrk, mis on ühendatud Raspberry Pi-ga iRobotis, UTK iRobot luua laadija, Wifi-toega arvuti, millel on juurdepääs MATLABile ja Internetile.

Samm: Roomba tööriistakast

Roomba tööriistakast
Roomba tööriistakast

Avage MATLAB ja looge oma projektist salvestatavate koodifailide jaoks uus kaust. Avage MATLABis uus skript ja käivitage allolev kood. Kui skript on käivitatud, lisage uus kaust kataloogi, kust MATLAB faile otsib.

Kood:

funktsioon roombaInstallclc; % installitavate failide loendist = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % asukoht installimiseks valikutest = weboptions ('CertificateFilename', ''); % käsib tal ignoreerida sertifikaadi nõudeid server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Roomba installimine/värskendamine'; % kuva eesmärk ja saada kinnituse viip = {'See programm laadib alla need EF 230 Roomba failid:' '' strjoin (failid, '') '' '' sellesse kausta: '' 'cd' '' Kas soovite jätkata? '}; piiks; yn = questdlg (kiire,… dlgTitle,… 'Jah', 'Ei', 'Jah');

kui ~ strcmp (yn, 'Jah'), tagasta; lõpp

% saada olemasolevate failide loend olemasolevad_failid = failid (cellfun (@exist, files)> 0); kui ~ isempty (olemasolevad_failid) % veenduge, et nende asendamine on tõesti ok. }; piiks; yn = questdlg (kiire,… dlgTitle,… 'Jah', 'Ei', 'Jah'); kui ~ strcmp (yn, 'Jah'), tagasta; lõpp lõpp

% failide allalaadimine cnt = 0; i = 1 jaoks: pikkus (failid) f = failid {i}; disp (['Allalaadimine' f]); proovige url = [server f]; veebisalvestus (f, url, valikud); % lisatud võimalusi turvavigade vältimiseks cnt = cnt + 1; catch disp (['Viga allalaadimisel' f]); näiv = [f '.html']; kui on olemas (näiv, 'fail') == 2 kustuta (näiv) lõpp lõpp

if cnt == pikkus (failid) msg = 'Installimine õnnestus'; waitfor (msgbox (msg, dlgTitle)); else msg = 'Paigaldusviga - üksikasju vaata käsuaknast'; waitfor (errordlg (msg, dlgTitle)); lõpp

end %roombaInstall

Samm: ühenduse loomiseks ettevalmistamine

Ühenduse ettevalmistamine
Ühenduse ettevalmistamine
Ühenduse ettevalmistamine
Ühenduse ettevalmistamine

Ühendage robotist väljaulatuv mikro-USB Raspberry Pi alumisse porti. Seejärel vajutage ja hoidke Roomba ülaosas samaaegselt doki ja kohapealseid nuppe all, kuni Roomba tuli kustub. Pärast vabastamist peaksite Roomba elektroonilist skaalat kuulma.

Samm: ühendage robotiga

Robotiga ühendamine
Robotiga ühendamine

Avage oma arvutis saadaolevad võrgud ja valige arvuti ja Raspberry Pi vahel olemasolev võrk. Paremklõpsake MATLAB -i praeguses kaustas oma praegust projekti kausta ja valige 1. sammus allalaaditud roomba tööriistakast ja lisage see teele. Võrgus, mis on loodud mitmeks Pi -ühenduseks, määrake oma robot, luues Roomba klassi objekti. Vaadake näidet allpool

Kui teil on Roomba määratud numbrile 7, sisestage järgmine:

r = roomba (7)

%Pidage meeles, et see muutuja on nüüd omistatud roombale, mis tahes robotile antud käsku peab juhtima määratud muutuja.

4. samm: kood

Kood
Kood

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

Salvestage ülaltoodud lingi abil kõik.m -failid antud kausta, kus põhiprogramm käivitatakse. Link peaks olema avatud kõigile, kellel on link. Avage praeguses kaustas uus skript ja käivitage mycontrolprogram.m, nagu allpool näha:

funktsioon mycontrolprogram (r) globaalne m m = mobiledev; emailInit (); jooksmine = 1; globaalne f globaalne loendus = 0; f = r; globaalne otsejuhend = 0; r.getAngle; r.getDistance; globaalne curLoc curLoc = [0, 0]; globaalne pts pts = null (1, 2, 2); manuaal = tõsi; graphObs (1); v = 0,15; samas loendage <50, kui (käsitsi == vale) obsDetect (r, v, pts); Direc = Direc + r.getAngle; r.setLEDDigits (num2str (loend)); else direc = direct + r.getAngle; manualDrive (); ots otsa figSend (); lõpp

Robot peaks nüüd oma kavandatud ülesannet täitma.

Soovitan: