Bild 1: Auswirkung des Hardware-Beschleunigers.

Bild 1: Auswirkung des Hardware-Beschleunigers. (Bild: Renesas)

Roboter kamen bisher vor allem in Fabriken, z. B. in der industriellen Fertigung, zum Einsatz. Vor dem Hintergrund des Arbeitskräftemangels und der steigenden Arbeitskosten halten sie jedoch immer mehr Einzug in andere Lebens- und Arbeitsbereiche. Dabei nehmen ihre Einsatzmöglichkeiten kontinuierlich zu. Insbesondere Serviceroboter sind in vielen Bereichen bereits weit verbreitet. Serviceroboter assistieren und unterstützen die von Menschen ausgeführten Tätigkeiten und Aufgaben. Ihr Einsatzbereich nimmt rasch zu, vor allem bei Tätigkeiten, bei denen das Risiko ihrer Einführung gering ist. Es wird erwartet, dass die Einsatzmöglichkeiten weiter steigen und der Markt stetig wachsen wird. Je nach Anwendung gibt es verschiedene technologische Trends sowie die Nachfrage nach selbstgesteuerter Hinderniserkennung, KI-Nutzung von Positionsinformationen, Bild-/Spracherkennung, Remote-Steuerung, Datenanalyse, Zusammenarbeit mit anderen Robotern, Safety Performance usw.

 

Tabelle 1: Einsatz- sowie Anwendungsbereiche von Servicerobotern und Markttrends.
Tabelle 1: Einsatz- sowie Anwendungsbereiche von Servicerobotern und Markttrends. (Bild: Renesas)

Die wichtigste und grundlegende gemeinsame Technologie dieser verschiedenen Anwendungen ist die Steuerung der beweglichen Teile von Robotern. Die Kerntechnologie hierfür ist die Motorsteuerung, die für die Fortbewegung und die Gelenkbewegungen erforderlich ist. Auf der Grundlage dieser Motorsteuerung sind Roboter vom Prinzip eine Kombination von verschiedenen Anwendungen, die Funktionen für jeden Zweck kombinieren. Es gibt verschiedene Arten von Motoren, die in Robotern zum Einsatz kommen. Entwickler müssen deshalb die Arten von Motoren und deren Steuerung entsprechend den Anforderungen von Servicerobotern verstehen.

Die folgenden drei Motortypen sind typische Beispiele für Serviceroboter.

Typ des im beweglichen Bauteil des Serviceroboters installierten Motors

Bürstenloser Gleichstrommotor

Bürstenlose Gleichstrommotoren sind klein und leicht. Sie zeichnen sich durch eine hervorragende Wärmeableitung und hohe Lebensdauer aus. Außerdem sind für die Steuerung spezielle Schaltungen wie MCUs und Leistungsmodule erforderlich. Die Steuerbarkeit ist gut, und es ist möglich, das gewünschte Drehmoment und die Drehgeschwindigkeit zu steuern. Darüber hinaus zeichnet sich ein bürstenloser Gleichstrommotor durch eine lange Lebensdauer, eine hohe Wartungsfreundlichkeit und eine ausgezeichnete Geräuscharmut aus. Für die Positionserfassung kann je nach Anwendung z. B. zwischen Hall-Sensoren, Shunt-Widerständen oder Encoder gewählt werden. Bürstenlose Gleichstrommotoren sind ebenfalls sehr gut geeignet für Anwendungen mit unterschiedlichen Lasten und Drehzahlen.

Schrittmotor

Ein Schrittmotor ist ein Motor, dessen Achsenposition sich leicht steuern lässt. Er ist relativ preiswert und verfügt über ein breites Einsatzspektrum. Zur Ansteuerung wird ein Impuls erzeugt, der über einen Treiber einen Befehl vom Schrittmotor erkannt wird und die offene Regelkreisfunktion aktiviert. Der Schrittmotor eignet sich auch für die Implementierung in Industrierobotern, die ihre Positionierung häufig ändern müssen. Da es sich jedoch nicht um eine rückgekoppelte Steuerung handelt, gibt es auch Nachteile, wie z. B. eine feine Vibrationsunterdrückung und Geräuschentwicklung. Da das Drehmoment bei hohen Drehzahlen gering ist, lässt sich der Roboter nur schwer beschleunigen. Außerdem ist es je nach Art des Roboters unter Umständen nicht möglich, eine konstante Geschwindigkeit zu halten.

Servomotor

Servomotoren sind in der Lage, Position und Geschwindigkeit mit hoher Präzision zu steuern. Sie sind zwar teuer, aber sehr leistungsfähig und werden daher in industriellen Produktionsanlagen eingesetzt. Der Mechanismus, bei dem die Befehle von der Steuerung über den Impulsgeber und den Treiber an den Motor gesendet werden, ist derselbe wie bei einem Schrittmotor. Der Unterschied besteht jedoch darin, dass es eine Rückkopplung vom Motor zum Treiber und vom Treiber zum Impulsgeber gibt. Servomotoren werden durch eine Rückkopplungsschleife mit einem Treiber gesteuert, z. B. mit einem Encoder zur Positionserkennung.

Ein hohes Drehmoment lässt sich auch bei hohen Drehzahlen aufrechterhalten. Dabei sind Drehzahlabfälle und -abweichungen weniger wahrscheinlich.

Konfiguration des Serviceroboters

Die Hardwarekonfiguration von Servicerobotern ist in der Regel unterteilt in die Motorsteuerung, z. B. für die oben erwähnten beweglichen Teile und die Systemsteuerung, die die gesamten Roboter-Aktivitäten überwacht. Es ist möglich, die Systemsteuerung und die Motorsteuerung in einem großen SoC unterzubringen. Die Anforderungen an die motorseitige Verarbeitung, die Echtzeitleistung erfordert, sowie die systemseitige Verarbeitung, die HMI, Bild-/Spracherkennung und KI im Host-System umfasst, sind jedoch sehr unterschiedlich. Daher kann es bei der Integration in ein und dasselbe SoC zu busbedingten Konflikten aufgrund der Kommunikation innerhalb des Chips und des Speicherzugriffs kommen. Dies kann die Echtzeitleistung des Motors stark beeinträchtigen.

Darüber hinaus gibt es verschiedene Systemanforderungen, darunter die Entwicklung kleiner Stückzahlen und neuer Funktionen, sodass es aufgrund des hohen Risikos in puncto Entwicklungskosten und Arbeitsstunden nicht realistisch ist, jedes Mal ein SoC zu entwickeln. Im Allgemeinen ist es im Hinblick auf die Entwicklungseffizienz vorteilhaft, die Hardware in die Systemsteuerungs- und die Motorsteuerungsseite aufzuteilen. Daher wird typischerweise für jede Seite eine optimale MCU oder MPU ausgewählt. Die Datenkommunikation erfolgt über eine gemeinsame Kommunikationsschnittstelle. Auf der Motorseite gibt es keine großen Unterschiede in der erforderlichen Hardwarekonfiguration, auch wenn verschiedene Motortypen in Serviceroboteranwendungen genutzt werden. Mit anderen Worten: Der größte Teil der Hard- und Software lässt sich wiederverwenden. Unter dem Gesichtspunkt der Entwicklungseffizienz und Kostenreduzierung ist es sinnvoll, eine Plattform für die Motorseite als gemeinsame Technologie für Robotersysteme zu entwickeln.

Tabelle 2: Typische System- und Motorsteuerungen für jede Art von Serviceroboter.
Tabelle 2: Typische System- und Motorsteuerungen für jede Art von Serviceroboter. (Bild: Renesas)

Mikrocontroller für die Motorsteuerung

Echtzeit-Performance ist eine wesentliche Anforderung an MCUs für die Robotik, insbesondere für die Motorsteuerung. Fehlt es an Echtzeitleistung, verschlechtert sich in manchen Fällen die Reaktionsfähigkeit auf angezeigte Werte und die Sicherheit wird beeinträchtigt. In einem einfachen Roboter empfängt die Motorsteuerungs-MCU Befehlsinformationen über die Motorposition und das Drehmoment von der Steuerseite des Host-Systems. Sie berechnet die Positionsinformationen und den vom Motor empfangenen Stromwert gleichzeitig, vergleicht sie mit dem Befehlswert und ändert die PWM-Wellenform. Um diese Anforderungen zu erfüllen, gibt es die für Motorsteuerungen optimierten MCUs, wie die speziellen auf Motor-Ansteuerung auslegten Produkt-Gruppen der breiten Renesas-RA-Familie auf Arm-Core-Basis. Diese speziellen RA-Familien-Gruppen bieten dedizierte Integrationen von Motorsteuerungs- und Peripheriefunktionen wie Analogfunktionen und PWM-Timer. Darüber hinaus verfügen sie über serielle und CAN-Kommunikationsperipherie sowie über die Fähigkeit zur Parallelverarbeitung von Motorsteuerungsaufgaben.

Schneller Flash-Speicher

Wenn die CPU auf langsamen Speicher zugreift, wartet sie in der Regel, bis der Zugriff abgeschlossen ist, sodass ein Cache-Speicher zur Verringerung dieses Overheads dient. In Motorsteuerungsprogrammen kommt es jedoch häufig zu Verzweigungen und Unterbrechungen, was zu Cache-Fehlern und Leistungseinbußen führt. Daher verringern Hochgeschwindigkeits-Flash-Speicher die Nachteile selbst bei Cache-Fehlern und erreichen eine Echtzeitleistung mit geringen Schwankungen.

Beschleuniger für die Motorsteuerung

Wichtig sind auch die TFUs (Trigonometric Function Unit) und ein IIRFA (IIR Filter Accelerator) für Hochgeschwindigkeitsberechnungen zur Motorsteuerung. Die TFU ermöglicht die schnelle Berechnung von sinf-, cosf-, atan2f- und hypotf-Funktionen. Sie eignet sich hervorragend für vektorgesteuerte Koordinatentransformationen. In ähnlicher Weise kann die IIRFA auf Notch-Filter angewendet werden, um mechanische Resonanzen zu unterdrücken. Koeffizienten und Verzögerungsdaten können im lokalen Speicher abgelegt werden. Dadurch lassen sich Berechnungsergebnisse durch einfaches Setzen von Eingabewerten erzielen. Da diese Beschleuniger nur die grundlegenden Elemente der Motorsteuerung unterstützen, lassen sie sich leicht auf verschiedene bestehende Algorithmen anwenden.

Diese beiden echtzeitspezifischen Leistungsmerkmale verringern die Leistungsschwankungen und reduzieren die CPU-Belastung erheblich. Neben der Motorsteuerung bleibt dadurch genügend Zeit auch für andere Verarbeitungsprozesse. Dies ermöglicht auch die Koexistenz von Verarbeitungsprozessen, die nicht in Echtzeit erfolgen, wie die Kommunikation mit der Systemsteuerung.

Bild 2: Beispiel für eine Hardware-Konfiguration, die Mikro-ROS-basierte RA6M5/RA6T2-MCUs kombiniert.
Bild 2: Beispiel für eine Hardware-Konfiguration, die Mikro-ROS-basierte RA6M5/RA6T2-MCUs kombiniert. (Bild: Renesas)

micro-ROS-Lösung

Bisher ging es um die Motorsteuerung. Bei der tatsächlichen Entwicklung von Robotikanwendungen sind Systemsteuerung und Motorsteuerung jedoch auf komplexe Weise miteinander verbunden, sodass bei der Entwicklung viel ausprobiert wird. Eine einfache Architektur ist vorzuziehen, um das Entwicklungsrisiko zu verringern. ROS (Robot Operating System) ist eine Open-Source-Software, die für die Roboterentwicklung verwendet wird. Da ROS mehrere Computersprachen wie C++ und Phyton unterstützt, ist es möglich, Roboter mit vertrauten und einfach zu verwendenden Sprachen zu entwickeln. Renesas hat hierfür eine micro-ROS-Lösung realisiert. Hierbei handelt es sich um ein Open-Source-Projekt zur Verwendung der zweiten Generation von ROS (ROS 2) mit Mikrocontrollern. Dank der Realisierung von ROS-2-Knoten auf Mikrocontrollern und der Nutzung eines gemeinsamen Frameworks ist es möglich, mit herkömmlichen Robotern und IoT-Sensoren und IoT-Bausteinen zu interagieren.

Zusammenfassung

Der Robotikmarkt wächst aufgrund des Arbeitskräftemangels und der steigenden Arbeitskosten sehr schnell. Die Motorsteuerung ist für den Betrieb dieser Roboter unverzichtbar. Sie erfordert auch eine grundlegende Kommunikation mit dem Host-System. Daher ist eine MCU, die Echtzeit- und Nicht-Echtzeit-Multitasking beherrscht, von Vorteil. Der RA6T2 aus der RA-Familie von Renesas trägt diesem Bedarf Rechnung, indem er einen Hochgeschwindigkeits-Flash-Speicher und Hardware-Beschleuniger für trigonometrische Funktionen und IIR-Filterung integriert. Dies reduziert die Verarbeitungszeit für die Motorsteuerung und ermöglicht die Durchführung anderer Aufgaben. Durch die Verwendung einer micro-ROS-Lösung und den damit verbundenen Frameworks wird es Entwicklern von Robotern ermöglicht, Motorsteuerung, Sensorik und Systemsteuerung als Gesamtheit vereinfacht zu entwickeln. (neu)

Autor

Naoki Abe, Renesas Electronics

Sie möchten gerne weiterlesen?