Bereit für die Entwicklung humanoider Roboter? Diagnose mit dem EC-Engineer Web auf dem Nvidia Jetson AGX Orin
Inhalt
Einführung
In unserem täglichen Geschäft sehen wir, dass die Entwicklung von Humanoiden weltweit ein großer Trend ist. Und NVIDIA Jetson AGX Orin ist ein wichtiger Bestandteil, der die Technologie in diesem Bereich vorantreibt. Dieses leistungsstarke KI- und Edge-Computing-Gerät erweitert die Grenzen und bringt die Entwicklung in eine neue Dimension.
Da Humanoide mobile Anwendungen sind, werden drahtlose Lösungen immer interessanter. Während die EC-Master-Software auf dem MainDevice läuft, kann der EC-Engineer Web einfach für Diagnosezwecke per Fernzugriff verbunden werden.
In diesem Blog werden wir uns unseren EC-Engineer Web genauer ansehen. Welche Vorteile hat diese Anwendung? Wie kann die Anwendung eingerichtet werden?
Abschließend führen wir einige Antriebe unter Linux aus, um zu zeigen, wie Bewegung, Echtzeit und Robotik zur Entwicklung von Humanoiden beitragen.
Was ist der EC-Engineer Web?
Der EC-Engineer Web ist ein leistungsstarkes Software-Tool zur Konfiguration und Diagnose von EtherCAT-Netzwerken. Diese webbasierte Anwendung bietet ähnliche Funktionen wie der EC-Engineer. Die Anwendung kann ENI-Dateien (EtherCAT Network Information) erstellen und exportieren, die für die Initialisierung und Steuerung des EtherCAT-Netzwerks durch den EC-Master unerlässlich sind. Über die Konfiguration hinaus bietet der EC-Engineer Web jedoch einen weiteren großen Vorteil: die Diagnose des Netzwerks. Das Netzwerk kann überwacht, Variablen können erzwungen, die Zustände des MainDevice und der verschiedenen SubDevices können angezeigt, Fehlerzähler können dargestellt werden und viele weitere Funktionen werden von EC-Engineer Web unterstützt. Beispielsweise kann das integrierte Tool „Mismatch Analyzer“ Abweichungen zwischen der Konfiguration und dem angeschlossenen Netzwerk analysieren. Diese Funktion hilft bei der Einrichtung und Installation eines EtherCAT-Netzwerks. Der EC-Engineer Web verwendet einen Standardbrowser als Benutzeroberfläche und kann eine Verbindung zu jedem MainDevice herstellen, auf dem Windows oder Linux installiert ist.
Für unsere Anwendung sieht die Architektur wie in Abbildung 1 unten aus. Auf der MainDevice-Seite läuft Linux auf dem NVIDIA Jetson AGX Orin mit dem EC-Master. Die Geschäftslogik für das EC-Engineer Web besteht aus der Standard-Kernlogik und der ENI-Engine, genau wie beim EC-Engineer. Über diese Funktionen hinaus umfasst diese Anwendung eine ASP.NET Core-Webanwendung, die die Entwicklung der dynamischen Webanwendung ermöglicht.

Abbildung 1: Systemarchitektur des EC-Engineer Web
Einrichtung des EC-Engineers Web
Auf dem Hauptgerät lässt sich der EC-Engineer Web mit verschiedenen Setup-Paketen unter Windows, Linux oder sogar MacOS einfach installieren. Nach dem Start der Shell auf dem Linux-Tegra-Ubuntu-Computing-Modul wechseln wir in den richtigen Ordner und starten die Anwendung mit dem folgenden Befehl (Ausschnitt 1).
./EcEngineerWeb
Snippet 1: Starten der Anwendung EcEngineerWeb
Dadurch wird die Anwendung auf dem MainDevice gestartet und kann nun eine Verbindung herstellen, wie in Abbildung 2 unten dargestellt. Der EC-Engineer Web ist nun bereit, eine Verbindung zu jedem Browser auf localhost, Port 5000, herzustellen.

Abbildung 2: EcEngineerWeb ist bereit für die Verbindung
Nach dem Start der EcMasterDemo auf dem MainDevice kann der EC-Engineer Web nun eine Verbindung zum System herstellen. Mit der benutzerfreundlichen Oberfläche der Webanwendung können alle relevanten Daten mit einem der gängigen Internetbrowser wie Chrome, FireFox, Edge, Safari oder ähnlichen visualisiert werden.
Um genau zu wissen, mit welcher IP-Adresse sich der Browser verbinden soll, müssen wir zunächst überprüfen, welche Netzwerkschnittstelle vom EC-Master für die EtherCAT-Netzwerkverbindung verwendet wird. Mit Hilfe des Befehls ifconfig können wir herausfinden, dass der Ethernet-Adapter eth2 für die EtherCAT-Kommunikation verwendet wird, und wir können die relevante IP-Adresse auslesen (siehe Abbildung 3).

Abbildung 3: Der Befehl ifconfig listet die Ethernet-Adapter auf
Nun erhält der Benutzer einen Überblick über die Systeme, wie in Abbildung 4 dargestellt. Der aktuelle Status des Hauptgeräts, Informationen über Anzahl und Status der Untergeräte sowie die aktuelle Speichernutzung können überwacht werden.

Abbildung 4: Allgemeine Informationen in der Anwendung EcEngineerWeb
Der EC-Engineer Web gewährt auch Zugriff auf das CoE-Objektverzeichnis. Die Registerkarte zeigt alle relevanten Daten des Systems (siehe Abbildung 5) wie Hard- und Softwareversionen, Identifikation, IDs, Grenzwerte und Konfigurationseinstellungen.

Abbildung 5: Zugriff auf das Objektverzeichnis im EcEngineerWeb
Ausführung von EC-Motion unter Echtzeit-Linux
Da wir auch einige Motoren „in Bewegung“ zeigen möchten, wollen wir uns nun mit EC-Motion Advanced befassen. Dieses Add-on für den EC-Master ist eine Motion-Control-Lösung für Antriebe, die auf dem Profil CiA402 gemäß der ETG-Implementierungsrichtlinie ETG.6010 basiert. Das Beispiel EcMasterDemoMotionAdvanced unterstützt die Betriebsmodi Cyclic Synchronous Position (CSP) und Cyclic Synchronous Velocity (CSV).
Bevor wir die Anwendung starten können, müssen wir zunächst die verschiedenen Echtzeiteinstellungen für das Linux-System vornehmen. Wir müssen den Kernel (RT PREEMPT) konfigurieren, den Echtzeit-Ethernet-Treiber von acontis laden und das Kernel-Modul von atemsys integrieren. Bitte lesen Sie einen unserer neuesten Blogbeiträge, in dem die verschiedenen Schritte ausführlich beschrieben werden.
Nach der Konfiguration der Echtzeiteinstellungen möchten wir nun die Anwendung EcMasterDemoMotionAdvanced starten. Einige Worte zu den angeschlossenen Antrieben. Wir verwenden den DC-Servoantrieb AcceInet BE2 von Copley Controls mit zwei bürstenlosen Schrittmotoren einschließlich Encoder, wie in Abbildung 6 unten dargestellt.

Abbildung 6: Mechanischer und elektrischer Aufbau
Wir starten die Anwendung mit dem unten in Snippet 2 beschriebenen Befehl.
./EcMasterDemoMotionAdvanced -intelgbe 1 1 -f eni.xml -b 1000
Snippet 2: Starten der Anwendung EcMasterDemoMotionAdvanced
Die Anwendung verwendet den Echtzeit-Ethernet-Treiber für die Intel Gigabit-Netzwerkkarten, und die ENI-Datei beschreibt die SubDevices mit ihren Parametern (-f eni.xml). Für den Test haben wir die Zykluszeit auf 1 ms (-b 1000) eingestellt.
Nach dem Start scannt die Anwendung die SubDevices und wechselt in den Betriebsmodus (siehe Abbildung 7).

Abbildung 7: Betriebsmodus
Da die Motoren nun rotieren, ermöglicht der Zugriff auf die Variablen im Prozessdatenimage interessante Einblicke in die verschiedenen Parameter. Wie in Abbildung 8 unten dargestellt, können wir die tatsächliche Motordrehzahl eines Motors überwachen.

Abbildung 8: Zugriff auf das Prozessdatenimage über EC-Engineer Web
Zusammenfassung
Wir hoffen, Ihnen zeigen zu können, wie einfach es ist, mit dem EC-Engineer Web eine Fernverbindung zum NVIDIA Jetson AGX Orin oder einem anderen Linux-Controller herzustellen. Insbesondere bei mobilen Anwendungen wie Humanoiden oder anderen Roboteranwendungen wird dieses drahtlose und flexible Konfigurations- und Überwachungstool für EtherCAT-Geräte die Entwicklung erheblich vereinfachen.
In Kombination mit unserem EC-Master und der auf dem Linux-System laufenden Bewegungsbibliothek EC-Motion Advanced ist dies ein perfektes Paket für innovative Entwicklungen.
Weitere interessante Blogs finden Sie auf unserer Webseite (www.acontis.com). Abonnieren Sie auch unseren YouTube-Kanal (www.youtube.com/@acontistechnologies), auf dem wir spannende Videos zu EtherCAT-Technologien, Produkten, Neuigkeiten und vielem mehr anbieten.