Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR OPERATING A MODULAR ROBOT, CONTROL UNIT, MODULAR ROBOT AND ARM MODULE
Document Type and Number:
WIPO Patent Application WO/2023/247174
Kind Code:
A1
Abstract:
The invention relates to a method for operating a modular robot (1), wherein the modular robot (1) has a robot base (2), at least one robot arm (10) arranged on the robot base (2), and a control unit (3), wherein the robot arm has a plurality of arm modules (11) which can be arranged in a modular manner. The control unit (3) carries out the steps described in the following text. First of all, an assignment information item (for example, serial number, manufacturer identification number, product number, version number) is received from each of the arm modules (11) in an assignment detection step 200. In an arm module base data determination step 220, arm module base data (for example, kinematic data) are determined on the basis of the assignment information for each arm module (11). Furthermore, a configuration of the modular robot 1 is produced from the assignment information and the arm module base data of the individual arm modules (11) in a configuration step (240), wherein the configuration is used to actuate the robot arm (10). A wear information item of the arm modules (11) can also be calculated, and a replacement recommendation can be output, or the robot (1) can be operated correspondingly.

Inventors:
BECKMANN GUIDO (DE)
RETTIG THOMAS (DE)
BONIN UWE (DE)
FISCHER PETER (AT)
KASTLER PETER (AT)
PEHLIVAN ARMIN (AT)
MORSCHER THOMAS (AT)
WINTER MILOS (AT)
EGGER CHRISTOPH (AT)
ZECH CHRISTOPH (AT)
Application Number:
PCT/EP2023/065105
Publication Date:
December 28, 2023
Filing Date:
June 06, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BECKHOFF AUTOMATION GMBH (DE)
International Classes:
B25J9/16; B25J13/00; B25J13/08; B25J18/00
Foreign References:
DE102017123090A12018-04-12
US20210178575A12021-06-17
EP3372354A12018-09-12
DE102022115411A1
DE102020115448A12021-12-16
Attorney, Agent or Firm:
PATENTANWALTSKANZLEI WILHELM & BECK (DE)
Download PDF:
Claims:
Ansprüche

1 . Verfahren zum Betreiben eines modularen Roboters (1), wobei der modulare Roboter

(I) eine Roboterbasis (2), zumindest einen an der Roboterbasis (2) angeordneten Roboterarm (10) sowie eine Kontrolleinheit (3) aufweist, wobei der Roboterarm (10) mehrere modular anordenbare Armmodule (11) aufweist, wobei die Kontrolleinheit (3) folgende Schritte durchführt:

Empfangen einer Zuordnungsinformation von jedem der Armmodule (11) in einem Zuordnungserfassungsschritt (200);

Ermitteln von Armmodulbasisdaten anhand der Zuordnungsinformationen für jedes Armmodul (11) in einem Armmodulbasisdatenermittlungsschritt (220);

Erstellen einer Konfiguration des modularen Roboters (1) aus der Zuordnungsinformation und den Armmodulbasisdaten der einzelnen Armmodule (11) in einem Konfigurationsschritt (240), wobei die Konfiguration zum Ansteuern des Roboterarms (10) verwendet wird.

2. Verfahren nach Anspruch 1 , wobei zusätzlich im Zuordnungserfassungsschritt (200) eine Zuordnungsinformation der Roboterbasis (2) empfangen und/oder im Armmodulbasisdatenermittlungsschritt (220) Armmodulbasisdaten der Roboterbasis (2) ermittelt werden, wobei die Zuordnungsinformation der Roboterbasis (2) und/oder die Armmodulbasisdaten der Roboterbasis (2) bei der Erstellung der Konfiguration des modularen Roboters (1) im Konfigurationsschritt (240) berücksichtigt werden.

3. Verfahren nach Anspruch 1 oder 2, wobei die Armmodulbasisdaten zumindest kinematische Daten beinhalten, wobei die kinematischen Daten eine relative Lage eines ersten Flansches (16) und eines zweiten Flansches (17) der jeweiligen Armmodule

(I I) und/oder der Roboterbasis (2) beinhalten.

4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Kontrolleinheit (3), die Roboterbasis (2) und die den Roboterarm (10) bildenden Armmodule (11) über einen Feldbus (20) miteinander verbunden sind und Daten zwischen den Armmodulen (11), der Roboterbasis (2) und der Kontrolleinheit (3) über den Feldbus (20) ausgetauscht werden, wobei seitens der Kontrolleinheit (3) im Zuordnungserfassungsschritt (200) an- hand einer Reihenfolge der Zuordnungsinformation der Armmodule (11) in einem Telegramm des Feldbusses (20) ein mechanischer Aufbau des Roboterarms (10) ermittelt wird. Verfahren nach einem der Ansprüche 1 bis 4, wobei die Zuordnungsinformation der Armmodule (11) durch eine jeweilige eineindeutige Zuordnungsnummer der Armmodule (11) beeinflusst wird. Verfahren nach einem der Ansprüche 1 bis 5, wobei die Zuordnungsinformation der Armmodule (11) durch eine jeweilige Konfigurationsdatei der Armmodule (11) beeinflusst wird. Verfahren nach Anspruch 5 und 6, wobei die Zuordnungsinformation der Armmodule (11 ) als Hashwert aus der Zuordnungsnummer und der Konfigurationsdatei berechnet wird. Verfahren nach einem der Ansprüche 1 bis 7, wobei zum Erstellen der Konfiguration im Konfigurationsschritt (240) weitere Daten aus zumindest einem der Armmodule (11) ausgelesen und/oder für zumindest eines der Armmodule (11) ermittelt werden. Verfahren nach Anspruch 8, wobei die weiteren Daten der Armmodule (11) dynamische Daten beinhalten, wobei die dynamischen Daten eine Massenträgheit der Armmodule (11) beinhalten. Verfahren nach einem der Ansprüche 8 oder 9, wobei die weiteren Daten zumindest eine Verschleißinformation für ein Armmodul (11) umfassen, wobei die Kontrolleinheit (3) die Verschleißinformation des Armmoduls (11) empfängt und/oder eine Verschleißinformation des Armmoduls (11) berechnet und anhand der Verschleißinformation eine Tauschempfehlung für das Armmodul ermittelt und ausgibt. Verfahren nach einem der Ansprüche 1 bis 9, wobei im Konfigurationsschritt (240) eine Bewegungsinformation der Armmodule (11) berücksichtigt wird, wobei die Bewegungsinformation der jeweiligen Armmodule (11) mögliche Bewegungen des betreffenden Armmoduls (11) beinhaltet. Verfahren nach Anspruch 10, wobei die jeweilige Bewegungsinformation der Armmodule (11) seitens der Kontrolleinheit (3) von den Armmodulen (11) abgefragt oder ermittelt wird. Verfahren nach einem der Ansprüche 1 bis 12, wobei beim Erstellen der Konfiguration im Konfigurationsschritt (240) ein Arbeitsraum und/oder eine Tragfähigkeit des Roboterarms (10) bestimmt wird. Verfahren nach einem der Ansprüche 1 bis 13, wobei seitens der Kontrolleinheit (3) ferner ermittelt wird, ob eine Konfiguration des modularen Roboters (1) in einem Speicher (5, 6) vorliegt und für den Fall, dass keine Konfiguration des modularen Roboters (1) im Speicher (5, 6) vorliegt, die im Konfigurationsschritt (240) erstellte Konfiguration als initiale Konfiguration im Speicher (5, 6) abgelegt wird. Verfahren nach Anspruch 14, wobei für den Fall, dass eine initiale Konfiguration des modularen Roboters (1) im Speicher (5, 6) vorliegt, die im Speicher (5, 6) vorliegende initiale Konfiguration mit der im Konfigurationsschritt (240) erstellten Konfiguration verglichen wird, wobei für den Fall, dass die im Speicher (5, 6) vorliegende initiale Konfiguration mit der erstellten Konfiguration übereinstimmt, die initiale Konfiguration zum Ansteuern des Roboterarms (10) verwendet wird und für den Fall, dass die im Speicher (5, 6) vorliegende initiale Konfiguration mit der erstellten Konfiguration nicht übereinstimmt, die im Konfigurationsschritt erstellte Konfiguration im Speicher (5, 6) abgelegt und zum Ansteuern des Roboterarms (10) verwendet wird. Verfahren nach einem der Ansprüche 1 bis 15, wobei die Kontrolleinheit (3) ferner einen Bewegungsbefehl empfängt und überprüft, ob eine anhand des Bewegungsbefehls auszuführende Bewegung des Roboterarms (10) mit der Konfiguration des modularen Roboters möglich ist. Kontrolleinheit (3) für einen modularen Roboter (1), eingerichtet eines der Verfahren der Ansprüche 1 bis 16 durchzuführen. Modularer Roboter (1 ) mit einem Roboterarm (10) sowie einer Kontrolleinheit (3) nach Anspruch 17. Armmodul (11) für einen modularen Roboter (1) nach Anspruch 18, wobei das Armmodul (11) einen Armmodulspeicher (25) aufweist, wobei eine Zuordnungsinformation im Armmodulspeicher (25) abgelegt ist, wobei das Armmodul (11) eingerichtet ist, die Zuordnungsinformation an eine Kontrolleinheit (3) des modularen Roboters (1) auszugeben. Armmodul (11) nach Anspruch 19, wobei das Armmodul (11) eingerichtet ist, die Zuordnungsinformation anhand einer eineindeutigen Zuordnungsnummer und einer Konfigurationsdatei zu bestimmen und im Armmodulspeicher (25) abzulegen. Armmodul (11) nach Anspruch 20, wobei das Armmodul (11) eingerichtet ist, die Zuordnungsinformation des Armmoduls (11) als Hashwert aus der Zuordnungsnummer und der Konfigurationsdatei zu berechnen. Armmodul (11) nach einem der Ansprüche 19 bis 21 , wobei eine Bewegungsinformation im Armmodulspeicher (25) abgelegt ist, wobei das Armmodul (11) eingerichtet ist, die Bewegungsinformation an die Kontrolleinheit (3) des modularen Roboters (1) auszugeben. Armmodul (11) nach einem der Ansprüche 19 bis 22, wobei das Armmodul (11) eingerichtet ist, eine Verschleißinformation anhand von Bewegungen des Armmoduls (11) und/oder anhand einer Messung von Kenndaten zu ermitteln, im Armmodulspeicher (25) abzulegen und an die Kontrolleinheit (3) auszugeben.

Description:
VERFAHREN ZUM BETREIBEN EINES MODULAREN ROBOTERS, KONTROLLEINHEIT, MODULARER ROBOTER UND ARMMODUL

Beschreibung

Verfahren zum Betreiben eines modularen Roboters, Kontrolleinheit, modularer Roboter, Armmodul

Die Erfindung betrifft ein Verfahren zum Betreiben eines modularen Roboters, eine Kontrolleinheit für einen modularen Roboter, einen modularen Roboter sowie ein Armmodul für einen modularen Roboter.

Die Patentanmeldung beansprucht die Priorität der deutschen Patentanmeldung

10 2022 115 411.4, deren Offenbarungsgehalt hiermit durch Rückbezug aufgenommen wird.

Die Automatisierungstechnik (Implementierung, Messung, Steuerung/Regelung, Kommunikation, Mensch-Maschine-Interaktion, Sicherheit, etc.) hat zur Aufgabe, Maschinen inklusive Industrieroboter und/oder Anlagen zu automatisieren, also aus sich heraus selbständig und ohne Mitwirkung eines Menschen betreiben zu können. Ein Grad der Automatisierung (Verhältnis der automatisierten Fertigungsschritte zu allen Fertigungsschritten) in einem Automatisierungssystem ist umso höher, je unabhängiger eine jeweilige Maschine in einer Anlage und/oder eine betreffende Anlage von menschlichen Eingriffen ist.

Ziele der Automatisierungstechnik sind unter anderem eine Entlastung des Menschen von gefährlichen, anstrengenden und/oder eintönigen Tätigkeiten, eine Verbesserung einer Qualität der herstellten Produkte durch die technische Anlage, eine höhere Leistungsfähigkeit der Anlage und eine Kostenreduktion durch die Anlage. Durch Fortschritte bei Maschinen, einer Signalerfassung, einer Signalverarbeitung und/oder einer Kommunikation (Vernetzung) von Komponenten innerhalb des Automatisierungssystems, kann der Automatisierungsgrad einer bestehenden oder einer neuen Anlage im Vergleich mit dem Stand der Technik deutlich gesteigert werden.

Anwendungsspezifische Industrieroboter (Manipulatoren) sind ein fester Bestandteil von automatisierten Anlagen. Ein Industrieroboter ist eine programmierbare Maschine zur Handhabung, Montage und/oder Bearbeitung von Werkstücken. Der Industrieroboter umfasst im Allgemeinen einen Roboterarm (Manipulator) mit einer Mehrzahl von gegeneinander schwenkbaren und/oder drehbaren Armgliedern, einen (End-)Effektor (Roboterhand, Werkzeug, Greifer, etc.), eine lokale Steuerung/Regelung und ggf. eine globale Steuerung/Regelung. Oft sind Industrieroboter mit unterschiedlichen Sensoren ausgerüstet. Programmiert ist der Industrieroboter in der Lage, einen Arbeitsablauf autonom durchzuführen oder eine Durchführung einer Aufgabe in Abhängigkeit von Informationen beispielsweise eines Sensors zu verändern.

Die Druckschrift DE 102020 115448 A1 offenbart einen modular aufgebauten Industrieroboter, im Folgenden auch als modularer Roboter bezeichnet, bestehend aus mehreren Armmodulen, wobei die Armmodule einen modularen Roboterarm bilden. Im Gegensatz zu konventionellen Industrierobotern, die einmalig erstellt und konfiguriert werden, kann ein modular aufgebauter Industrieroboter in seiner Modulanordnung umgebaut oder um weitere Module ergänzt oder bestehende Module gekürzt werden, wenn zusätzliche beziehungsweise andere Bewegungen notwendig werden. Dies ermöglicht einen kostensparenden Aufbau des Industrieroboters für die jeweilige Anwendung und/oder eine einfache Weiterverwendung der Module des Industrieroboters. Nach jedem Umbau muss der modular aufgebauten Industrieroboter jedoch erneut konfiguriert werden.

Es ist daher eine Aufgabe der Erfindung, ein Verfahren zum Betrieb eines modularen Roboters bereitzustellen, mit dem die Konfiguration des modularen Roboters vereinfacht wird. Ferner ist es Aufgabe der Erfindung, eine Kontrolleinheit für einen modularen Roboter bereitzustellen, mit der das Verfahren durchgeführt werden kann. Weitere Aufgabe der Erfindung ist es, einen modularen Roboter sowie ein Armmodul für einen modularen Roboter bereitzustellen, die ebenfalls eine vereinfachte Konfiguration erlauben.

Diese Aufgaben werden mit dem Verfahren zum Betreiben eines modularen Roboters, der Kontrolleinheit für einen modularen Roboter, dem modularen Roboter sowie dem Armmodul für einen modularen Roboter der unabhängigen Patentansprüche gelöst. Vorteilhafte Weiterbildungen sind jeweils in abhängigen Patentansprüchen angegeben.

Nach einem ersten Aspekt umfasst die Erfindung ein Verfahren zum Betreiben eines modularen Roboters, wobei der modulare Roboter eine Roboterbasis, zumindest einen an der Roboterbasis angeordneten Roboterarm sowie eine Kontrolleinheit aufweist. Der Roboterarm weist mehrere modular anordenbare Armmodule auf. Ferner kann der Roboterarm einen Endflansch aufweisen, wobei der Endflansch an einem Ende des Roboterarms angeordnet ist. Am Endflansch kann beispielsweise ein Werkzeug angebracht sein. Die Kontrolleinheit führt die im folgenden beschriebenen Schritte durch. Zunächst wird eine Zuordnungsinformation von jedem der Armmodule in einem Zuordnungserfassungsschritt empfangen. Dann werden Armmodulbasisdaten anhand der Zuordnungsinformationen für jedes Armmodul in einem Armmodulbasisdatenermittlungsschritt ermittelt. Anschließend wird eine Konfiguration des modularen Roboters aus der Zuordnungsinformation und den Armmodulbasisdaten der einzelnen Armmodule erstellt, wobei die Konfiguration zum Ansteuern des Roboterarms verwendet wird.

Die Zuordnungsinformation kann beispielsweise eine eineindeutige Zuordnungsnummer, eine Seriennummer, eine Herstelleridentifikationsnummer, eine Produktnummer und/oder eine Versionsnummer erhalten, die einzeln oder zusammen die Zuordnungsinformation bilden oder aus denen die Zuordnungsinformation berechnet wird, beispielsweise als Prüfsumme. Die Kontrolleinheit kann beispielsweise bei jedem Armmodul die Zuordnungsinformation abfragen und als Antwort eine Herstelleridentifikationsnummer, eine Produktnummer und eine Versionsnummer erhalten, die Zusammen die Zuordnungsinformation bilden oder aus denen die Zuordnungsinformation berechnet wird, beispielsweise als Prüfsumme. Die Konfiguration des modularen Roboters kann dabei insbesondere umfassen, welche Armmodule im Roboterarm angeordnet sind, in welcher Reihenfolge zueinander diese Armmodule angeordnet sind, wie diese Armmodule im Verhältnis zueinander bewegt werden können, wie diese Armmodule bewegt werden können und ob es im Roboterarm Verzweigungen gibt. Ferner kann die Konfiguration umfassen, mit welcher Geschwindigkeit und Beschleunigung einzelne Armmodule bewegt werden können. Außerdem kann die Konfiguration umfassen, ob einzelne Armmodule aktiv oder passiv sind. Passive Armmodule beinhalten dabei keinen Motor und dienen einer Verlängerung von aktiven Armmodulen. Aktive Armmodule umfassen zumindest einen Motor. Darüber hinaus kann vorgesehen sein, dass die Konfiguration Kenngrößen der Armmodule umfasst wie beispielsweise eine Kennlinie eines Antriebsmotors eines Armmoduls. Dann kann beispielsweise eine Bewegung des Armmoduls anhand der Kennlinie geregelt werden. Die Kontrolleinheit kann eine Steuereinheit und/oder eine Regeleinheit für den modularen Roboter sein.

Nach einem zweiten Aspekt umfasst die Erfindung eine Kontrolleinheit für einen modularen Roboter. Die Kontrolleinheit ist eingerichtet, das erfindungsgemäße Verfahren durchzuführen. Dazu kann die Kontrolleinheit eine Recheneinheit umfassen, auf der ein Programm abläuft und das die Kontrolleinheit dazu veranlasst, die Verfahrensschritte durchzuführen. Die Kontrolleinheit kann eine Steuereinheit sein, die Bewegungen des modularen Roboters steuert. Ferner kann die Kontrolleinheit auch eine Regeleinheit sein, mittels der der modulare Roboter anhand von in den Armmodulen gemessenen Werten gesteuert wird und somit eine Regelung vorliegt. Mittels der Kontrolleinheit kann also eine Konfiguration des modularen Roboters bestimmt, gegebenenfalls Änderungen der Konfiguration ermittelt werden. Anschließend kann der modulare Roboter anhand der Konfiguration gesteuert werden.

Nach einem dritten Aspekt umfasst die Erfindung einen modularen Roboter mit einem Roboterarm sowie einer erfindungsgemäßen Kontrolleinheit.

Nach einem vierten Aspekt umfasst die Erfindung ein Armmodul für einen erfindungsgemäßen modularen Roboter. Das Armmodul weist einen Armmodulspeicher auf. Eine Zuordnungsinformation ist im Armmodulspeicher abgelegt. Das Armmodul ist eingerichtet, die Zuordnungsinformation an eine Kontrolleinheit des modularen Roboters auszugeben. Ein solches Armmodul kann im erfindungsgemäßen modularen Roboter eingesetzt werden und ermöglicht der erfindungsgemäßen Kontrolleinheit, die für das erfindungsgemäße Verfahren notwendige Zuordnungsinformation zu empfangen. Der Armmodulspeicher kann entweder im Armmodul angeordnet sein oder als mit dem Armmodul drahtlos oder als drahtgebunden angeschlossener externen Speicher ausgestaltet sein, beispielsweise in einem Netzwerk und/oder einer Cloud.

In einer Ausführungsform des Verfahrens werden zusätzlich im Zuordnungserfassungsschritt eine Zuordnungsinformation der Roboterbasis empfangen und/oder im Armmodulbasisdatenermittlungsschritt Armmodulbasisdaten der Roboterbasis ermittelt, wobei die Zuordnungsinformation der Roboterbasis und/oder die Armmodulbasisdaten der Roboterbasis bei der Erstellung der Konfiguration des modularen Roboters im Konfigurationsschritt berücksichtigt werden. Somit können auch bei unterschiedlichen einsetzbaren Roboterbasen stets die Zuordnungsinformationen und/oder Armmodulbasisdaten der jeweils eingesetzten Roboterbasis bei der Erstellung der Konfiguration berücksichtigt werden.

In einer Ausführungsform des erfindungsgemäßen Verfahrens beinhalten die Armmodulbasisdaten zumindest kinematische Daten. Die kinematischen Daten beinhalten eine relative Lage eines ersten Flansches und eines zweiten Flansches der jeweiligen Armmodule und/oder der Roboterbasis. Die Armmodule könnten dabei über die ersten Flansche beziehungsweise die zweiten Flansche miteinander und/oder mit einem Werkzeug verbunden werden. Ferner können die kinematischen Daten während der Produktion des Armmoduls theoretisch mittels Simulation oder praktisch mittels Messung bestimmt werden. Die kinematischen Daten können in Form einer 4x4 Transformationsmatrix bzw. als Dena- vit-Hartenberg Parameter gespeichert werden.

Die kinematischen Daten erlauben dann, eine kinematische Beschreibung des gesamten modularen Roboters zu erzeugen. Diese kinematische Beschreibung kann zur Planung von Bewegungen des Roboterarms genutzt werden. Dies kann insbesondere als kartesische Überwachung ausgestaltet sein, bei der eine Geschwindigkeit eines Punktes, beispielsweise eines Werkzeugmittelpunktes, eines L-Bogens eines Roboterarms oder eines der Flansche überwacht wird. Dabei kann ein Volumen eines Werkzeugs berücksichtigt werden und auch mehrere Punkte des Werkzeugs, beispielsweise eines Greifers, überwacht werden. Ferner sind Raumüberwachungen, Überwachung der Geometrie des modularen Roboters gegenüber einem Raum und/oder einem geometrischen Objekt, Überwachungen, ob der modulare Roboter einen bestimmten Raum beansprucht und/oder eine Überprüfung, ob der modulare Roboter sich in einem erlaubten Bewegungsbereich befindet, möglich. Dies kann beispielsweise in einer Materialeinlegestation eines Automatisierungssystems eingesetzt werden. Ist ein menschlicher Bediener und/oder ein Körperteil des menschlichen Bedieners im Bereich der Materialeinlegestation, beispielsweise hinter einem geöffneten Rolltor, kann die Materialeinlegestation für den modularen Roboter gesperrt sein. Sobald der menschliche Bediener nicht mehr im Bereich der Materialeinlegestation ist, wird der Raum wieder freigegeben, der modulare Roboter kann sich dann dort wieder bewegen. Räume können auch als Schalter genutzt werden, d. h. sobald der Roboter sich in einen Raum bewegt, können Kriterien für den Roboter gelten. Beispielsweise kann der modulare Roboter diesen Raum zwar einnehmen, aber der modulare Roboter muss sich hier langsamer bewegen. Unterschiedliche Logikfunktionen und diese Informationen können dabei entsprechend verwendet werden, um daraus eine Überwa- chungsfunktion zu generieren. Dabei kann vorgesehen sein, Zustände des modularen Roboters wie beispielsweise eine Geschwindigkeit, einen Ort und/oder eine Orientierung des Werkzeugs zu überwachen, Zustände logisch zu verschalten. Wichtig hierfür kann eine Berechnung einer Vorwärtstransformation sein.

Die kinematischen Daten können ein dreidimensionales Modell des modularen Roboters beinhalten, mit dem beispielsweise eine Hülle oder Außenmaße des modularen Roboters berücksichtigt werden können. Die kinematischen Daten können ferner kinematische Korrekturdaten beinhalten. Die kinematischen Korrekturdaten können Abweichungen von Konstruktionsdaten beschreiben, die beispielsweise durch Ungenauigkeiten bei der Fertigung entstehen. Die kinematischen Korrekturdaten werden nach der Fertigung erfasst und im Speicher abgelegt, wodurch die Fertigungstoleranzen der Module berücksichtigt werden können.

In einer Ausführungsform des Verfahrens sind die Kontrolleinheit, die Roboterbasis und die den Roboterarm bildenden Armmodule über einen Feldbus miteinander verbunden. Daten werden zwischen den Armmodulen, der Roboterbasis und der Kontrolleinheit über den Feldbus ausgetauscht. Seitens der Kontrolleinheit wird im Zuordnungserfassungsschritt anhand einer Reihenfolge der Zuordnungsinformation der Armmodule in einem Telegramm des Feldbusses ein mechanischer Aufbau des Roboterarms ermittelt. Dabei kann insbesondere vorgesehen sein, dass von der Kontrolleinheit ein Datentelegramm ausgesendet wird und dass der Feldbus das Datentelegramm über eine Ringleitung durch alle Armmodule sendet und anschließend das Datentelegramm wieder zur Kontrolleinheit gelangt. Jedes Armmodul ist ein Busteilnehmer und kann beispielsweise eine Anschalteinheit für den Feldbus aufweisen. Jede Anschalteinheit kann dann die Zuordnungsinformation in das Datentelegramm schreiben, beispielsweise auf Anforderung durch die Kontrolleinheit. Die Kontrolleinheit kann beispielsweise bei jedem Armmodul die Zuordnungsinformation abfragen und als Antwort eine Herstelleridentifikationsnummer, eine Produktnummer und eine Versionsnummer erhalten, die Zusammen die Zuordnungsinformation bilden oder aus denen die Zuordnungsinformation berechnet wird, beispielsweise als Prüfsumme. Ferner kann gegebenenfalls eine Gerätebeschreibung der Armmodule als weitere Daten abgefragt werden. Insbesondere können sowohl aktive als auch passive Armmodule eine Anschalteinheit umfassen. Es kann vorgesehen sein, dass die Armmodule zumindest auf einer Anschlussseite, auch als Flansch bezeichnet, einen Stecker beziehungsweise Anschluss für den Feldbus aufweisen, welche als Ein- und Ausgang fungiert. Ferner kann auch ein Eingang und ein Ausgang für den Feldbus auf einer Anschlussseite vorgesehen sein. Ferner können weitere solche Anschlussseiten mit einem weiteren Stecker beziehungsweise einem weiteren Anschluss für den Feldbus oder einem weiteren Eingang und einem weiteren Ausgang für den Feldbus vorgesehen sein. Es können Armmodule eingesetzt werden, die auf beiden Anschlussseiten jeweils einen Stecker bzw. Anschluss für einen Feldbus aufweisen. Ferner können auch Armmodule eingesetzt sein, an denen der Roboterarm verzweigt wird und die deshalb mehr als zwei Eingänge und mehr als zwei Ausgänge für den Feldbus aufweisen. Das Datentelegramm durchläuft bei einem Durchlauf der Ringleitung jeden Eingang und jeden Ausgang jedes Armmoduls genau einmal. Der Feldbus kann beispielsweise ein EtherCAT-Telegramm umfassen. In einer Ausführungsform des Verfahrens wird die Zuordnungsinformation der Armmodule durch eine jeweilige eineindeutige Zuordnungsnummer der Armmodule beeinflusst. Die eineindeutige Zuordnungsnummer kann insbesondere eine Seriennummer des Armmoduls sein. In einer einfachen Ausgestaltung kann die Zuordnungsinformation direkt der eineindeutigen Zuordnungsnummer beziehungsweise der Seriennummer entsprechen. Durch das erfindungsgemäße Verfahren kann dann festgestellt werden, wenn beispielsweise eines der Armmodule ausgetauscht wurde, da nun eine andere eineindeutige Zuordnungsnummer beziehungsweise Seriennummer als Zuordnungsinformation empfangen wird.

In einer Ausführungsform des Verfahrens wird die Zuordnungsinformation der Armmodule durch eine jeweilige Konfigurationsdatei der Armmodule beeinflusst. In der Konfigurationsdatei können einerseits Daten während der Produktion des Armmoduls gespeichert werden und so beispielsweise mit dem Armmodul verknüpfte Messdaten weitergegeben werden. Ferner kann vorgesehen sein, dass die Konfigurationsdatei auch Betriebsdaten des jeweiligen Armmoduls beinhaltet. Dies kann beispielsweise eine Kennlinie eines Antriebsmotors des Armmoduls umfassen, wobei eine Veränderung der Kennlinie erkannt und in die Konfigurationsdatei geschrieben werden kann. Beim nächsten Durchlauf des Verfahrens kann dann eine Veränderung der Konfigurationsdatei über die Zuordnungsinformation erkannt werden und gegebenenfalls eine Anpassung von Bewegungsbefehlen erfolgen, beispielsweise wenn bestimmte Geschwindigkeiten und/oder Beschleunigungen des Antriebsmotors nicht mehr möglich sein sollten.

In einer Ausführungsform des Verfahrens wird die Zuordnungsinformation der Armmodule als Hashwert aus der Zuordnungsnummer und der Konfigurationsdatei berechnet. Beim Vergleichen der Zuordnungsinformation der Armmodule mit einer Konfiguration werden die Hashwerte der in der Konfiguration beinhalteten Armmodule mit den übermittelten Hashwerten verglichen. Beispielsweise kann die eineindeutige Zuordnungsnummer als String und die Konfigurationsdatei als String vorliegen. Beide Strings werden aneinandergefügt und anschließend der Hashwert des resultierenden Strings ermittelt. Ändert sich nun die eineindeutige Zuordnungsnummer, obwohl das geänderte Armmodul eine identische Konfigurationsdatei umfasst, ändert sich trotzdem die Zuordnungsinformation und der Austausch des Armmoduls kann erkannt werden. Die Berechnung des Hashwerts ist dabei eine konkrete Ausgestaltung einer Berechnung einer Prüfsumme. Ändert sich die Konfigurationsdatei, ohne dass sich die eineindeutige Zuordnungsnummer ändert, ändert sich die Zuordnungsinformation ebenfalls. In beiden Fällen kann dabei die Konfigurationsdatei ausgelesen werden, um etwaige Bewegungseinschränkungen berücksichtigen zu können. Neben der beschriebenen Möglichkeit, die Zuordnungsinformation der Armmodule als Hashwert aus der Zuordnungsnummer und der Konfigurationsdatei zu berechnen, sind hier auch weitere, alternative Berechnungsmethoden für Prüfsummen bekannt und üblich.

In einer Ausführungsform des Verfahrens werden zum Erstellen der Konfiguration im Konfigurationsschritt weitere Daten aus zumindest einem der Armmodule ausgelesen und/oder für zumindest eines der Armmodule ermittelt.

Es kann vorgesehen sein, dass zum Erstellen der Konfiguration weitere Daten aus mehreren der Armmodule oder aus allen Armmodulen ausgelesen und/oder für diese ermittelt werden. Es kann ferner vorgesehen sein, dass die Kontrolleinheit an ein Armmodul oder an mehrere Armmodule einen Befehl sendet, der das Armmodul oder die Armmodule instruiert, die weiteren Daten an die Kontrolleinheit auszugeben.

In einer Ausführungsform des Verfahrens beinhalten die weiteren Daten der Armmodule dynamische Daten. Die dynamischen Daten beinhalten eine Massenträgheit der Armmodule. Die dynamischen Daten können eine Masse, eine Getriebereibung beziehungsweise eine Reibung allgemein, Schwerpunktskoordinaten und eine Eigenträgheit in Form eines Trägheitstensors beinhalten. Die dynamischen Daten können beispielsweise Getriebedaten wie eine Getriebeübersetzung, eine Reibungskennlinie des Getriebes und/oder eine Belastungsgrenze des Getriebes umfassen. Ferner können die dynamischen Daten eine Motorkennlinie eines Antriebsmotors umfassen.

Damit können beispielsweise Überlastungen des modularen Roboters, insbesondere von Getrieben der Armmodule, durch zu schnelle Bewegungen beziehungsweise durch zu große Beschleunigungen vermieden werden. Die dynamischen Daten können für eine Gravitationskompensation beim Handführen verwendet werden. Die dynamischen Daten können zur Erkennung von Kollisionen verwendet werden. Die dynamischen Daten können für eine Regelung des modularen Roboters verwendet werden. Dabei kann ausgewertet werden, welche Kräfte auf den modularen Roboter wirken, beispielsweise aufgrund der Schwerkraft oder aufgrund von Beschleunigungen. Diese Kräfte können dann entsprechend ausgeglichen werden. Dies kann beispielsweise im Rahmen einer regelungs- technischen Optimierung, beispielsweise einer Vorsteuerung erfolgen. Dabei kann relevant sein, wie viel Moment durch einen Antriebsmotor bereitgestellt werden muss, um bestimmte Bewegungen durchzuführen. Dadurch kann eine Regelung verbessert sein, Regelfehler können vermieden werden. Ferner kann die Regelung schneller und genauer sein sowie Schwingungsdämpfungen berücksichtigt werden. Dies kann auch im Zusammenhang mit Leistungsgrenzen des modularen Roboters relevant sein. Zunächst kann dabei eine Bewegungsplanung des modularen Roboters derart erstellt werden, dass keine Überlastungen bezogen auf Sollwerte auftreten. Anschließend kann die Regelung die Bewegungen so vorplanen, dass die Bewegung ohne Probleme durchgeführt werden kann.

In einer Ausführungsform des Verfahrens umfassen die weiteren Daten zumindest eine Verschleißinformation für ein Armmodul. Die Kontrolleinheit empfängt die Verschleißinformation des Armmoduls und/oder berechnet die Verschleißinformation des Armmoduls. Außerdem ermittelt die Kontrolleinheit anhand der Verschleißinformation eine Tauschempfehlung und gibt die Tauschempfehlung aus. Die Verschleißinformation kann ferner in der Konfigurationsdatei der Armmodule abgelegt sein, so dass eine Veränderung der Verschleißinformation ebenfalls über das erfindungsgemäße Verfahren erkannt werden kann. Dies ist insbesondere dann sinnvoll, wenn die Armmodule eingerichtet sind, die Verschleißinformation zu ermitteln. Ferner ist in einem modularen Roboter die Verschleißinformation vorteilhafterweise in den Armmodulen selbst hinterlegt, da diese dann auch nach einem erneuten Zusammenbau eines modularen Roboters zur Verfügung steht. Aus diesem Grund kann es vorgesehen sein, dass für den Fall, dass die Kontrolleinheit die Verschleißinformation ermittelt, diese an das entsprechende Armmodul weitergegeben und in der Konfigurationsdatei abgelegt wird. Die Tauschempfehlung kann sich darauf beziehen, dass zwei baugleiche Armmodule im Roboterarm untereinander ausgetauscht werden sollten, beispielsweise aufgrund unterschiedlichen Verschleißes der beiden Armmodule. In einem dieser Armmodule könnte beispielsweise ein Getriebe stärker beansprucht worden sein und im anderen Armmodul ein Antriebsmotor. Dann macht es Sinn, nach einer gewissen Zeit die beiden Armmodule zu tauschen, um einen möglichst homogenen Verschleiß zu erreichen. Ferner könnte sich die Tauschinformation aber auch darauf beziehen, ein Armmodul gegen ein neues zu tauschen.

In einer Ausführungsform des Verfahrens wird im Konfigurationsschritt eine Bewegungsinformation der Armmodule berücksichtigt. Die Bewegungsinformation beinhaltet mögliche Bewegungen des betreffenden Armmoduls. Dies kann sowohl beim erstmaligen Erstellen der Konfiguration als auch beim Erstellen einer aktualisierten Konfiguration erfolgen. In einer Ausführungsform des Verfahrens wird die Bewegungsinformation der Armmodule seitens der Kontrolleinheit von den Armmodulen abgefragt oder ermittelt.

In einer Ausführungsform des Verfahrens wird beim Erstellen der Konfiguration ein Arbeitsraum und/oder eine Tragfähigkeit des Roboterarms bestimmt. Dies kann sowohl beim erstmaligen Erstellen der Konfiguration als auch beim Erstellen einer aktualisierten Konfiguration erfolgen.

In einer Ausführungsform des Verfahrens wird seitens der Kontrolleinheit ermittelt, ob eine Konfiguration des modularen Roboters in einem Speicher vorliegt. Für den Fall, dass keine Konfiguration des modularen Roboters im Speicher vorliegt, wird die im Konfigurationsschritt erstellte Konfiguration als initiale Konfiguration im Speicher abgelegt. Der Speicher kann ebenfalls der Kontrolleinheit zugeordnet sein. Alternativ kann es sich aber auch um einen an die Kontrolleinheit angeschlossenen externen Speicher, beispielsweise in einem Netzwerk und/oder einer Cloud, handeln.

In einer Ausführungsform des Verfahrens wird für den Fall, dass eine initiale Konfiguration des modularen Roboters im Speicher vorliegt, die im Speicher vorliegende initiale Konfiguration mit der im Konfigurationsschritt erstellten Konfiguration verglichen, wobei für den Fall, dass die im Speicher vorliegende initiale Konfiguration mit der erstellten Konfiguration übereinstimmt, die initiale Konfiguration zum Ansteuern des Roboterarms verwendet wird und für den Fall, dass die im Speicher vorliegende initiale Konfiguration mit der erstellten Konfiguration nicht übereinstimmt, die im Konfigurationsschritt erstellte Konfiguration im Speicher abgelegt und zum Ansteuern des Roboterarms verwendet wird. Dadurch kann Rechenzeit eingespart werden, da die zum Erstellen der Konfiguration notwendigen weiteren Schritte gegebenenfalls bei einem erneuten Durchlauf des Verfahrens weggelassen werden können, da die Konfiguration bereits bekannt ist. Insbesondere müssen dann keine weiteren Daten aus den Armmodulen ausgelesen werden.

Dabei kann vorgesehen sein, dass eine aus Prüfsummen der Zuordnungsinformation der Armmodulen gebildete Gesamtprüfsumme einerseits mit im Speicher abgelegt ist und andererseits beim Erstellen der Konfiguration zusätzlich bestimmt wird. Ferner kann die Konfiguration auch die aus Prüfsummen der Zuordnungsinformation der Armmodulen ge- bildete Gesamtprüfsumme der Konfiguration entsprechen. Dies ermöglicht einen einfachen Weg, die im Speicher vorliegende initiale Konfiguration mit der erstellten Konfiguration zu vergleichen. Alternativ kann die im Speicher vorliegende initiale Konfiguration mit der erstellten Konfiguration direkt verglichen werden.

In einer Ausführungsform des Verfahrens umfasst die Konfiguration mögliche Bewegungen des Roboterarms. Die Kontrolleinheit empfängt dazu einen Bewegungsbefehl und überprüft, ob eine anhand des Bewegungsbefehls auszuführende Bewegung des Roboterarms mit der Konfiguration des modularen Roboters möglich ist. Der Bewegungsbefehl kann dabei von einem Bediener des modularen Roboters eingegeben und so empfangen werden. Alternativ oder zusätzlich kann vorgesehen sein, dass der Bewegungsbefehl von einer zentralen Kontrolleinheit eines Automatisierungssystems an die Kontrolleinheit des modularen Roboters ausgegeben wird. Dies kann insbesondere dann der Fall sein, wenn der modulare Roboter in diesem Automatisierungssystem eingesetzt wird. Die möglichen Bewegungen des Roboterarms können weitere Daten sein, die von den Armmodulen an die Kontrolleinheit übermittelt und von der Kontrolleinheit eingelesen werden. Dies kann beispielsweise beim Erstellen der Konfiguration oder beim Erstellen einer aktualisierten Konfiguration erfolgen.

Beim Überprüfen, ob eine anhand des Bewegungsbefehls bestimmte Bewegung des Roboterarms mit der Konfiguration möglich ist, kann insbesondere vorgesehen sein, den Bewegungsbefehl hinsichtlich der Bewegung des Roboterarms dahingehend zu überprüfen, mit welcher Geschwindigkeit und Beschleunigung einzelne Armmodule bewegt werden sollen und dies mit der Konfiguration des modularen Roboters abzugleichen. Ferner kann vorgesehen sein, dass mehr als ein Bewegungsbefehl empfangen wird, wobei dann die Bewegungsbefehle gegebenenfalls mögliche durchzuführende Bewegungen umfassen.

In einer Ausführungsform des Armmoduls ist dieses eingerichtet, die Zuordnungsinformation anhand einer eineindeutigen Zuordnungsnummer und einer Konfigurationsdatei zu bestimmen und im Armmodulspeicher abzulegen.

In einer Ausführungsform des Armmoduls ist dieses eingerichtet, die Zuordnungsinformation des Armmoduls als Hashwert aus der Zuordnungsnummer und der Konfigurationsdatei zu berechnen. Dies kann wie bereits weiter oben beschrieben ausgestaltet sein. In einer Ausführungsform des Armmoduls ist eine Bewegungsinformation, also eine Information hinsichtlich möglicher Bewegungen, im Armmodulspeicher abgelegt. Das Armmodul ist eingerichtet, die Bewegungsinformation an die Kontrolleinheit des modularen Roboters auszugeben.

In einer Ausführungsform des Armmoduls ist dieses eingerichtet, eine Verschleißinformation anhand von Bewegungen des Armmoduls und/oder anhand einer Messung von Kenndaten zu ermitteln, im Armmodulspeicher abzulegen und an die Kontrolleinheit auszugeben.

Die Erfindung wird anhand der beigefügten Figuren näher erläutert. Hierbei zeigen:

Fig. 1 eine Ansicht eines modularen Roboters;

Fig. 2 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens;

Fig. 3 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens mit weiteren, optionalen Schritten; und

Fig. 4 eine schematische Darstellung eines modularen Roboters.

In der folgenden Beschreibung der Figuren werden identische Elemente mit identischen Bezugszeichen gekennzeichnet. Es ist möglich, dass in einzelnen Figuren Bezugszeichen dargestellt sind, die nicht im Zusammenhang mit dieser Figur erläutert werden. In diesem Fall können die Ausführungen zu diesen Bezugszeichen, die im Zusammenhang mit weiteren Figuren erläutert sind, herangezogen werden, um die mit diesen Bezugszeichen gekennzeichneten Elemente zu beschreiben. Ferner sind in den Figurenbeschreibungen Merkmale und Eigenschaften gegebenenfalls als optional bezeichnet. Diese als optional bezeichneten Merkmale und Eigenschaften sind dann nicht zwingend erforderlich und können gegebenenfalls auch weggelassen werden.

Fig. 1 zeigt einen modularen Roboter 1 mit einer Roboterbasis 2, einem Roboterarm 10 sowie einer Kontrolleinheit 3. Der Roboterarm 10 weist mehrere modular anordenbare Armmodule 11 auf. Die Roboterbasis 2 kann eine Verbindung des Roboterarms 10 mit der Kontrolleinheit 3 bereitstellen. Ferner kann die Roboterbasis 2 eine mechanische Verbin- dung des Roboterarms 10 mit einem Untergrund oder einem Befestigungsbereich herstellen. Die Armmodule 11 sind dabei optional entweder aktive Armmodule 12 oder passive Armmodule 13. Passive Armmodule 13 beinhalten dabei keinen Motor und dienen einer Verlängerung von aktiven Armmodulen 12. Aktive Armmodule 12 umfassen zumindest einen Motor. Es kann vorgesehen sein, dass die aktiven Armmodule 12 einen mittels des Motors antreibbaren drehbaren Teil aufweisen. Außerdem kann der Roboterarm 10 optional einen Endflansch 14 aufweisen, wobei der Endflansch an einem Ende des Roboterarms 10 angeordnet ist. Am Endflansch 14 kann beispielsweise ein Werkzeug angebracht sein. Je nach Spezifikation oder benötigten Bewegungsmöglichkeiten für den Roboterarm 10 können die Armmodule 11 anders angeordnet, neu gruppiert oder durch alternative Armmodule 11 ausgetauscht werden. Wird eine solche Veränderung vorgenommen, muss der modulare Roboter 1 jedoch erneut konfiguriert werden. Die Kontrolleinheit 3 ist dabei eingerichtet, ein Verfahren zum Betreiben des modularen Roboters 1 durchzuführen, mit dem eine Konfiguration automatisiert erfolgen kann. Die Kontrolleinheit 3 weist optional eine Recheneinheit 4 und einen Speicher 5 auf. Die Kontrolleinheit 3 kann eine Steuereinheit sein, die Bewegungen des modularen Roboters 1 steuert. Ferner kann die Kontrolleinheit 3 auch eine Regeleinheit sein, mittels der der modulare Roboter 1 anhand von in den Armmodulen 11 gemessenen Werten gesteuert wird und somit eine Regelung vorliegt. Ferner ist die Kontrolleinheit 3 optional mit einem externen Speicher 6 verbunden.

Fig. 2 zeigt ein Ablaufdiagramm eines Verfahrens zum Erstellen einer Konfiguration des modularen Roboters 1. Die Kontrolleinheit 3 führt dabei die im Folgenden erläuterten Schritte durch. Hierzu kann vorgesehen sein, dass die Kontrolleinheit 3 die Recheneinheit 4 umfasst, auf der ein Programm abläuft, das die Kontrolleinheit 3 dazu veranlasst, die Verfahrensschritte durchzuführen. Zunächst wird eine Zuordnungsinformation von jedem der Armmodule in einem Zuordnungserfassungsschritt 200 empfangen. Dann werden Armmodulbasisdaten anhand der Zuordnungsinformationen für jedes Armmodul in einem Armmodulbasisdatenermittlungsschritt 220 ermittelt. Anschließend wird in einem Konfigurationsschritt 240 eine Konfiguration des modularen Roboters aus der Zuordnungsinformation und den Armmodulbasisdaten der einzelnen Armmodule erstellt, wobei die Konfiguration zum Ansteuern des Roboterarms verwendet werden kann.

Optional kann im Zuordnungserfassungsschritt 200 eine Zuordnungsinformation der Roboterbasis 2 empfangen werden. Optonal können alternativ oder zusätzlich im Armmodulbasisdatenermittlungsschritt 220 Armmodulbasisdaten der Roboterbasis 2 ermittelt werden. In diesen Fällen können die Zuordnungsinformation der Roboterbasis 2 und/oder die Armmodulbasisdaten der Roboterbasis 2 bei der Erstellung der Konfiguration des modularen Roboters 1 im Konfigurationsschritt 240 berücksichtigt werden.

Fig. 3 zeigt ein Ablaufdiagramm eines Verfahrens zum Betreiben des modularen Roboters 1. Die Kontrolleinheit 3 führt dabei die im Folgenden erläuterten Schritte durch. Hierzu kann vorgesehen sein, dass die Kontrolleinheit 3 die Recheneinheit 4 umfasst, auf der ein Programm abläuft, das die Kontrolleinheit 3 dazu veranlasst, die Verfahrensschritte durchzuführen. In einem ersten Verfahrensschritt 301 wird eine Konfiguration des modularen Roboters 1 erstellt. Dies kann entsprechend des im Zusammenhang mit der Figur 2 beschriebenen Verfahrens erfolgen. In einem zweiten Verfahrensschritt 302 wird die Konfiguration zum Ansteuern des Roboterarms 10 verwendet. Ferner sind in Fig. 3 weitere, optionale Verfahrensschritte dargestellt, die Ausführungsbeispiele betreffen, und die im Folgenden erläutert werden. In einem optionalen dritten Verfahrensschritt 303 wird ermittelt, ob eine Konfiguration des modularen Roboters 1 in einem Speicher 5, 6 vorliegt. Der dritte Verfahrensschritt 303 wird dabei nach dem ersten Verfahrensschritt 301 und vor dem zweiten Verfahrensschritt 302 ausgeführt. Für den Fall, dass keine Konfiguration des modularen Roboters 1 vorliegt, wird die Konfiguration in vierten Verfahrensschritt 304 als initiale Konfiguration im Speicher 5, 6 abgelegt . Ergibt sich im dritten Verfahrensschritt 303, dass eine initiale Konfiguration des modularen Roboters 1 in einem Speicher 5, 6 vorliegt, kann der optionale fünfte Verfahrensschritt 305 ausgeführt werden. Im fünften Verfahrensschritt 305 wird die im Speicher 5, 6 vorliegende initiale Konfiguration mit der erstellten Konfiguration verglichen. Für den Fall, dass die im Speicher 5, 6 vorliegende initiale Konfiguration mit der erstellten Konfiguration übereinstimmt, kann direkt der zweite Verfahrensschritt 302 ausgeführt und die initiale Konfiguration zum Ansteuern des Roboterarms 10 verwendet werden. Für den Fall, dass die im Speicher 5, 6 vorliegende initiale Konfiguration mit der erstellten Konfiguration nicht übereinstimmt, wird in einem sechsten Verfahrensschritt 306 die erstellte Konfiguration im Speicher 5, 6 abgelegt. . Je nach den im dritten Verfahrensschritt 303 beziehungsweise fünften Verfahrensschritt 305 vorliegenden Voraussetzungen umfasst das Verfahren also entweder die Durchführung des ersten Verfahrensschritts 301 , des dritten Verfahrensschritts 303, des vierten Verfahrensschritts 304 und des zweiten Verfahrensschritts 302 oder die Durchführung des ersten Verfahrensschritts 301 , des dritten Verfahrensschritts 303, des fünften Verfahrensschritts 305 und des zweiten Verfahrensschritts 302 oder die Durchführung des ersten Verfahrensschritts 301 , des dritten Verfahrensschritts 303, des fünften Verfahrensschritts 305, des sechsten Verfahrensschritts 306 und des zweiten Verfahrensschritts 302. Mittels der Kontrolleinheit 3 kann also eine Konfiguration des modularen Roboters 1 bestimmt und gegebenenfalls Änderungen der Konfiguration ermittelt werden. Anschließend kann der modulare Roboter 1 anhand der Konfiguration gesteuert werden. Der im Verfahren verwendete Speicher kann der Kontrolleinheit 3 zugeordnet sein, wie in Fig. 1 dargestellt. Alternativ kann es sich aber auch um einen externen, an die Kontrolleinheit 3 angeschlossenen oder anschließbaren externen Speicher e, beispielsweise in einem Netzwerk und/oder einer Cloud handeln. Wird im fünften Verfahrensschritt 305 festgestellt, dass die im Speicher 5, 6 vorliegende initiale Konfiguration mit der erstellten Konfiguration übereinstimmt, kann die initiale Konfiguration für die Ausführung des zweiten Verfahrensschritt 302 verwendet werden und gegebenenfalls Rechenzeit eingespart werden, da keine weiteren Daten aus den Armmodulen 11 abgefragt werden müssen, da diese bereits in der initialen Konfiguration beinhaltet sein können.

In einem Ausführungsbeispiel des Verfahrens umfasst die Konfiguration mögliche Bewegungen des Roboterarms 10. Die Kontrolleinheit 3 empfängt ferner einen Bewegungsbefehl, beispielsweise im sechsten Verfahrensschritt 306 oder vor dem sechsten Verfahrensschritt 306. Ferner überprüft die Kontrolleinheit nach dem Empfang des Bewegungsbefehls, ob eine anhand des Bewegungsbefehls bestimmte Bewegung des Roboterarms 10 mit der Konfiguration möglich ist. Ist dies nicht der Fall, kann gegebenenfalls eine Fehlermeldung ausgegeben werden. Die möglichen Bewegungen des Roboterarms 10 können weitere Daten sein, die von den Armmodulen 11 an die Kontrolleinheit 3 übermittelt und von der Kontrolleinheit 3 eingelesen werden. Dies kann beispielsweise beim Erstellen der Konfiguration oder beim Erstellen der aktualisierten Konfiguration erfolgen.

Der Bewegungsbefehl kann dabei von einem Bediener des modularen Roboters 1 eingegeben und so empfangen werden. Alternativ oder zusätzlich kann vorgesehen sein, dass der Bewegungsbefehl von einer zentralen Kontrolleinheit eines Automatisierungssystems an die Kontrolleinheit 3 des modularen Roboters 1 ausgegeben wird. Dies kann insbesondere dann der Fall sein, wenn der modulare Roboter 1 in diesem Automatisierungssystem eingesetzt wird.

Beim Überprüfen, ob eine anhand des Bewegungsbefehls bestimmte Bewegung des Roboterarms 10 mit der Konfiguration möglich ist, kann insbesondere vorgesehen sein, den Bewegungsbefehl hinsichtlich der Bewegung des Roboterarms 10 dahingehend zu überprüfen, mit welcher Geschwindigkeit und Beschleunigung einzelne Armmodule 11 bewegt werden sollen und dies mit der Konfiguration des modularen Roboters 1 abzugleichen. Ferner kann vorgesehen sein, dass mehr als ein Bewegungsbefehl empfangen wird, wobei dann die Bewegungsbefehle gegebenenfalls unterschiedliche mögliche durchzuführende Bewegungen umfassen.

Fig. 4 zeigt eine schematische Darstellung eines weiteren modularen Roboters 1. Die Darstellung der Armmodule 11 des Roboterarms ist dabei weniger detailliert als in Fig. 1 , dafür ist ein Innenleben der Armmodule 11 schematisch dargestellt. Ansonsten können die Armmodule 11 analog zu Fig. 1 aufgebaut sein. Ferner sind wieder aktive Armmodule 12 und passive Armmodule 13 analog zu Fig. 1 vorhanden. Im Gegensatz zur Fig. 1 weist der Roboterarm 10 in diesem Ausführungsbeispiel auch ein Verzweigungsarmmodul 15 auf. Das Verzweigungsarmmodul 15 erlaubt, den Roboterarm 10 zu verzweigen. Dies erfolgt dadurch, dass am Verzweigungsarmmodul 15 drei Armmodule 10 anbringbar sind, während an den anderen Armmodulen 11 jeweils nur zwei Armmodule 10 anbringbar sind. Das Verzweigungsarmmodul 15 kann dabei ein aktives Armmodul oder ein passives Armmodul sein. Die Armmodule 11 inklusive der Roboterbasis 2 sind über einen Feldbus 20 miteinander verbunden. Daten können zwischen den Armmodulen 11 und der Kontrolleinheit 3 über den Feldbus 20 ausgetauscht werden. Seitens der Kontrolleinheit 3 wird im Zuordnungserfassungsschritt 200 anhand einer Reihenfolge der Zuordnungsinformation der Armmodule 11 in einem Telegramm des Feldbusses 20 ein mechanischer Aufbau des Roboterarms 10 ermittelt.

Dabei kann insbesondere vorgesehen sein, dass von der Kontrolleinheit 3 ein Datentelegramm ausgesendet wird und dass der Feldbus 20 das Datentelegramm über eine Ringleitung 21 durch alle Armmodule 11 sendet und anschließend das Datentelegramm wieder zur Kontrolleinheit 3 gelangt. Jedes Armmodul 11 ist ein Busteilnehmer und weist mindestens zwei Eingänge 22 und zwei Ausgänge 23 für den Feldbus 20 auf. Ferner weist jedes Armmodul 11 eine Anschalteinheit 24 für den Feldbus 20 und optional einen Armmodulspeicher 25 auf. Jede Anschalteinheit 24 kann dann die Zuordnungsinformation in das Datentelegramm schreiben, beispielsweise auf Anforderung durch die Kontrolleinheit 3. Aus der Reihenfolge der im Datentelegramm abgelegten Zuordnungsinformation der Armmodule 11 kann dann auf die Reihenfolge der Armmodule 11 im Roboterarm 10 geschlossen werden. Insbesondere können, wie in Fig. 4 dargestellt, sowohl aktive Armmodule 12 als auch passive Armmodule 13 eine Anschalteinheit 24 umfassen. Das Verzweigungsarmmodul 15 weist mehr als zwei Eingänge 22 und mehr als zwei Ausgänge 23 für den Feldbus 20 auf. Das Datentelegramm durchläuft bei einem Durchlauf der Ringleitung 21 jeden Eingang 22 und jeden Ausgang 23 jedes Armmoduls 11 genau einmal, außer die an den Endflanschen 14 angeordneten Eingänge 22 und Ausgänge 23. Es kann vorgesehen sein, dass die Armmodule intern so verschaltet sind, dass die Anschalteinheit 24 jeweils mit dem Eingang 22 verbunden sind, über den das Datentelegram das betreffende Armmodul 11 erstmalig erreicht. Dies kann auch mit einer elektronischen Schaltung innerhalb der Armmodule 11 erreicht werden, so dass die Armmodule 11 auch verdreht eingebaut werden können. Ferner kann vorgesehen sein, dass die Endflansche 14 dadurch erkannt werden, dass erkannt wird, dass an den Endflanschen 14 keine weiteren Armmodule angeordnet sind und deshalb die Ringleitung 21 dadurch geschlossen wird, dass der Eingang 22 und der Ausgang 23 auf einer Seite des Armmoduls 11 miteinander verbunden werden, wie in den Armmodulen 11 mit den Endflanschen 14 in Fig. 4 dargestellt. Ferner kann das Datentelegramm beim zweiten oder dritten Durchlauf durch ein Armmodul 11 ein weiteres Mal die Anschalteinheit 24 durchlaufen, wobei ein Schreiben nur beim erstmaligen Durchlaufen der Anschalteinheit 24 erfolgt. Der Feldbus 20 kann dabei beispielsweise EtherCAT sein.

Ferner ist in Fig. 4 dargestellt, dass die Armmodule 11 jeweils einen ersten Flansch 16 und einen zweiten Flansch 17 aufweisen, wobei das Verzweigungsarmmodul 15 ferner einen dritten Flansch 18 aufweist. Die Eingänge 22 und Ausgänge 23 sind dabei jeweils derart angeordnet, dass am ersten Flansch 16 jeweils ein Eingang 22 und ein Ausgang 23, am zweiten Flansch 17 jeweils ein Eingang 22 und ein Ausgang 23 und für das Verzweigungsarmmodul 15 auch am dritten Flansch 18 jeweils ein Eingang 22 und ein Ausgang 23 angeordnet sind. Für die Armmodule 11 mit den Endflanschen 14 sind die zweiten Flansche 16 jeweils die Endflansche 14. Es kann entgegen der Darstellung der Fig. 4 vorgesehen sein, dass an jedem der Flansche 16, 17, 18 der Eingang 22 und der Ausgang 23 in einem kombinierten Anschluss angeordnet sind.

In einem Ausführungsbeispiel des Verfahrens wird die Zuordnungsinformation der Armmodule 11 durch eine jeweilige eineindeutige Zuordnungsnummer der Armmodule 11 beeinflusst. Die eineindeutige Zuordnungsnummer kann insbesondere eine Seriennummer des Armmoduls 11 sein. In einer einfachen Ausgestaltung kann die Zuordnungsinformation direkt der eineindeutigen Zuordnungsnummer beziehungsweise der Seriennummer entsprechen. Durch das erfindungsgemäße Verfahren kann dann festgestellt werden, wenn beispielsweise eines der Armmodule 11 ausgetauscht wurde, da nun eine andere eineindeutige Zuordnungsnummer beziehungsweise Seriennummer als Zuordnungsinformation von der Kontrolleinheit 3 empfangen wird. Die eineindeutige Zuordnungsnummer, insbesondere die Seriennummer, kann beispielsweise im Armmodulspeicher 25 abgelegt sein.

In einem Ausführungsbeispiel des Verfahrens wird die Zuordnungsinformation der Armmodule 11 durch eine jeweilige Konfigurationsdatei der Armmodule beeinflusst. In der Konfigurationsdatei können einerseits Daten während der Produktion des Armmoduls gespeichert werden und so beispielsweise mit dem Armmodul 11 verknüpfte Messdaten weitergegeben werden. Ferner kann vorgesehen sein, dass die Konfigurationsdatei auch Betriebsdaten des jeweiligen Armmoduls 11 beinhaltet. Dies kann beispielsweise eine Kennlinie eines Antriebsmotors des Armmoduls 11 umfassen, wobei eine Veränderung der Kennlinie erkannt und in die Konfigurationsdatei geschrieben werden kann. Beim nächsten Durchlauf des Verfahrens kann dann eine Veränderung der Konfigurationsdatei über die Zuordnungsinformation erkannt werden und gegebenenfalls eine Anpassung von Bewegungsbefehlen erfolgen, beispielsweise wenn bestimmte Geschwindigkeiten und/oder Beschleunigungen des Antriebsmotors nicht mehr möglich sein sollten. Die Konfigurationsdatei kann beispielsweise im Armmodulspeicher 25 abgelegt sein.

In einem Ausführungsbeispiel des Verfahrens wird die Zuordnungsinformation der Armmodule 11 als Hashwert aus der Zuordnungsnummer und der Konfigurationsdatei berechnet. Beim Vergleichen der Zuordnungsinformation der Armmodule 11 mit einer Konfiguration werden die Hashwerte der in der Konfiguration beinhalteten Armmodule 11 mit den übermittelten Hashwerten verglichen. Beispielsweise kann die eineindeutige Zuordnungsnummer als String und die Konfigurationsdatei als String vorliegen. Beide Strings werden aneinandergefügt und anschließend der Hashwert des resultierenden Strings ermittelt. Ändert sich nun die eineindeutige Zuordnungsnummer, obwohl das geänderte Armmodul 11 eine identische Konfigurationsdatei umfasst, ändert sich trotzdem die Zuordnungsinformation und der Austausch des Armmoduls 11 kann erkannt werden. Ändert sich die Konfigurationsdatei, ohne dass sich die eineindeutige Zuordnungsnummer ändert, ändert sich die Zuordnungsinformation ebenfalls. In beiden Fällen kann dabei die Konfigurationsdatei ausgelesen werden, um etwaige Bewegungseinschränkungen berücksichtigen zu können. Neben der beschriebenen Möglichkeit, die Zuordnungsinformation der Armmodule 11 als Hashwert aus der Zuordnungsnummer und der Konfigurationsdatei zu berechnen, sind hier auch weitere, alternative Berechnungsmethoden bekannt und üblich.

In einem Ausführungsbeispiel des Verfahrens empfängt die Kontrolleinheit 3 ferner eine Verschleißinformation der Armmodulen 11 und/oder berechnet eine Verschleißinformation der Armmodule 11. Außerdem ermittelt die Kontrolleinheit 3 anhand der Verschleißinformation eine Tauschempfehlung und gibt die Tauschempfehlung aus. Die Verschleißinformation kann ferner in der Konfigurationsdatei der Armmodule 11 abgelegt sein, so dass eine Veränderung der Verschleißinformation ebenfalls über das erfindungsgemäße Verfahren erkannt werden kann. Dies ist insbesondere dann sinnvoll, wenn die Armmodule 11 eingerichtet sind, die Verschleißinformation selbst zu ermitteln. Ferner ist in einem modularen Roboter 1 die Verschleißinformation vorteilhafterweise in den Armmodulen 11 selbst hinterlegt, beispielsweise im Armmodulspeicher 25, da diese dann auch nach einem erneuten Zusammenbau eines weiteren modularen Roboters 1 mit bereits verwendeten Armmodulen 11 zur Verfügung steht. Aus diesem Grund kann es vorgesehen sein, dass auch für den Fall, dass die Kontrolleinheit 3 die Verschleißinformation ermittelt, diese an das entsprechende Armmodul 11 weitergegeben und in der Konfigurationsdatei abgelegt wird. Die Tauschempfehlung kann sich darauf beziehen, dass zwei baugleiche Armmodule 11 im Roboterarm 10 untereinander ausgetauscht werden sollten, beispielsweise aufgrund unterschiedlichen Verschleißes der beiden Armmodule 1. In einem dieser Armmodule 11 könnte beispielsweise ein Getriebe stärker beansprucht worden sein als das Getriebe eines anderen Armmoduls 11 . Dann macht es Sinn, nach einer gewissen Zeit die beiden Armmodule 11 zu tauschen, um einen möglichst homogenen Verschleiß zu erreichen. Ferner könnte sich die Tauschinformation aber auch darauf beziehen, ein Armmodul 11 gegen ein neues zu tauschen.

In einem Ausführungsbeispiel des Verfahrens wird beim Erstellen der Konfiguration eine Bewegungsinformation der Armmodule 11 berücksichtigt. Die Bewegungsinformation beinhaltet mögliche Bewegungen des betreffenden Armmoduls 11. Insbesondere kann die Bewegungsinformation beinhalten, in welchen Positionen relativ zueinander der erste Flansch 16, der zweite Flansch 17 und gegebenenfalls der dritte Flansch 18 gebracht werden können. Dies kann sowohl beim erstmaligen Erstellen der Konfiguration als auch beim Estellen der aktualisierten Konfiguration erfolgen.

In einem Ausführungsbeispiel des Verfahrens wird beim Erstellen der Konfiguration ein Arbeitsraum und/oder eine Tragfähigkeit des Roboterarms 10 bestimmt. Dies kann sowohl beim erstmaligen Erstellen der Konfiguration als auch beim Erstellen der aktualisierten Konfiguration erfolgen.

In einem Ausführungsbeispiel des Verfahrens wird die Bewegungsinformation der Armmodule 11 von den Armmodulen 11 abgefragt. In einem Ausführungsbeispiel des Verfahrens beinhalten die Armmodulbasisdaten der Armmodule 11 kinematische Daten. Die kinematischen Daten beinhalten eine relative Lage des ersten Flansches 16 und des zweiten Flansches 17 der jeweiligen Armmodule 11 . Die Armmodule 11 könnten dabei über die ersten Flansche 16 beziehungsweise die zweiten Flansche 17 miteinander und/oder mit einem Werkzeug verbunden werden, wobei das Werkzeug insbesondere mit einem Endflansch 14 verbunden werden kann. Ferner können die kinematischen Daten während der Produktion des Armmoduls 11 theoretisch mittels Simulation oder praktisch mittels Messung bestimmt werden. Die kinematischen Daten können in Form einer 4x4 Transformations-matrix bzw. als Denavit-Harten- berg Parameter gespeichert werden.

Die kinematischen Daten erlauben dann, eine kinematische Beschreibung des gesamten modularen Roboters 1 zu erzeugen. Diese kinematische Beschreibung kann zur Planung von Bewegungen des Roboterarms 10 genutzt werden. Dies kann insbesondere als kartesische Überwachung ausgestaltet sein, bei der eine Geschwindigkeit eines Punktes, beispielsweise eines Werkzeugmittelpunktes, eines L-Bogens eines Roboterarms 10 oder eines der Flansche 14, 16, 17, 18 überwacht wird. Dabei kann ein Volumen eines Werkzeugs berücksichtigt werden und auch mehrere Punkte des Werkzeugs, beispielsweise eines Greifers, überwacht werden. Ferner sind Raumüberwachungen, Überwachung der Geometrie des modularen Roboters 1 gegenüber einem Raum und/oder einem geometrischen Objekt, Überwachungen, ob der modulare Roboter 1 einen bestimmten Raum beansprucht und/oder eine Überprüfung, ob der modulare Roboter 1 sich in einem erlaubten Bewegungsbereich befindet, möglich. Dies kann beispielsweise in einer Materialeinlegestation eines Automatisierungssystems eingesetzt werden. Ist ein menschlicher Bediener und/oder ein Körperteil des menschlichen Bedieners im Bereich der Materialeinlegestation, beispielsweise hinter einem geöffneten Rolltor, kann die Materialeinlegestation für den modularen Roboter 1 gesperrt sein. Sobald der menschliche Bediener nicht mehr im Bereich der Materialeinlegestation ist, wird der Raum wieder freigegeben, der modulare Roboter 1 kann sich dann dort wieder bewegen. Räume können auch als Schalter genutzt werden. Dabei kann der modulare Roboter 1 diesen Raum zwar einnehmen, aber der modulare Roboter 1 muss sich hier langsamer bewegen. Unterschiedliche Logikfunktionen und diese Informationen können dabei entsprechend verwendet werden, um daraus eine Überwachungsfunktion zu generieren. Dabei kann vorgesehen sein, Zustände des modu- laren Roboters 1 wie beispielsweise eine Geschwindigkeit, einen Ort und/oder eine Orientierung des Werkzeugs zu überwachen oder Zustände logisch zu verschalten. Wichtig hierfür kann eine Berechnung einer Vorwärtstransformation sein.

Die kinematischen Daten können ein dreidimensionales Modell des modularen Roboters 1 beinhalten, mit dem beispielsweise eine Hülle oder Außenmaße des modularen Roboters 1 berücksichtigt werden können. Insbesondere können die Außenmaße des modularen Roboters 1 von den Außenmaßen der einzelnen Armmodule 11 beeinflusst sein. Die kinematischen Daten können ferner kinematische Korrekturdaten beinhalten. Die kinematischen Korrekturdaten können Abweichungen von Konstruktionsdaten beschreiben, die beispielsweise durch Ungenauigkeiten bei der Montage entstehen.

In einem Ausführungsbeispiel des Verfahrens beinhalten die weiteren Daten der Armmodule 11 dynamische Daten. Die dynamischen Daten beinhalten eine Massenträgheit der Armmodule 11. Die dynamischen Daten können eine Masse, eine Getriebereibung beziehungsweise eine Reibung allgemein, Schwerpunktskoordinaten und eine Eigenträgheit in Form eines Trägheitstensors beinhalten. Die dynamischen Daten können beispielsweise Getriebedaten wie eine Getriebeübersetzung, eine Reibungskennlinie des Getriebes und/oder eine Belastungsgrenze des Getriebes umfassen. Ferner können die dynamischen Daten eine Motorkennlinie eines Antriebsmotors umfassen.

Damit können beispielsweise Überlastungen des modularen Roboters 1 , insbesondere von Getrieben der Armmodule 11 , durch zu schnelle Bewegungen beziehungsweise durch zu große Beschleunigungen vermieden werden. Die dynamischen Daten können für eine Gravitationskompensation beim Handführen verwendet werden. Die dynamischen Daten können zur Erkennung von Kollisionen mit dem eigenen Roboterarm oder Fremdkörpern verwendet werden. Die dynamischen Daten können für eine Regelung des modularen Roboters 1 verwendet werden. Dabei kann ausgewertet werden, welche Kräfte auf den modularen Roboter 1 wirken, beispielsweise aufgrund der Schwerkraft oder aufgrund von Beschleunigungen. Diese Kräfte können dann entsprechend ausgeglichen werden. Dies kann beispielsweise im Rahmen einer regelungstechnischen Optimierung, beispielsweise einer Vorsteuerung erfolgen. Dabei kann relevant sein, wie viel Moment durch einen Antriebsmotor bereitgestellt werden muss, um bestimmte Bewegungen durchzuführen. Dadurch kann eine Regelung verbessert sein, Regelfehler können vermieden werden. Ferner kann die Regelung schneller und genauer sein sowie Schwingungsdämpfungen berücksichtigt werden. Dies kann auch im Zusammenhang mit Leistungsgrenzen des modularen Roboters 1 relevant sein. Zunächst kann dabei eine Bewegungsplanung des modularen Roboters derart erstellt werden, dass keine Überlastungen auftreten bezogen auf Sollwerte. Anschließend kann die Regelung die Bewegungen so vorplanen, dass die Bewegung ohne Probleme durchgeführt werden kann.

Ebenfalls Teil der Erfindung ist die Kontrolleinheit 3 für einen modularen Roboter 1 , welche eingerichtet ist, das im Zusammenhang mit Fig. 2 erläuterte Verfahren oder eines seiner Ausführungsbeispiele durchzuführen. Die Kontrolleinheit 3 kann dazu einen Anschluss für den Feldbus 20 aufweisen. Ebenfalls Teil der Erfindung ist der modularer Roboter 1 mit dem Roboterarm 10 sowie der Kontrolleinheit 3.

Ein Armmodul 11 für einen modularen Roboter 1 weist einen Armmodulspeicher 25 auf. Eine Zuordnungsinformation ist im Armmodulspeicher 25 abgelegt. Das Armmodul 11 ist eingerichtet, die Zuordnungsinformation an eine Kontrolleinheit 3 des modularen Roboters 1 auszugeben.

In einem Ausführungsbeispiel des Armmoduls 11 ist dieses eingerichtet, die Zuordnungsinformation anhand einer eineindeutigen Zuordnungsnummer und einer Konfigurationsdatei zu bestimmen und im Armmodulspeicher 25 abzulegen.

In einem Ausführungsbeispiel des Armmoduls 11 ist dieses eingerichtet, die Zuordnungsinformation des Armmoduls 11 als Hashwert aus der Zuordnungsnummer und der Konfigurationsdatei zu berechnen. Dies kann wie bereits weiter oben beschrieben ausgestaltet sein.

In einem Ausführungsbeispiel des Armmoduls 11 ist eine Bewegungsinformation, also eine Information hinsichtlich möglicher Bewegungen, im Armmodulspeicher 25 abgelegt. Das Armmodul 11 ist eingerichtet, die Bewegungsinformation an die Kontrolleinheit 3 des modularen Roboters 1 auszugeben.

In einem Ausführungsbeispiel des Armmoduls 11 ist dieses eingerichtet, eine Verschleißinformation anhand von Bewegungen des Armmoduls 11 und/oder anhand einer Messung von Kenndaten zu ermitteln, im Armmodulspeicher 25 abzulegen und an die Kontrolleinheit 3 auszugeben. Bezugszeichenliste

1 modularer Roboter

2 Roboterbasis

3 Kontrolleinheit

4 Recheneinheit

5 Speicher

6 externer Speicher

10 Roboterarm

11 Armmodul

12 aktives Armmodul

13 passives Armmodul

14 Endflansch

15 Verzweigungsarmmodul

16 erster Flansch

17 zweiter Flansch

20 Feldbus

21 Ringleitung

22 Eingang

23 Ausgang

24 Anschalteinheit

25 Armmodulspeicher

200 Zuordnungserfassungsschritt

220 Armmodulbasisdatenermittlungsschritt

240 Konfigurationsschritt

301 erster Verfahrensschritt

302 zweiter Verfahrensschritt

303 dritter Verfahrensschritt

304 vierter Verfahrensschritt

305 fünfter Verfahrensschritt

306 sechster Verfahrensschritt