Inhaltsverzeichnis:

Mars-Aufklärungsroboter - Gunook
Mars-Aufklärungsroboter - Gunook

Video: Mars-Aufklärungsroboter - Gunook

Video: Mars-Aufklärungsroboter - Gunook
Video: Lets Play Waking Mars E01 2024, Juli
Anonim
Mars-Aufklärungsroboter
Mars-Aufklärungsroboter

Dieses Instructable ist eine Schritt-für-Schritt-Anleitung zum Programmieren und Befehlen des Mars Reconnaissance Robot.

Um zu beginnen, muss man sich die Liste der folgenden Materialien besorgen: Ein aufgeladener iRobot erstellen, der vom Tickle College of Engineering University of Tennessee angepasst wurde, Ein drahtloses Netzwerk, das mit dem Raspberry Pi im iRobot verbunden ist, UTK iRobot-Ladegerät erstellen, Wifi-fähig Computer mit Zugang zu MATLAB und dem Internet.

Schritt 1: Roomba Toolbox

Roomba Toolbox
Roomba Toolbox

Öffnen Sie MATLAB und erstellen Sie einen neuen Ordner für die Codedateien, die aus Ihrem Projekt gespeichert werden sollen. Öffnen Sie in MATLAB ein neues Skript und führen Sie den folgenden Code aus. Nachdem das Skript ausgeführt wurde, fügen Sie den neuen Ordner dem Verzeichnis hinzu, in dem MATLAB nach Dateien sucht.

Code:

Funktion roombaInstallclc; % Liste der zu installierenden Dateien = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % Speicherort für die Installation von options = weboptions('CertificateFilename', ''); % sagen ihm, dass es die Zertifikatsanforderungen ignorieren soll server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Roomba-Installation/-Aktualisierung'; % Anzeigezweck und Bestätigungsaufforderung = { 'Dieses Programm lädt diese EF 230 Roomba-Dateien herunter:' '' strjoin(files, ' ') '' 'in diesen Ordner:' '' cd '' 'Möchten Sie fortfahren? '}; Signalton; yn = questdlg(prompt, … dlgTitle, … 'Ja', 'Nein', 'Ja');

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

% Liste der existierenden Dateien abrufen existing_files = files(cellfun(@exist, files) > 0); if ~isempty(existing_files) % Stellen Sie sicher, dass es wirklich in Ordnung ist, sie zu ersetzen prompt = {'Sie ersetzen diese Datei(en): ' '' strjoin(existing_files, ' ') '' 'OK zu ersetzen?' }; Signalton; yn = questdlg(prompt, … dlgTitle, … 'Ja', 'Nein', 'Ja'); if ~strcmp(yn, 'Ja'), return; Ende Ende

% Dateien herunterladen cnt = 0; für i=1:Länge(Dateien) f=Dateien{i}; disp(['Herunterladen' f]); Versuchs-URL = [Server f]; websave(f, URL, Optionen); % Optionen hinzugefügt, um Sicherheitsfehler zu vermeiden cnt = cnt + 1; catch disp(['Fehler beim Herunterladen' f]); dummy = [f '.html']; if exist(dummy, 'file')==2 delete(dummy) end end end

if cnt == length(files) msg = 'Installation erfolgreich'; waitfor(msgbox(msg, dlgTitle)); else msg = 'Installationsfehler - siehe Befehlsfenster für Details'; waitfor(errordlg(msg, dlgTitle)); Ende

Ende %roombaInstall

Schritt 2: Vorbereiten der Verbindung

Vorbereiten der Verbindung
Vorbereiten der Verbindung
Vorbereiten der Verbindung
Vorbereiten der Verbindung

Verbinden Sie den Micro-USB, der aus dem Roboter herausragt, mit dem unteren Port des Raspberry Pi. Halten Sie dann oben auf dem Roomba gleichzeitig die Dock- und Spot-Tasten gedrückt, bis das Licht am Roomba gedimmt wird. Sie sollten eine elektronische Waage vom Roomba hören, sobald Sie loslassen.

Schritt 3: Verbinden mit dem Roboter

Verbindung mit dem Roboter
Verbindung mit dem Roboter

Öffnen Sie die verfügbaren Netzwerke auf Ihrem Computer und wählen Sie das vorhandene Netzwerk zwischen Computer und Raspberry Pi aus. Klicken Sie im aktuellen Ordner von MATLAB mit der rechten Maustaste auf Ihren aktuellen Projektordner und wählen Sie die in Schritt 1 heruntergeladene roomba-Toolbox aus und fügen Sie sie dem Pfad hinzu. In einem Netzwerk, das für mehrere Pi-Verbindungen ausgelegt ist, spezifizieren Sie Ihren Roboter, indem Sie ein Objekt der Klasse Roomba erstellen. Siehe Beispiel unten

Wenn Sie einen Roomba der Nummer 7 zugewiesen haben, geben Sie Folgendes ein:

r=Roomba(7)

%Denken Sie daran, dass diese Variable jetzt dem roomba zugewiesen ist. Jeder Befehl an den Roboter muss von der zugewiesenen Variablen geleitet werden.

Schritt 4: Code

Code
Code

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

Speichern Sie über den obigen Link alle.m-Dateien in dem angegebenen Ordner, in dem das Hauptprogramm ausgeführt wird. Der Link sollte für alle offen sein, die den Link haben. Öffnen Sie ein neues Skript im aktuellen Ordner und führen Sie mycontrolprogram.m wie unten gezeigt aus:

Funktion mycontrolprogram(r)global m m = mobiledev; emailInit(); Laufen = 1; global f globaler Zählwert = 0; f = r; global direc direc = 0; r.getAngle; r.getDistance; global curLoc curLoc = [0, 0]; globale Punkte Punkte = Nullen (1, 2, 2); manuell = wahr; graphObs(1); v = 0,15; while count < 50 if(manual == false) obsDetect(r, v, pts); direc = direc + r.getAngle; r.setLEDDigits(num2str(count)); sonst direc = direc + r.getAngle; ManualDrive(); Ende Ende figSend(); Ende

Der Roboter sollte nun seinen vorgesehenen Job ausführen.