https://shop.elephantrobotics.com/de/blogs/learning-center.atom Elephant Robotics - Lernzentrum 2025-02-28T16:37:04+08:00 Elephant Robotics https://shop.elephantrobotics.com/de/blogs/learning-center/how-to-use-pybullet-for-imitation-learning-with-mycobot-320-robot-arm 2025-02-28T16:37:04+08:00 2025-02-28T16:37:08+08:00 Wie verwende ich PyBullet für Imitationslernen mit dem Roboterarm myCobot 320? Lisha Qiu Hauptfunktionen und Implementierung:

Robotersimulation mit PyBullet – Simulation der Bewegungen von myCobot in einer virtuellen Umgebung.

Imitation Learning Model Training – Dem Roboter beibringen, vordefinierte Aufgaben zu replizieren.

Präzise Manipulationstechniken – Implementierung von Gelenkgeschwindigkeitskontrolle und inverser Kinematik für präzise Bewegungen.

Echtzeitvisualisierung – Beobachten und Analysieren der Aktionen des Roboters in der Simulation.

Mehr

]]>

PyBullet-basiertes Imitationslernen für den Roboterarm myCobot 320

In den letzten Jahren hat sich das bestärkende Lernen von Robotern rasant weiterentwickelt, wobei sich Imitationslernen als vielversprechender Ansatz herausgestellt hat. Diese Methode ermöglicht es Robotern, Aufgaben durch Beobachtung menschlicher Demonstrationen zu erlernen, was ein intuitiveres Training insbesondere in komplexen Umgebungen ermöglicht. Um den Lernprozess zu vereinfachen, führt Sie diese Anleitung durch die Implementierung von Imitationslernen für den 6-DOF myCobot 320 M5Stack mit PyBullet.


Wofür wird PyBullet verwendet?

PyBullet ist eine Physiksimulationsbibliothek, die in der Robotik häufig zur Erstellung virtueller Umgebungen eingesetzt wird. Sie bietet Werkzeuge zur Simulation der Roboterphysik und ihrer Interaktionen mit der Umgebung.


myCobot-Steuerung mithilfe eines vortrainierten Imitation-Learning-Modells

In diesem Projekt verwenden wir ein vortrainiertes Imitationslernmodell, um myCobot in einer simulierten Umgebung zu steuern. Wir verweisen auf das GitHub-Open-Source-Projekt Simple Imitation Learning von Sicelukwanda Zwane, der technischen Support leistete. Darüber hinaus hat Geraud Nangue Tasse, ein wichtiger Unterstützer des Robot Learning Workshops , maßgeblich zu diesem Projekt beigetragen.

Hauptfunktionen und Implementierung:

Robotersimulation mit PyBullet – Simulation der Bewegungen von myCobot in einer virtuellen Umgebung.

Imitation Learning Model Training – Dem Roboter beibringen, vordefinierte Aufgaben zu replizieren.

Präzise Manipulationstechniken – Implementierung von Gelenkgeschwindigkeitskontrolle und inverser Kinematik für präzise Bewegungen.

Echtzeitvisualisierung – Beobachten und Analysieren der Aktionen des Roboters in der Simulation.


Projekteinrichtung: Eine Schritt-für-Schritt-Anleitung

1. Einrichten der PyBullet-Simulation

Zuerst müssen wir den 6-Achsen-Roboterarm myCobot 320 in PyBullet laden und die physikalische Simulationsumgebung einrichten.

 
import pybullet as p
 import pybullet_data as pd
 import numpy as np
 import time
 # use PyBullet
 client_id = p.connect(p.GUI)
 p.setAdditionalSearchPath(pd.getDataPath())
 p.setGravity(0, 0, -9.8)
 # load 2 model a plane and a robot
 plane_id = p.loadURDF("plane.urdf")
 robot_id = p.loadURDF("mycobot_description/urdf/mycobot/mycobot_urdf.urdf", useFixedBase=True)
 # set step
 time_step = 1/240
 p.setTimeStep(time_step)

Alternativ können Sie die Roboterarmsimulation einfach mit dem von Sicelukwanda Zwane geschriebenen Code testen.

 
pip install pybullet numpy
 git clone https://github.com/Sicelukwanda/robot_learning_tutorial.gi 
CD Roboter-Lern-Tutorial
 python3 move_basic.py 

2. Sammeln Sie Demonstrationsdaten

Beim Imitationslernen müssen wir eine große Menge an Demonstrationsdaten sammeln, darunter:

  • Zustand – Gelenkwinkel und Geschwindigkeit des Roboterarms.
  • Aktion – der Zielgelenkwinkel oder die Zielgeschwindigkeit des Roboterarms.

Hier verwenden wir Pybullet, um den Status des Roboterarms abzurufen und einige Demonstrationsaktionen mit einfachem Code zu definieren.

 
states = []
 actions = []
 for i in range(100):
 joint_positions = [0, 0.3*np.sin(i/10), -np.pi/4, 0, np.pi/4, 0]
 states.append(joint_positions)
 actions.append(joint_positions) # In imitation learning, the ideal action is the correct state
 p.setJointMotorControlArray(robot_id, range(6), p.POSITION_CONTROL, targetPositions=joint_positions)
 p.stepSimulation()
 time.sleep(time_step)
 # save data
 np.save("states.npy", np.array(states))
 p.save("actions.npy", np.array(actions))

3. Training des Roboters

Wir müssen PyTorch installieren und mit dem Training eines neuronalen Netzwerkmodells beginnen.


import torch
import torch.nn as nn
import torch.optim as optim
# load 
X_train = np.load("states.npy")
y_train = np.load("actions.npy")
# trans to  PyTorch tensor
X_train = torch.tensor(X_train, dtype=torch.float32)
y_train = torch.tensor(y_train, dtype=torch.float32)
# load a simple network
class ImitationNetwork(nn.Module):
    def __init__(self, input_dim, output_dim):
        super(ImitationNetwork, self).__init__()
        self.model = nn.Sequential(
            nn.Linear(input_dim, 64),
            nn.ReLU(),
            nn.Linear(64, 64),
            nn.ReLU(),
            nn.Linear(64, output_dim)
        )
    def forward(self, x):
        return self.model(x)
model = ImitationNetwork(input_dim=6, output_dim=6)
optimizer = optim.Adam(model.parameters(), lr=0.001)
loss_fn = nn.MSELoss()
# start training
epochs = 100
for epoch in range(epochs):
    optimizer.zero_grad()
    output = model(X_train)
    loss = loss_fn(output, y_train)
    loss.backward()
    optimizer.step() 
drucken(f"Epoche {Epoche+1}, Verlust: {loss.item():.4f}")
 # speichern
 torch.save(model.state_dict(), "imitation_model.pth")

4. Test

 
# Load your model
 model.load_state_dict(torch.load("imitation_model.pth"))
 model.eval()
 for i in range(100):
 joint_state = np.load("states.npy")[i]
 input_tensor = torch.tensor(joint_state, dtype=torch.float32).unsqueeze(0)
 predicted_action = model(input_tensor).detach().numpy().flatten()
 p.setJointMotorControlArray(robot_id, range(6), p.POSITION_CONTROL, targetPositions=predicted_action)
 p.stepSimulation()
 time.sleep(time_step)
 

Da die Bewegung des Roboterarms nicht manuell erfasst, sondern mithilfe von Code generiert wird, mangelt es ihm an Authentizität, was die Lernergebnisse beeinträchtigt. Daher kann der 6-achsige Roboterarm myCobot 320 M5Stack im praktischen Lernen bessere Bewegungsdaten erfassen.


Zusammenfassung

Diese Anleitung zeigt, wie Sie PyBullet für Imitationslernen mit myCobot-Roboterarmen verwenden, einschließlich Datenerfassung und -validierung.

In der Praxis können Sie dieses Tutorial wie folgt erweitern:

✅Verwendung fortgeschrittenerer neuronaler Netzwerke (wie LSTMs) zur Verarbeitung von Zeitreihendaten.

✅Integration von Reinforcement Learning (RL), um Robotern die autonome Optimierung ihres Verhaltens zu ermöglichen.

✅Anwenden der erlernten Strategien auf einen echten myCobot-Roboterarm.

Sie können versuchen, die Aufgabenziele zu ändern, indem Sie myCobot beispielsweise komplexere Vorgänge wie Pick-and-Place durchführen lassen. Wir freuen uns, wenn mehr Nutzer und Maker die Roboter der myCobot-Serie erkunden, um innovative Projekte zu entwickeln und an unserer Fallsammlungsaktion teilzunehmen.

Schaltpläne

mycobot_320_urdf herunterladen

Code: data_collection.pyPython

 
import pybullet as p
 import pybullet_data as pd
 import numpy as np
 import time
 # use PyBullet
 client_id = p.connect(p.GUI)
 p.setAdditionalSearchPath(pd.getDataPath())
 p.setGravity(0, 0, -9.8)
 # load 2 model a plane and a robot
 plane_id = p.loadURDF("plane.urdf")
 robot_id = p.loadURDF("mycobot_description/urdf/mycobot/mycobot_urdf.urdf", useFixedBase=True)
 # set step
 time_step = 1/240
 p.setTimeStep(time_step)
 states = []
 actions = []
 for i in range(100):
 joint_positions = [0, 0.3*np.sin(i/10), -np.pi/4, 0, np.pi/4, 0]
 states.append(joint_positions)
 actions.append(joint_positions) # In imitation learning, the ideal action is the correct state
 p.setJointMotorControlArray(robot_id, range(6), p.POSITION_CONTROL, targetPositions=joint_positions)
 p.stepSimulation()
 time.sleep(time_step)
 # save data 
np.save("states.npy", np.array(states))
 p.save("Aktionen.npy", np.array(Aktionen))
]]>
https://shop.elephantrobotics.com/de/blogs/learning-center/ai-kit-choose-robotic-arm 2024-07-11T20:59:43+08:00 2024-07-11T20:59:43+08:00 Arten von Roboterarmen in KI-Kits: Eine vergleichende Analyse Lisha Qiu Mehr

]]>
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 GitHub 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.
]]>
https://shop.elephantrobotics.com/de/blogs/learning-center/m5-vs-pi-robotic-arm 2024-06-26T21:49:16+08:00 2025-02-26T17:41:11+08:00 M5 vs. PI-Roboterarm: Die Wahl der richtigen Programmierplattform Lisha Qiu Mehr

]]>
M5 vs. PI-Roboterarm: Die Wahl der richtigen Programmierplattform

M5- und PI-Roboterarme

Elephant Robotics bietet für alle, die sich für die Entwicklung von Roboterarmen interessieren, zwei spannende Optionen: die M5-Version und die PI-Version. Dieser Leitfaden hilft Ihnen, die wichtigsten Unterschiede zwischen diesen beiden Plattformen zu verstehen und diejenige auszuwählen, die Ihren Programmieranforderungen und -präferenzen am besten entspricht.

Roboterarm der M5Stack-Version

Funktionen und Steuerungssystem

Die M5-Version ist ein kompakter Roboterarm, der sich gut für den Einsatz auf dem Tisch eignet. Er nutzt einen ESP32-Core-Prozessor und verfügt über zwei integrierte Bildschirme und physische Tasten für eine intuitive Steuerung.

Programmieroptionen

Die M5-Version ist mit mehreren Programmierumgebungen kompatibel, darunter myBlockly (eine visuelle Programmiersprache ), Python , C++ , C# , Arduino , JavaScript und ROS . Tutorials sind in den GitBook 0-1-Dokumenten verfügbar, die Sie durch den Erstellungsprozess führen.

Verbindungsanforderungen

Roboterarme der M5-Version selbst verfügen nur über die Funktion **Aufzeichnen und Abspielen**, d. h. Aufzeichnen und Abspielen von Aktionen. Wenn Sie UIFlow, Python oder Arduino für die weitere Entwicklung benötigen, müssen Sie eine Verbindung zu einem PC oder Laptop herstellen. Die Verbindungsmethoden sind wie folgt:

  • Nachdem die Verbindung hergestellt ist, schalten Sie die Manipulatorkommunikation gemäß den folgenden Schritten ein. Hinweis:

Roboterarm in Raspberry-Pi-Version

Funktionen und Entwicklungsumgebung

Die PI-Version ist eine leistungsstarke Entwicklungsplattform, die auf einem Raspberry Pi 4B-Core-Prozessor basiert. Diese Version richtet sich an Entwickler, die mit Linux-Systemen vertraut sind, und bietet eine integrierte Entwicklungsumgebung, die mit Ubuntu 18.04 vorinstalliert ist. Zusätzlich unterstützt sie Python , ROS und myBlockly .

Unabhängiges System und Betrieb

Im Gegensatz zur M5-Version fungiert die PI-Version als unabhängige Entwicklungsplatine mit eigenem Betriebssystem. Sie funktioniert im Wesentlichen wie ein Miniaturcomputer, sodass keine ständige PC-Verbindung erforderlich ist.

Anschluss und Einrichtung

Für den Anschluss der PI-Version sind ein separater Monitor, eine Maus, eine Tastatur und ein Netzteil erforderlich. Sobald die Verbindung hergestellt ist, können Sie auf die integrierte Entwicklungsumgebung zugreifen und mit der Programmierung des Roboterarms beginnen.

    • Stecken Sie das HDMI-Kabel in den HDMI-Anschluss des Monitors:
    • Stecken Sie das andere Ende in den HDMI-Anschluss des Roboterarms:

Welcher Roboterarm ist der richtige für Sie? Vergleichen Sie auch myCobot 280 und mechArm 270. Die M5-Version ist ideal für Einsteiger und bietet kompaktes Design, intuitive Steuerung und PC-Anbindung für fortgeschrittene Programmierung. Die PI-Version hingegen ist eine leistungsstarke Option für erfahrene Entwickler, die ein eigenständiges System mit integrierten Entwicklungstools bevorzugen. Unabhängig von Ihrem Kenntnisstand unterstützt Sie der Roboterarm von Elephant Robotics bei Ihren ersten Schritten (oder Sprüngen!) und der kreativen Umsetzung spannender Roboterprojekte.

]]>
https://shop.elephantrobotics.com/de/blogs/learning-center/how-to-choose-your-beginner-robotic-arm 2024-06-03T18:38:55+08:00 2025-03-20T17:32:14+08:00 Wie wählt man einen 6-Achsen-Roboterarm für den Desktop für Anfänger aus? SongJoey Mehr

]]>

Robotik lernen mit Lernrobotern

In der heutigen, sich rasant entwickelnden Technologielandschaft ist der Aufstieg der Automatisierung unvermeidlich und führt zu einem wachsenden Interesse an Roboterarmen. Bevor Sie sich mit komplexen Industrierobotern beschäftigen, ist das Lernen von Lernrobotern ein hervorragender Einstieg. Es gibt viele Roboterarme für Bildung und Forschung. Wie finden wir die richtige Wahl auf dem Robotikmarkt?

Wir stellen zwei kleine sechsachsige Roboterarme für den Schreibtisch vor, die ideal für Anfänger sind, die Robotik erlernen und schnell Prototypen bauen möchten. Wir vergleichen die beiden Roboter und helfen Ihnen, den besten für Ihre Bedürfnisse zu finden.

Was ist der Unterschied zwischen einem Industrieroboter und einem kollaborativen Roboter?

Industrielle Roboterarme

Industrieroboter eignen sich hervorragend für schnelle und anspruchsvolle Aufgaben in gefährlichen Umgebungen. Dies führt zu einer höheren Produktionsleistung, geringeren Betriebskosten für Unternehmen und einer verbesserten Arbeitssicherheit durch den Wegfall menschlicher Eingriffe in gefährliche Aufgaben. Aufgrund ihrer kraftvollen Bewegungen werden Industrieroboter häufig in gesicherten Bereichen wie Käfigen installiert, um die Sicherheit zu gewährleisten.

Kollaborative Roboterarme

Im Gegensatz zu ihren industriellen Pendants sind kollaborative Roboter kleiner, leichter und mit Sicherheitsfunktionen wie Sensoren und Kraftkontrolle ausgestattet. Dadurch können sie sicher mit Menschen zusammenarbeiten und sind daher ideal für kollaborative Aufgaben.

Warum einen Desktop-Roboterarm wählen?

Kleine Schreibtischroboter sind speziell für Lernzwecke konzipiert. Sie sind erschwinglich und einfach zu bedienen. Sie unterstützen Pick-and-Place, Bewegungssteuerung, visuelles Tracking und mehr.

  • Die meisten industriellen Roboterarme haben eine zentrosymmetrische Struktur, und kollaborative Roboterarme haben eine Cobot-Struktur.

myCobot 280 M5Stack

myCobot 280 gibt es in 4 Versionen . M5 Stack ist ein 6-achsiger kollaborativer Roboter mit M5Stack-Basic-Antrieb und mehreren Funktionen. Er ist mit einer Cobot-Struktur ausgestattet.

mechArm 270 M5Stack

mechArm 270 M5 Stack ähnelt myCobot, aber die Struktur von mechArm ist zentrosymmetrisch.

Entwicklungs- und Programmieroptionen

Sowohl myCobot als auch mechArm ermöglichen die schnelle Einrichtung einer Entwicklungsumgebung und das Erlernen der Armsteuerungslogik. Sie unterstützen gängige Programmiersprachen wie Python, C++, C# und JavaScript. Elephant Robotics bietet ein Gitbook zum schnellen Aufbau einer Roboterarm-Entwicklungsumgebung mit detaillierten Tutorials zu allen Themen, vom Einrichten der Umgebung bis zur Steuerung des Roboterarms.

ROS-Demo

Verwenden Sie den Schieberegler, um myCobot zu steuern.

MoveIt zur Programmierung, ermöglicht Pfadplanung und Hindernisvermeidung.

Sie können in ein KI-Kit integriert werden, sodass Benutzer Konzepte wie maschinelles Sehen und Roboterarmkoordination für Aufgaben wie Objekterkennung und Greifen erkunden können.

  • Bei den Schnittstellen am Ende des Roboterarms handelt es sich um LEGO-Schnittstellen. Wir können das Zubehör von Elephant Robotics verwenden oder es selbst per 3D-Druck herstellen, um unsere Entwicklungsanforderungen zu erfüllen.

myCobot vs. mechArm

Schauen wir uns ihre Konfiguration an. Was ist der Unterschied?

Spezifikation mechArm 270 M5 myCobot 280 M5
Struktur Zentrosymmetrisch Cobot
Freiheitsgrad 6 6
Nutzlast Emmentaler mild ca. 250g Emmentaler mild ca. 250g
Arbeitsradius 270 mm 280 mm
Positionierungsgenauigkeit ±0,5 mm ±0,5 mm
Gewicht 1000 g 850 g
Meisterkern ESP32 ESP32
Lenkgetriebetyp Hochleistungs-Servomotor Hochleistungs-Servomotor
Hauptfrequenz 240 MHz Dual-Core 240 MHz Dual-Core
Rechenleistung 600 DMIPS 600 DMIPS
Arbeitslebensdauer 500 Stunden 500 Stunden
SRAM 520 KB 520 KB
Bluetooth Dual-Modus Bluetooth 2.4G/5G Dual-Modus Bluetooth 2.4G/5G
Core Flash 4M 4M
Programmierung Python, C++, C#, JavaScript Python, C++, C#, JavaScript
Gelenkrotationsgeschwindigkeit J1: -165°~+165°
J2: -90°~+90°
J3: -180°~+65°
J4: -165°~+165°
J5: -115°~+115°
J6: -175°~+175°
J1: -168°~+168°
J2: -135°~+135°
J3: -150°~+150°
J4: -145°~+145°
J5: -165°~+165°
J6: -180°~+180°
  • Die Unterschiede im Arbeitsradius, der Positioniergenauigkeit und dem Bewegungsumfang der Gelenke sind auf den unterschiedlichen Aufbau zurückzuführen.

Struktur und Stabilität

  • Zentrosymmetrische Struktur (MechArm): Dies ist die am häufigsten verwendete Struktur für Industrieroboter. Die Gelenke 2, 3 und 4 des MechArms profitieren von der beidseitigen Unterstützung, was für mehr Stabilität und sanftere Bewegungen sorgt.
  • Cobot-Struktur (myCobot): Die UR-Struktur ermöglicht durch das Fehlen einer zentralen Stützsäule einen größeren Arbeitsradius und flexiblere Bewegungen. Diese Flexibilität kann jedoch zu leichten Bewegungsabweichungen im Vergleich zum zentrosymmetrischen Design führen, da der Roboterarm ohne die Halterung auf die Motoren angewiesen ist, um stabil zu bleiben.

Gelenkrotationsbereich

mechArm

meinCobot

  • mechArm ist in seiner Bewegung eingeschränkt, myCobot ist flexibler.

Treffen Sie Ihre Wahl

Spezifikation mechArm 270 M5 myCobot 280 M5
Struktur Zentrosymmetrisch Cobot
Freiheitsgrad 6 6
Positionierungsgenauigkeit ±0,5 mm ±0,5 mm
Nutzlast Emmentaler mild ca. 250g Emmentaler mild ca. 250g
Arbeitsradius 270 mm 280 mm
Gelenkrotationsgeschwindigkeit J1: -165°~+165°
J2: -90°~+90°
J3: -180°~+65°
J4: -165°~+165°
J5: -115°~+115°
J6: -175°~+175°
J1: -168°~+168°
J2: -135°~+135°
J3: -150°~+150°
J4: -145°~+145°
J5: -165°~+165°
J6: -180°~+180°
Struktur und Stabilität der Bewegung Besser Normal
Flexibilität Normal Besser
Auswahlmöglichkeiten für Anfänger Besser Besser
Szenarien Ausbildung
Forschung
Die Prinzipien von Roboterarmen erlernen
Szenarien für industrielle Roboterarme
Industrielle Bildverarbeitung
Ausbildung
Forschung
Die Prinzipien von Roboterarmen erlernen
Szenario eines kollaborativen Roboterarms
Industrielle Bildverarbeitung

Für Anfänger bieten Desktop-Roboterarme einen perfekten Einstieg in die Welt der Robotik. Beide sind 6-achsige Roboterarme, die für den pädagogischen und privaten Gebrauch konzipiert sind.

]]>
https://shop.elephantrobotics.com/de/blogs/learning-center/choosing-best-mycobot-280-version 2024-05-28T11:03:16+08:00 2024-06-04T15:48:12+08:00 Auswahl der geeigneten myCobot 280-Version für Ihre Bildungs- und Entwicklungsanforderungen SongJoey Die myCobot 280-Serie von Elephant Robotics, die weltweit über 20.000 Mal verkauft wurde, ist für ihre Präzision und Vielseitigkeit im Bildungsbereich bekannt. Diese kollaborativen Roboterarme mit sechs Freiheitsgraden verfügen über eine Nutzlast von 250 g, eine Armspannweite von 280 mm und eine präzise Positioniergenauigkeit von ±0,5 mm.

Es gibt vier verschiedene Versionen für unterschiedliche Anforderungen: myCobot 280 Pi, myCobot 280 M5, myCobot 280 Jetson Nano und myCobot 280 für Arduino. Jede Version bietet einzigartige Funktionen und Möglichkeiten, sodass Benutzer die perfekte Lösung für ihre spezifischen Anforderungen finden.

  • myCobot 280 Pi: Ideal für Raspberry-Pi-Enthusiasten und MINT-Pädagogen, da es erschwinglich und zugänglich ist.
  • myCobot 280 M5: Perfekt für Maker und den Unterricht in den unteren Klassenstufen, bietet kostengünstige Open-Source-Hardware und API-Schnittstellen.
  • myCobot 280 Jetson Nano: Am besten für leistungsstarke Bildverarbeitung geeignet, geeignet für KI-Programmierung und Anwendungen der maschinellen Bildverarbeitung.
  • myCobot 280 für Arduino: Budgetfreundlich und vielseitig, ideal für Arduino-Enthusiasten und die Integration in Bildungseinrichtungen.
Die myCobot 280-Serie lässt sich zudem nahtlos in myAGV 2023 integrieren und eignet sich daher für komplexe Projekte und wettbewerbsintensive Umgebungen. Über den Bildungsbereich hinaus sind diese Roboterarme in verschiedenen Branchen einsetzbar, von der Fertigung über die Medizintechnik bis hin zur Heimautomatisierung. Die myCobot 280-Serie bietet eine vielseitige und innovative Lösung für die Beherrschung von Programmierung und Robotik.

Mehr

]]>
Die myCobot 280-Serie ist ein Highlight in Die Roboterpalette von Elephant Robotics . Mit über 20.000 verkauften Einheiten in 50 Ländern sind sie weltweit beliebt und für ihre Präzision und Vielseitigkeit bekannt. Diese fortschrittlichen kollaborativen Roboter mit sechs Freiheitsgraden revolutionieren Bildungsanwendungen mit ihren innovativen Funktionen. Die myCobot 280 Serie sind kollaborative 6-DOF-Tischroboterarme, die mit einer Nutzlast von 250 g, einer schlanken Armspannweite von 280 mm und einer präzisen Positionierungsgenauigkeit von ±0,5 mm die Tragbarkeit neu definieren.

4 Versionen für unterschiedliche Anforderungen

Die myCobot 280-Serie deckt mit 4 verschiedenen Versionen ein breites Spektrum an Anforderungen ab: myCobot 280 Pi , myCobot 280 M5 , myCobot 280 Jetson Nano und myCobot 280 für Arduino . Jede Version bietet optimale Leistung und Flexibilität, sodass Anwender die perfekte Lösung für ihre spezifischen Anforderungen finden. Der myCobot 280 Pi integriert den Raspberry Pi 4B mit einer 1,5 GHz 4-Core-CPU und läuft auf der Debian/Ubuntu-Plattform. Er verfügt über integrierte ROS- und myBlockly-Visualisierung für verbesserte Skalierbarkeit und einen erschwinglichen Preis und lässt sich dank der integrierten WLAN-Karte nahtlos mit WLAN verbinden. Der myCobot 280 M5, ausgestattet mit M5Stack Atom & Basic ESP32, verfügt über zwei Displays für eine schnellere visuelle Bedienung und Statusüberwachung. Er bietet hohe Leistung, Zuverlässigkeit und Skalierbarkeit und lässt sich einfach an einen Computer anschließen. Damit eignet er sich perfekt für Anwendungen vom Studiohelfer bis zum Küchenhelfer. Angetrieben vom Jetson Nano AI Board und kompatibel mit dem myCobot Kameraflansch 2.0, zeichnet sich der myCobot 280 Jetson Nano durch schnelle Bildverarbeitung, Entwicklung von Roboteralgorithmen und ROS-Simulationslernen aus. Seine fortschrittlichen KI-Funktionen vereinfachen die Entwicklung für Anfänger und liefern gleichzeitig verbesserte Ergebnisse bei Auge-in-Hand-Roboterprojekten. Der myCobot 280 für Arduino ist mit verschiedenen Arduino- oder Arduino-ähnlichen Boards und Erweiterungen kompatibel und vereinfacht Forschung und Entwicklung. Mit der benutzerfreundlichen Arduino-Software ermöglicht er Entwicklern die Erstellung einzigartiger Roboterlösungen und bietet eine offene Entwicklungsumgebung für individuelles Boarddesign.

myCobot-280-Anwendungsszenarien

Funktionen und Anwendungsszenarien der einzelnen Versionen

Bei der Auswahl einer Version berücksichtigen unsere Anwender im Bildungsbereich typischerweise Faktoren wie den Schwierigkeitsgrad der Lehre, die Benutzerfreundlichkeit für die Schüler, den Preis, die Laufruhe des Roboterarms und das bevorzugte Hard- oder Softwaresystem der Nutzer. Innerhalb der myCobot 280-Serie sind der myCobot 280 Pi und der myCobot 280 M5 die meistverkauften Roboterarme. Ihre Benutzerfreundlichkeit, Erschwinglichkeit und Flexibilität machen sie zur idealen Cobot-Wahl für eine breite Palette von Schülern und Lehrkräften und perfekt geeignet für Bildungsanwendungen.

myCobot 280 Pi: Ideal für Raspberry-Pi-Enthusiasten und MINT-Pädagogen

Der myCobot 280 Pi richtet sich an ein breites Spektrum an Anwendern, vom Anfänger bis zum MINT-Lehrer. Dank seiner intuitiven Plattform und der lebendigen Community erleichtert er die grundlegende Informatikausbildung. Er ist die ideale Wahl für Raspberry-Pi-Enthusiasten, Entwickler von ROS-Steuerungssystemen und alle, die sich mit Roboterkinematik beschäftigen. Diese Version ist ein leicht zugängliches Roboterwerkzeug für den Unterricht und für einzelne Lernende, die in die Welt der Robotik einsteigen. Dank seines günstigen Preises und seiner Zugänglichkeit eignet er sich besonders für Anwender mit Grundkenntnissen in Linux-Systemen.

myCobot-280-Raspberry-Pi

myCobot 280 M5: Perfekt für Maker und den Unterstufenunterricht

Die offene M5Stack-Plattform des myCobot 280 M5 bietet kostengünstigen Zugang zu Open-Source-Hardware und API-Schnittstellen und ist daher bei Makern und Entwicklern in Japan beliebt. Dank umfangreicher Anpassungsmöglichkeiten und einfacher Bedienung ist sie ideal für Enthusiasten von Entwicklungsboards der Stack-Serie, Entwickler eingebetteter Hardware und alle, die mit mehreren Entwicklungsplattformen vertraut sind. Obwohl die Softwareumgebung konfiguriert und mit einem PC gekoppelt werden muss, eignet sie sich aufgrund ihrer unkomplizierten Bedienung besonders für Bildungsanwendungen, insbesondere in der Grundstufe.

myCobot-280-M5

myCobot 280 Jetson Nano: Die ultimative Wahl für leistungsstarke Bildverarbeitung

Der myCobot 280 Jetson Nano zeichnet sich als vielseitigste Version der Serie aus und bietet sowohl Einzelanwendern als auch Bildungseinrichtungen beispiellose Flexibilität. Nutzer können ihn mit ihrem bevorzugten Entwicklungsboard kombinieren und so ihre Fähigkeiten ohne Hardwareaustausch maximieren. Dank seiner Anpassungsfähigkeit können Schulen die Boards je nach Lehrplananforderungen austauschen, die Kursgestaltung optimieren und Kosten senken. Ideal für Enthusiasten der NVIDIA Jetson Nano-Serie, Entwickler von Machine-Vision-Anwendungen und alle, die sich mit Deep Learning und KI-Programmierung beschäftigen, eröffnet er dank seiner robusten Bildverarbeitungsfunktionen endlose Möglichkeiten für die Weiterentwicklung. Dank der im Vergleich zum Pi höheren Rechenleistung des Jetson Nano gewährleistet er auch bei hohen Rechenleistungsanforderungen eine reibungslose Programmierleistung. Für Anwender, die Wert auf reibungslose Programmierleistung legen, ist die myCobot 280 Jetson Nano-Version die perfekte Roboterwahl.

myCobot-280-Jetson-Nano

myCobot 280 für Arduino: Budgetfreundlich und vielseitig für Robotik-Enthusiasten

Der myCobot 280 für Arduino bietet Lehrkräften wichtige Hardware- und Software-Tools, die Innovationen im Unterricht fördern und die Robotik effektiv in den Lehrplan integrieren. Er eignet sich für Arduino-Enthusiasten, Personen mit Grundkenntnissen in Elektrotechnik und Liebhaber von Master-Steuerkarten mit serieller Schnittstelle und ermöglicht die nahtlose Integration von Robotik in den Unterricht.

myCobot-280-für-Arduino

Der perfekte Roboterarm für hervorragende Bildung

Die myCobot 280-Serie ist ein Leuchtturm der Innovation und bietet eine ideale Plattform für die Beherrschung von Programmiersprachen und die Erkundung der Robotik. Jede Version unterstützt vielseitige Entwicklungs- und Steuerungsmodi, darunter Code-Programmierung, manuelle Drag-and-Drop-Anwendungen und Robotersimulationsprogrammierung. Diese 6-DOF-Roboterarme fördern ein tiefes Verständnis der Robotik und ermöglichen Schülern aller Altersgruppen eine sinnvolle Auseinandersetzung mit dieser fortschrittlichen Technologie. Durch die Unterstützung verschiedener Programmiersprachen wie ROS, Python, C++, C# und Jetson Nano legt die myCobot 280-Serie eine solide Grundlage für die Programmierausbildung. Diese breite Kompatibilität stellt sicher, dass Schüler verschiedene Programmierparadigmen erkunden und beherrschen können, was ihre Lernerfahrung bereichert und sie auf zukünftige Robotik-Innovationen vorbereitet.

Roboterarm für Bildungszwecke

Nahtlose Integration mit myAGV 2023

Anwender können die myCobot 280-Serie mühelos mit dem myAGV 2023 integrieren und so leistungsstarke mobile Verbundroboter erstellen. Diese Kombinationen eignen sich ideal für Roboterwettbewerbe und decken wichtige Aspekte wie Programmierung, Bewegungsplanung, Betriebssteuerung, 3D-Vision, Kinematik und Navigationsalgorithmen ab. Die nahtlose Integration dieser Roboterarme mit dem myAGV 2023 erweitert ihre Fähigkeiten und macht sie für komplexe Projekte und Wettbewerbsumgebungen geeignet.

Myagv-mobile-Roboter-mit-myCobot-280

Vielfältige Anwendungsszenarien

Die myCobot 280-Serie ist nicht auf Bildungsanwendungen beschränkt; sie bietet ein breites Anwendungsspektrum in verschiedenen Branchen. In der Leichtindustrie können diese Roboterarme komplexe Montageaufgaben mit hoher Präzision erledigen. Im medizinischen Bereich können sie bei Operationen assistieren oder Laborprozesse automatisieren, wodurch die Effizienz gesteigert und menschliche Fehler reduziert werden. Die myCobot 280-Serie findet auch Anwendung in Dienstleistungsbranchen wie der Gastronomie, wo Roboter als Kundendienstassistenten fungieren oder Routineaufgaben in Hotels und Restaurants automatisieren. Im Bereich der Heimautomatisierung können diese Cobots so programmiert werden, dass sie Hausarbeiten erledigen, älteren oder behinderten Menschen helfen und sogar als interaktive Begleiter fungieren. Ihre Vielseitigkeit erstreckt sich auch auf die Kreativbranche, wo sie in Kunstinstallationen, als Studioassistenten oder in interaktiven Ausstellungen eingesetzt werden können. Die Anpassungsfähigkeit und Multifunktionalität der myCobot 280-Serie eröffnet neue Möglichkeiten für Innovation und Effizienz in verschiedenen Branchen.

Zusammenfassend lässt sich sagen, dass die myCobot 280-Serie eine vielseitige und innovative Linie kollaborativer 6-DOF-Roboterarme ist, die sich perfekt für Anwendungen in Bildung, Forschung, Heimwerker- und Unternehmensentwicklung eignet. Dank ihrer verschiedenen Versionen bietet die myCobot 280-Serie Anwendern mit unterschiedlichem Hintergrund und unterschiedlichen Bedürfnissen eine maßgeschneiderte Lösung, um die Robotik zu erforschen und voranzutreiben.

]]>