Arten von Roboterarmen in KI-Kits: Eine vergleichende Analyse – Elephant Robotics

Arten von Roboterarmen in KI-Kits: Eine vergleichende Analyse

Arten von Roboterarmen in KI-Kits: Eine vergleichende Analyse
Arten von Roboterarmen in KI-Kits: Eine vergleichende Analyse

Auswahl des richtigen Roboterarms für Ihr KI-Kit

Im rasant wachsenden Bereich der künstlichen Intelligenz und Robotik revolutionieren AI Vision Kits die Interaktion von Maschinen mit ihrer Umgebung. Das AI Kit arbeitet nahtlos mit drei verschiedenen Roboterarmen zusammen: dem myPalletizer 260 , dem myCobot 280 und dem mechArm 270. Wir zeigen Ihnen die Unterschiede, damit Sie eine fundierte Entscheidung treffen können.

Was ist ein Robotics AI Kit?

Das AI Kit ist ein KI-Kit für Einsteiger, das Module für Bildverarbeitung, Positionierung, Greifen und automatisches Sortieren integriert. Basierend auf dem Linux-System und dem integrierten ROS (Robot Operating System) mit einem 1:1-Simulationsmodell unterstützt das AI Kit die Steuerung des Roboterarms durch Softwareentwicklung und ermöglicht so einen schnellen Einstieg in die Grundlagen der künstlichen Intelligenz.

Vorteile der Verwendung des AI Kits

Das KI-Kit ermöglicht derzeit Farb- und Bilderkennung sowie automatische Positionierung und Sortierung. Es ist besonders hilfreich für Anwender, die sich noch nicht mit Roboterarmen und maschinellem Sehen auskennen, da es ihnen einen schnellen Einblick in den Aufbau künstlicher Intelligenzprojekte und die Funktionsweise von maschinellem Sehen mit Roboterarmen ermöglicht.

Kompatible Roboterarme für das AI Kit

myCobot 280 (6-Achsen-Roboterarm)

myCobot 280 ist der kleinste und leichteste 6-achsige kollaborative Roboterarm (Cobot-Struktur) der Welt. Der myCobot 280 wiegt 850 g, hat eine Nutzlast von 250 g und einen effektiven Arbeitsradius von 280 mm. Er ist klein, aber leistungsstark und kann mit verschiedenen Endeffektoren eingesetzt werden, um sich an unterschiedliche Anwendungsszenarien anzupassen. Er unterstützt außerdem die Softwareentwicklung auf mehreren Plattformen, um unterschiedlichen Anforderungen gerecht zu werden, beispielsweise in der wissenschaftlichen Forschung und Lehre, bei Smart-Home-Anwendungen und in der vorbereitenden Unternehmensforschung und -entwicklung.

mechArm 270 (6-Achsen-Roboterarm)

Der mechArm 270 ist ein kleiner 6-achsiger Roboterarm mit zentrumssymmetrischer Struktur (ähnlich einer Industriestruktur). Der mechArm 270 wiegt 1 kg, hat eine Nutzlast von 250 g und einen Arbeitsradius von 270 mm. Ideal für Marker, Designer und alle, die gerne kreativ sind!

myPalletizer 260 (4-Achsen-Roboterarm)

Der myPalletizer 260 ist ein leichter 4-Achsen-Roboterarm mit optimalem Platz sparendem Flossendesign, der in einen Rucksack passt und den traditionellen 4-Achsen-Roboterarm mit Verbindungsstücken für den Unterricht ersetzt. Er wiegt 960 g, hat eine Nutzlast von 250 g und einen Arbeitsradius von 260 mm. Er ist ideal für Maker und Lehrkräfte und verfügt über zahlreiche Erweiterungsschnittstellen.

Wie funktioniert das KI-Kit mit Roboterarmen?

Am Beispiel der Farberkennung und der intelligenten Sortierfunktion erfahren wir mehr über das visuelle Verarbeitungsmodul und das Rechenmodul. Sehen wir uns nun das Video an, um zu sehen, wie das KI-Kit mit diesen drei Roboterarmen funktioniert.

Verwenden Sie das OpenCV Vision Processing Module

OpenCV (Open Source Computer Vision) ist eine Open-Source-Computer-Vision-Bibliothek zur Entwicklung von Computer-Vision-Anwendungen. OpenCV umfasst zahlreiche Funktionen und Algorithmen für Bildverarbeitung, Videoanalyse, Deep-Learning-basierte Objekterkennung und -erkennung und vieles mehr.

Wir verwenden OpenCV zur Bildverarbeitung. Das Video der Kamera wird verarbeitet, um Informationen wie Farbe, Bild und die planaren Koordinaten (x, y) im Video zu gewinnen. Die gewonnenen Informationen werden dann zur weiteren Verarbeitung an den Prozessor weitergeleitet.

Nachfolgend sehen Sie einen Teil des Codes, der für die Bildverarbeitung (Farberkennung) verwendet wird:

 
# detect cube color
 def color_detect(self, img):
 # set the arrangement of color'HSV
 x = y = 0
 gs_img = cv2.GaussianBlur(img, (3, 3), 0) # Gaussian blur
 # transfrom the img to model of gray
 hsv = cv2.cvtColor(gs_img, cv2.COLOR_BGR2HSV)
 for mycolor, item in self.HSV.items():
 redLower = np.array(item[0])
 redUpper = np.array(item[1])
 # wipe off all color expect color in range
 mask = cv2.inRange(hsv, item[0], item[1])
 # a etching operation on a picture to remove edge roughness
 erosion = cv2.erode(mask, np.ones((1, 1), np.uint8), iterations=2)
 # the image for expansion operation, its role is to deepen the color depth in the picture
 dilation = cv2.dilate(erosion, np.ones( 
(1, 1), np.uint8), Iterationen=2)
 # fügt dem Bild Pixel hinzu
 Ziel = cv2.bitwise_and(Bild, Bild, Maske=Dilatation)
 # das gefilterte Bild wird in ein Binärbild umgewandelt und in Binärformat
 ret, binär = cv2.threshold(Dilatation, 127, 255, cv2.THRESH_BINARY)
 # Holen Sie sich die Konturkoordinaten des Bildes, wobei Konturen der Koordinatenwert ist. Hier wird nur die Kontur erkannt
 Konturen, Hierarchie = cv2.findContours(
 Dilatation, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
 wenn len(Konturen) > 0:
 # etwas gegen falsche Identifizierung unternehmen
 Boxen = [
 Kasten
 für Box in [cv2.boundingRect(c) für c in Konturen]
 wenn min(Bildform[0], Bildform[1]) / 10
 < min(Box[2], Box[3])
 < min(Bildform[0], Bildform[1]) / 1
 ]
 if-Boxen:
 für Box in Box:
 x, y, b, h = Kasten
 # finde das größte Objekt, das den Anforderungen entspricht
 c = max(Konturen, Schlüssel=cv2.Konturbereich)
 # Holen Sie sich die unteren linken und oberen rechten Punkte des Positionierungsobjekts
 x, y, w, h = cv2.boundingRect(c)
 # Lokalisieren Sie das Ziel, indem Sie ein Rechteck zeichnen
 cv2.rectangle(Bild, (x, y), (x+w, y+h), (153, 153, 0), 2) 
# Berechnen Sie den Mittelpunkt des Rechtecks
 x, y = (x*2+w)/2, (y*2+h)/2
 # Berechnen Sie die tatsächlichen Koordinaten von Mycobot relativ zum Ziel
 wenn meineFarbe == "rot":
 Eigenfarbe = 0
 elif meineFarbe == "grün":
 Eigenfarbe = 1
 elif mycolor == "cyan" oder mycolor == "blue":
 Eigenfarbe = 2
 anders:
 Eigenfarbe = 3
 wenn abs(x) + abs(y) > 0:
 Rückgabe x, y
 anders:
 return Keine

Das bloße Erfassen von Bildinformationen reicht nicht aus. Wir müssen die erfassten Daten verarbeiten und zur Befehlsausführung an den Roboterarm weitergeben. Hier kommt das Rechenmodul ins Spiel.

Verwenden Sie das numerische Python-Berechnungsmodul

NumPy (Numerical Python) ist eine Open-Source-Python-Bibliothek, die hauptsächlich für mathematische Berechnungen verwendet wird. NumPy bietet zahlreiche Funktionen und Algorithmen für wissenschaftliche Berechnungen, darunter Matrixoperationen, lineare Algebra, Zufallszahlengenerierung, Fourier-Transformation und mehr.

Wir müssen die Koordinaten des Bildes verarbeiten und in reale Koordinaten umwandeln, ein Fachbegriff, der „Auge-zu-Hand-Koordinaten“ genannt wird. Wir verwenden Python und die Berechnungsbibliothek NumPy, um unsere Koordinaten zu berechnen und sie an den Roboterarm zu senden, der die Sortierung durchführt.

Hier ist ein Teil des Codes für die Berechnung:

 
while cv2.waitKey(1) < 0:
 # read camera
 _, frame = cap.read()
 # deal img
 frame = detect.transform_frame(frame)
 if _init_ > 0:
 _init_ -= 1
 continue
 # calculate the parameters of camera clipping
 if init_num < 20:
 if detect.get_calculate_params(frame) is None:
 cv2.imshow("figure", frame)
 continue
 else:
 x1, x2, y1, y2 = detect.get_calculate_params(frame)
 detect.draw_marker(frame, x1, y1)
 detect.draw_marker(frame, x2, y2)
 detect.sum_x1 += x1
 detect.sum_x2 += x2
 detect.sum_y1 += y1
 detect.sum_y2 += y2
 init_num += 1
 continue
 elif init_num == 20:
 detect.set_cut_params(
 (detect.sum_x1)/20.0,
 (detect.sum_y1)/20.0,
 (detect.sum_x2)/20.0,
 (detect.sum_y2)/20.0,
 )
 detect.sum_x1 = detect.sum_x2 = detect.sum_y1 = detect.sum_y2 = 0
 init_num += 1 
weitermachen
 # Berechne die Parameter der Koordinaten zwischen Würfel und Mycobot
 wenn nparams < 10:
 wenn detect.get_calculate_params(frame) None ist:
 cv2.imshow("Abbildung", Rahmen)
 weitermachen
 anders:
 x1, x2, y1, y2 = erkennen.get_calculate_params(Rahmen)
 detect.draw_marker(Rahmen, x1, y1)
 detect.draw_marker(Rahmen, x2, y2)
 detect.sum_x1 += x1
 detect.sum_x2 += x2
 detect.sum_y1 += y1
 detect.sum_y2 += y2
 nparams += 1
 weitermachen
 elif nparams == 10:
 nparams += 1
 # Berechnen und Festlegen der Parameter zur Berechnung der tatsächlichen Koordinaten zwischen Würfel und Mycobot
 erkennen.set_params(
 (erkenne.sum_x1+erkenne.sum_x2)/20.0,
 (erkenne.sum_y1+erkenne.sum_y2)/20.0,
 abs(detect.sum_x1-detect.sum_x2)/10.0 +
 abs(detect.sum_y1-detect.sum_y2)/10.0
 )
 drucken ("ok")
 weitermachen
 # Erkennungsergebnis abrufen
 Erkennungsergebnis = Erkennung.Farberkennung(Rahmen)
 wenn detect_result None ist:
 cv2.imshow("Abbildung", Rahmen)
 weitermachen
 anders:
 x, y = Erkennungsergebnis
 # Berechne die tatsächlichen Koordinaten zwischen Würfel und Mycobot
 real_x, real_y = erkennen.Position abrufen(x, y)
 wenn num == 20:
 detect.pub_marker(real_sx/20.0/1000.0, real_sy/20.0/1000.0) 
detect.decide_move(real_sx/20.0, real_sy/20.0, detect.color)
 Num = real_sx = real_sy = 0
 anders:
 Zahl += 1
 real_sy += real_y
 real_sx += real_x

Das AI Kit-Projekt ist Open Source und auf zu finden.

Hauptunterschiede zwischen den drei Roboterarmen

Ein Vergleich der Videos, Inhalte und des Programmcodes der drei Roboterarme zeigt, dass sie dasselbe Framework verwenden und nur geringfügige Datenänderungen für einen effektiven Betrieb benötigen. Es gibt zwei Hauptunterschiede zwischen den drei Roboterarmen:

4 DOF vs. 6 DOF Roboterarme

Wie im Video zu sehen ist, verfügen sowohl der 4- als auch der 6-achsige Roboterarm über einen ausreichenden Bewegungsbereich, um im Arbeitsbereich des AI Kits effektiv zu arbeiten. Sie unterscheiden sich jedoch in der Komplexität der Einrichtung. Der 4-achsige myPalletizer 260 zeichnet sich durch ein optimiertes Design mit weniger beweglichen Gelenken (4) aus, was einen schnelleren Startvorgang ermöglicht. Im Gegensatz dazu benötigt der myCobot 280/mechArm 270 sechs Gelenke, zwei mehr als der myPalletizer 260. Dies führt zu mehr Berechnungen im Programm und einer längeren Startzeit (bei kleineren Szenarien).

Zentralisierte symmetrische Struktur vs. myCobot-Struktur

Industrieroboter nutzen überwiegend eine zentrosymmetrische Struktur. Dieses Design, beispielsweise der MechArm 270 mit seinen 2-, 3- und 4-Achs-Gelenken, bietet dank der beidseitigen Unterstützung inhärente Stabilität und gleichmäßige Bewegungen. Im Gegensatz dazu setzt die Cobot-Struktur auf einen größeren Arbeitsradius und verbesserte Bewegungsflexibilität durch den Verzicht auf die zentrale Stützsäule. Diese Flexibilität kann jedoch zu geringfügigen Abweichungen in der Bewegungspräzision im Vergleich zum zentrosymmetrischen Design führen, da der Roboterarm für seine Stabilität ausschließlich auf die Motorsteuerung angewiesen ist.

Treffen Sie Ihre Wahl

Die Auswahl des am besten geeigneten Roboterarms aus den drei im AI Kit enthaltenen Modellen hängt von der jeweiligen Anwendung ab. Wichtige Faktoren sind der Arbeitsradius des Arms, die Einsatzumgebung und die Tragfähigkeit.

Für alle, die sich mit Roboterarmtechnologie beschäftigen möchten, können die aktuell verfügbaren Robotermodelle wertvolle Lernhilfen sein. Hier ist ein kurzer Überblick über die Designphilosophie der einzelnen Arme von Elephant Robotics:

  • myPalletizer 260 : Inspiriert von Palettierrobotern, zeichnet er sich durch die Palettierung und Handhabung von Waren auf Paletten aus.
  • mechArm 270 : Bei seinem Design steht die Betriebsstabilität mit einer speziellen Struktur im Vordergrund.
  • myCobot 280 : Er spiegelt einen aktuellen Trend bei kollaborativen Robotern wider und zeichnet sich durch eine für den Menschen sichere Interaktion sowie Fähigkeiten aus, die menschliche Stärke und Präzision nachahmen.

Hinterlassen Sie einen Kommentar

Bitte beachten Sie, dass Kommentare vor der Veröffentlichung freigegeben werden müssen

Suchen Sie auf unserer Seite

Einkaufswagen