DE102021129897B4 - Modulare Robotervorrichtung und Verfahren zum Betreiben einer modularen Robotervorrichtung - Google Patents

Modulare Robotervorrichtung und Verfahren zum Betreiben einer modularen Robotervorrichtung Download PDF

Info

Publication number
DE102021129897B4
DE102021129897B4 DE102021129897.0A DE102021129897A DE102021129897B4 DE 102021129897 B4 DE102021129897 B4 DE 102021129897B4 DE 102021129897 A DE102021129897 A DE 102021129897A DE 102021129897 B4 DE102021129897 B4 DE 102021129897B4
Authority
DE
Germany
Prior art keywords
modular
robot
rigid
robot manipulator
hinge portion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102021129897.0A
Other languages
English (en)
Other versions
DE102021129897A1 (de
Inventor
Carlos Y. Sakuramoto
Saulo Melotti
Fabiano Preisler
Gustavo R. Ascenção
Douglas Negri
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102021129897A1 publication Critical patent/DE102021129897A1/de
Application granted granted Critical
Publication of DE102021129897B4 publication Critical patent/DE102021129897B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/06Programme-controlled manipulators characterised by multi-articulated arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/08Programme-controlled manipulators characterised by modular constructions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0025Means for supplying energy to the end effector
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0009Constructional details, e.g. manipulator supports, bases
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses

Abstract

Modulare Robotervorrichtung (30, 620, 810), umfassend:eine Roboterbasis (410, 510); undeinen Robotermanipulator (300, 400, 500, 820), der mit der Roboterbasis (410, 510) verbunden ist und so betrieben werden kann, dass er eine Werkzeugvorrichtung (470, 540, 822), die mit einem Ende des Robotermanipulators (300, 400, 500, 820) verbunden ist, gelenkig bewegt, wobei der Robotermanipulator (300, 400, 500, 820) eine Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) enthält, die jeweils einen Gelenkabschnitt (320, 340, 425, 435, 445, 455, 520, 624, 920, 1050, 1120, 1420) aufweisen und so betrieben werden können, dass sie wahlweise mit dem Robotermanipulator (300, 400, 500, 820) verbunden werden können;wobei die Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) austauschbar sind und in verschiedenen Kombinationen zusammengesetzt werden können;dadurch gekennzeichnet, dass die modulare Robotervorrichtung (30, 620, 810) ferner ein computergestütztes Steuersystem (20) umfasst, das eine Programmierung enthält zum:Modellieren des Betriebs des Robotermanipulators (300, 400, 500, 820) im Zusammenhang mit einem Werkstück (610, 870), an dem die modulare Robotervorrichtung (30, 620, 810) Arbeiten ausführen kann;Erzeugen einer bestimmten Mindestanzahl von Freiheitsgraden, die für den Betrieb des Robotermanipulators (300, 400, 500, 820) im Kontext des Werkstücks nützlich sind;wobei der Robotermanipulator (300, 400, 500, 820) so betrieben werden kann, dass er die festgelegte Mindestanzahl von Freiheitsgraden aufweist;wobei das Modellieren des Betriebs des Robotermanipulators (300, 400, 500, 820) das Definieren einer Mehrzahl von Zuständen umfasst, einschließlich eines Anfangszustands, eines oder mehrerer Zwischenzustände und eines Endzustands, durch den der Robotermanipulator (300, 400, 500, 820) übergeht, um einen Vorgang an dem Werkstück abzuschließen.

Description

  • Die Offenbarung bezieht sich allgemein auf eine modulare Robotervorrichtung und ein Verfahren zum Betrieb einer modularen Robotervorrichtung.
  • Roboterarme sind für eine Mehrzahl von Aufgaben geeignet. In einer Ausführungsform kann ein Roboterarm in einer Fertigungsumgebung nützlich sein, wobei der Roboterarm eine oder mehrere Aufgaben an einem herzustellenden Produkt ausführt. Ein beispielhafter Roboterarm kann eine Farbdüse, eine Schweißvorrichtung oder eine Bohrvorrichtung umfassen.
  • Die herzustellenden Produkte können relativ groß oder relativ klein sein, wobei die Komplexität des herzustellenden Produkts unterschiedlich hoch ist. Ein Beispiel: Ein Kraftfahrzeug kann aus Tausenden von Teilen bestehen, die zu einer Karosserie oder einem Fahrgestell zusammengebaut werden. Ein Roboterarm kann damit beauftragt werden, einen Sicherungskasten in der Nähe eines Bremspedals im Fahrzeug einzubauen, wobei der Roboterarm durch ein offenes Fenster einsteigen, um den Sitz und das Lenkrad herum navigieren und den Winkel und die Drehung des Sicherungskastens so einstellen kann, dass er der Lage und Ausrichtung im Fahrzeug entspricht, in der er eingebaut werden soll. Der Roboterarm kann gelenkig sein oder eine nützliche Anzahl von Freiheitsgraden aufweisen, um die gewünschte Aufgabe zu erfüllen.
  • US 2019 / 0 262 988 A1 beschreibt ein modulares Robotersystem. Es werden modulare Bausteine zum Aufbau eines Robotersystems und das Verfahren zum Aufbau des Robotersystems unter Verwendung der Bausteine beschrieben. Der Baustein umfasst ein Chassis mit einem ersten Ende und einem zweiten Ende, einen ersten Verbinder, der näher am zweiten Ende als am ersten Ende des Chassis positioniert ist, entweder einen zweiten Verbinder oder einen Drehaktuator, der näher am ersten Ende als am zweiten Ende des Chassis positioniert und so konfiguriert ist, dass er mit dem ersten Verbinder gekoppelt werden kann, eine Signalschnittstelle auf einer Oberfläche des Chassis, wobei die Signalschnittstelle Hardware und Schaltkreise zum Übertragen und Empfangen von Signalen von und zu dem Baustein umfasst, und eine Strom- und Steuerschnittstelle auf dem Chassis zur Aufnahme von Strom für den Baustein.
  • US 2020 / 0 361 080 A1 beschreibt einen Roboterarm in modularer Bauweise. Eine motorisierte Gelenkanordnung für einen modularen Roboterarm umfasst eine motorisierte Einheit mit einer ersten Schale und einer zweiten Schale, die relativ zu der ersten Schale um eine Drehachse drehbar ist, einen Motor, der innerhalb der ersten Schale oder der zweiten Schale angeordnet und an dieser befestigt ist, wobei der Motor in Antriebseingriff mit der anderen der ersten Schale und der zweiten Schale steht; eine erste Kappenschnittstelle, die an der ersten Schale angebracht ist, und eine zweite Kappenschnittstelle, die an der zweiten Schale angebracht ist, wobei die erste Kappenschnittstelle einen ersten Satz von Verbindern zum Verbinden von Strukturelementen des modularen Roboters in einer ersten Ausrichtung und einen zweiten Satz von Verbindern zum Verbinden der Strukturelemente in einer zweiten Ausrichtung, die sich von der ersten Ausrichtung unterscheidet, definiert.
  • Die nachveröffentlichte DE 10 2020 103 058 B3 beschreibt ein aktives Armmodul, einen modularen Roboterarm und einen Industrieroboter, wobei das aktive Armmodul ein erstes Gehäuse, einen Wärmetauscher, eine Antriebseinrichtung und eine erste Anschlussseite mit einer ersten Anschlussplatte und einer an der ersten Anschlussplatte angeordneten ersten Fluidkontakteinrichtung aufweist. Die erste Anschlussplatte ist mit einem weiteren Armmodul oder einer Roboterbasis des Roboterarms mechanisch zur Übertragung von Antriebs- und Stützkräften verbindbar ist, wobei das erste Gehäuse sich entlang einer Rotationsachse erstreckt und einen die Antriebseinrichtung aufnehmenden Innenraum begrenzt, wobei über die erste Fluidkontakteinrichtung ein Fluid mit dem weiteren Armmodul oder der Roboterbasis austauschbar ist. Der Wärmetauscher nimmt zumindest abschnittweise die Antriebseinrichtung auf und ist thermisch mit der Antriebseinrichtung gekoppelt, wobei der Wärmetauscher wenigstens einen Wärmetauscherfluidkanal aufweist, wobei der Wärmetauscherfluidkanal mit einem Fluid zum Austausch des Fluids mit der ersten Fluidkontakteinrichtung füllbar ist, wobei der Wärmetauscher ausgebildet ist, Wärme zwischen der Antriebseinrichtung und dem Fluid auszutauschen.
  • Die nachveröffentlichte DE 10 2022 113 135 A1 beschreibt modulare Robotik-Verbindungen. Für den Bau eines Robotermanipulators werden modulare Komponenten verwendet. Für den Bau des Robotermanipulators wird eine Teilmenge der modularen Komponenten auf der Grundlage eines Schemas ausgewählt. Die Teilmenge der modularen Komponenten wird in verschiedenen Kombinationen zusammengesetzt, um den Robotermanipulator zu bauen. Mit einer der Kombinationen aus der Teilmenge der modularen Komponenten wird der Robotermanipulator gebaut.
  • DE 10 2014 019 752 A1 beschreibt einen Haltearm für medizinische Zwecke mit zwei mechatronischen Schnittstellen, mit einem proximalen Ende zum Befestigen des Haltearms an einer Basis und einem distalen Ende zum Aufnehmen eines chirurgischen mechatronischen Assistenzsystems, zwei oder mehr Armsegmenten und zwei oder mehr Gelenken, mittels denen die Armsegmente gelenkig miteinander verbunden sind, wobei jedes Gelenk mittels einer Bedieneinrichtung freigebbar und arretierbar ist. Zwei Schnittstellen sind an dem proximalen Ende zum Verbinden des Haltearms mit einer Energiequelle sowie mit einer externen Steuereinheit zum Übertragen von Signalen an den und von dem Haltearm und an dem distalen Ende zum Koppeln des Haltearms mit dem Assistenzsystem zum Steuern des Assistenzsystems vorgesehen.
  • DE 10 2016 004 788 A1 beschreibt ein Verfahren und eine Vorrichtung zur Herstellung eines Roboters mit einem Roboterarm, wobei unter Zuhilfenahme eines Montageroboters erste Gehäusesegmente in einer für den Roboterarm vorgesehenen Reihenfolge angeordnet, Antriebseinheiten in die ersten Gehäusesegmente eingesetzt und jeweils komplementäre zweite Gehäusesegmente auf die die Antriebseinheiten aufweisenden ersten Gehäusesegmente aufgesetzt werden.
  • Es kann als Aufgabe betrachtet werden, die Flexibilität einer Robotervorrichtung und insbesondere des Roboterarms zu verbessern.
  • Diese Aufgabe wird gelöst durch den Gegenstand der Ansprüche 1 und 8.
  • Erfindungsgemäß wird eine modulare Robotervorrichtung bereitgestellt. Die modulare Robotervorrichtung umfasst eine Roboterbasis und einen Robotermanipulator, der mit der Roboterbasis verbunden ist und so betrieben werden kann, dass er eine Werkzeugvorrichtung, die mit einem Ende des Robotermanipulators verbunden ist, gelenkig bewegt. Der Robotermanipulator umfasst eine Mehrzahl modularer starrer Segmente, wobei jedes der Mehrzahl modularer starrer Segmente einen Gelenkabschnitt umfasst und jedes so betrieben werden kann, dass es wahlweise mit dem Robotermanipulator verbunden werden kann. Die Mehrzahl modularer starrer Segmente sind austauschbar und können in verschiedenen Kombinationen zusammengesetzt werden. Erfindungsgemäß umfasst die modulare Robotervorrichtung ferner ein computergestütztes Steuersystem, das eine Programmierung enthält, um den Betrieb des Robotermanipulators im Zusammenhang mit einem Werkstück zu modellieren, an dem die Robotervorrichtung Arbeiten ausführen kann, und eine bestimmte Mindestanzahl von Freiheitsgraden zu erzeugen, die für den Betrieb des Robotermanipulators im Zusammenhang mit dem Werkstück nützlich sind. Der Robotermanipulator kann so betrieben werden, dass er die bestimmte Mindestanzahl von Freiheitsgraden enthält. Erfindungsgemäß umfasst die Modellierung des Betriebs des Robotermanipulators die Definition einer Mehrzahl von Zuständen, einschließlich eines Anfangszustands, eines oder mehrerer Zwischenzustände und eines Endzustands, durch den der Robotermanipulator übergeht, um einen Vorgang an dem Werkstück abzuschließen.
  • In einer Ausführungsform umfasst die Mehrzahl modularer starrer Segmente ein erstes starres Segment mit einem ersten Gelenkabschnitt. Die Mehrzahl der modularen starren Segmente umfasst ferner ein zweites starres Segment, das mit dem ersten Gelenkabschnitt verbunden ist und einen zweiten Gelenkabschnitt umfasst, der mit dem zweiten starren Segment verbunden ist. Die Mehrzahl der modularen starren Segmente umfasst ferner ein drittes starres Segment, das mit dem zweiten Gelenkabschnitt verbunden ist und einen dritten Gelenkabschnitt umfasst, der mit dem dritten starren Segment verbunden ist. Die Mehrzahl der modularen starren Segmente umfasst ferner ein viertes starres Segment, das mit dem dritten Gelenkabschnitt verbunden ist und einen vierten Gelenkabschnitt umfasst, der mit dem vierten starren Segment verbunden ist. Die Mehrzahl der modularen starren Segmente umfasst ferner ein fünftes starres Segment, das mit dem vierten Gelenkabschnitt verbunden ist und einen fünften Gelenkabschnitt umfasst, der mit dem fünften starren Segment verbunden ist. Die Mehrzahl der modularen starren Segmente umfasst ferner ein sechstes starres Segment, das mit dem fünften Gelenkabschnitt verbunden ist und einen sechsten Gelenkabschnitt umfasst, der mit dem sechsten starren Segment verbunden ist. Die Mehrzahl der modularen starren Segmente umfasst ferner ein siebtes starres Segment, das mit dem sechsten Gelenkabschnitt verbunden ist.
  • In einer Ausführungsform enthält jedes der modularen starren Segmente ein Verbindungskabel, das zur Übertragung von Daten oder Strom durch das modulare starre Segment dient.
  • In einer Ausführungsform enthält jedes der modularen starren Segmente Verbindungskabel, die zur Übertragung von Daten und Strom durch das modulare starre Segment dienen.
  • In einer Ausführungsform ist mindestens einer der Gelenkabschnitte betätigbar, um einen Winkel einer Längsachse eines ersten der Mehrzahl modularer starrer Segmente in Bezug auf eine Längsachse eines zweiten der Mehrzahl modularer starrer Segmente zu ändern.
  • In einer Ausführungsform ist mindestens einer der Gelenkabschnitte betätigbar, um ein erstes der Mehrzahl modularer starrer Segmente in Bezug auf ein zweites der Mehrzahl modularer starrer Segmente zu drehen, während eine gemeinsame Längsachse zwischen dem ersten der Mehrzahl modularer starrer Segmente und dem zweiten der Mehrzahl modularer starrer Segmente beibehalten wird.
  • In einer Ausführungsform ist die Roboterbasis mobil und kann sich entlang eines sich bewegenden Werkstücks bewegen, an dem die Robotervorrichtung Arbeiten ausführen kann, so dass der Robotermanipulator eine Aufgabe an dem sich bewegenden Werkstück ausführen kann.
  • Erfindungsgemäß wird ein Verfahren zum Betrieb einer modularen Robotervorrichtung offenbart. Das Verfahren umfasst, in einem computergestützten Prozessor, das Betreiben einer Programmierung zur Überwachung der Geometrie und der Beschränkungen, die ein Werkstück und die an dem Werkstück durchzuführenden Operationen beschreiben, und zur Bestimmung einer Mehrzahl von Zuständen, durch die die modulare Robotervorrichtung bewegt werden kann, um die durchzuführenden Operationen auf der Grundlage der überwachten Geometrie und der Beschränkungen zu vollenden. Das Verfahren umfasst ferner innerhalb des computergestützten Prozessors eine Betriebsprogrammierung zum Analysieren der mehreren Zustände, um eine minimale Anzahl von Freiheitsgraden in einem Robotermanipulator der modularen Robotervorrichtung zu bestimmen und eine empfohlene Robotermanipulatorkonfiguration zu erzeugen, die eine Anzahl von zu verwendenden starren Segmenten und Typen von zu verwendenden Gelenkabschnitten umfasst.
  • In einer Ausführungsform umfasst das Verfahren ferner die Montage einer Mehrzahl modularer starrer Segmente, wobei jedes der Mehrzahl modularer starrer Segmente einen Gelenkabschnitt enthält, an einer Roboterbasis auf der Grundlage der empfohlenen Robotermanipulatorkonfiguration.
  • In einer Ausführungsform umfasst das Erzeugen der empfohlenen Robotermanipulatorkonfiguration, einschließlich der Arten der zu verwendenden Gelenkabschnitte, die Bestimmung von Vorgängen, einschließlich des Biegens eines Robotermanipulators der modularen Robotervorrichtung, und die Bestimmung von Vorgängen, einschließlich des Drehens des Robotermanipulators.
    • 1 zeigt schematisch ein beispielhaftes Steuerungssystem, das zur Steuerung eines Roboters im Sinne der vorliegenden Offenbarung verwendet wird;
    • 2 ist ein Flussdiagramm, das ein Verfahren zur Bestimmung von Zwischenpunkten zwischen einem ersten Zustand und einem zweiten Zustand gemäß der vorliegenden Offenbarung zeigt;
    • 3 ist ein Flussdiagramm, das Befehle veranschaulicht, die vom Motorsteuerungsmodul in Übereinstimmung mit der vorliegenden Offenbarung ausgegeben werden;
    • 4 zeigt schematisch einen beispielhaften Robotermanipulator mit zwei benachbarten Gelenkabschnitten, die dazu dienen, den Robotermanipulator in Bezugsebenen zu biegen, die im Winkel von 90 Grad zueinander gedreht sind, in Übereinstimmung mit der vorliegenden Offenbarung;
    • 5 zeigt schematisch einen beispielhaften Robotermanipulator mit starren Segmenten und Gelenkabschnitten, die entlang der Länge des Robotermanipulators abnehmen, in Übereinstimmung mit der vorliegenden Offenbarung;
    • 6 zeigt schematisch einen beispielhaften Robotermanipulator mit modularen starren Segmenten und Gelenkabschnitten, die dazu dienen, den Robotermanipulator entsprechend einer gewünschten Gesamtlänge des Robotermanipulators und gewünschten Freiheitsgraden im Robotermanipulator gemäß der vorliegenden Offenbarung selektiv zusammenzubauen;
    • 7 zeigt schematisch einen Bildschirm einer Bedienerschnittstelle, die den Betrieb der eigentlichen Robotervorrichtung gemäß der vorliegenden Offenbarung simuliert;
    • 8 zeigt schematisch den Anzeigebildschirm von 7, wobei zusätzliche Aufgaben, die von der simulierten Robotervorrichtung angefordert werden, verwendet werden können, um eine neue Roboterkonfiguration zu definieren und Befehle in die simulierte Robotervorrichtung einzugeben, in Übereinstimmung mit der vorliegenden Offenbarung;
    • 9 zeigt schematisch eine beispielhafte tatsächliche Robotervorrichtung, die so betrieben werden kann, dass sie sich entlang eines sich bewegenden Werkstücks bewegt, so dass die tatsächliche Robotervorrichtung eine Aufgabe an dem sich bewegenden Werkstück in Übereinstimmung mit der vorliegenden Offenbarung ausführen kann;
    • 10 zeigt ein beispielhaftes starres Segment, das aus einer Einheit mit einem angebrachten Verbindungsteil besteht und an jedem Ende mechanische, elektrische Leistungs- und Signalverbindungen gemäß der vorliegenden Offenbarung aufweist;
    • 11 zeigt ein beispielhaftes starres Segment, das getrennt von einem Gelenkabschnitt vorgesehen ist, wobei jedes selektiv angebracht ist und jedes mechanische, elektrische Leistungs- und Signalverbindungen gemäß der vorliegenden Offenbarung enthält;
    • Die 12 bis 14 zeigen ein weiteres Beispiel für ein erstes starres Segment und einen Gelenkabschnitt, der dazu dient, ein zweites befestigtes starres Segment in Bezug auf das erste starre Segment zu biegen, wie es in der vorliegenden Offenbarung beschrieben ist;
    • Die 15 bis 17 zeigen ein weiteres Beispiel für ein erstes starres Segment und einen Gelenkabschnitt, der dazu dient, ein zweites befestigtes starres Segment in Bezug auf das erste starre Segment zu drehen, in Übereinstimmung mit der vorliegenden Offenbarung;
    • 18 ist ein Flussdiagramm, das die Steuerungssoftware und ein modulares Verfahren zur Lösung inverser Kinematiken in Übereinstimmung mit der vorliegenden Offenbarung zeigt;
    • 19 zeigt schematisch das Motorsteuerungsmodul von 1, in Übereinstimmung mit der vorliegenden Offenbarung; und
    • 20 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Betrieb eines modularen Robotergeräts gemäß der vorliegenden Offenbarung zeigt.
  • Ein System und Verfahren für einen flexiblen und modularen Schlangenroboterarm mit mehreren Freiheitsgraden ist vorgesehen. Ein Herstellungsverfahren kann eine Reihe von definierten Beschränkungen enthalten. Auf der Grundlage dieser definierten Einschränkungen kann eine Mindestanzahl von Freiheitsgraden für einen Roboterarm zur Durchführung des Herstellungsverfahrens definiert werden. Auf der Grundlage der definierten Einschränkungen und der Mindestanzahl von Freiheitsgraden kann ein Roboterarm ausgewählt werden, um das Herstellungsverfahren durchzuführen.
  • Ein Roboterarm kann ein erstes Segment mit einem ersten starren Abschnitt und ein zweites Segment mit einem zweiten starren Abschnitt umfassen. Das erste Segment kann durch ein Gelenk mit dem zweiten Segment verbunden werden. Das Gelenk kann einen Biegescharnierabschnitt umfassen, der es dem zweiten Segment ermöglicht, einen Winkel in Bezug auf das erste Segment zu ändern. Ein Biegescharnier kann mit einem Ellbogengelenk bei einer Person verglichen werden und kann in einer einzigen Ebene arbeiten, wobei das zu bedienende Segment einen Winkel des zweiten Segments um eine feste Achse oder mit einem einzigen Freiheitsgrad ändern kann. Das Gelenk kann alternativ einen drehbaren Teil umfassen, wobei das zweite Segment um eine feste Achse, die mit einer Längsachse des ersten Segments zusammenfällt, oder mit einem einzigen Freiheitsgrad gedreht werden kann. Das Gelenk kann alternativ einen kardanischen Teil mit zwei Freiheitsgraden umfassen, ähnlich einem Schultergelenk bei einer Person, das es dem zweiten Segment ermöglicht, die Winkel um zwei Achsen in Bezug auf das erste Segment zu ändern. Die hierin offenbarten Robotervorrichtungen können modular sein, was bedeutet, dass der Roboter je nach den Besonderheiten einer zugewiesenen Arbeitsaufgabe selektiv ausgebaut werden kann, wobei zusätzliche modulare starre Segmente und Gelenkabschnitte nach Bedarf hinzugefügt oder entfernt werden können. Die Robotervorrichtung kann in ähnlicher Weise unabhängig von einer Anzahl angebrachter modularer starrer Segmente funktionieren, wobei jedes zusätzliche modulare starre Segment die Anzahl der Freiheitsgrade, die die Robotervorrichtung ausüben kann, erhöht.
  • 1 zeigt schematisch ein beispielhaftes computergestütztes Steuersystem, das zur Steuerung einer aktuellen Robotervorrichtung 30 verwendet wird. Das Steuersystem setzt eine Bedienereingabe in Anweisungen für die eigentliche Robotervorrichtung 30 um. Ein erster Teil des Steuersystems umfasst eine computerisierte Schnittstelle 10, an der ein Bediener die Befehle erstellt, die die eigentliche Robotervorrichtung 30 ausführen kann. Ein zweiter Teil des Steuersystems umfasst ein Motorsteuerungsmodul 20, das die Befehle in Bewegungsabläufe für die eigentliche Robotervorrichtung 30 umsetzt. Die eigentliche Robotervorrichtung 30 umfasst einen Robotermanipulator oder einen Roboterarm mit einer Mehrzahl starrer Segmente, wobei jedes der Segmente mit mindestens einem anderen starren Segment über einen manipulierbaren Gelenkabschnitt verbunden ist.
  • Die computergestützte Schnittstelle 10 bietet dem Bediener eine Konsole, über die er Eingaben an das Motorsteuerungsmodul 20 machen kann. Das Motorsteuerungsmodul 20 setzt die Eingaben des Bedieners in Bewegungsbefehle um, indem es Zwischenpunkte, Geschwindigkeiten der Gelenke und des Effektors, Bewegungsarten und Befehle für ein oder mehrere mit dem Robotermanipulator gekoppelte Werkzeuge bestimmt. Die vom Bediener eingegebenen Befehle werden im Rahmen der computergestützten Programmierung in einem Format gespeichert, das als virtueller Zustand bezeichnet wird. Über die Schnittstelle kann ein virtueller Roboter oder eine simulierte Robotervorrichtung verwendet werden, die durch mathematische Modellierung erstellt wurde, um die tatsächliche Robotervorrichtung 30 zu imitieren. Darüber hinaus kann über die computergestützte Schnittstelle 10 ein Computermodell des Werkstücks, das von der tatsächlichen Robotervorrichtung 30 bearbeitet wird, verwendet werden, um Konfigurationsoptionen für die tatsächliche Robotervorrichtung 30 auszuwählen, indem simulierte Konfigurationen der simulierten Robotervorrichtung ermöglicht werden, z. B. die Bestimmung einer Mindestanzahl von Freiheitsgraden der simulierten Robotervorrichtung, die für die simulierte Robotervorrichtung nützlich sind, um Hindernisse herum zu manövrieren und die programmierten Aufgaben zu erledigen. Diese Funktionalität fungiert als digitales Duplikat der tatsächlichen Robotervorrichtung, um die Bestimmung einer Trajektorie zu unterstützen, die die vom Bediener angegebenen Wegpunkte für die Roboterbewegung verbindet. Mit dieser Methode wird eine Liste von Koordinaten und Bewegungsanweisungen aufgezeichnet, die von einem Motorsteuerungsmodul 20 des eigentlichen Robotergeräts 30 befolgt werden.
  • Das Motorsteuerungsmodul 20 erzeugt Anweisungen oder Befehle für die eigentliche Robotervorrichtung 30. Das Motorsteuerungsmodul 20 kann Befehle in einem synchronisierten Verfahren oder einer synchronisierten Abfolge erzeugen. Beispielsweise Befehle zur Steuerung der Bewegungsgeschwindigkeit und Befehle, die sich auf einen Winkel für jeden Gelenkabschnitt des Robotermanipulators beziehen, um eine gewünschte Bewegungsabfolge im Robotermanipulator zu erreichen. Zusätzlich können dem Motorsteuerungsmodul 20 Daten von Sensoren am Robotermanipulator zugeführt werden. Diese Daten, die dem Motorsteuerungsmodul 20 zur Verfügung gestellt werden, können verwendet werden, um eine Rückkopplungssteuerung des Robotermanipulators durch die gewünschte Bewegungsabfolge zu ermöglichen.
  • Das Übersetzen der Eingaben eines Bedieners in Befehle, die zur Steuerung des Robotermanipulators durch die gewünschte Bewegungssequenz nützlich sind, kann beinhalten, dass der Bediener einen Anfangszustand, einen oder mehrere Zwischenzustände und einen Endzustand vorgibt, wobei diese Zustandssequenz Positions- und Orientierungsinformationen enthält, die zur Steuerung der Bewegung und/oder der Stellung des Robotermanipulators nützlich sind. Die Eingabe von Informationen, die sich auf jeden der Zustände beziehen, kann die Bestimmung einer Mehrzahl von Steuerparametern für jeden der Zustände beinhalten. Zu diesen Steuerparametern können die aktuellen Winkel für jeden Gelenkabschnitt des Manipulators, die Koordinaten der an einem Ende des Robotermanipulators angebrachten Werkzeugvorrichtung, die Frage, ob ein Zwischenpunkt die aktuelle Ausrichtung beibehält, die Art der befohlenen Bewegung, die von den Robotermanipulator überwachenden Sensoren gelieferten Rückkopplungsdaten und ein programmiertes Bezugssystem gehören. Ein programmiertes Referenzsystem enthält Referenzwerte für die in den Befehlen verwendeten Koordinaten. Das programmierte Referenzsystem kann statisch sein, z. B. bezogen auf einen beispielhaften Punkt auf der Bodenoberfläche, oder dynamisch, z. B. bezogen auf ein Produkt, das sich auf einem Fließband bewegt. Die Winkel und Koordinaten sind nützlich, um eine gewünschte Haltung des Robotermanipulators für jeden der Zustände in der gewünschten Bewegungsabfolge zu erzeugen.
  • Die Bewegung des Robotermanipulators von einem ersten Zustand der Zustandsfolge zu einem zweiten Zustand der Zustandsfolge kann eine lineare oder geradlinige Bewegung umfassen. Beispielsweise kann ein Bediener einem Werkzeug, das an einem Ende des Robotermanipulators angebracht ist, befehlen, sich in einer geraden Linie von einer Position zu einer anderen zu bewegen. In einem anderen Beispiel kann der Bediener dem Werkzeug befehlen, sich von einer Position zu einer anderen zu bewegen und dabei die Position und Ausrichtung eines der Gelenkabschnitte des Robotermanipulators während der Bewegung beizubehalten. In einem anderen Beispiel kann der Bediener die Bewegung jedes der Gelenkabschnitte des Robotermanipulators durch eine Bewegung von einem Zustand in einen anderen Zustand einzeln steuern. Ein Weg zwischen zwei Zuständen kann diskretisiert oder in eine Mehrzahl kleinerer Bewegungen unterteilt werden, beispielsweise um den Robotermanipulator durch oder um Hindernisse in der Nähe des Robotermanipulators zu navigieren. Die Steuerung des Robotermanipulators durch eine Mehrzahl von Zuständen oder Unterteilungen kann als Steuerung des Robotermanipulators durch eine Mehrzahl von Zwischenpunkten oder Kreuzungspunkten beschrieben werden.
  • Die Steuerungsparameter und die Rückmeldungen der Sensoren, die den Robotermanipulator überwachen, geben Gewissheit über den Zustand des Robotermanipulators bis zu einem nächsten Zwischenpunkt.
  • Es werden vier beispielhafte Kombinationen von Informationen bereitgestellt, um verschiedene Arten von Bewegungen des Robotermanipulators zu erzeugen. TABELLE 1: Beispielhafte Arten von Bewegungen, die dem Robotermanipulator befohlen werden
    Art der Bewegung Benutzer-Eingaben Ausgabe Bemerkung
    Kartesisch e Anfangs- und Endkoordi naten (x,y,z) Anfangs- und Endausric htung (Rollen, Neigen, Gieren)* Vorgeschr iebene Orientieru ng entlang der Trajektori e Kartesisch e Trajektori e Orientieru ng entlang der Trajektori e Berechnung der (inversen) Kinematik
    1 ja keine keine zufällig variabel keine
    2 ja ja keine zufällig variabel keine
    3 ja keine keine angegeben (linear, kreisförmi g, Spline usw.) variabel ja
    4 ja ja ja angegeben (linear, kreisförmi g, Spline usw.) Konstante ja
    * Eulersche Konvention - Gieren: Drehung um die x-Achse; Pitch: Drehung um die y-Achse; Roll: Drehung um die z-Achse;
  • Tabelle 1 zeigt vier Beispiele für verschiedene Arten von Bewegungen, die einem Robotermanipulator befohlen werden können. Die Berechnungskomplexität nimmt von oben nach unten progressiv zu, wobei Typ 1 die niedrigste und Typ 4 die höchste Berechnungskomplexität der Beispiele aufweist. Die Berechnungskomplexität beschreibt erhöhte Einschränkungen und Probleme der mathematischen Lösbarkeit. Die Berechnungskomplexität kann alternativ auch als Rechenaufwand bezeichnet werden. Die Berechnungskomplexität nimmt zu, wenn Variablen wie die Anzahl der starren Segmente/Anzahl der Gelenke und die maximale Geschwindigkeit jedes Gelenks zunehmen. Wenn die Berechnungen die Verwendung von Kinematik beinhalten, kann die Bewegung des Robotermanipulators von einem Zustand in einen nächsten Zustand komplex oder schwierig sein, und eine Diskretisierung der Bewegung mit Zwischenpunkten kann sinnvoll sein.
  • Eine Bewegung des Typs 1 kann eine einfache Verschiebung des Robotermanipulators von einer kartesischen Koordinate zu einer anderen umfassen. Der Bewegungstyp 1 beinhaltet keine Kontrolle über die Ausrichtung des Robotermanipulators oder die Trajektorie des Manipulators während der Bewegung. Der Bewegungstyp 2 kann eine Verschiebung des Robotermanipulators von einer kartesischen Koordinate zu einer anderen und zusätzlich eine Kontrolle über die anfängliche und endgültige Ausrichtung des Robotermanipulators umfassen. In einer Ausführungsform kann bei der Bewegungsart 2 weder die Ausrichtung entlang der Trajektorie noch die Trajektorie selbst gesteuert werden. Der Bewegungstyp 3 kann die Steuerung der Trajektorie des Robotermanipulators für die Ausführung von z. B. linearen, kreisförmigen und Spline-Bahnen umfassen. Die Bewegungsart 3 umfasst keine Steuerung der Ausrichtung des Robotermanipulators während der Bewegung. Der Bewegungstyp 4 kann die Steuerung der Trajektorie des Robotermanipulators und die Steuerung der Ausrichtung des Robotermanipulators während der Bewegung umfassen. Daher kann die Bewegungsart 4 zur Steuerung der Bewegung des Robotermanipulators während eines komplexen Vorgangs wie Lackieren oder Schweißen und zur Steuerung der Bewegung zur Vermeidung von Hindernissen in der Umgebung des Robotermanipulators verwendet werden.
  • Das (inverse) Kinematikmodul ist für die Umsetzung der vom Benutzer eingegebenen Informationen in Winkelwerte für Gelenke zuständig, die bei der Steuerung von Bewegungen des Typs 3 und/oder 4 verwendet werden. Die vorgegebene Bahn wird in kleine Segmente (Zwischenpunkte) unterteilt, wobei der Anfangs- und Endpunkt des Werkzeugmittelpunkts und die Art der dazwischen auszuführenden Bewegung als Eingabe dienen. Zwischen jedem Zwischenpunkt führt der Roboter zwangsläufig kontinuierlich Bewegungen des Typs 1 und/oder 2 aus, bis die vom Benutzer angegebene Zielposition und -ausrichtung erreicht ist. Die Zwischenpunkte ermöglichen das Erreichen eines akzeptablen Bahnfehlers in Bezug auf Position und Orientierung.
  • Wenn der Abstand zwischen einem Zustand und dem nächsten Zustand relativ groß ist, kann das Verfahren die Aufteilung der Bewegung in Zwischenpunkte oder die Extrapolation der Anweisungen des Bedieners in Teilschritte vorsehen. Wenn beispielsweise das Werkzeug am Ende des Robotermanipulators den Befehl erhält, sich in einer geraden Linie zu bewegen, die gerade Linie aber länger ist, als der Robotermanipulator durch den Befehl eines Gelenkpaares erreichen kann, kann der Befehl in inkrementelle Befehle an zwei Gelenkpaare aufgeteilt werden. Das System kann eine Bibliothek von Teilschritten enthalten, die für die Ausführung komplexer oder schwieriger Befehle nützlich sind.
  • 2 ist ein Flussdiagramm, das ein Verfahren zur Bestimmung von Zwischenpunkten zwischen einem ersten Zustand und einem zweiten Zustand veranschaulicht. Das Verfahren 100 beginnt in Schritt 102. In Schritt 104 wird ein Abstand zwischen einer aktuellen Roboterposition und einer Zielroboterposition berechnet. Bei der aktuellen Roboterposition und der Zielroboterposition kann es sich um Positionen eines Werkzeugs handeln, das mit einem Ende des Robotermanipulators verbunden ist. In einer anderen Ausführungsform, beispielsweise wenn der Robotermanipulator zum Einfahren in ein Werkstück oder zum Herausfahren aus einem Werkstück gesteuert wird, können die aktuelle Roboterposition und die Zielroboterposition die Positionen eines Gelenkabschnitts in der Mitte des Robotermanipulators umfassen, wo die Position geändert werden kann, um das Einfahren oder Herausfahren zu erreichen. In Schritt 106 kann der Abstand zwischen der aktuellen Roboterposition und der Zielroboterposition diskretisiert oder in Unterabschnitte unterteilt werden, so dass der Abstand in diskreten Schritten zwischen der aktuellen Roboterposition und der Zielroboterposition definiert werden kann. Die diskreten Schritte können zusammen als eine befohlene Bewegung des Robotermanipulators beschrieben werden. In Schritt 108 wird einer der diskreten Schritte definiert und die Bewegungen des Robotermanipulators zum Erreichen des diskreten Schrittes bestimmt. In Schritt 110 wird festgestellt, ob der diskrete Schritt den Linearitäts- und Orientierungsrichtlinien oder -beschränkungen entspricht. Entspricht der diskrete Schritt nicht den Linearitäts- und Orientierungsrichtlinien, kehrt das Verfahren zu Schritt 108 zurück, wo der diskrete Schritt mit erhöhten Schwankungsbreiten für die Linearitäts- und Orientierungsrichtlinien, die in den Bestimmungen enthalten sind, bestimmt wird. Wenn der diskrete Schritt die Linearitäts- und Orientierungsrichtlinien erfüllt, geht das Verfahren zu Schritt 112 über, wo der diskrete Schritt gespeichert wird und das Verfahren zu Schritt 114 übergeht. In Schritt 114 wird festgestellt, ob der zuletzt gespeicherte diskrete Schritt die Zielposition für den Robotermanipulator erreicht. Wenn der zuletzt gespeicherte diskrete Schritt die Zielposition nicht erreicht, kehrt das Verfahren zu Schritt 108 zurück, wo ein nächster Schritt bestimmt wird und die Schritte 108 bis 114 wiederholt werden. Wenn der zuletzt gespeicherte diskrete Schritt die Zielposition erreicht, geht das Verfahren zu Schritt 116 über, wo die gespeicherten Schritte als eine befohlene Bewegung des Robotermanipulators gespeichert werden. In Schritt 118 endet das Verfahren 100. Es sind eine Reihe zusätzlicher oder alternativer Verfahrensschritte denkbar, und das Verfahren 100 soll nicht auf die beispielhaft aufgeführten Schritte beschränkt sein.
  • Die Zeit für die Bestimmung der Interaktionen in 2 variiert je nach Komplexität der Bewegung und der Zuweisung der Parameter zur Aufrechterhaltung der Orientierung, der Linearität der Trajektorie und der Anzahl der Gelenke. Verschiedene Ausführungsformen der Algorithmen ermöglichen die Verwendung unterschiedlicher Parameter. Ein Algorithmus kann flexibel sein, z. B. durch Eingabe oder Überwachung der aktuellen Anzahl der Gelenke und der Fähigkeiten der im Robotermanipulator vorhandenen Hardware.
  • Sobald eine Liste von Befehlen zum Bewegen des Robotermanipulators durch die Reihe von Zuständen erzeugt und gespeichert ist, kann das Motorsteuerungsmodul die Befehle verwenden, um Elektromotoren zu steuern, die auf dem Robotermanipulator angeordnet sind, um das Werkzeug zu steuern, das an einem Ende des Robotermanipulators installiert ist, und um zusätzlich eine zusätzliche Ausrüstung zu steuern, die mit den Operationen verbunden ist, die von der eigentlichen Robotervorrichtung durchgeführt werden.
  • 3 ist ein Flussdiagramm, das die vom Motorsteuerungsmodul ausgegebenen Befehle veranschaulicht. Das Verfahren 200 beginnt in Schritt 202. In Schritt 204 überwacht das Motorsteuerungsmodul Eingaben, wie z. B. Eingaben eines Bedieners und Sensordaten, die z. B. die Ankunft eines Werkstücks beschreiben, das auf den Einsatz des Robotermanipulators an einer Arbeitsstation wartet. In Schritt 206 wird festgestellt, ob die Bedingungen für die Anweisung von Bewegungen an den Robotermanipulator erfüllt sind. Sind die Bedingungen für die Anweisung von Bewegungen nicht erfüllt, kehrt das Verfahren zu Schritt 204 zurück. Sind die Bedingungen für die Anweisung von Bewegungen an den Robotermanipulator erfüllt, geht das Verfahren zu Schritt 208 über, in dem das Motorsteuerungsmodul dem Robotermanipulator Bewegungen anweist. In Schritt 210 liefert das Motorsteuerungsmodul Daten an die Computerschnittstelle, um dem Bediener eine Rückmeldung zu geben. In Schritt 212 wird festgestellt, ob zusätzliche befohlene Bewegungen sinnvoll sind. Wenn weitere befohlene Bewegungen sinnvoll sind, kehrt das Verfahren zu Schritt 208 zurück. Wenn keine weiteren befohlenen Bewegungen sinnvoll sind, geht das Verfahren zu Schritt 214 über, wo festgestellt wird, ob der Betrieb des Robotermanipulators abgeschlossen ist. Wenn der Betrieb des Robotermanipulators nicht abgeschlossen ist, kehrt das Verfahren zu Schritt 204 zurück.
  • Wenn der Betrieb des Robotermanipulators abgeschlossen ist, geht das Verfahren zu Schritt 216 über, wo das Verfahren endet. Es sind eine Reihe zusätzlicher oder alternativer Verfahrensschritte denkbar, und das Verfahren 200 soll nicht auf die beispielhaften Schritte beschränkt sein.
  • Das Verfahren von 3 kann linear ablaufen. In einem anderen Beispiel kann das Verfahren iterativ ablaufen oder in einer Weise, die auf neue Eingaben reagiert. Beispielsweise kann sich das Verfahren in der Mitte der Schritte 208, 210 und 212 befinden und Befehle auf der Grundlage der bereitgestellten Daten ausführen. Neue Eingaben eines Bedieners inmitten dieser Schritte können jedoch beispielsweise die Schritte 204 und 206 durchlaufen, wobei der Bediener den Robotermanipulator anweist, das Verfahren neu zu starten. In einem Beispiel kann ein Inspektor, der beobachtet, wie ein Robotermanipulator ein Teil lackiert, eine Taste drücken und den Robotermanipulator anweisen, eine neue Lackschicht auf das Werkstück aufzutragen, wobei der Robotermanipulator seinen Betrieb von einem Start- oder Ausgangszustand aus wieder aufnimmt.
  • Gelenkabschnitte des Robotermanipulators können einen Aktuator, z. B. in Form eines Elektromotors, der mit elektrischer Energie eine Bewegung im Robotermanipulator erzeugt, eine Steuerung oder eine computergestützte Vorrichtung zur Steuerung des Aktuators und ein Untersetzungsgetriebe zur Umwandlung eines Ausgangsdrehmoments des Aktuators in die gewünschte Bewegung eines am Gelenkabschnitt befestigten starren Segments umfassen.
  • 4 zeigt einen beispielhaften Robotermanipulator 300 mit zwei benachbarten Gelenkabschnitten, die den Robotermanipulator in Bezugsebenen biegen können, die um 90 Grad gegeneinander verdreht sind. Der Robotermanipulator 300 umfasst ein erstes starres Segment 310 und ein zweites starres Segment 330. Das starre Segment 310 ist mit einem Gelenkabschnitt 320, der sich um die Achse 324 biegen lässt, verbunden oder einstückig mit ihm ausgebildet. Der Gelenkabschnitt 320 umfasst einen mechanischen Gelenkabschnitt 322. Das starre Segment 330 ist mit einem Gelenkabschnitt 340, der sich um die Achse 344 biegen lässt, verbunden oder einheitlich mit ihm ausgebildet. Das starre Segment 330 ist durch ein Befestigungselement, eine Niete oder ein anderes Verbindungselement mit dem mechanischen Gelenkabschnitt 322 verbunden, so dass sich beim Biegen des Gelenkabschnitts 320 der Winkel des starren Segments 330 in Bezug auf das starre Segment 310 ändert. Der Gelenkabschnitt 340 umfasst einen mechanischen Gelenkabschnitt 342, der mit einem anderen starren Segment oder mit einem Werkzeug verbunden werden kann, das an einem Ende des Robotermanipulators 300 angebracht werden soll.
  • Die Achse 324 kann in eine andere Richtung als die Achse 344 ausgerichtet sein. In einer Ausführungsform kann die Achse 324 um 90 Grad in Bezug auf die Achse 344 gedreht sein. In einer solchen Konfiguration können der Gelenkabschnitt 320 und der Gelenkabschnitt 340 gemeinsam den Robotermanipulator 300 in drei Dimensionen biegen. Außerdem kann ein abwechselndes Muster aus mehreren starren Segmenten und Gelenkabschnitten verwendet werden, um einen Robotermanipulator 300 mit nützlicher Flexibilität und Manövrierfähigkeit zu schaffen.
  • In einer Ausführungsform kann der Robotermanipulator eine Mehrzahl starrer Segmente umfassen, die durch eine Mehrzahl von Gelenkabschnitten verbunden sind. Starre Segmente und Gelenkabschnitte, die sich näher an der Roboterbasis befinden, können wesentlich höheren Kräften oder Drehmomenten ausgesetzt sein als starre Segmente und Gelenkabschnitte, die sich näher an einem Ende des Robotermanipulators befinden. In einer Ausführungsform können starre Segmente und Gelenkabschnitte, die sich näher an der Basis befinden, größer und belastbarer sein als starre Segmente und Gelenkabschnitte, die sich näher am Ende des Robotermanipulators befinden. In einer Ausführungsform kann sich die relative Größe der starren Segmente und der entsprechenden Gelenkabschnitte über die Länge eines Robotermanipulators verjüngen, wobei in der Nähe der Basis mit einer relativ großen Größe begonnen wird und die Größe über die Länge des Robotermanipulators allmählich abnimmt. 5 zeigt schematisch einen beispielhaften Robotermanipulator 400 mit starren Segmenten und Gelenkabschnitten, deren Größe über die Länge des Robotermanipulators abnimmt. Es ist eine Roboterbasis 410 dargestellt, die an einer festen Oberfläche befestigt werden kann. An der Roboterbasis 410 ist ein Gelenkabschnitt 415 dargestellt, mit dem der Winkel eines angeschlossenen starren Segments 420 in Bezug auf die Roboterbasis 410 verändert werden kann. Ein Verbindungskabel 402 ist dargestellt, das elektrische Energie, Kommunikationssignale und andere Verbindungen zwischen der Roboterbasis 410 und dem starren Segment 420 bereitstellt. Es ist eine Reihe von starren Segmenten dargestellt, einschließlich eines starren Segments 430, eines starren Segments 440, eines starren Segments 450 und eines starren Segments 460, wobei jedes starre Segment in der Reihe zunehmend kleiner wird, wenn das starre Segment weiter von der Roboterbasis 410 entfernt ist. In ähnlicher Weise ist eine Reihe von Gelenkabschnitten dargestellt, darunter ein Gelenkabschnitt 425, ein Gelenkabschnitt 435, ein Gelenkabschnitt 445, ein Gelenkabschnitt 455 und ein Gelenkabschnitt 465. Der Gelenkabschnitt 455 ist so dargestellt, dass er ein Drehgelenk enthält, das es dem starren Segment 460 ermöglicht, sich um eine Längsachse des starren Segments 450 zu drehen. Der Gelenkabschnitt 465 ist als kardanisches Gelenk dargestellt, mit dem eine Werkzeugvorrichtung 470 in zwei Freiheitsgraden gegenüber dem starren Segment 460 verstellt werden kann. Es sind Verbindungskabel dargestellt, die dem Verbindungskabel 402 ähnlich sind, darunter ein Verbindungskabel 422, ein Verbindungskabel 432, ein Verbindungskabel 442 und ein Verbindungskabel 452. Die Mehrzahl modularer starrer Segmente können austauschbar sein und in verschiedenen Kombinationen zusammengebaut werden, z. B. indem das starre Segment 420 optional weggelassen und stattdessen das starre Segment 430 installiert wird oder indem das starre Segment 430 an der Roboterbasis 410 und das starre Segment 420 am starren Segment 430 befestigt wird.
  • Gemäß einer Ausführungsform kann ein Robotermanipulator so konfiguriert sein, dass er bis zu einer bestimmten Anzahl starrer Segmente umfasst, aber auch mit einer Mindestanzahl starrer Segmente, die mit dem Robotermanipulator verbunden sind, betrieben werden kann. Beispielsweise kann ein Robotermanipulator mit einem ersten starren Segment, das mit einer Basis der eigentlichen Robotervorrichtung verbunden ist, und einem zweiten starren Segment, das mit dem ersten starren Segment über einen Gelenkabschnitt verbunden ist, betrieben werden. Andere starre Segmente können modular und selektiv an den Robotermanipulator montiert werden, um sowohl die Länge als auch die verfügbaren Freiheitsgrade des Robotermanipulators selektiv zu erhöhen. 6 zeigt schematisch einen beispielhaften Robotermanipulator 500, der modulare starre Segmente und Gelenkabschnitte enthält, die dazu dienen, den Robotermanipulator 500 je nach gewünschter Gesamtlänge des Robotermanipulators 500 und gewünschten Freiheitsgraden im Robotermanipulator 500 selektiv zusammenzusetzen. Der Robotermanipulator ist mit einer Roboterbasis 510 und einer Reihe von starren Segmenten dargestellt, darunter ein starres Segment 530, ein starres Segment 531, ein starres Segment 532, ein starres Segment 533, ein starres Segment 534, ein starres Segment 535, ein starres Segment 536 und ein starres Segment 537. Jedes der starren Segmente ist mit einem benachbarten starren Segment durch einen Gelenkabschnitt 520 verbunden. Jedes der starren Segmente und ein verbundener Gelenkabschnitt 520 sind modular, d. h. sie können voneinander getrennt und mit anderen starren Segmenten wieder verbunden werden, um eine alternative Konfiguration des Robotermanipulators 500 zu erstellen. Ein relativ größeres starres Segment 538 und ein relativ kleineres starres Segment 539 sind getrennt von dem Robotermanipulator 500 dargestellt. Das starre Segment 538 und das starre Segment 539 können selektiv am Robotermanipulator 500 angebracht werden, um die Länge des Robotermanipulators 500 zu vergrößern und die Anzahl der Freiheitsgrade, in denen der Robotermanipulator 500 arbeiten kann, zu erhöhen. Eine Werkzeugvorrichtung 540 ist abgebildet, die eine Vakuum-Greifvorrichtung enthält, mit der ein Objekt auf einem Werkstück platziert werden kann. Modulare starre Segmente und Gelenkabschnitte 520 können den modularen Aufbau des Robotermanipulators 500 ermöglichen. 6 zeigt sieben starre Segmente, von denen jedes mit einem anderen starren Segment durch mindestens einen Gelenkabschnitt mit einem anderen der starren Segmente verbunden ist. Ein Robotermanipulator kann mit einer Reihe von abwechselnd angeordneten starren Segmenten und Gelenkabschnitten gebaut werden.
  • Der offenbarte Robotermanipulator kann eine Mehrzahl von Gelenkabschnitten und eine Mehrzahl von starren Segmenten umfassen, wobei die Ausrichtung und Iteration der Gelenkabschnitte den Robotermanipulator in die Lage versetzt, die starren Segmente in eine große Anzahl von Konfigurationen zu bewegen. Eine zunehmende Anzahl von Gelenkabschnitten ermöglicht mehr Freiheitsgrade im Robotermanipulator. Eine bestimmte auszuführende Arbeitsaufgabe kann analysiert werden, um eine Mindestanzahl von Freiheitsgraden für die Ausführung der Aufgabe zu bestimmen, und der Robotermanipulator kann so konstruiert werden, dass er der bestimmten Mindestanzahl von Freiheitsgraden entspricht oder sie übertrifft. 7 zeigt schematisch einen Bildschirm 600 einer Computerschnittstelle, die den Betrieb einer tatsächlichen Robotervorrichtung simuliert. Dargestellt ist eine simulierte Robotervorrichtung 620, die eine Mehrzahl starrer Segmente 622 und eine Mehrzahl von Gelenkabschnitten 624 umfasst. Ein Werkstück 610 ist auf dem Bildschirm 600 abgebildet. Die computergestützte Schnittstelle kann mit den Fähigkeiten und Beschränkungen der simulierten Robotervorrichtung 620 programmiert werden, einschließlich der Fähigkeiten und Beschränkungen, die von der Gesamtzahl und den Typen der Gelenkabschnitte 624 abhängen. Die computergestützte Schnittstelle kann die Geometrie und die Beschränkungen überwachen, die das Werkstück 610 beschreiben, und kann die Vorgänge überwachen, die an dem Werkstück 610 durch die simulierte Robotervorrichtung 620 durchgeführt werden sollen. Die Überwachung der auszuführenden Operationen kann die Überwachung des Betriebs der mobilen Roboterbasis und der entsprechenden Bewegung des Werkstücks 610 umfassen. Die Bewegung der simulierten Robotervorrichtung 620 kann beispielsweise analysiert werden, um eine Anzahl von Freiheitsgraden zu bestimmen, die nützlich sind, um die simulierte Robotervorrichtung 620 in das Werkstück 610 hinein und aus ihm heraus zu bewegen, und um die Funktionsfähigkeit zu bestimmen, die nützlich ist, um die simulierte Robotervorrichtung 620 von einer ersten Position 612 zu einer zweiten Position 614 durch einen Übergang 616 zu bewegen. Die Analyse der simulierten Robotervorrichtung 620 kann zusätzlich eine Analyse der Geometrie des Werkstücks 610 und eine Bestimmung umfassen, ob ein Teil der simulierten Robotervorrichtung 620 das Werkstück 610 jemals unzulässig berührt.
  • 8 zeigt schematisch den Bildschirm 600 von 7, wobei zusätzliche Aufgaben, die von der simulierten Robotervorrichtung 620 verlangt werden, verwendet werden können, um eine neue Roboterkonfiguration zu definieren und Befehle an die simulierte Robotervorrichtung 620 einzugeben. Ein Bediener kann festlegen, dass die simulierte Robotervorrichtung zusätzlich beauftragt werden kann, sich von einer dritten Position 617 des Werkstücks 610 zu einer vierten Position 618 durch einen Übergang 619 zu bewegen. Als Ergebnis der zusätzlichen Parameter für die Bewegung der simulierten Robotervorrichtung können Änderungen an der simulierten Robotervorrichtung simuliert werden, um eine modifizierte simulierte Robotervorrichtung 620' zu erstellen.
  • Mobile Robotergeräte können zur Durchführung von Arbeiten in einer komplexen Umgebung eingesetzt werden. In einem Beispiel kann ein bewegliches Referenzsystem verwendet werden, wobei sich die tatsächliche Robotervorrichtung zusammen mit einem sich bewegenden Werkstück bewegt, um eine Aufgabe auf dem sich bewegenden Werkstück auszuführen. 9 zeigt schematisch eine beispielhafte aktuelle Robotervorrichtung 810, die so betrieben werden kann, dass sie sich entlang eines sich bewegenden Werkstücks 870 bewegt, so dass die aktuelle Robotervorrichtung 810 eine Aufgabe an dem sich bewegenden Werkstück 870 ausführen kann. Die aktuelle Robotervorrichtung 810 ist an einer beispielhaften Schienenvorrichtung 830 montiert, die sich zwischen einem ersten Schienenanschlag 832 und einem zweiten Schienenanschlag 834 befindet, so dass sich die aktuelle Robotervorrichtung 810 an eine Stelle entlang der Schienenvorrichtung 830 bewegen kann. Das bewegliche Werkstück 870 ist auf einer beweglichen Palette 850 dargestellt, die auf einer Schienenvorrichtung 860 montiert ist. Während sich das bewegliche Werkstück 870 entlang der Schienenvorrichtung 860 bewegt, kann die eigentliche Robotervorrichtung 810 eine mobile Roboterbasis umfassen und so gesteuert werden, dass sie sich ebenfalls entlang der Schienenvorrichtung 830 bewegt, so dass ein Robotermanipulator 820 der eigentlichen Robotervorrichtung 810 verwendet werden kann, um ein Werkzeug 822 durch eine Öffnung 872 im Werkstück 870 zu bewegen.
  • Der modulare Aufbau der starren Segmente und der zugehörigen Gelenkabschnitte kann eine Reihe von Varianten umfassen. 10 zeigt eine Konfiguration 900 mit einem beispielhaften starren Segment 910, das mit einem angebrachten Gelenkabschnitt 920 einheitlich ausgebildet ist und an jedem Ende mechanische, elektrische Strom- und Signalverbindungen aufweist. Das starre Segment 910 ist mit einer mechanischen Buchsenverbindung 912, einem Stromkabel 914 und einem Datenkabel 916 dargestellt. Der Gelenkabschnitt 920 ist mit einer mechanischen Steckverbindung 922, einem Stromkabel 924 und einem Datenkabel 926 dargestellt. Mehrere starre Segmente 910 können in Reihe geschaltet werden, wobei die mechanischen, Energie- und Daten- oder Signalverbindungen jedes starre Segment 910 in einer Kette verbinden, um einen Teil eines Robotermanipulators zu bilden.
  • 11 zeigt ein beispielhaftes starres Segment 1000, das getrennt von einem Gelenkabschnitt 1050 vorgesehen ist, wobei beide selektiv angebracht sind und jeweils mechanische, elektrische Leistungs- und Signalverbindungen aufweisen. Das starre Segment 1000 und der Gelenkabschnitt 1050 ähneln dem starren Segment 910 und dem Gelenkabschnitt 920 von 10, mit der Ausnahme, dass das starre Segment 1000 und der Gelenkabschnitt 1050 an den Oberflächen 1020 bzw. 1056 selektiv verbunden sind. Bolzenlöcher 1054 und Bolzenlöcher 1022 fluchten und können Gewindebolzen aufnehmen, mit denen das starre Segment 1000 und der Gelenkabschnitt 1050 verbunden werden können. Das starre Segment 1000 umfasst ein Stromkabel 1002 und ein
  • Datenkabel 1004. Das starre Segment 1000 umfasst außerdem einen Hilfsanschluss 1006, der beispielsweise einen Strom von Druckluft, Farbe, Wasser oder einen separaten Stromanschluss für eine Werkzeugvorrichtung an einem Ende des Robotermanipulators bereitstellt. Die Oberfläche 1020 umfasst einen Stromanschluss 1024, einen Datenanschluss 1026 und einen Hilfsanschluss 1028, die durch entsprechende Verbindungen auf der Oberfläche 1056 aufeinander abgestimmt sind. Das starre Segment 1000 umfasst außerdem eine mechanische Verbindungsfläche 1010 sowohl auf einer Vorder- als auch auf einer Rückseite, die jeweils sechs beispielhafte Schraubenlöcher 1012 aufweisen.
  • Der Gelenkabschnitt 1050 umfasst einen Servomotor 1060, der so konfiguriert ist, dass er einen mechanischen Gelenkabschnitt 1070 in Bezug auf den Kragen 1052 dreht. In einer alternativen Ausführungsform kann der Gelenkabschnitt 1050 durch einen Biegegelenkabschnitt ersetzt werden. Der mechanische Gelenkabschnitt 1070 kann mit einer mechanischen Verbindungsfläche ähnlich der mechanischen Verbindungsfläche 1010 an einem anderen starren Segment verbunden werden. Der Gelenkabschnitt 1050 umfasst außerdem ein Stromkabel 1074, ein Datenkabel 1076 und einen Hilfsverbinder 1078. Der mechanische Verbinderteil 1070 umfasst eine Mehrzahl von Bolzenlöchern 1072, die mit den Bolzenlöchern 1012 übereinstimmen, so dass der mechanische Verbinderteil 1070 in Reihe mit einem identischen oder ähnlichen starren Segment mit Bolzenlöchern ähnlich den Bolzenlöchern 1012 verbunden werden kann.
  • Die 12-14 zeigen schematisch eine Konfiguration 1100, die ein zusätzliches, beispielhaftes erstes starres Segment 1110 und einen Gelenkabschnitt 1120 umfasst, der zum Biegen eines zweiten angebrachten starren Segments in Bezug auf das erste starre Segment 1110 dient. Das erste starre Segment 1110 ist mit einer computergesteuerten Steuervorrichtung 1112 und einem Servomotor 1114 dargestellt. Die computergestützte Steuervorrichtung 1112 empfängt Befehle vom Motorsteuermodul und liefert Energie- und/oder Kommunikationssignale, die den Servomotor 1114 anweisen, ein Ausgangsdrehmoment zu liefern. Es ist ein Getriebe 1130 dargestellt, das so konfiguriert ist, dass es das Ausgangsdrehmoment des Servomotors 1114 nutzt, um einen mechanischen Verbindungsteil 1140 um eine Achse 1122 zu drehen. 12 zeigt das erste starre Segment 1110 und den Gelenkabschnitt 1120 in einer perspektivischen Ansicht. 13 zeigt das erste starre Segment 1110 und den Gelenkabschnitt 1120 in einer Vorderansicht. 14 zeigt das erste starre Segment 1110 und den Gelenkabschnitt 1120 in einer Draufsicht.
  • Die 15-17 zeigen schematisch eine Konfiguration 1400, die ein zusätzliches, beispielhaftes erstes starres Segment 1410 und einen Gelenkabschnitt 1420 umfasst, der so betätigt werden kann, dass ein zweites angebrachtes starres Segment in Bezug auf das erste starre Segment 1410 gedreht wird. Das erste starre Segment 1410 ist mit einer computergesteuerten Steuervorrichtung 1412 und einem Servomotor 1414 dargestellt. Die computergestützte Steuervorrichtung 1412 empfängt Befehle vom Motorsteuermodul und liefert Energie- und/oder Kommunikationssignale, die den Servomotor 1414 anweisen, ein Ausgangsdrehmoment bereitzustellen, das verwendet wird, um den Gelenkabschnitt 1420 um die Achse 1430 in Bezug auf das starre Segment 1410 zu drehen. 15 zeigt das erste starre Segment 1410 und den Gelenkabschnitt 1420 in einer perspektivischen Ansicht. 16 zeigt das erste starre Segment 1410 und den Gelenkabschnitt 1420 in einer Vorderansicht. 17 zeigt das erste starre Segment 1410 und den Gelenkabschnitt 1420 in einer Draufsicht.
  • 18 ist ein Flussdiagramm, das die Steuerungssoftware und ein modulares Verfahren 1700 zur Lösung inverser Kinematiken veranschaulicht. Das Verfahren 1700 beginnt in Schritt 1702. In Schritt 1704 definiert ein Bediener eine Robotermanipulatorkonfiguration mit einer Anzahl von Gelenkabschnitten, die in einer simulierten Robotervorrichtung verwendet werden sollen. In Schritt 1706 wird festgestellt, ob die eingegebene Konfiguration gültig ist. Ist die Eingabekonfiguration ungültig, kehrt das Verfahren zu Schritt 1704 zurück, wo eine Fehlermeldung ausgegeben wird und der Bediener den Fehler beheben kann. Ist die Eingabekonfiguration gültig, geht das Verfahren zu Schritt 1708 über, in dem das computergestützte System die verfügbaren Daten über die simulierte Robotervorrichtung zusammenstellt. In Schritt 1710 wird festgestellt, ob eine neue Steueranweisung generiert wurde, die neue Informationen über Einschränkungen und Fähigkeiten der simulierten Robotervorrichtung und/oder simulierte Objekte in der Umgebung der Vorrichtung und/oder von der Vorrichtung auszuführende Aufgaben enthalten kann. Wurde keine neue Steueranweisung generiert, kehrt das Verfahren zu Schritt 1708 zurück. Wurde eine neue Steueranweisung generiert, geht das Verfahren zu Schritt 1712 über, wo festgestellt wird, ob die Programmierung die neue Steueranweisung initialisiert und geladen hat. Wenn die Programmierung die neue Steueranweisung nicht initialisiert und geladen hat, kehrt das Verfahren zu Schritt 1708 zurück. Wenn die Programmierung die neue Steueranweisung initialisiert und geladen hat, geht das Verfahren weiter zu Schritt 1714, wo eine Prüfsumme erzeugt wird. In Schritt 1716 wird die Steuerprogrammierung geöffnet oder darauf zugegriffen. In Schritt 1718 wird festgestellt, ob die geöffnete Programmierung an die neue Richtlinie angepasst ist. Wenn die geöffnete Programmierung nicht an die neue Richtlinie angepasst ist, kehrt das Verfahren zu Schritt 1708 zurück. Wenn sich die offene Programmierung an die neue Richtlinie angepasst hat, geht das Verfahren zu Schritt 1720 über, in dem die Programmierung eine Schnittstelle zum Lesen durch den Roboter enthalten kann. In Schritt 1722 wird das Verfahren beendet. Es sind eine Reihe zusätzlicher oder alternativer Verfahrensschritte denkbar, und das Verfahren 1700 soll nicht auf die beispielhaften Schritte beschränkt sein.
  • 19 zeigt schematisch das Motorsteuerungsmodul von 1. Das Motorsteuermodul 20 kann eine Verarbeitungsvorrichtung 1810 enthalten, die für eine computergestützte Programmierung konfiguriert ist. In der illustrativen Ausführungsform, die optionale Merkmale des offenbarten Systems zeigt, umfasst das Motorsteuerungsmodul 20 eine Verarbeitungsvorrichtung 1810, eine Eingabe-/Ausgabeschnittstelle 1830, eine Kommunikationsvorrichtung 1820 und eine Speichervorrichtung 1840. Es wird darauf hingewiesen, dass das Motorsteuermodul 20 auch andere Komponenten enthalten kann und einige der Komponenten in einigen Ausführungsformen nicht vorhanden sind.
  • Die Verarbeitungsvorrichtung 1810 kann einen Speicher, z. B. einen Festwertspeicher (ROM) und einen Speicher mit wahlfreiem Zugriff (RAM), enthalten, in dem prozessorausführbare Anweisungen gespeichert sind, sowie einen oder mehrere Prozessoren, die die prozessorausführbaren Anweisungen ausführen. In Ausführungsformen, in denen die Verarbeitungsvorrichtung 1810 zwei oder mehr Prozessoren umfasst, können die Prozessoren parallel oder verteilt arbeiten. Die Verarbeitungsvorrichtung 1810 kann das Betriebssystem des Motorsteuerungsmoduls 20 ausführen. Die Verarbeitungsvorrichtung 1810 kann ein oder mehrere Module enthalten, die einen programmierten Code oder computerisierte Prozesse oder Methoden mit ausführbaren Schritten ausführen. Die dargestellten Module können ein einzelnes physisches Gerät oder eine Funktionalität umfassen, die sich über mehrere physische Geräte erstreckt. In der dargestellten Ausführungsform umfasst die Verarbeitungsvorrichtung 1810 auch ein Modul 1812 zur Analyse der Werkstückgeometrie und der Einspannungen, ein Modul 1814 zur Modellierung des Roboterzustands und ein Modul 1816 zur empfohlenen Roboterkonfiguration, die nachstehend ausführlicher beschrieben werden.
  • Die Eingabe-/Ausgabeschnittstelle 1830 ist eine Vorrichtung, die es einem Benutzer ermöglicht, mit dem Motorsteuerungsmodul 20 zu interagieren. Während eine Eingabe-/Ausgabeschnittstelle 1830 gezeigt wird, kann der Begriff „Benutzerschnittstelle“ einen Touchscreen, eine physische Tastatur, eine Maus, ein Mikrofon, einen Lautsprecher und andere Benutzerschnittstellengeräte in der Technik umfassen, ist aber nicht darauf beschränkt. Darüber hinaus kann die Eingabe-/Ausgabeschnittstelle 1830 Hardware enthalten, die für das Motorsteuerungsmodul nützlich ist, um Befehle an das zu steuernde Robotergerät zu geben und Datenrückmeldungen von diesem zu erhalten.
  • Das Kommunikationsgerät 1820 kann eine Kommunikations-/Datenverbindung mit einem Busgerät enthalten, das zur Übertragung von Daten an verschiedene Komponenten des Systems konfiguriert ist, und kann einen oder mehrere drahtlose Transceiver zur Durchführung einer drahtlosen Kommunikation enthalten.
  • Die Speichervorrichtung 1840 ist eine Vorrichtung, die vom Motorsteuerungsmodul 20 erzeugte oder empfangene Daten speichert. Die Speichervorrichtung 1840 kann ein Festplattenlaufwerk, ein optisches Laufwerk und/oder ein Flash-Speicherlaufwerk umfassen, ist aber nicht darauf beschränkt.
  • Das Modul 1812 zur Analyse der Werkstückgeometrie und -einschränkung umfasst eine Programmierung, die so konfiguriert ist, dass sie das mit der Robotervorrichtung verbundene Werkstück modelliert und analysiert und Details darüber liefert, wie sich ein Robotermanipulator bewegen kann, um Arbeitsaufgaben an dem Werkstück auszuführen.
  • Das Modul 1814 zur Modellierung des Roboterzustands umfasst eine Programmierung, die so konfiguriert ist, dass sie Details über das Werkstück und die auszuführenden Arbeitsaufgaben verwendet, um eine Mehrzahl von Zuständen zu definieren, die der Robotermanipulator durchlaufen kann, um die Arbeitsaufgaben auszuführen.
  • Das Modul 1816 für die empfohlene Roboterkonfiguration enthält eine Programmierung, die so konfiguriert ist, dass sie verfügbare Informationen nutzt, um eine Mindestanzahl von Freiheitsgraden und/oder eine empfohlene Robotermanipulatorkonfiguration zu bestimmen, die nützlich ist, um die Robotervorrichtung durch die Mehrzahl von Zuständen zu bewegen, die durch das Modul 1814 für die Modellierung des Roboterzustands definiert sind.
  • Das Motorsteuermodul 20 ist ein beispielhaftes computergestütztes Gerät, das in der Lage ist, einen programmierten Code auszuführen, um ein modulares Robotergerät zu betreiben. Es sind eine Reihe verschiedener Ausführungsformen des Motorsteuerungsmoduls 20, daran angebrachter Geräte und darin betreibbarer Module denkbar, und die Offenlegung soll nicht auf die hier aufgeführten Beispiele beschränkt sein.
  • 20 ist ein Flussdiagramm, das ein computergestütztes Verfahren 1900 zum Betrieb einer modularen Robotervorrichtung veranschaulicht. Das Verfahren 1900 beginnt in Schritt 1902. In Schritt 1904 werden eine Geometrie und andere Systembeschränkungen, die ein Werkstück und die an dem Werkstück auszuführenden Arbeiten beschreiben, eingegeben. In Schritt 1906 wird eine Mehrzahl von Zuständen für den Betrieb des Roboters definiert, und die Übergänge zwischen den verschiedenen Zuständen werden in Übereinstimmung mit den hierin offenbarten Methoden abgebildet. In Schritt 1908 werden die mehreren Zustände und die mehreren Übergänge analysiert, und es wird eine Anzahl von Freiheitsgraden in einem Robotermanipulator der modularen Robotervorrichtung bestimmt. In Schritt 1910 wird die ermittelte Anzahl von Freiheitsgraden bereitgestellt oder verwendet, um eine empfohlene Robotermanipulatorkonfiguration zu erstellen, die eine Anzahl von zu verwendenden starren Segmenten und Arten von zu verwendenden Gelenkabschnitten umfasst. In Schritt 1912 werden Schritte, die dazu bestimmt sind, die empfohlene Robotermanipulatorkonfiguration durch die mehreren Zustände zu steuern, erzeugt oder zur Verwendung durch eine tatsächliche Robotervorrichtung bereitgestellt, die entsprechend der empfohlenen Robotermanipulatorkonfiguration konfiguriert ist. Im Schritt 1914 endet das Verfahren 1900. Das Verfahren 1900 ist beispielhaft, eine Reihe zusätzlicher oder alternativer Schritte sind denkbar, und die Offenbarung soll nicht auf die hier angegebenen besonderen Beispiele beschränkt sein.

Claims (8)

  1. Modulare Robotervorrichtung (30, 620, 810), umfassend: eine Roboterbasis (410, 510); und einen Robotermanipulator (300, 400, 500, 820), der mit der Roboterbasis (410, 510) verbunden ist und so betrieben werden kann, dass er eine Werkzeugvorrichtung (470, 540, 822), die mit einem Ende des Robotermanipulators (300, 400, 500, 820) verbunden ist, gelenkig bewegt, wobei der Robotermanipulator (300, 400, 500, 820) eine Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) enthält, die jeweils einen Gelenkabschnitt (320, 340, 425, 435, 445, 455, 520, 624, 920, 1050, 1120, 1420) aufweisen und so betrieben werden können, dass sie wahlweise mit dem Robotermanipulator (300, 400, 500, 820) verbunden werden können; wobei die Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) austauschbar sind und in verschiedenen Kombinationen zusammengesetzt werden können; dadurch gekennzeichnet, dass die modulare Robotervorrichtung (30, 620, 810) ferner ein computergestütztes Steuersystem (20) umfasst, das eine Programmierung enthält zum: Modellieren des Betriebs des Robotermanipulators (300, 400, 500, 820) im Zusammenhang mit einem Werkstück (610, 870), an dem die modulare Robotervorrichtung (30, 620, 810) Arbeiten ausführen kann; Erzeugen einer bestimmten Mindestanzahl von Freiheitsgraden, die für den Betrieb des Robotermanipulators (300, 400, 500, 820) im Kontext des Werkstücks nützlich sind; wobei der Robotermanipulator (300, 400, 500, 820) so betrieben werden kann, dass er die festgelegte Mindestanzahl von Freiheitsgraden aufweist; wobei das Modellieren des Betriebs des Robotermanipulators (300, 400, 500, 820) das Definieren einer Mehrzahl von Zuständen umfasst, einschließlich eines Anfangszustands, eines oder mehrerer Zwischenzustände und eines Endzustands, durch den der Robotermanipulator (300, 400, 500, 820) übergeht, um einen Vorgang an dem Werkstück abzuschließen.
  2. Modulare Robotervorrichtung (30, 620, 810) nach Anspruch 1, wobei die Mehrzahl der modularen starren Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) umfasst: ein erstes starres Segment (530) mit einem ersten Gelenkabschnitt; ein zweites starres Segment (531), das mit dem ersten Gelenkabschnitt verbunden ist und einen zweiten Gelenkabschnitt aufweist, der mit dem zweiten starren Segment (531) verbunden ist; ein drittes starres Segment (532), das mit dem zweiten Gelenkabschnitt verbunden ist und einen dritten Gelenkabschnitt aufweist, der mit dem dritten starren Segment (532) verbunden ist; ein viertes starres Segment (533), das mit dem dritten Gelenkabschnitt verbunden ist und einen vierten Gelenkabschnitt aufweist, der mit dem vierten starren Segment (533) verbunden ist; ein fünftes starres Segment (534), das mit dem vierten Gelenkabschnitt verbunden ist und einen fünften Gelenkabschnitt aufweist, der mit dem fünften starren Segment (534) verbunden ist; ein sechstes starres Segment (535), das mit dem fünften Gelenkabschnitt verbunden ist und einen sechsten Gelenkabschnitt aufweist, der mit dem sechsten starren Segment (535) verbunden ist; und ein siebtes starres Segment (536), das mit dem sechsten Gelenkabschnitt verbunden ist.
  3. Modulare Robotervorrichtung (30, 620, 810) nach Anspruch 1, wobei jedes der Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) ein Verbindungskabel (402, 422, 432, 442, 452, 914, 916, 924, 926, 1002, 1004, 1074, 1076) enthält, das so betrieben werden kann, dass entweder Daten oder Energie durch das modulare starre Segment (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) übertragen werden.
  4. Modulare Robotervorrichtung (30, 620, 810) nach Anspruch 1, wobei jedes der Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) mehrere Verbindungskabel (402, 422, 432, 442, 452, 914, 916, 924, 926, 1002, 1004, 1074, 1076) enthält, die zur Übertragung von Daten und Energie durch das modulare starre Segment (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) betrieben werden können.
  5. Modulare Robotervorrichtung (30, 620, 810) nach Anspruch 1, wobei mindestens einer der Gelenkabschnitte betätigbar ist, um einen Winkel einer Längsachse eines ersten der Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) in Bezug auf eine Längsachse eines zweiten der Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) zu ändern.
  6. Modulare Robotervorrichtung (30, 620, 810) nach Anspruch 1, wobei mindestens einer der Gelenkabschnitte (320, 340, 425, 435, 445, 455, 520, 624, 920, 1050, 1120, 1420) betätigbar ist, um ein erstes der Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) in Bezug auf ein zweites der Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) zu drehen, während eine gemeinsame Längsachse zwischen dem ersten der Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) und dem zweiten der Mehrzahl modularer starrer Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) beibehalten wird.
  7. Modulare Robotervorrichtung (30, 620, 810) nach Anspruch 1, wobei die Roboterbasis (410, 510) beweglich ist und so betrieben werden kann, dass sie sich entlang eines sich bewegenden Werkstücks bewegt, an dem die modulare Robotervorrichtung (30, 620, 810) Arbeiten ausführen kann, so dass der Robotermanipulator (300, 400, 500, 820) eine Aufgabe an dem sich bewegenden Werkstück ausführen kann.
  8. Verfahren (1900) zum Betrieb einer modularen Robotervorrichtung (30, 620, 810), das Folgendes umfasst: innerhalb eines computergestützten Prozessors, Betreiben einer Programmierung zum: Überwachen (1904) der Geometrie und der Beschränkungen, die ein Werkstück und die an dem Werkstück auszuführenden Arbeiten beschreiben; Bestimmen (1906) einer Mehrzahl von Zuständen, durch die die modulare Robotervorrichtung (30, 620, 810) bewegt werden kann, um die auszuführenden Operationen auf der Grundlage der überwachten Geometrie und der Beschränkungen durchzuführen; Analysieren (1908, 1910) der Mehrzahl von Zuständen, um eine minimale Anzahl von Freiheitsgraden in einem Robotermanipulator (300, 400, 500, 820) der modularen Robotervorrichtung (30, 620, 810) zu bestimmen; und Erstellen (1912) einer empfohlenen Konfiguration des Robotermanipulators (300, 400, 500, 820), die die Anzahl der zu verwendenden starren Segmente (310, 330, 420, 430, 440, 450, 460, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 622, 910, 1000, 1110, 1410) und die Arten der zu verwendenden Gelenkabschnitte (320, 340, 425, 435, 445, 455, 520, 624, 920, 1050, 1120, 1420) enthält.
DE102021129897.0A 2021-01-13 2021-11-16 Modulare Robotervorrichtung und Verfahren zum Betreiben einer modularen Robotervorrichtung Active DE102021129897B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/148,022 US11673258B2 (en) 2021-01-13 2021-01-13 Modular robotic device and method to operate a modular robotic device
US17/148,022 2021-01-13

Publications (2)

Publication Number Publication Date
DE102021129897A1 DE102021129897A1 (de) 2022-07-14
DE102021129897B4 true DE102021129897B4 (de) 2024-02-29

Family

ID=82116538

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021129897.0A Active DE102021129897B4 (de) 2021-01-13 2021-11-16 Modulare Robotervorrichtung und Verfahren zum Betreiben einer modularen Robotervorrichtung

Country Status (3)

Country Link
US (1) US11673258B2 (de)
CN (1) CN114762973A (de)
DE (1) DE102021129897B4 (de)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014019752A1 (de) 2014-11-14 2016-05-19 Medineering Gmbh Haltearm für medizinische Zwecke mit zwei mechatronischen Schnittstellen
DE102016004788A1 (de) 2016-04-20 2017-10-26 Kastanienbaum GmbH Verfahren zur Herstellung eines Roboters und Vorrichtung zur Durchführung dieses Verfahrens
US20190262988A1 (en) 2018-02-26 2019-08-29 Insight Scientific International (Shanghai) Ltd. Modular robotic system and associated method of automatically determining configuration and control therefor
US20200361080A1 (en) 2019-05-17 2020-11-19 Kinova Inc. Robot arm with modular construction
DE102020103058B3 (de) 2020-02-06 2021-07-08 Beckhoff Automation Gmbh Armmodul, Roboterarm und Industrieroboter
DE102022113135A1 (de) 2021-05-26 2022-12-01 Amazon Technologies, Inc. Modulare robotik-verbindungen

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428713A (en) * 1991-11-25 1995-06-27 Kabushiki Kaisha Toshiba Compound module type manipulator apparatus
GB9713765D0 (en) * 1997-07-01 1997-09-03 Engineering Services Inc Reconfigurable mudular drive system
US8126114B2 (en) * 2008-09-12 2012-02-28 Accuray Incorporated Seven or more degrees of freedom robotic manipulator having at least one redundant joint
WO2010126669A2 (en) * 2009-03-25 2010-11-04 Massachusetts Institute Of Technology Cellular automotion digital material
JP5475629B2 (ja) * 2010-01-12 2014-04-16 本田技研工業株式会社 軌道計画方法、軌道計画システム及びロボット
JP6506195B2 (ja) * 2016-03-09 2019-04-24 ファナック株式会社 回転軸モジュールおよび多関節ロボット
CA3019438A1 (en) * 2016-03-29 2017-10-05 Cognibotics Ab Method, constraining device and system for determining geometric properties of a manipulator
US10035261B2 (en) * 2016-06-17 2018-07-31 Schaeffler Technologies AG & Co. KG Actuatable joint for a robotic system having an axial angular contact roller bearing
US11413772B2 (en) * 2017-02-22 2022-08-16 Abb Schweiz Ag Industrial robot system with supervision sensor
US11395709B2 (en) * 2017-02-28 2022-07-26 Sony Corporation Control system, control method, and surgical arm system
US10576622B2 (en) * 2017-04-21 2020-03-03 Qualcomm Incorporated Robotic manipulator
US10610303B2 (en) * 2017-06-29 2020-04-07 Verb Surgical Inc. Virtual reality laparoscopic tools
CN107471206A (zh) * 2017-08-16 2017-12-15 大连交通大学 一种模块化工业机器人重构系统及其控制方法
CN109960178B (zh) * 2017-12-26 2020-10-16 深圳市优必选科技有限公司 机器人及其关节运动控制方法、装置
CN108673486A (zh) * 2018-05-05 2018-10-19 深圳市越疆科技有限公司 模块式关节机器人、控制方法和存储介质
US11491644B2 (en) * 2018-09-13 2022-11-08 Kinova Inc. Articulated mechanism with compact torque sensor
US11623354B2 (en) * 2018-09-13 2023-04-11 Kinova Inc. Robotic arm with quick-connect clamping system and docking cradle
JP7347169B2 (ja) * 2019-11-29 2023-09-20 オムロン株式会社 情報提示装置、情報提示方法、及び情報提示プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014019752A1 (de) 2014-11-14 2016-05-19 Medineering Gmbh Haltearm für medizinische Zwecke mit zwei mechatronischen Schnittstellen
DE102016004788A1 (de) 2016-04-20 2017-10-26 Kastanienbaum GmbH Verfahren zur Herstellung eines Roboters und Vorrichtung zur Durchführung dieses Verfahrens
US20190262988A1 (en) 2018-02-26 2019-08-29 Insight Scientific International (Shanghai) Ltd. Modular robotic system and associated method of automatically determining configuration and control therefor
US20200361080A1 (en) 2019-05-17 2020-11-19 Kinova Inc. Robot arm with modular construction
DE102020103058B3 (de) 2020-02-06 2021-07-08 Beckhoff Automation Gmbh Armmodul, Roboterarm und Industrieroboter
DE102022113135A1 (de) 2021-05-26 2022-12-01 Amazon Technologies, Inc. Modulare robotik-verbindungen

Also Published As

Publication number Publication date
US20220219316A1 (en) 2022-07-14
US11673258B2 (en) 2023-06-13
DE102021129897A1 (de) 2022-07-14
CN114762973A (zh) 2022-07-19

Similar Documents

Publication Publication Date Title
DE10392966B4 (de) Parallele haptische Joystick-Vorrichtung
EP2359988B1 (de) Verfahren zum Kalibrieren eines Parallelroboters
EP2546711B2 (de) Verfahren zum Programmieren eines Roboters
EP3013537B2 (de) Verfahren und system zur programmierung eines roboters
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
DE102005054575B3 (de) Verfahren zur Regelung eines Roboterarms sowie Roboter zur Durchführung des Verfahrens
DE102010045525B4 (de) Handgelenk eines geschickten humanoiden Roboters
EP0108348A2 (de) Fernsteuereinrichtung zum Eingeben und/oder zum Programmieren von Bewegungen, Kräften und Drehmomenten eines Roboters, eines Manipulators, und eines graphischen Displays mit Hilfe eines sechsdimensionalen Kraft-Momenten-Sensors
EP2851162A2 (de) Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
DE102012213957B4 (de) Schnelle Berechnung von Griffkontakten für einen seriellen Roboter
EP3313626A1 (de) Verfahren zum redundanzoptimierten planen eines betriebs eines mobilen roboters
WO2009149805A1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
EP1591209A2 (de) Verfahren zum Steuern einer Maschine, insbesondere eines Industrieroboters
DE4425924A1 (de) Autonome mobile Einheit mit raumsparendem Manipulator und zugehöriges Steuerungsverfahren
EP2008778B1 (de) Verfahren und Vorrichtung zum Programmieren eines Industrieroboters
EP2324966A1 (de) Verfahren und Vorrichtung zur Planung und/oder Steuerung einer Roboterapplikation
WO2018010842A1 (de) Redundanzauflösung für einen redundanten manipulator
DE10393527T5 (de) Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung
DE102012022190B4 (de) Inverse Kinematik
DE102021129897B4 (de) Modulare Robotervorrichtung und Verfahren zum Betreiben einer modularen Robotervorrichtung
DE102018129153B4 (de) Eingabeeinrichtung und Robotersteuerungssystem
DE102006036490A1 (de) Verfahren und Vorrichtung zum Steuern eines Handhabungsgeräts
EP1684159A2 (de) Mobile haptische Schnittstelle
DE102015003941A1 (de) Steuern eines mobilen redundanten Roboters
WO2022053664A1 (de) Roboter

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division