Inhaltsverzeichnis:
- Schritt 1: Schritt 1: Benötigte Materialien
- Schritt 2: Schritt 2: Einrichten / Abrufen von Code für Roomba
- Schritt 3: Schritt 3: Einrichten von Cliff-Sensoren / LED-Leuchten
- Schritt 4: Schritt 4: Auf Hindernisse prüfen
- Schritt 5: Schritt 5: Plotten
Video: Roomba MATLAB-Projekt - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Der aktuelle Plan, den die NASA für den Mars-Rover hat, sieht vor, dass er ein Datensammler ist und um den Mars herumstreift, um Bodenproben zu sammeln, um sie zur Erde zurückzubringen, damit Wissenschaftler sehen können, ob es frühere Lebensformen auf dem Planeten gab. Darüber hinaus sendet der Rover Bilder an Wissenschaftler zurück, damit diese beim Navigieren des Rovers helfen und eventuell auftretende Probleme beheben können.
Die Idee unserer Gruppe für unser Projekt ist, dass der Rover das gleiche macht wie der NASA-Rover, der 2020 die Erde verlassen wird, aber auch die Geographie des Landes kartografiert. Der Roomba wäre in der Lage, Klippen zu erkennen und sich selbst zu stoppen, bevor er herunterfällt, und dann rückwärts zu fahren, sich zu drehen und seinen Kurs zu ändern, damit er nicht herunterfällt und beschädigt wird. Unsere andere in unser Projekt integrierte Idee besteht darin, dass der Roomba in der Lage ist, die Wahrzeichen, die er sieht, zu zeichnen und jedes Mal, wenn die Schleife beendet und ihr Kurs durchlaufen wurde, eine Grafik anzuzeigen.
Dieses anweisbare ist für alle anderen, die die gleiche Art von Code für ihren Roomba erstellen möchten.
Schritt 1: Schritt 1: Benötigte Materialien
Du wirst brauchen:
- Ein Zimmer
- MATLAB
- Diese Datei zum Ausführen des roomba
- Eine flache Oberfläche
- Eine Tischoberfläche als "Klippe"
Schritt 2: Schritt 2: Einrichten / Abrufen von Code für Roomba
Ihr Bildschirm sieht so aus, sobald Sie die Dateien eingeben.
Schritt 3: Schritt 3: Einrichten von Cliff-Sensoren / LED-Leuchten
Dieser Code teilt Ihrem Roomba genau mit, welchen Winkel er drehen soll, überprüfen Sie die Batterieinformationen, sagen Sie Ihrem Roomba, wie schnell er fahren soll, und sucht durch die Kamera des Roomba nach einer Person. Es piept auch, wenn es eine Person identifiziert, und stoppt sich selbst, bevor es von einer Klippe springt.
% versuchen rob.setLEDDigits('') x=0; y = 0; theta=0; Hindernis = ; Zyklus = 1; AngCorr = @(x)x + 3.059.*x.^0.4205; %Funktion zum Korrigieren von Drehwinkeln während rob.getBatteryInfo.percent > 15 rob.setLEDDigits('') rob.setDriveVelocity(0.1) %Go %Check For Person if AA_checkperson(rob) rob.beep end %Check Cliff Sensor if AA_cliffcheck(rob) rob.stop rob.setLEDDigits('Cliff') Pause(0.5) Hindernis(Zyklus) = 2; AA_cliffbeep(rob) %Back Up And Turn rob.moveDistance(-.15) rob.turnAngle(30) end
Schritt 4: Schritt 4: Auf Hindernisse prüfen
Mit diesem Code wird der Roomba auf Gegenstände in seiner Umgebung überprüft und der Stoßsensor überprüft, um sicherzustellen, dass er stoppt, bevor er sich selbst beschädigt.
%Check Light Sensor if AA_lightcheck(rob) rob.stop rob.setLEDDigits('Wall') pause(0.5) hindernis(cycle) = 1; %Wall AA_wallbeep(rob) %Back Up And Turn rob.moveDistance(-.15) rob.turnAngle(30) end %Check Bump Sensor if AA_bumpcheck(rob) rob.stop rob.setLEDDigits('Wall') pause(0.5) Hindernis (Zyklus) = 1; %Wall AA_wallbeep(rob) %Back Up And Turn rob.moveDistance(-.15) rob.turnAngle(30) end %If none if isleer(Hindernis) Hindernis(Zyklus) = 0; elseif Länge(Hindernis) < Zyklus Hindernis(Zyklus) = 0; Ende
Schritt 5: Schritt 5: Plotten
Dieser Code weist Ihren Roomba an, zu planen, was er auf seiner Reise antrifft. Eine Handlung wie diese wird angezeigt, nachdem der Roomba angehalten hat.
%Get Position d = rob.getDistance; wenn Zyklus == 1 Theta(Zyklus) = 0; x(Zyklus) = d.*cosd(Theta(Zyklus)); % zurückgelegte Gesamtstrecke in x y(Zyklus) = d.*sind(theta(Zyklus)); % zurückgelegte Gesamtstrecke in y sonst theta(Zyklus) = theta(Zyklus-1) + rob.getAngle; x(Zyklus) = d.*cosd(Theta(Zyklus)) + x(Zyklus-1); % zurückgelegte Gesamtstrecke in x y(Zyklus) = d.*sind(theta(Zyklus)).*d + y(Zyklus-1); % zurückgelegte Gesamtstrecke in Y-Ende %Break-Bedingung, wenn rob.getButtons.clean Break-Ende %Inkrement-Zykluszyklus = Zyklus + 1; end rob.stop for i = 1:cycle if hindernis(i) == 1 %Wall plot(x(i), y(i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseif hindernis (i) == 2 %Cliff plot(x(i), y(i), 'Marker', 'o', 'MarkerEdgeColor', 'k') end text(.9, 0.9, sprintf('Square = Wall \nCircle = Cliff'), 'Units', 'normalized') am Ende halten %Notsignal während true rob.beep pause(3) if rob.getButtons.clean Break end end % catch % rob.stop % end
Empfohlen:
So programmieren und veröffentlichen Sie Matlab 2016b in Word (Anleitung für Anfänger): 4 Schritte
So codieren und veröffentlichen Sie Matlab 2016b in Word (Einsteigerhandbuch): Matlab ist ein leistungsstarkes Sprachprogramm, das zum Berechnen technischer Ergebnisse verwendet wird. Es hat die Fähigkeit, Visualisierungen, Berechnungen und Programmierung auf benutzerfreundliche Weise zu integrieren. Mit diesem Programm kann der Benutzer Probleme und Lösungen veröffentlichen
Programmiererweiterungen in MATLAB trainieren: 6 Schritte
Verbesserungen bei der Zugprogrammierung in MATLAB: Ziel: Das Ziel dieses programmierten Systems besteht darin, einen kleinen Arduino zu betrachten und die Codierung in größerem Maßstab anzuwenden, um möglicherweise bestimmte Sicherheitsfunktionen von Amtrak-Eisenbahnsystemen zu verbessern. Dazu haben wir einen Bodenfeuchtesensor hinzugefügt
Tutorial zum Abtasten analoger Signale - MATLAB: 8 Schritte
Tutorial zum Abtasten analoger Signale | MATLAB: In diesem Tutorial zeigen wir, was Sampling ist. und Wie man ein analoges Signal mit der MATLAB-Software abtastet
So erstellen Sie mit MATLAB einen Hörtest für Erwachsene – wikiHow
So erstellen Sie einen Hörtest für Erwachsene mit MATLAB: HAFTUNGSAUSSCHLUSS: Unser Test ist KEINE medizinische Diagnose und sollte nicht als solche verwendet werden. Um das Gehör genau zu messen, wenden Sie sich bitte an einen Arzt. Mit Materialien, die wir bereits hatten, führte unsere Gruppe einen Hörtest durch. Unser Test ist nur für Erwachsene und Jugendliche bestimmt
Von Roomba zu Rover in nur 5 Schritten!: 5 Schritte
In nur 5 Schritten von Roomba zum Rover!: Roomba-Roboter sind eine unterhaltsame und einfache Möglichkeit, Ihre Zehen in die Welt der Robotik einzutauchen. In diesem Instructable werden wir detailliert beschreiben, wie man einen einfachen Roomba in einen steuerbaren Rover umwandelt, der gleichzeitig seine Umgebung analysiert. Teileliste1.) MATLAB2.) Roomb