-
HINTERGRUND
-
Gebiet
-
Die vorliegende Offenlegung betrifft das Gebiet der Bewegungssteuerung von Industrierobotern und spezieller ein Verfahren, welches eine Zugreifpose eines Robotergreifers basierend auf einer vorbestimmten Anordnungspose plant, bei der Teile in wahllosen Posen in einem Entnahmebehälter vorhanden sind und eine Roboterbewegung vorgefunden wird, die ein Teil aus dem Behälter aufhebt und es in einer einzelnen Bewegung zur festgelegten Anordnungsstelle und Pose bewegt, ohne, wenn möglich, erneut zuzugreifen oder bei aufeinander folgenden Bewegungen mit minimalem erneutem Zugriff, während Kollisionen des Roboters mit dem Behälter vermieden werden, und innerhalb der Bewegungsgrenzen von Robotergelenken zu bleiben.
-
Erörterung des Stands der Technik
-
Der Einsatz von Industrierobotern zur Durchführung eines breiten Bereichs von Vorgängen der Herstellung, Montage und Materialbewegung ist bekannt. Eine solche Anwendung ist ein Anordnungsvorgang, bei dem ein Roboter einzelne Teile von einem Behälter aufgreift und jedes Teil auf ein Förderband legt. Ein Beispiel dieser Anwendung wäre dort, wo Teile, die geformt oder maschinell bearbeitet wurden, in den Behälter fallen gelassen werden und sich an wahllosen Stellen und Ausrichtungen absetzen, und der Roboter beauftragt wird mit dem Aufheben und Legen jedes Teils in einer vorher festgelegten Ausrichtung (Pose) auf einem Förderband, welches die Teile zur Verpackung oder zur weiteren Bearbeitung transportiert. In Abhängigkeit vom Ausmaß, wie die Teile im Behälter in einem Stapel miteinander verschachtelt sind, können Fingergreifer oder Sauggreifer als Roboterwerkzeug verwendet werden. Typisch ist, dass ein Sichtsystem (eine oder mehrere Kameras) genutzt wird, um die Position und Pose einzelner Teile in dem Behälter zu erkennen.
-
Es sind Systeme vorhanden, welche die Bewegung des Roboters für die oben beschriebene Bestückungsanwendung planen, während an den physikalischen Bewegungsgrenzen der Robotergelenke festgehalten wird und außerdem Kollisionen des Roboters oder des Teils mit dem Behälter oder beliebigen anderen Hindernissen vermieden werden. Jedoch sind Systeme im Stand der Technik typischerweise fest programmiert, die nach einer Facette oder Fläche des Teils suchen, welche durch den Sauggreifer erreicht werden können. Wenn die bevorzugte Fläche zugänglich ist, erfasst der Roboter das Teil und legt es in einer einzelnen Bewegung auf das Förderband. Wenn die bevorzugte Fläche des Teils nicht zugänglich ist, findet der Roboter eine vorher festgelegte, wechselnde Greiffläche, bewegt das Teil in eine vorher festgelegte Zwischenpose, greift das Teil erneut unter Verwendung der bevorzugten Fläche und legt anschließend das Teil auf das Förderband.
-
Die Systeme im Stand der Technik des oben beschriebenen Typs können Gelegenheiten versäumen, das Teil in einer einzelnen Bewegung aufzuheben und zu legen, und können außerdem einen Bewegungsablauf mit einer Zwischenpose auswählen, die bewirkt, dass der Verfahrweg des Roboters und Gelenkbewegungen größer als notwendig sind.
-
Angesichts der oben beschriebenen Umstände besteht der Bedarf an einem Planungsverfahren für Roboterzugriffe, welches adaptiv den effizientesten Greif- und Bewegungsablauf für Teile ermittelt.
-
ZUSAMMENFASSUNG
-
Gemäß technischer Lehre der vorliegenden Offenlegung wird ein adaptives Planungsverfahren für Zugriffe und Bewegungen von Robotern offengelegt. Werkstücke in einem Behälter mit wahllosen Positionen und Posen sollen durch einen Roboter ergriffen und in einer endgültigen Position und Pose angeordnet werden. Es wird die Form des Werkstücks analysiert, um eine Vielzahl robuster Zugriffsoptionen zu ermitteln, wobei jede Zugriffsoption eine Position und Ausrichtung aufweist. Die Form des Werkstücks wird außerdem analysiert, um eine Vielzahl von stabilen Zwischenposen zu bestimmen. Jedes einzelne Werkstück im Behälter wird beurteilt, um eine Menge von ausführbaren Zugriffen zu ermitteln, und das Werkstück in die endgültige Position und Pose bewegt, falls eine solche direkte Bewegung möglich ist. Falls die direkte Bewegung nicht möglich ist, dann wird ein Suchproblem formuliert, bei dem ein ausführbare Zugriff und jede stabile Zwischenpose ein Knoten ist. Das Suchproblem wird durch Beurteilung der Durchführbarkeit und Optimalität jeder Verknüpfung zwischen den Knoten gelöst. Durchführbarkeit jeder Roboterbewegung wird hinsichtlich der Beschränkungen der Kollisionsvermeidung und Beschränkungen der Robotergelenkbewegung beurteilt. Wenn die optimale Lösung für das Suchproblem gefunden ist, werden Roboterbewegungsbefehle berechnet und dem Roboter zur Verfügung gestellt, wobei ein weiteres Teil im Behälter beurteilt wird.
-
Figurenliste
-
- 1 ist eine Darstellung von Werkstücken in einem Behälter, die eine Anordnung in einer vorher bestimmten Zielposition und Pose wie etwa auf einem Förderband, erfordern;
- 2 ist eine Darstellung von Werkstücken in einem Behälter, die in die vorher bestimmte Zielposition und Pose bewegt werden, entweder über eine direkte Umsetzung oder über einen vorher festgelegten Zwischenzustand, entsprechend der im Stand der Technik bekannten Verfahren;
- 3 ist eine Darstellung eines Werkstücks mit einer Vielzahl von ermittelten Stichprobenzugriffen, wobei jeder Zugriff als robust oder nicht robust beurteilt wird, gemäß Ausführungsformen der vorliegenden Offenlegung;
- 4 ist eine Darstellung eines Werkstücks mit einer Anzahl von ermittelten stabilen Werkstückposen gemäß Ausführungsformen der vorliegenden Offenlegung;
- 5A ist eine grafische Darstellung eines Suchproblems, das zur Beurteilung der Durchführbarkeit und Optimalität einer Vielzahl von Strecken von einer Anfangspose des Werkstücks durch eine Stufe von Zwischenposen in eine Zielpose, gemäß Ausführungsformen der vorliegenden Offenlegung, beurteilt wird;
- 5B ist eine grafische Darstellung eines Suchproblems, das zur Bewertung der Durchführbarkeit und Optimalität einer Vielzahl von Strecken aus der Anfangspose des Werkstücks durch zwei oder mehrere Stufen von Zwischenposen in die Zielpose formuliert wird, gemäß Ausführungsformen der vorliegenden Offenlegung; und
- 6 ist ein Ablaufdiagramm eines Verfahrens zur adaptiven Planung für Zugriffe und Bewegungen von Robotern, einschließlich der Bewertung einer Vielzahl von Zugriffen und Zwischenposen zur Optimierung der Roboterbewegung gemäß einer Ausführungsform der vorliegenden Offenlegung.
-
AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Die folgende Erörterung der Ausführungsformen der auf ein attraktives Planungsverfahren für Zugriff und Bewegung von Robotern gerichteten Offenlegung ist nur beispielhafter Natur und soll nicht dazu beabsichtigt sein, die offengelegten Vorrichtungen und Verfahren oder ihre Anwendungen oder Einsätze zu beschränken.
-
Es ist bekannt, Industrieroboter für verschiedene Vorgänge der Herstellung, Montage und Materialbewegung einzusetzen. Bei einigen Arten dieser Arbeitsgänge muss der Roboter programmiert werden, um sich entlang einer Strecke mit einem Startpunkt und/oder einem Bestimmungsort (Zielpunkt), die von einem Arbeitsgang zum nächsten unterschiedlich sind, zu bewegen. Zum Beispiel müssen bei einem Arbeitsgang zum Bewegen, Aufheben und Legen, Teile in einem Behälter mit regellosen Positionen und Ausrichtungen von einem Roboter aufgenommen und in eine vorher festgelegte Pose (Ausrichtung) auf einem Förderband bewegt werden. Teile können auch auf einem ankommenden Förderband in wahllosen Positionen und Ausrichtungen ankommen, was ebenfalls die Berechnung eines einzigen Ablaufs zum Aufheben/Bewegen/Legen für jedes einzelne Teil erfordert. Es gibt viele andere beispielhafte Anwendungen, bei denen eine neue Strecke für jede einzelne Aufgabe oder Arbeitsgang des Roboters berechnet werden muss.
-
Darüber hinaus sind in vielen Arbeitsbereichsumgebungen des Roboters Hindernisse vorhanden und können sich in der Strecke der Roboterbewegung befinden - das heißt, zwischen dem Startpunkt und dem Zielpunkt, oder allgemeiner dargelegt, zwischen einer aktuellen Position des Roboters und dem Bestimmungsort des Roboters, können ein oder mehrere Hindernisse liegen. Wenn Teile in einem Behälter bereitgestellt werden, stellt der Behälter selbst ein Hindernis für den Roboter beim Aufgreifen der Teile dar.
-
1 ist eine Darstellung von Werkstücken in einem Behälter, die eine Aufstellung in einer vorher festgelegten Zielposition und Pose, wie etwa auf einem Förderband, erfordern. 1 stellt einen Industrieroboter dar, der einen Arbeitsgang zum Aufgreifen, Bewegen und Legen in einem Szenario des oben beschriebenen Typs darstellt, bei dem jedes einzelne Werkstück in einem Behälter eine eindeutige Greiflösung erforderlich macht, die wiederum eine eindeutige Bewegungs-, Neuausrichtungs- und Anordnungslösung erfordert. Der Roboter muss den Vorgang zum Aufgreifen, Bewegen und Legen zuverlässig durchführen (alle Teile sind auf dem Förderband in genauer Pose anzuordnen und keine Teile sind heruntergefallen) und der Arbeitsgang muss hundertprozentig frei von Kollisionen (wie etwa zwischen einem Roboterarm und dem Behälter) sein. Außerdem ist die Leistungsfähigkeit des Arbeitsgangs zum Aufheben/Bewegen/Legen wichtig, weil ein maximaler Durchsatz der Teile entscheidend ist.
-
Ein Roboter 100 mit einem Greifer 102 arbeitet innerhalb eines Arbeitsraums 104. Die Bewegung des Roboters 100 wird durch eine Steuereinheit 110 gesteuert, die typischerweise durch ein Kabel 112 mit dem Roboter 100 in Verbindung steht. Die Steuereinheit 110 liefert an den Roboter 100 Anweisungen zur Gelenkbewegung und empfängt Gelenkpositionsdaten von Kodiereinrichtungen in den Gelenken des Roboters 100, wie es an sich bekannt ist. Die Steuereinheit 110 liefert außerdem Befehle zur Steuerung der Funktion des Greifers 102. Das Szenario zum Aufheben, Bewegen und Legen von 1 ist lediglich veranschaulichend und beispielhaft.
-
Die adaptiven Planungsverfahren für Zugriff und Bewegung der vorliegenden Offenlegung sind auf jeden Typ von Arbeitsgängen des Roboters anwendbar, bei dem Teile in wahllosen Posen ergriffen und bewegt werden müssen, wobei der Saugnapfgreifer 102 durch einen anderen Typ von Greifern, wie etwa ein Fingertyp, ersetzt werden kann.
-
Eine Kamera 120 steht mit der Steuereinheit 110 in Verbindung und liefert Bilder des Arbeitsraums 104. Bilder von der Kamera 120 können insbesondere genutzt werden, um die Position und Ausrichtung von auf dem Roboter 100 zu bearbeitenden Werkstücken zu ermitteln. In einigen Ausführungsformen können Bilder von der Kamera 120 genutzt werden, um Positionen zu ermitteln, an denen ein Werkstück durch den Roboter 100 angeordnet werden soll, oder auch um bewegliche oder vorübergehende Hindernisse im Arbeitsraum 104 zu ermitteln. Die Kamera 120 kann durch einige andere Einrichtungen ersetzt werden (zum Beispiel ein weiterer Typ von Objektsensoren - Radar, LiDAR, Ultraschall, usw.), um die Positionen und Ausrichtungen der vom Roboter 100 zu bewegenden Werkstücke zu ermitteln.
-
In einem Behälter 140 ist eine Vielzahl von Werkstücken 130 aufgenommen. Die Aufgabe des Roboters 100 ist es, ein einzelnes Werkstück 130 vom Behälter 140 aufzuheben, das Werkstück 130 zu bewegen und es auf ein Förderband 150 in einer vorher festgelegten Pose (Ausrichtung) zu legen, und den Arbeitsgang an einem anderen Werkstück zu wiederholen. Die Kamera 120 liefert Bilder der Werkstücke 130 im Behälter 140. Ein Algorithmus wird genutzt, um ein einzelnes der Werkstücke 130 für den nächsten Aufhebvorgang basierend auf Faktoren, wie zum Beispiel die Höhe des Mittelpunkts eines Werkstücks über dem Boden des Behälters 140, eine zentralisierte Position innerhalb des Behälters 140 oder die Zugänglichkeit einer bevorzugten Greiffläche zu ermitteln.
-
Die Werkstücke 130 weisen alle die gleiche Ausrichtung auf, wenn sie auf das Förderband 150 gelegt werden. Es scheint so, dass die verschiedenen Werkstücke 130 auf dem Förderband 150 in 1 leicht abweichende Ausrichtungen aus Richtungen aufweisen, wobei dies jedoch einfach ein perspektivischer Effekt der Darstellung ist. Die Ausrichtung der Werkstücke 130 auf dem Förderband 150 (bekannt als Zielausrichtung) wird vorher festgelegt zur optimalen Leistungsfähigkeit eines anschließenden Verarbeitungsschrittes - welcher das Verpacken, Lackieren, maschinelle Bearbeiten oder irgendein anderer Arbeitsgang sein könnte.
-
Für jedes Werkstück 130 im Behälter 140 muss durch die Steuereinheit 110 (oder durch einen weiteren Computer und anschließend der Steuereinheit 110 zur Verfügung gestellt) eine neue Strecke berechnet werden, was bewirkt, dass der Roboter 100 den Greifer 102 von einer Ausgangs- oder Näherungsposition bewegt, um das Werkstück 130 aufzuheben, indem ein geeigneter Zugriffspunkt und Ausrichtung verwendet wird, und das Werkstück 130 entlang einer Strecke in die Zielposition und Ausrichtung bewegt, während Hindernisse wie etwa die Seite des Behälters 140 umgangen werden, und dann den Greifer 102 in die Ausgangs- oder Näherungsposition in Vorbereitung auf das nächste Werkstück 130 zurückführt. In einigen Fällen kann ein Zwischenaufenthalt erforderlich sein, wo der Roboter 100 das Werkstück 130 auf einer Fläche ablegt, es an einer anderen Stelle erneut ergreift und ins Ziel bewegt. Punkt und Strecke des Zugriffs für jedes Werkstück müssen durch die Steuereinheit 110 sehr schnell berechnet werden, weil die Streckenberechnung in Echtzeit durchgeführt werden muss, so schnell wie der Roboter 100 das eine Werkstück 130 bewegen und zum Aufnehmen des nächstens zurückkehren kann.
-
2 ist eine Darstellung von Werkstücken in einem Behälter, die in die vorher festgelegte Zielposition und Pose zu bewegen sind, entweder durch eine direkte Umsetzung oder über einen vorher festgelegten Zwischenzustand, gemäß den an sich bekannten Verfahren. Es wurden Systeme entwickelt, um den in 1 gezeigten Arbeitsgang zum Aufheben, Bewegen, und Legen durchzuführen. Diese vorhandenen Systeme nutzen typischerweise eine fest programmierte, festgelegte logische Verknüpfung zur Bestimmung, wo auf das Werkstück zuzugreifen ist, und ob ein Zwischenaufenthalt erforderlich ist oder nicht, um das Werkstück in der vorher festgelegten Zielpose anzuordnen.
-
in 2 befinden sich die Werkstücke 230 wieder in einem Behälter 240 in wahllosen Positionen und Ausrichtungen. Eine Kamera oder ein anderer Sensor (nicht gezeigt) wird wiederum genutzt, um ein einzelnes Werkstück 230 auszuwählen und seine Position und Ausrichtung zu ermitteln. Im idealen Fall kann das ausgewählte Werkstück 230 an einer bevorzugten Stelle für einen robusten Griff ergriffen (oder „erfasst“) werden, in die Zielposition bewegt und in einer Einzelbewegung durch den Roboter neu ausgerichtet werden. Dieser Fall ist so dargestellt, dass ein Werkstück 230A entlang einer Strecke 250 direkt in die Zielposition und Ausrichtung bewegt wird.
-
Es wird verständlich, dass Gelenkroboter Grenzen der Gelenkbewegung aufweisen, die die Flexibilität von Robotern einschränken. In vielen Fällen ist es deshalb nicht möglich, in einer einzelnen Bewegung das Werkstück 230 direkt in die Zielposition und Ausrichtung zu bewegen. Zum Beispiel wird, wenn sich im Behälter 240 ein Werkstück 230 mit nur einer einzigen zugänglichen Seite befindet, und das Ergreifen dieser Seite dem Roboter nicht ermöglicht, das Werkstück 230 in die Zielausrichtung zu bewegen, mindestens ein Zwischenschritt erforderlich. Dieser Fall wird gezeigt, bei dem ein Werkstück 230B entlang einer Strecke 260 in einen Zwischenzustand bewegt wird. Das Werkstück 230B wird bei dem Zwischenschritt auf eine Fläche gelegt, und der Roboter lässt es gehen. Das Werkstück 230B wird dann erneut an einem anderen Punkt durch den Roboter ergriffen und entlang einer Strecke 262 in die Zielposition und Ausrichtung bewegt.
-
Bei Systemen im Stand der Technik sind die möglichen Anfangsgreifpunkte auf dem Werkstück 230, die Werkstückausrichtung im Zwischenzustand und die möglichen Punkte auf dem Werkstück 230 zum erneuten Greifen alle durch eine festgelegte Logik fest programmiert. Dieser Typ fest programmierter Logik erfordert eine zeitraubende Analyse und Programmierung für jede Anwendung (Gestaltung des Werkstücks, Größe/Form des Behälters, Zielorientierung, usw.). Außerdem ist es schwierig für diesen Typ festgelegter Logik, komplexe Werkstückformen zu definieren, und das Ergebnis kann sein, dass auf dem Werkstück nur eine einzelne bevorzugte, anfängliche Greifposition festgelegt wird und dass eine bevorzugte anfängliche Greifposition oftmals auf vielen der Werkstücke im Behälter nicht zugänglich sein wird. Darüber hinaus führen die eingeschränkten Greifpunktoptionen und eine einzelne Zwischenzustandspose oft zu übermäßigen Gelenkbewegungen des Roboters und eventuell auch zu einem notwendigen zweiten Zwischenzustand und zu einem zweiten erneuten Greifen, um die Zielausrichtung zu erreichen.
-
Die Planungsverfahren für Zugriff und Bewegung der vorliegenden Offenlegung sind entworfen, um die Leistungsfähigkeit des Arbeitsgangs zum Ergreifen/Bewegen/Legen zu optimieren, indem jeder ausführbare anfängliche Greifpunkt ausgewählt wird, der eine direkte Bewegung des Werkstücks zum Ziel ermöglicht und, wenn eine direkte Bewegung in einem Schritt nicht möglich ist, ein anfänglicher Zugriffpunkt und eine Zwischenpose ausgewählt werden, die eine Roboterbewegung minimieren.
-
3 ist eine Darstellung eines Werkstücks 310 mit einer Vielzahl von ermittelten Stichprobenzugriffen, wobei jeder Zugriff als robust oder nicht robust bewertet wird, gemäß Ausführungsformen der vorliegenden Offenlegung. Der erste Schritt im Verfahren der vorliegenden Offenlegung ist es, eine Menge G von robusten Zugriffsstellen für das Werkstück 310 zu erzeugen. Ist ein stabiles oder dreidimensionales Oberflächenmodell des Werkstücks 310 gegeben, wird unter Verwendung eines beliebigen geeigneten Verfahrens eine Menge N von zufälligen Punkten eines Stichprobenzugriffs auf der Oberfläche des Werkstücks 210 definiert. Die Menge N kann hunderte von Punkten enthalten, obwohl in 3 der Deutlichkeit halber nur wenige Dutzend dargestellt sind. Jeder der Punkte von Stichprobenzugriffen in der Menge N wird analysiert, um seine Eignung als Zugriffspunkt basierend auf der Flächenebenheit eines örtlichen Bereichs zu bestimmen. Wenn herausgefunden wird, dass ein Bereich von geeigneter Größe und Ebenheit (für einen zuverlässigen Zugriff durch einen Greifer mit Gummisauger) um einen speziellen Punkt herum vorhanden ist, dann wird dieser Punkt in die Menge Gvon robusten Zugriffsstellen einbezogen. Punkte in der Menge Gvon robusten Zugriffsstellen sind in 3 mit einem kleinen Kreis dargestellt. Wenn herausgefunden wird, dass ein Bereich von geeigneter Größe und Ebenheit um einen speziellen Punkt vorhanden ist, dann wird dieser Punkt nicht in die Menge G von robusten Zugriffsstellen einbezogen und ist mit einem kleinen x dargestellt. Die Menge N enthält alle abgetasteten Punkte, ob sie zum Ergreifen robust sind oder nicht; wobei die Menge G nur die robusten Zugriffsstellen umfasst.
-
Für jeden Punkt in der Menge G von robusten Zugriffsstellen ist außerdem eine Zugriffsausrichtung definiert, die normal (senkrecht) zu einer Tangentialebene der lokalen Fläche ist. Diese Zugriffsausrichtung wird genutzt zum Festlegen der Annäherungsrichtung des Robotergreifwerkzeugs, wenn das Werkstück 310 ergriffen wird. Es können auch andere Faktoren bei der Bestimmung berücksichtigt werden, welche Punkte in die Menge Gvon robusten Zugriffsstellen einbezogen werden. Zum Beispiel kann für eine spezielle Zugriffsstelle und Ausrichtung ein versetzter Abstand des Massenmittelpunkts des Werkstücks 310 von einer Mittellinie des Greifwerkzeugs des Roboters berechnet werden. Falls ein spezieller Zugriffspunkt sich an einer Umfangsstelle am Werkstück 310 befindet und die Mittellinie des Greifwerkzeugs weit weg vom Massenmittelpunkt des Werkstücks verläuft, kann dieser Zugriffspunkt aus der Menge G von robusten Zugriffsstellen verworfen werden, weil er ein großes Biegemoment auf den Saugnapfgreifer verursachen würde. Die Analyse des Werkstücks 310 (das heißt, für den Entwurf eines speziellen Teils) zur Erzeugung der Menge Gvon robusten Zugriffsstellen wird einmal am Anfang durchgeführt und dann bei den Planungsberechnungen für Zugriff und Bewegung für jedes einzelne Werkstück in einem Behälter verwendet.
-
4 ist eine Darstellung des Werkstücks 310 mit einer Anzahl ermittelter stabiler Posen des Werkzeugs, gemäß Ausführungsformen der vorliegenden Offenlegung. Bei dem adaptiven Zugriffsplanungsverfahren der vorliegenden Offenlegung werden viele unterschiedliche Kombinationen anfänglicher Zugriffe und Zwischenposen auf Ausführbarkeit und Optimalität analysiert, wenn eine direkte Umsetzung eines Werkstücks in einem Behälter in die Zielpose nicht möglich ist. Um diese Analyse durchzuführen, ist es notwendig, alle stabilen Posen des Werkstücks 310 im Voraus zu kennen. Eine stabile Pose ist eine Ausrichtung, bei der das Werkstück 310 auf einer flachen Oberfläche (oder auf einer Kombination von Punkten, Linien und Flächen) aufliegen wird, ohne zu kippen.
-
Ein Verfahren zur Ermittlung von stabilen Posen eines Werkstücks ist, mathematisch eine konvexe Hülle (wie etwa ein Tetraeder oder ein Oktaeder) um das Werkstück herum zu erzeugen, wobei alle Flächen der konvexen Hülle andere Größen besitzen können, und anschließend mathematisch eine umschließende Kugel zu erzeugen, die den Massemittelpunkt des Werkstücks als ihren Mittelpunkt um die konvexe Hülle herum aufweist. Jede Fläche der konvexen Hülle wird dann auf die Hülle projiziert, was zu einer Fläche 5 führt. Die Wahrscheinlichkeit einer stabilen Anordnung des Werkstücks auf einer Oberfläche, die durch jede Seitenfläche der konvexen Hülle dargestellt wird, ist proportional zu dem Bereich S für diese Seitenfläche dividiert durch den Flächenbereich der umschließenden Kugel. Intuitiv bedeutet das, dass die Wahrscheinlichkeit einer stabilen Anordnung größer ist für größere Seitenflächen der konvexen Hülle.
-
Eine andere Möglichkeit zur Ermittlung stabiler Posen eines Werkstücks ist es, einfach eine Erprobung mit dem Werkstück durch einen Menschen zu bekommen und unterschiedliche Posen zu finden, in denen eine stabile Anordnung möglich ist, und anschließend diese Posen in einem stabilen CAD-Modelliersystem nachzubilden.
-
In 4 ist im Kästchen 420 eine Menge P mit vier unterschiedlichen stabilen Posen für das Werkstück 310 gezeigt. Jede der vier stabilen Posen ist eindeutig, das heißt, jede der stabilen Posen lässt das Werkstück 310 auf einer anderen Seitenfläche aufliegen als die anderen. Die Analyse des Werkstücks 310 zur Ermittlung der Menge P stabiler Posen einmal zu Beginn durchgeführt und anschließend bei Planungsrechnungen für Zugriff und Bewegung für jedes einzelne Werkstück in einem Behälter genutzt.
-
Wie oben bezüglich 3 und 4 erörtert, berechnet das Verfahren der vorliegenden Offenlegung zuerst die Menge G robuster Zugriffe und die Menge P stabiler Posen für ein Werkstück. Diese Berechnungen sind nur eine Funktion der Form des Werkstücks und haben nichts damit zu tun, wie ein einzelnes Werkstück in einem Behälter liegt. Eine endgültige (Ziel) Pose B wird ebenfalls zur Verfügung gestellt, einschließlich der Zielposition und Ausrichtung für das Werkstück nach Anordnung durch den Roboter. Anschließend wird ein viele reale Werkstücke enthaltender Behälter bereitgestellt, und es werden Bilder der Werkstücke analysiert. Es wird zur Bewegung ein spezielles Werkstück gewählt, und es wird aus den Kamerabildern eine Anfangspose des gewählten Werkstücks ermittelt.
-
Dann wird für ein einzelnes Werkstück im Behälter eine Analyse durchgeführt, um zu bestimmen, welche der Zugriffspunkte in der Menge G robuster Zugriffe auf der Basis der Ausrichtung und freiliegender Flächen des Teils im Behälter möglich ist. Anschließend wird bestimmt, ob irgendeiner der robusten Zugriffe, die möglich sind, erlauben wird, das Werkstück direkt in einer einzelnen Bewegung in die Zielpose B zu bewegen. Falls irgendeiner der möglichen robusten Zugriffe es zulässt, das Werkstück direkt in einer einzelnen Bewegung in die Zielpose B zu bewegen, plant die Robotersteuereinheit die Roboterbewegungen unter Verwendung inverser Kinematik und prüft auf alle möglichen Kollisionen (wie Roboterarm oder Werkzeug mit Behälterseitenwand) und Einschränkungen der Roboterbewegung. Falls einer der möglichen robusten Zugriffe es zulässt, das Werkstück direkt in einer einzelnen Bewegung in die Zielpose B ohne Kollisionen und innerhalb der Beschränkungen der Roboterbewegung zu bewegen, wird die Robotersteuerung anschließend die Befehle der geplanten Roboterbewegung zum Bewegen des Werkstücks ausführen. Falls mehr als ein möglicher robuster Zugriff es erlaubt, das Werkstück direkt in einer einzelnen Bewegung in die Zielpose B zu bewegen, dann kann ein Zugriff und eine Bewegung basierend auf der Belastbarkeit des Zugriffs, Wirksamkeit der Bewegung oder anderen Faktoren ausgewählt werden.
-
Wenn für ein einzelnes Werkstück beurteilt wird, dass keiner der möglichen robusten Zugriffe es zulässt, das Werkstück direkt in einer einzelnen Bewegung in die Zielpose B zu bewegen, dann wird eine Analyse durchgeführt, um den besten Zugriff und die beste Bewegung zu finden, einschließlich eines oder mehrerer dazwischen liegender Zustände, in denen das Werkstück zeitweilig platziert und dann erneut ergriffen wird. Dies wird nachstehend erörtert.
-
5A als eine grafische Darstellung eines Suchproblems, das formuliert ist zur Beurteilung der Ausführbarkeit und Optimalität einer Vielzahl von Strecken von einer Anfangspose des Werkstücks durch eine Stufe von Zwischenposen in eine Zielpose, entsprechend Ausführungsformen der vorliegenden Offenlegung. Das Werkstück 510 ist eins von vielen Werkstücken in einem Behälter, das durch einen Roboter aufzunehmen und zu legen ist, wie es früher erörtert wurde. Das Werkstück 510 wurde bereits analysiert, um die Menge G robuster Zugriffe und die Menge P stabiler Posen zu bestimmen, wie es ebenfalls oben bezüglich 3 und 4 erörtert wurde. Zusätzlich wurde auch die endgültige (Ziel) Pose B einschließlich einer Zielposition und Ausrichtung festgelegt.
-
In 5A wurde das spezielle Werkstück 510 bereits beurteilt, und es wurde bestimmt, dass kein robuster Zugriffspunkt zugänglich ist, der es zulässt, das Werkstück 510 in einer einzigen Bewegung von der Anfangspose A in die Zielpose B zu bewegen. In dieser Situation wird ein Suchproblem formuliert, das alle möglichen Kombinationen von Zugriffspunkten und stabilen Zwischenposen berücksichtigt. Im Kästchen 520 ist die Menge P stabiler Posen für das Werkstück 510 dargestellt. Jede stabile Pose in der Menge P ist ein Knoten im Suchproblem. Das Werkstück 510 in der Zielpose B ist bei 530 dargestellt. Das Suchproblem wird formuliert, um Strecken 540 von der Anfangspose des Werkstücks 510 zu jeder der stabilen Posen im Kästchen 520 zu berücksichtigen, und Strecken 550 von jeder der stabilen Posen im Kästchen 520 zu der bei 530 dargestellten Zielpose B zu berücksichtigen.
-
Das Suchproblem wird wie folgt beurteilt. Für eine Zwischenpose 522 wird bestimmt, ob mindestens ein Zugriffspunkt auf dem Werkstück 510 zugänglich ist, die Anfangspose des Werkstücks vorgegeben, die es dem Roboter erlaubt, das Werkstück 510 in die Zwischenpose 522 zu bewegen. Falls eine solche Bewegung möglich ist, wird anschließend bestimmt, ob mindestens ein Zugriffspunkt auf dem Werkstück 510 zugänglich ist, die Zwischenpose des Werkstücks vorgegeben, die es dem Roboter erlaubt, das Werkstück 510 in die bei 530 dargestellte Zielpose B zu bewegen. Diese Analyse wird ebenfalls für die Zwischenpose 524 (Strecken 544 und 554), die Zwischenpose 526 (Strecken 546 und 566), usw., durchgeführt. Falls nur eine Strecke von der Anfangspose zur Zielpose ausführbar ist, dann wird diese ausführbare Strecke ausgewählt und die Roboterbewegung geplant. Falls mehr als eine Strecke ausführbar ist, dann wird als Zielfunktion eine optimale Strecke unter Verwendung einer minimalen Bewegung des Robotergelenks und/oder von Verfahrwegen des Greifwerkzeugs ausgewählt. Die ausgewählte Strecke umfasst eine Bewegung des Werkstücks 510 von der Anfangspose A zu einer dazwischen liegenden (mittleren) Pose M, erneutes Ergreifen des Werkstücks durch den Roboter und Bewegen des Werkstücks 510 von der Zwischenpose M in die Zielpose B.
-
Wie früher erörtert muss, bevor der Roboter angewiesen wird, das Werkstück 510 physikalisch zu bewegen, die Robotersteuereinheit die Roboterbewegungen durch inverse Kinematik planen und auf mögliche Kollisionen (wie Roboterarm oder Werkzeug mit Behälterseitenwand) und Einschränkungen der Roboterbewegung prüfen. Das Planen dieser Roboterbewegung kann durchgeführt werden, bevor eine optimale Strecke ausgewählt ist, um in der Auswahl eine Robotergelenkbewegung berücksichtigen zu können. Darüber hinaus ist es möglich, dass mehr als ein robuster Zugriff zum Bewegen des Werkstücks 510 aus seiner Anfangspose in einen speziellen Zwischenzustand, wie etwa die Zwischenpose 522 ausführbar ist. Falls die mehr als einen ausführbaren Zugriffspunkte wesentlich unterschiedlich voneinander sind (zum Beispiel Zugriffspunkte auf unterschiedlichen Flächen des Werkstücks 510 mit Ausrichtungswinkeln, die um 45° oder mehr abweichen), dann wird jeder andere ausführbare Zugriff als eine Strecke bei der Suche betrachtet, das heißt, die Strecke 542 besitzt tatsächlich mehr als eine Variante.
-
Um 5A zusammenzufassen: die Strecken 540 von der Anfangspose des Werkstücks 510 zu jeder der stabilen Zwischenposen 520 werden auf Ausführbarkeit beurteilt, von jeder der erreichbaren Zwischenposen 520 werden die Strecken 550 bis zur Zielpose 530 auf Ausführbarkeit beurteilt, falls mehr als eine komplette Strecke ausführbar ist, werden anschließend die ausführbaren vollständigen Strecken auf Optimalität beurteilt, wird eine optimale Strecke gewählt, und der Roboter wird angewiesen, das Werkstück 510 aus der Anfangspose in die ausgewählte Zwischenpose M zu bewegen, das Werkstück 510 erneut zu ergreifen und in die Zielpose 530 zu bewegen. In der Analyse, die wie in 5A dargestellt durchgeführt wird, ist es möglich, dass keine komplette Strecke ausführbar ist, dies könnte der Fall sein, wenn sich ein Werkstück in einer Ecke des Behälters befindet oder das Werkstück eine unregelmäßige Gestaltung mit wenigen robusten Zugriffspunkten aufweist. Falls eine Bewegung des Werkstücks von der Anfangspose in die Zielpose durch eine einzelne Zwischenpose M nicht möglich ist, dann wird das Suchproblem einschließlich einer zweiten Stufe von Zwischenposen erneut formuliert. Dies wird nachstehend erörtert.
-
5B ist eine grafische Darstellung eines Suchproblems, das formuliert wird, um die Ausführbarkeit und Optimalität einer Vielzahl von Strecken von der Anfangspose des Werkstücks durch zwei oder mehrere Stufen von Zwischenposen in die Zielpose gemäß Ausführungsformen der vorliegenden Offenlegung zu beurteilen. In 5B ist das Werkstück 510 auf der linken Seite wieder in einer Anfangspose dargestellt. Die stabilen Posen sind wiederum im Kästchen 520 zusammen mit den Strecken 540 von der Anfangspose in jede der stabilen Posen gezeigt. Jedoch stellen jetzt die stabilen Posen im Kästchen 520 eine erste Stufe einer Zwischenpose dar, und im Kästchen 560 ist eine zweite Stufe der Zwischenpose dargestellt. Die zweite Stufe der Zwischenpose im Kästchen 520 enthält die gleiche Menge P stabiler Posen wie im Kästchen 520. In jeder Stufe der Zwischenpose wird das Werkstück 510 auf eine Bearbeitungsfläche gelegt, durch den Robotergreifer freigegeben und erneut durch einen anderen der Zugriffe in der Menge G robuster Zugriffe ergriffen.
-
Die Formulierung des Suchproblems setzt sich wie folgt fort. Eine Menge von Strecken 570 wird so festgelegt, dass von jeder erreichbaren Zwischenpose in dem Kästchen 520 (erste Stufe), unter Verwendung eines beliebigen robusten Zugriffs in der Menge G, eine Strecke für jede Zwischenpose im Kästchen 560 (zweite Stufe) beurteilt wird. Anschließend wird von jeder Pose im Kästchen 560 (zweite Stufe), die durch eine oder mehrere der Strecken 570 erreichbar ist, durch einen beliebigen robusten Zugriff in der Menge G eine Menge von Strecken 580 in die Zielpose 530 beurteilt. Es wird ersichtlich, dass das in 5B dargestellte Suchproblem vielmehr Strecken und Kombinationen als das Suchproblem von 5A aufweist. Eine komplette End-zu End-Strecke wird so festgelegt, dass sie eine Strecke aus jeder der Mengen 540, 570 und 580 zusammen mit zwei Zwischenposen M1 und M2 einschließt, zum Beispiel von der Anfangspose des Werkstücks 510 zur ersten Stufe der Zwischenpose 522, zur zweiten Stufe der Zwischenpose 562 in die Zielpose 530. Jede vollständige End-zu-End-Strecke wird hinsichtlich Ausführbarkeit beurteilt und anschließend werden die ausführbaren End-zu-End-Strecken hinsichtlich Optimalität beurteilt.
-
Aus der oben beschriebenen Analyse wird eine optimale Strecke gewählt und der Roboter angewiesen, das Werkstück 510 aus der Anfangspose A in die ausgewählte Zwischenpose M1 der ersten Stufe zu bewegen, das Werkstück 510 erneut zu ergreifen, in die ausgewählte zweite Pose der Zwischenstufe M2 zu bewegen, das Werkstück 510 erneut zu ergreifen und in die Zielpose 530 zu bewegen. Bei dem ungewöhnlichen Vorgang, dass keine ausführbare End-zu-End-Strecke unter Verwendung zweier Stufen von Zwischenposen von 5B gefunden wird, kann ein Suchproblem unter Verwendung dreier Stufen der Zwischenposen formuliert und beurteilt werden, und so weiter.
-
6 ist ein Ablaufdiagramm 600 eines Verfahrens zur adaptiven Planung von Zugriff und Bewegung von Robotern einschließlich einer Beurteilung der Vielzahl von Zugriffen und Zwischenposen, um eine Roboterbewegung gemäß einer Ausführungsform der vorliegenden Offenlegung zu optimieren. Im Kästchen 602 wird die Menge G von robusten Zugriffen und die Menge Pvon stabilen Posen für ein Werkstück berechnet, wie es in 3 und 4 gezeigt und früher erörtert ist. Diese Berechnungen sind nur eine Funktion der Form des Werkstücks und haben nichts damit zu tun, wie ein einzelnes Werkstück in einem Behälter liegt.
-
Im Kästchen 604 ist ein viele reale Werkstücke enthaltender Behälter vorgesehen, und es werden Kamerabilder (oder Sensordaten) der Werkstücke zur Verfügung gestellt. Im Kästchen 660 ist ein einzelnes Werkstück zur Bewegung gewählt, und es wird eine Anfangspose A des gewählten Werkstücks aus den Kamerabildern bestimmt. Im Kästchen 608 ist ebenfalls eine Zielpose B vorgesehen, einschließlich der Zielposition und Ausrichtung für das Werkstück nach einer Anordnung durch den Roboter. Die Zielpose B könnte die gleiche für alle Werkstücke im Behälter sein, oder die Zielpose B könnte von einem Werkstück zum nächsten unterschiedlich sein.
-
Im Kästchen 610 werden unausführbare Zugriffe aus der Menge G von robusten Zugriffen herausgefiltert. Unausführbare Zugriffe sind diejenigen, welche nicht möglich sind oder es nicht zulassen, das Werkstück direkt in einer einzelnen Bewegung in die Zielpose B zu bewegen. Zuerst werden Zugriffe aus der Menge G, die nicht möglich sind, basierend auf der Anfangspose A des gewählten Werkstücks eliminiert. Das heißt, es können nur robuste Zugriffspunkte, die sich auf Oberflächen des Werkstücks befinden, die ausgesetzt sind und auf einen offenen Raum zu weisen, in der Menge G bleiben. Anschließend werden von den verbleibenden Zugriffen diejenigen eliminiert, die keine direkte Bewegung durch den Roboter aus der Anfangspose A in die Zielpose B ermöglichen.
-
Bei der Entscheidungsraute 612 wird festgelegt, ob die Menge G nach Eliminierung von unausführbaren Zugriffen leer ist. Wenn die Menge G leer ist, dann wird beim Kästchen 614 ein mittlerer oder dazwischenliegender Zustand M aus der Menge Pvon stabilen Posen gewählt und beim Kästchen 616 die Zugriffe und Bewegungen des Werkstücks von einer Anfangspose A in den Zwischenzustand M und vom Zwischenzustand M in die Zielpose B geplant. Die Auswahl des Zwischenzustands M und die Planung von Zugriff und Bewegung von A nach B wurden oben ausführlich mit Bezug auf 5A erörtert. Für den Fall, dass es keine ausführbare Strecke von A zu einem einzelnen Zwischenzustand M zu B gibt, dann können zwei oder mehrere Stufen von Zwischenposen (wie etwa M1 und M2), wie früher erörtert, ausgewählt werden.
-
Von der Entscheidungsraute 612 wird dann, wenn die Menge G nicht leer ist, beim Kästchen 618 der Zugriff und die Bewegung des Werkstücks von der Anfangspose A direkt in die Zielpose B geplant. Beim Kästchen 620 werden Anweisungen der Roboterbewegung von der Steuereinheit dem Roboter zur Verfügung gestellt, die bewirken, dass der Roboter das Werkstück physikalisch ergreift und von der Anfangspose A in die Zielpose B bewegt. Das Ergreifen und eine Bewegung des Werkstücks von der Anfangspose A in die Zielpose B ist, wenn möglich, direkt (vom Kästchen 618) oder nutzt sonst einen oder mehrere Zwischenzustände M (von den Kästchen 614 und 616).
-
Bei der Entscheidungsraute 622 wird aus Kamerabildern bestimmt, ob der aktuelle Behälter leer ist. Wenn der aktuelle Behälter nicht leer ist, dann setzt der Vorgang zum Kästchen 606 zurück, um ein nächstes Werkstück zu ermitteln und seine Anfangspose A zu bestimmen. Wenn der aktuelle Behälter an der Entscheidungsraute 622 leer ist, dann wartet beim Kästchen 624 der Vorgang auf einen nächsten Behälter mit zu beladenden Werkstücken (und kehrt zum Kästchen 604 zurück), und wenn kein nächster Behälter mit Werkstücken bevorsteht, endet der Vorgang.
-
In der vorhergehenden Erörterung sind durchweg verschiedene Computer und Steuereinheiten beschrieben und in Verbindung mit den offengelegten Verfahrensschritten eingeschlossen. Es soll verständlich werden, dass die Softwareanwendungen und Module dieser Computer und Steuereinheiten auf einem oder mehreren Rechengeräten mit einem Prozessor und einem Speichermodul ausgeführt werden. Insbesondere schließt dies einen Prozessor in der Robotersteuereinheit 110 von 1, wie oben erörtert, ein. Speziell ist der Prozessor in der Steuereinheit 110 so ausgelegt, um Zugriff und Bewegung von Werkstücken in der Weise adaptiv zu planen, die in der vorhergehenden Offenlegung durchweg und insbesondere im Ablaufdiagramm 600 beschrieben wurde. Es ist auch möglich, dass ein anderer Computer etwas von der oder die gesamte Planung von Zugriff und Bewegung durchführt und den berechneten Weg der Steuereinheit 110 zur Verfügung stellt, wobei diesem Fall die Steuereinheit 110 einfach den Roboter 100 steuert, und der andere Computer ausgelegt ist, um die Berechnungen der Planung von Zugriff und Bewegung durchzuführen.
-
Wie oben kurz dargestellt, verbessern die offengelegten Verfahren zur adaptiven Planung von Zugriff und Bewegung von Robotern die Geschwindigkeit und Zuverlässigkeit der Planung von Roboterzugriffen und Strecken. Die offengelegten Verfahren stellen mehrere Optionen zur Verfügung als Verfahren im Stand der Technik zum Ergreifen eines Werkstücks und dessen Bewegung in eine Zielpose in einer einzelnen Bewegung, wobei die offengelegten Verfahren außerdem eine optimale Lösung der Greif- und Bewegungsplanung finden, wenn eine Anordnung des Werkstücks im Zwischenzustand auf dem Weg in die Zielpose notwendig ist. Das offengelegte Verfahren ist auf komplexe Werkstücke anwendbar, schließt das Programmieren von statischen Griffen und Posen im Voraus aus, berücksichtigt die am meisten geeignete, zeitweilige Anordnung des Werkstücks und wählt einen Zugriff aus, um die Belastbarkeit eines Zugriffs zu maximieren und den Verfahrweg eines Roboters zu minimieren.
-
Während oben eine Anzahl beispielhafter Aspekte und Ausführungsformen des Verfahrens der adaptiven Planung von Zugriff und Bewegung von Robotern erörtert wurde, wird der Fachmann Modifizierungen, Vertauschungen, Ergänzungen und Unterkombinationen davon erkennen. Es ist deshalb beabsichtigt, dass die folgenden angefügten Ansprüche und danach eingeführte Ansprüche alle diese Modifizierungen, Vertauschungen, Ergänzungen und Unterkombinationen, wie sie innerhalb ihres wahren Geistes und Geltungsbereichs bestehen, einschließen.