Inhoudsopgave:

Mars verkenningsrobot - Ajarnpa
Mars verkenningsrobot - Ajarnpa

Video: Mars verkenningsrobot - Ajarnpa

Video: Mars verkenningsrobot - Ajarnpa
Video: One Seven Drukluchtschuim Systemen - Ongeëvenaard Goed 2024, Juli-
Anonim
Mars verkenningsrobot
Mars verkenningsrobot

Deze Instructable is een stapsgewijze handleiding voor het programmeren en besturen van de Mars Reconnaissance Robot.

Om te beginnen moet men de lijst met de volgende materialen verkrijgen: Een opgeladen iRobot-creatie die is aangepast door het Tickle College of Eningeering University of Tennessee, Een draadloos netwerk dat is verbonden met de Raspberry Pi in de iRobot, UTK iRobot-creëerlader, Wifi-compatibel computer met toegang tot MATLAB en internet.

Stap 1: Roomba Toolbox

Roomba-gereedschapskist
Roomba-gereedschapskist

Open MATLAB en maak een nieuwe map aan voor de codebestanden die vanuit uw project moeten worden opgeslagen. Open in MATLAB een nieuw script en voer de onderstaande code uit. Nadat het script is uitgevoerd, voegt u de nieuwe map toe aan de map waar MATLAB naar bestanden zoekt.

Code:

functie kamerbaInstallclc; % lijst met te installeren bestanden bestanden = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % locatie om te installeren vanuit options = weboptions('CertificateFilename', ''); % vertel het de certificaatvereisten te negeren server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Roomba installeren/bijwerken'; % weergavedoel en krijg bevestigingsprompt = { 'Dit programma zal deze EF 230 Roomba-bestanden downloaden:' '' strjoin(files, ' ') '' 'naar deze map:' '' cd '' 'Wilt u doorgaan? ' }; piep; yn = questdlg(prompt, … dlgTitle, … 'Ja', 'Nee', 'Ja');

if ~strcmp(yn, 'Ja'), return; einde

% haal een lijst op met bestanden die bestaan bestaande_bestanden = bestanden(cellfun(@exist, bestanden) > 0); if ~isempty(existing_files) % zorg ervoor dat het echt ok is om ze te vervangen prompt = {'U vervangt deze bestanden): ' '' strjoin(existing_files, ' ') '' 'OK om te vervangen?' }; piep; yn = questdlg(prompt, … dlgTitle, … 'Ja', 'Nee', 'Ja'); if ~strcmp(yn, 'Ja'), return; einde einde

% download de bestanden cnt = 0; voor i=1:lengte(bestanden) f=bestanden{i}; disp(['Bezig met downloaden' f]); probeer url = [server f]; websave (f, url, opties); % toegevoegde opties om beveiligingsfouten te voorkomen cnt = cnt + 1; catch disp(['Fout bij downloaden' f]); dummy = [f '.html']; if exist(dummy, 'file')==2 delete(dummy) end end end

if cnt == lengte(bestanden) msg = 'Installatie geslaagd'; waitfor(msgbox(msg, dlgTitle)); else msg = 'Installatiefout - zie opdrachtvenster voor details'; waitfor(errordlg(bericht, dlgTitel)); einde

einde %roombaInstall

Stap 2: Voorbereiden om verbinding te maken

Voorbereiden om verbinding te maken
Voorbereiden om verbinding te maken
Voorbereiden om verbinding te maken
Voorbereiden om verbinding te maken

Sluit de micro-USB die uit de robot steekt aan op de onderste poort van de Raspberry Pi. Houd vervolgens op de bovenkant van de Roomba tegelijkertijd de dock- en spot-knoppen ingedrukt totdat het lampje op de Roomba uitgaat. U zou een elektronische weegschaal uit de Roomba moeten horen zodra u deze loslaat.

Stap 3: Verbinding maken met de robot

Verbinding maken met de robot
Verbinding maken met de robot

Open de beschikbare netwerken op je computer en selecteer het bestaande netwerk tussen de computer en Raspberry Pi. Klik in de huidige map van MATLAB met de rechtermuisknop op uw huidige projectmap en selecteer de roomba-toolbox die u in stap 1 hebt gedownload en voeg deze toe aan het pad. In een netwerk dat is ontworpen voor meerdere Pi-verbindingen, specificeert u uw robot door een object van klasse Roomba te maken. Zie voorbeeld hieronder

Als u een Roomba hebt toegewezen aan nummer 7, voert u het volgende in:

r=roomba(7)

%Houd er rekening mee dat deze variabele nu is toegewezen aan de roomba, elk commando dat aan de robot wordt gegeven, moet worden geleid door de toegewezen variabele.

Stap 4: Coderen

Code
Code

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

Gebruik de bovenstaande link om alle.m-bestanden op te slaan in de opgegeven map waar het hoofdprogramma wordt uitgevoerd. De link moet openstaan voor iedereen die de link heeft. Open een nieuw script in de huidige map en voer mycontrolprogram.m uit zoals hieronder te zien is:

functie mycontrolprogram(r)global m m = mobiledev; emailInit(); draaien = 1; globaal f globaal aantal tellingen = 0; f = r; globale direc direc = 0; r.getAngle; r.getDistance; globale curLoc curLoc = [0, 0]; globale punten pts = nullen (1, 2, 2); handmatig = waar; grafiekObs(1); v = 0,15; while count < 50 if(manual == false) obsDetect(r, v, pts); direc = direc + r.getAngle; r.setLEDDigits(num2str(count)); anders direc = direc + r.getAngle; handmatige schijf(); einde einde figSend(); einde

De robot zou nu zijn ontworpen taak moeten uitvoeren.

Aanbevolen: