Inhaltsverzeichnis:

Automatisches Greifen mit Lasersensor und Sprachbefehlen - Gunook
Automatisches Greifen mit Lasersensor und Sprachbefehlen - Gunook

Video: Automatisches Greifen mit Lasersensor und Sprachbefehlen - Gunook

Video: Automatisches Greifen mit Lasersensor und Sprachbefehlen - Gunook
Video: Rébecca Claude und Diana präsentieren den beliebtesten Saugroboter im Dezember 2021 bei PEARL TV 2024, November
Anonim
Image
Image
Die Liste der Teile
Die Liste der Teile

Das Greifen von Objekten, die uns einfach und selbstverständlich erscheinen, ist in Wirklichkeit eine komplexe Aufgabe. Der Mensch verwendet den Sehsinn, um die Entfernung zu dem Objekt zu bestimmen, das er greifen möchte. Die Hand öffnet sich automatisch, wenn sie sich in unmittelbarer Nähe des zu greifenden Objekts befindet und schließt sich dann schnell, um das Objekt gut zu greifen. Ich habe diese Technik in diesem Miniprojekt vereinfacht angewendet, aber anstelle der Kamera habe ich einen Lasersensor verwendet, um die Entfernung des Objekts vom Greifer und Sprachbefehle zur Steuerung abzuschätzen.

Schritt 1: Die Liste der Teile

Die Liste der Teile
Die Liste der Teile

In diesem kleinen Projekt benötigen Sie nur wenige der unten aufgeführten Teile. Als Controller habe ich Arduino mega 2560 verwendet, aber Sie können auch UNO oder jedes andere Arduino verwenden. Als Entfernungssensor habe ich einen VL53L0X Lasersensor verwendet, der eine gute Genauigkeit (etwa wenige Millimeter) und eine Reichweite von bis zu 2 Metern hat. In diesem Projekt können Sie jeden Greifer und jedes Servo zum Testen verwenden, aber Sie sollten es von einer separaten Stromquelle versorgen, z auf 5V.

In diesem Projekt benötigte Teile:

  • VL53L0X Laser-ToF-Sensor x1
  • Digital-Servo x1
  • Arduino Mega 2560 x1
  • Roboter-Metallgreifer x1
  • Steckbrett x1
  • Taktiler Druckknopf x1
  • Bluetooth HC-06
  • Widerstand 10k x1
  • Stromversorgung 5V/2A

Erweiterte Version:

  1. CJMCU-219 Stromüberwachungssensormodul x1
  2. WS2812 RGB-LED-Treiber-Entwicklungsplatine x1

Schritt 2: Anschluss elektronischer Teile

Anschluss elektronischer Teile
Anschluss elektronischer Teile
Anschluss elektronischer Teile
Anschluss elektronischer Teile
Anschluss elektronischer Teile
Anschluss elektronischer Teile

Die erste Abbildung zeigt alle notwendigen Verbindungen. Auf den folgenden Fotos sehen Sie die nächsten Schritte beim Verbinden der einzelnen Module. Am Anfang wurde der Taster an Pin 2 von Arduino angeschlossen, dann Servo an Pin 3 und schließlich der Laser-Distanzsensor VL53L0X über I2C-Bus (SDA, SCL).

Die Anschlüsse der Elektronikmodule sind wie folgt:

VL53L0X Lasersensor -> Arduino Mega 2560

  • SDA - SDA
  • SCL - SCL
  • VCC - 5V
  • Masse - Masse

Servo -> Arduino Mega 2560

Signal (oranges Kabel) - 3

Servo -> 5V/2A Netzteil

  • GND (braunes Kabel) - GND
  • VCC (rotes Kabel) - 5V

Taster -> Arduino Mega 2560

  • Pin 1 - 3,3 oder 5V
  • Pin 2 - 2 (und durch den 10k Widerstand gegen Masse)

Bluetooth (HC-06) -> Arduino Mega 2560

  • TXD - TX1 (19)
  • RXD - RX1 (18)
  • VCC - 5V
  • Masse - Masse

Schritt 3: Arduino Mega-Code

Arduino Mega-Code
Arduino Mega-Code

Ich habe die folgenden Arduino-Beispielprogramme vorbereitet, die auf meinem GitHub verfügbar sind:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

Das erste Programm namens „VL53L0X_gripper_control“übernimmt die Aufgabe des automatischen Greifens eines vom Lasersensor VL53L0X erfassten Objekts. Stellen Sie vor dem Kompilieren und Hochladen des Beispielprogramms sicher, dass Sie wie oben gezeigt "Arduino Mega 2560" als Zielplattform ausgewählt haben (Arduino IDE -> Tools -> Board -> Arduino Mega oder Mega 2560). Das Arduino-Programm prüft in der Hauptschleife - "void loop()", ob der neue Messwert vom Lasersensor gekommen ist (Funktion readRangeContinuousMillimeters()). Wenn der vom Sensor "distance_mm" gelesene Abstand größer als der Wert "THRESHOLD_CLOSING_DISTANCE_FAR" oder kleiner als "THRESHOLD_CLOSING_DISTANCE_NEAR" ist, beginnt das Servo zu schließen. In anderen Fällen beginnt es sich zu öffnen. Im nächsten Teil des Programms wird in der Funktion "digitalRead(gripperOpenButtonPin)" der Zustand des Tasters ständig kontrolliert und bei Betätigung öffnet der Greifer trotz geschlossenem Zustand aufgrund der Nähe des Objekts (Abstand_mm ist kleiner als THRESHOLD_CLOSING_DISTANCE_NEAR).

Mit dem zweiten Programm „Voice_VL53L0X_gripper_control“können Sie den Greifer über Sprachbefehle steuern. Die Sprachbefehle werden von der BT Voice Control for Arduino App von Google Play verarbeitet und über Bluetooth an Arduino gesendet. Das Arduino-Programm prüft in der Hauptschleife - "void loop()", ob der neue Befehl (Zeichen) von der Android-App über Bluetooth gesendet wurde. Wenn ein Zeichen von der Bluetooth-Serie ankommt, liest das Programm die seriellen Daten, bis es auf das Ende der Sprachanweisung "#" stößt. Dann startet es die Ausführung der Funktion "void processInput()" und je nach Sprachbefehl wird eine bestimmte Steuerfunktion aufgerufen.

Schritt 4: Testen des automatischen Greifens

Testen des automatischen Greifens
Testen des automatischen Greifens
Testen des automatischen Greifens
Testen des automatischen Greifens

Das Video von "Step 1" zeigt Tests von Robotergreifern basierend auf dem Programm aus dem vorherigen Abschnitt "Arduino Mega Code". Dieses Video zeigt, wie es sich automatisch öffnet, wenn sich das Objekt in seiner Nähe befindet und dieses Objekt dann greift, wenn es in Reichweite des Greifers ist. Die Rückmeldung des hier verwendeten Laser-Distanzsensors ist im weiteren Teil des Videos deutlich sichtbar, wenn ich die Flasche vor- und zurückbewege, was eine schnelle Reaktion und Änderung der Greifersteuerung bewirkt.

Schritt 5: Sprachaktiviertes automatisches Greifen

Image
Image
Epilog-Herausforderung 9
Epilog-Herausforderung 9

Im nächsten Schritt in der Entwicklung dieses Projekts habe ich die Sprachsteuerung hinzugefügt. Dank des Sprachbefehls kann ich das Schließen, Öffnen und die Geschwindigkeit des Greifers steuern. Die Sprachsteuerung ist in diesem Fall sehr nützlich, wenn Sie den Greifer öffnen, der das Objekt hält. Es ersetzt den Knopf und ermöglicht eine einfache Steuerung des Greifers am mobilen Roboter.

Wenn Ihnen dieses Projekt gefällt, vergessen Sie nicht abzustimmen und schreiben Sie in den Kommentar, was Sie im nächsten Beitrag als weitere Verbesserung dieses Projekts sehen möchten:)

  • Youtube
  • meine Webseite

Empfohlen: