Heim > Artikel > Technologie-Peripheriegeräte > So vereinfachen Sie die Hardwarebeschleunigung von Robotern mithilfe von ROS 2
Übersetzer |. Li Rui
Rezensent |.Bei der Entwicklung von Robotern nimmt die Systemintegration oft die meisten Projektressourcen in Anspruch, was wichtiger ist als die Entwicklung der endgültigen Anwendung. Mit dem Aufkommen von kollaborativen Industrierobotern der unteren Preisklasse gibt es Softwareentwickler, die sich ausschließlich auf die Entwicklung von Software konzentrieren, die auf vorhandener Hardware läuft. Es besteht jedoch ein entscheidender Zusammenhang zwischen den Hardware- und Softwarefähigkeiten eines Roboters. Die Designkontrolle über die Computerhardware muss beibehalten werden, um professionellere, energieeffizientere, sicherere und leistungsfähigere Roboter zu schaffen.
Hardware-Herausforderungen und Software-Kenntnisse
Diese Hardware-Herausforderung erschwert die Arbeit von Entwicklern in Disziplinen wie der Robotik, deren Fähigkeiten oft auf die Entwicklung von Software ausgerichtet sind. Das bedeutet, dass sie sich mit der Entwicklung adaptiver Computerhardware auseinandersetzen müssen, wenn sie die Marktnachfrage nach neuen Industrierobotern befriedigen wollen. Unternehmen, die Roboter einsetzen, um die Produktivität in Bereichen wie Produktionslinien und Lagern zu steigern, suchen nach Geräten, die zusätzliche Flexibilität, eine feinere Positionskontrolle, überlegene bildbasierte Funktionen, eine verbesserte Datenerfassung und einen geringeren Stromverbrauch bieten.
Das Hauptprinzip der Robotik-Hardwarebeschleunigung besteht darin, dass im Gegensatz zu herkömmlichen steuerungsgesteuerten Ansätzen ein hybrider steuerungs- und datengesteuerter Ansatz zur Softwareentwicklung es Teams ermöglicht, benutzerdefinierte Computerarchitekturen zu entwerfen, die Anwendungen die optimale Menge an Hardwareressourcen zuweisen.
Für die Umsetzung sind heterogene Rechenmodelle erforderlich. Dies nutzt CPUs und GPUs, die sich bei Kontrollflussberechnungen auszeichnen, und nutzt gleichzeitig die Stärken von FPGAs für die Datenflussberechnungen. Dieser Ansatz bietet sowohl Flexibilität als auch volle Kontrolle über die CPU/GPU, um komplexe Berechnungen mit geringem Stromverbrauch, hoher Leistung, geringer Latenz und dem Determinismus der Hardwarebeschleunigung umzusetzen. Verschiedene Anbieter bieten mittlerweile adaptive System-on-Chip- (SoC) und System-on-Module-Geräte (SOM) an, beispielsweise das AMD-Xilinx Kria™ SOM und den zugehörigen Kria-Robotik-Stack, die die Vorteile dieses Hybrid-Computing-Modells bieten . Diese Tabelle vergleicht diese verschiedenen Modelle.
Adaptive System-on-Chip (SoC) und System-Level-Module (SOM) ermöglichen es Robotikexperten, Maschinenverhalten zu entwickeln, indem sie die Architektur programmieren, die die richtigen Datenpfade und Steuermechanismen erstellt. Um solche Architekturen mit etablierten Werkzeugen und Techniken zu programmieren, sind jedoch ausgefeilte Ingenieurskenntnisse erforderlich.
Robotiker verfügen nicht über entsprechende Hardware- und Embedded-Design-Kenntnisse und sind es gewohnt, Verhaltensweisen in Form von Rechendiagrammen zu erstellen, um aktuelle Roboteraufgaben zu lösen. Sie verwenden häufig C++, um mithilfe fortschrittlicher Software-Engineering-Praktiken komplexe deterministische Echtzeitsysteme zu erstellen.
Aufgebaut auf dem Robot Operating System (ROS)
ROS ist der De-facto-Industriestandard für die Entwicklung von Robotikanwendungen, insbesondere seit der Einführung von ROS2 im Jahr 2020. Dies ist branchenübergreifend zum Standard-Softwareentwicklungskit (SDK) für Robotikanwendungen geworden, wobei viele Gruppen mittlerweile ROS und Gazebo verwenden.
Frühere Initiativen zur Integration von adaptivem Computing in ROS haben diese Herausforderung aus der Sicht eines Hardware-Ingenieurs angegangen. Sie gehen davon aus, dass Benutzer bereits Erfahrung mit eingebetteten und Hardware-Flows haben und daher mit Konzepten wie RTL, HDL und HLS und den zu deren Betrieb verwendeten Designtools vertraut sind. Ebenso erfordert die Bereitstellung auf eingebetteten Zielen einige Kenntnisse von Yocto, OpenEmbedded und verwandten Tools.
Da die meisten Robotikexperten nicht über diesen Hintergrund verfügen, verfolgt die ROS2 Hardware Acceleration Working Group (HAWG) einen ROS-zentrierten Ansatz zur direkten Integration eingebetteter Prozesse in das ROS-Ökosystem. Ziel ist es, ein Erlebnis zu bieten, das dem ähnelt, was Robotiker beim Aufbau eines ROS-Arbeitsbereichs auf einer Desktop-Workstation genießen.
HAWGs Arbeit baut auf veröffentlichten Forschungsergebnissen zur Optimierung von ROS-Rechengraphen auf, um adaptive Berechnungen zu nutzen, sowie auf Empfehlungen zu Werkzeugen und Methoden zur Beschleunigung von Teilen von Graphen in der programmierbaren Logik. Darüber hinaus schlägt HAWG nun eine Architektur vor (siehe Abbildung unten), die sich auf bekannte Sprachen wie C++ und OpenCL konzentriert.
ROS 2 und HAWG-Stack ermöglichen zusammen die Hardwarebeschleunigung.
Die vorgeschlagene Architektur ist plattformunabhängig und eignet sich daher für Edge-Einrichtungen, Workstations, Rechenzentren oder Cloud-Computing-Plattformen und ist technologieunabhängig, um eine einfache Ausrichtung auf FPGAs, CPUs und GPUs zu ermöglichen zum Portieren auf verschiedene Module und Motherboards.
Letztendlich sollte diese Arbeit es den meisten Robotikexperten ermöglichen, die Möglichkeiten der Hardwarebeschleunigung zu nutzen, um die nächste Generation fortschrittlicher und komplexer Roboter zu implementieren.
Originaltitel: Vereinfachung der Hardwarebeschleunigung für Roboter mit ROS 2, Autor: Ben Dickson
Das obige ist der detaillierte Inhalt vonSo vereinfachen Sie die Hardwarebeschleunigung von Robotern mithilfe von ROS 2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!