Tartalomjegyzék:

Mars felderítő robot: 4 lépés
Mars felderítő robot: 4 lépés

Videó: Mars felderítő robot: 4 lépés

Videó: Mars felderítő robot: 4 lépés
Videó: АТ2 | DM1399 | Эта мина не подпускает к себе саперов 2024, Július
Anonim
Mars felderítő robot
Mars felderítő robot

Ez az oktatható lépésenkénti útmutató a Mars Felderítő Robot programozásához és parancsolásához.

A kezdéshez meg kell szereznie a következő anyagok listáját: Feltöltött iRobot létrehozása, amelyet a Ticket College of Eningeering Univerisity of Tennessee testreszabott, Vezeték nélküli hálózat, amely csatlakozik a Raspberry Pi-hez az iRobotban, UTK iRobot létrehozó töltő, Wifi-kompatibilis számítógép, amely hozzáfér a MATLAB -hoz és az internethez.

1. lépés: Roomba Toolbox

Roomba Eszköztár
Roomba Eszköztár

Nyissa meg a MATLAB alkalmazást, és hozzon létre egy új mappát a projektben tárolt kódfájlokhoz. A MATLAB -ban nyisson meg egy új szkriptet, és futtassa az alábbi kódot. A szkript futtatása után adja hozzá az új mappát ahhoz a könyvtárhoz, ahol a MATLAB fájlokat keres.

Kód:

function roombaInstallclc; % fájlok listája a telepítendő fájlokhoz = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % location to install from options = weboptions ('CertificateFilename', ''); % mondja meg, hogy figyelmen kívül hagyja a tanúsítványkövetelményeket szerver = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Roomba telepítése/frissítése'; % megjelenítési cél és megerősítés kérése = {'Ez a program letölti ezeket az EF 230 Roomba fájlokat:' '' strjoin (fájlok, '') '' '' ebbe a mappába: '' 'cd' '' Folytatni akarja? '}; hangjelzés; yn = questdlg (prompt,… dlgTitle,… 'Igen', 'Nem', 'Igen');

ha ~ strcmp (yn, 'Igen'), vissza; vége

% get létező fájlok listája létező_fájlok = fájlok (cellfun (@exist, files)> 0); if ~ isempty (létező_fájlok) % győződjön meg arról, hogy valóban rendben van -e a lecserélésük. }; hangjelzés; yn = questdlg (prompt,… dlgTitle,… 'Igen', 'Nem', 'Igen'); ha ~ strcmp (yn, 'Igen'), vissza; vége vége

% letölteni a fájlokat cnt = 0; i = 1 esetén: hossz (fájlok) f = fájlok {i}; disp (['Letöltés' f]); try url = [szerver f]; webes mentés (f, url, opciók); % hozzáadott lehetőség a biztonsági hibák elkerülésére cnt = cnt + 1; catch disp (['Hiba a letöltéskor' f]); dummy = [f '.html']; ha létezik (dummy, 'file') == 2 delete (dummy) end end end end

if cnt == hossz (fájlok) msg = 'A telepítés sikeres'; waitfor (msgbox (msg, dlgTitle)); else msg = 'Telepítési hiba - részletekért lásd a parancsablakot'; waitfor (errordlg (msg, dlgTitle)); vége

end %roombaInstall

2. lépés: A csatlakozás előkészítése

A csatlakozás előkészítése
A csatlakozás előkészítése
A csatlakozás előkészítése
A csatlakozás előkészítése

Csatlakoztassa a robotból kiálló mikro-USB-t a Raspberry Pi alsó portjához. Ezután a Roomba tetején nyomja meg és tartsa lenyomva a dokkoló és a spot gombokat, amíg a Roomba fénye el nem halványul. Az elengedéskor elektronikus mérleget kell hallania a Roomba -tól.

3. lépés: Csatlakozás a robothoz

Csatlakozás a robothoz
Csatlakozás a robothoz

Nyissa meg a számítógépen elérhető hálózatokat, és válassza ki a meglévő hálózatot a számítógép és a Raspberry Pi között. A MATLAB jelenlegi mappájában kattintson a jobb gombbal az aktuális projektmappára, és válassza ki az 1. lépésben letöltött roomba eszköztárat, és adja hozzá az útvonalhoz. Egy olyan hálózatban, amelyet több Pi kapcsolatra terveztek, adja meg robotját a Roomba osztályú objektum létrehozásával. Lásd az alábbi példát

Ha Roomba van hozzárendelve a 7 -es számhoz, írja be a következőt:

r = roomba (7)

%Ne feledje, hogy ez a változó most hozzá van rendelve a roomba -hoz, a robotnak adott parancsokat a hozzárendelt változónak kell vezérelnie.

4. lépés: Kód

Kód
Kód

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

A fenti link használatával mentse az összes.m fájlt abba a mappába, ahol a fő program futni fog. A linknek nyitottnak kell lennie minden link birtokában. Nyisson meg egy új szkriptet az aktuális mappában, és futtassa a mycontrolprogram.m fájlt az alábbiak szerint:

függvény mycontrolprogram (r) global m m = mobiledev; emailInit (); futás = 1; globális f globális számlálási szám = 0; f = r; globális direkt direkt = 0; r.getAngle; r.getDistance; globális curLoc curLoc = [0, 0]; globális pts pts = nulla (1, 2, 2); kézi = igaz; graphObs (1); v = 0,15; míg a szám <50, ha (manuális == hamis) obsDetect (r, v, pts); directc = direct + r.getAngle; r.setLEDDigits (szám2str (szám)); else direc = direct + r.getAngle; manualDrive (); end end figSend (); vége

A robotnak végre kell hajtania a tervezett feladatot.

Ajánlott: