DE102021107568A1 - Adaptive planung von zugriffen zum aufheben von behältern - Google Patents

Adaptive planung von zugriffen zum aufheben von behältern Download PDF

Info

Publication number
DE102021107568A1
DE102021107568A1 DE102021107568.8A DE102021107568A DE102021107568A1 DE 102021107568 A1 DE102021107568 A1 DE 102021107568A1 DE 102021107568 A DE102021107568 A DE 102021107568A DE 102021107568 A1 DE102021107568 A1 DE 102021107568A1
Authority
DE
Germany
Prior art keywords
workpiece
pose
robot
accesses
poses
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.)
Pending
Application number
DE102021107568.8A
Other languages
English (en)
Inventor
Xinghao Zhu
Te Tang
Tetsuaki Kato
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102021107568A1 publication Critical patent/DE102021107568A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • 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/02Sensing devices
    • B25J19/04Viewing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39102Manipulator cooperating with conveyor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39558Vacuum hand has selective gripper area
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

Ein Verfahren der adaptiven Zugriffsplanung für Roboter zum Ergreifen von Behältern. Durch einen Roboter sollen Werkstücke in einem Behälter mit wahllosen Positionen und Posen ergriffen und in einer Zielposition und Pose abgelegt werden. Die Form des Werkstücks wird analysiert, um eine Vielzahl von robusten Zugriffsoptionen zu ermitteln, wobei jede Zugriffsoption eine Position und Ausrichtung aufweist. Die Werkstückform wird ebenfalls analysiert, um eine Vielzahl von stabilen Zwischenposen festzulegen. Jedes einzelne Werkstück im Behälter wird beurteilt, um eine Menge von ausführbaren Zugriffen zu ermitteln, wobei das Werkstück in die Zielpose bewegt wird, wenn eine solche direkte Bewegung möglich ist. Falls eine direkte Bewegung nicht möglich ist, wird ein Suchproblem formuliert, wobei jede stabile Zwischenpose ein Knoten ist. Das Suchproblem wird gelöst, indem die Ausführbarkeit und Optimalität jeder Verknüpfung zwischen Knoten beurteilt wird. Eine Ausführbarkeit jeder Verknüpfung wird hinsichtlich Einschränkungen der Kollisionsvermeidung und Einschränkungen der Robotergelenkbewegung beurteilt.

Description

  • 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.

Claims (20)

  1. Zugriffsplanungsverfahren für einen Industrieroboter, wobei das Verfahren folgende Schritte umfasst: Festlegen einer Menge von robusten Zugriffen und einer Menge von stabilen Posen für eine Werkstückform; Festlegen eine Anfangspose eines Werkstücks; Bereitstellen einer Zielpose für das Werkstück; Entfernen von unausführbaren Zugriffen aus der Menge von robusten Zugriffen, Auswählen eines ausführbaren Zugriffs und Planen von Roboterbewegungen zum Ergreifen und Bewegen des Werkstücks direkt von der Anfangspose in die Zielpose; wenn keine ausführbaren Zugriffe vorhanden sind, Auswählen einer Zwischenpose aus der Menge von stabilen Posen und Planen von Roboterbewegungen zum Ergreifen und Bewegen des Werkstücks von der Anfangspose in die ausgewählte Zwischenpose, erneutes Ergreifen und Bewegen des Werkstücks in die Zielpose; und Senden von Anweisungen von einer Robotersteuereinheit an den Roboter, die veranlassen, dass der Roboter das Werkstück unter Verwendung der geplanten Roboterbewegungen bewegt.
  2. Verfahren nach Anspruch 1, wobei die Anfangspose, die Zielpose und die Zwischenpose jeweils eine Position und eine Ausrichtung umfassen, die in einem einzelnen gemeinsamen Koordinatenrahmen oder in mehreren Koordinatenrahmen mit bekannten relativen Positions- und Ausrichtungstransformationen definiert sind.
  3. Verfahren nach Anspruch 1, wobei Festlegen einer Anfangspose eines Werkstücks das Analysieren von Kamerabildern oder Sensordaten einer Vielzahl von Werkstücken in einem Behälter einschließt, wobei die Werkstücke die Werkstückform aufweisen
  4. Verfahren nach Anspruch 3, des Weiteren umfassend, nach Bewegen des Werkstücks unter Verwendung der geplanten Roboterbewegungen, das Zurückkehren, um eine Anfangspose eines weiteren Werkstücks in dem Behälter zu bestimmen.
  5. Verfahren nach Anspruch 1, wobei Festlegen der Menge von robusten Zugriffen einschließt: das Definieren einer Vielzahl von Stichprobenpunkten an einem dreidimensionalen Modell der Werkstückform, das Auswählen jedes Stichprobenpunktes, der einen umgebenden Bereich mit einer Größe und Oberflächenebenheit aufweist, die vorgegebene Kriterien erfüllen, und das Einbeziehen der ausgewählten Stichprobenpunkte mit jeweils einem Ausrichtungsvektor normal zu einer Flächentangente in die Menge von robusten Zugriffen.
  6. Verfahren nach Anspruch 1, wobei Festlegen der Menge von stabilen Posen das Ermitteln jeder eindeutigen Pose umfasst, in welche die Werkstückform auf einer flachen Oberfläche in einem stabilen Zustand gelegt werden kann.
  7. Verfahren nach Anspruch 1, wobei Entfernen von unausführbaren Zugriffen aus der Menge von robusten Zugriffen das Entfernen von Zugriffen einschließt, welche durch den Roboter basierend auf der Anfangspose des Werkstücks nicht zugänglich sind, und das Entfernen von Zugriffen, welche dem Roboter es nicht ermöglichen, das Werkstück direkt von der Anfangspose in die Zielpose zu bewegen.
  8. Verfahren nach Anspruch 1, wobei Planen von Roboterbewegungen zum Ergreifen und Bewegen des Werkstücks umfasst, Berechnungen inverser Kinematik zu verwenden, um Robotergelenkbewegungen zu berechnen, die bewirken, dass ein Greifwerkzeug an dem Roboter das Werkstück ergreift und bewegt, und ferner Kollisionsvermeidungsberechnungen für Bewegungen des Roboters und des Werkstücks durchzuführen umfasst.
  9. Verfahren nach Anspruch 1, wobei Auswählen einer Zwischenpose aus der Menge von stabilen Posen das Formulieren eines Suchproblems umfasst, das die Strecken von der Anfangspose in jede der stabilen Posen und Strecken von jeder der stabilen Posen in die Zielpose einschließt.
  10. Verfahren nach Anspruch 9, des Weiteren umfassend Auswählen der Zwischenpose durch Lösung des Suchproblems, um eine ausführbare und optimale Strecke von der Anfangspose in eine der stabilen Posen und in die Zielpose zu finden, wobei Optimalität durch eine Zielfunktion bestimmt wird, die den Verfahrweg des Werkstücks, Änderungen der Werkstückausrichtung Bewegungswinkel der Robotergelenke oder eine Kombination davon umfasst.
  11. Verfahren nach Anspruch 10, des Weiteren umfassend, wenn keine Zwischenpose mit einer ausführbaren Strecke gefunden wird, erneutes Formulieren des Suchproblems, das zwei oder mehrere Zwischenposen ei nschließt.
  12. Zugriffsplanungssystem für einen Industrieroboter, wobei das System umfasst: Mittel zum Festlegen einer Anfangspose eines Werkstücks; und eine Robotersteuerung in Verbindung mit dem Roboter, wobei die Steuereinheit einen Prozessor und einen Speicher aufweist, die dafür konfiguriert sind; Entfernen von unausführbaren Zugriffen aus einer Menge von robusten Zugriffen des Werkstücks, Auswählen eines ausführbaren Zugriffs und Planen von Roboterbewegungen zum Ergreifen und Bewegen des Werkstücks direkt aus der Anfangspose in eine Zielpose; wenn keine ausführbaren Zugriffe vorhanden sind, Auswählen einer Zwischenpose aus einer Menge von stabilen Posen des Werkstücks und Planen von Roboterbewegungen, um das Werkstück zu ergreifen und von der Anfangspose in die ausgewählte Zwischenpose zu bewegen, das Werkstück erneut zu ergreifen und in die Zielpose zu bewegen; und Senden von Anweisungen an den Roboter, die veranlassen, dass der Roboter das Werkstück unter Verwendung der geplanten Roboterbewegungen bewegt.
  13. System nach Anspruch 12, wobei die Anfangspose, die Zielpose und die Zwischenpose jeweils eine Position und eine Ausrichtung umfassen.
  14. System nach Anspruch 12, wobei die Mittel zum Festlegen einer Anfangspose eines Werkstücks eine Kamera oder Sensor einschließen, die der Steuereinheit Daten über eine Vielzahl von Werkstücken in einem Behälter bereitstellen.
  15. System nach Anspruch 12, wobei die Menge von robusten Zugriffen bestimmt wird, indem eine Vielzahl von Stichprobenpunkten an einem dreidimensionalen Modell der Werkstückform definiert wird, jeder Stichprobenpunkt ausgewählt wird, der einen umgebenden Bereich einer Größe und Oberflächenebenheit aufweist, die vorher bestimmte Kriterien erfüllen, und die ausgewählten Stichprobenpunkte mit jeweils einem Ausrichtungsvektor normal zu einer Flächentangente in die Menge von robusten Zugriffen einbezogen werden.
  16. System nach Anspruch 12, wobei die Menge von stabilen Posen bestimmt wird, indem jede eindeutige Pose ermittelt wird, in welcher die Werkstückform auf eine flache Oberfläche in einem stabilen Zustand gelegt werden kann.
  17. System nach Anspruch 12, wobei Entfernen von unausführbaren Zugriffen aus der Menge von robusten Zugriffen das Entfernen von Zugriffen, die durch den Roboter basierend auf der Anfangspose des Werkstücks nicht zugänglich sind, und das Entfernen von Zugriffen, die es dem Roboter nicht ermöglichen, das Werkstück direkt aus der Anfangspose in die Zielpose zu bewegen, einschließt.
  18. System nach Anspruch 12, wobei Planen von Roboterbewegungen zum Ergreifen und Bewegen des Werkstücks die Verwendung von Berechnungen inverser Kinematik umfasst, um Robotergelenkbewegungen zu berechnen, die bewirken, dass ein Greifwerkzeug am Roboter das Werkstück ergreift und bewegt, und des Weiteren das Durchführen von Berechnungen einer Kollisionsvermeidung für Bewegungen des Roboters und des Werkstücks umfasst.
  19. System nach Anspruch 12, wobei Auswählen einer Zwischenpose aus der Menge von stabilen Posen das Formulieren eines Suchproblems einschließlich der Strecken von der Anfangspose zu jeder der stabilen Posen und der Strecken von jeder der stabilen Posen in die Zielpose umfasst.
  20. System nach Anspruch 19, des Weiteren umfassend Auswählen der Zwischenpose durch Lösung des Suchproblems, um eine ausführbare und optimale Strecke von der Anfangspose in eine der stabilen Posen und in die Zielpose zu finden, wobei Optimalität durch eine Zielfunktion einschließlich einer gewichteten Kombination des Verfahrweges eines Werkstücks, einer Änderung der Werkstückausrichtung und Bewegungswinkel von Robotergelenken umfasst, und ferner, wenn keine Zwischenpose mit einer ausführbaren Strecke gefunden ist, umfasst, das Suchproblem erneut zu formulieren, um zwei oder mehrere Zwischenposen einzubeziehen.
DE102021107568.8A 2020-04-03 2021-03-25 Adaptive planung von zugriffen zum aufheben von behältern Pending DE102021107568A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/839,807 US11701777B2 (en) 2020-04-03 2020-04-03 Adaptive grasp planning for bin picking
US16/839,807 2020-04-03

Publications (1)

Publication Number Publication Date
DE102021107568A1 true DE102021107568A1 (de) 2021-10-07

Family

ID=77749827

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021107568.8A Pending DE102021107568A1 (de) 2020-04-03 2021-03-25 Adaptive planung von zugriffen zum aufheben von behältern

Country Status (4)

Country Link
US (1) US11701777B2 (de)
JP (1) JP2021160081A (de)
CN (1) CN113492403A (de)
DE (1) DE102021107568A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022203410A1 (de) 2022-04-06 2023-10-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9233470B1 (en) * 2013-03-15 2016-01-12 Industrial Perception, Inc. Determining a virtual representation of an environment by projecting texture patterns
US11613431B2 (en) * 2020-04-30 2023-03-28 Kuka Systems North America Llc Fastener feeding system and method
JP2022178097A (ja) * 2021-05-19 2022-12-02 株式会社デンソーウェーブ ロボットアームの制御装置および生産システム
US20230256601A1 (en) * 2022-02-17 2023-08-17 Intrinsic Innovation Llc Object grasping
US20230256602A1 (en) * 2022-02-17 2023-08-17 Fanuc Corporation Region-based grasp generation
WO2023200428A1 (en) * 2022-04-12 2023-10-19 Hewlett-Packard Development Company, L.P. Robotic gripper geometries
WO2024019701A1 (en) * 2022-07-18 2024-01-25 Siemens Aktiengesellschaft Bin wall collision detection for robotic bin picking
WO2024091617A1 (en) * 2022-10-27 2024-05-02 Berkshire Grey Operating Company, Inc. Systems and methods for automated packaging and processing with object placement pose control
WO2024113216A1 (zh) * 2022-11-30 2024-06-06 青岛理工大学(临沂) 一种工业模具智能制造机器人高精度抓取方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4984576B2 (ja) * 2006-03-08 2012-07-25 トヨタ自動車株式会社 ロボットハンドによる把持制御方法
KR101743926B1 (ko) * 2010-09-20 2017-06-08 삼성전자주식회사 로봇 및 그 제어방법
US9014857B2 (en) * 2012-01-13 2015-04-21 Toyota Motor Engineering & Manufacturing North America, Inc. Methods and computer-program products for generating grasp patterns for use by a robot
JP2020532440A (ja) * 2017-09-01 2020-11-12 カリフォルニア大学The Regents of the University of California オブジェクトをロバストに把持し、ターゲティングするためのロボットシステムおよび方法
JP7437326B2 (ja) * 2018-06-26 2024-02-22 テラダイン、 インコーポレイテッド ロボットビンピッキングの方法
WO2020041117A1 (en) * 2018-08-20 2020-02-27 Massachusetts Institute Of Technology Robotic manipulation of objects for grip adjustment
EP3670106B1 (de) * 2018-12-18 2024-05-15 Siemens Aktiengesellschaft Aufgabenspezifisches robotergreifsystem und -verfahren

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022203410A1 (de) 2022-04-06 2023-10-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung

Also Published As

Publication number Publication date
CN113492403A (zh) 2021-10-12
US20210308866A1 (en) 2021-10-07
JP2021160081A (ja) 2021-10-11
US11701777B2 (en) 2023-07-18

Similar Documents

Publication Publication Date Title
DE102021107568A1 (de) Adaptive planung von zugriffen zum aufheben von behältern
DE102015102740B4 (de) Vorrichtung und Verfahren zum Anordnen von Gegenständen mittels Roboter und Gegenstandübertragungssystem
DE102014102943B4 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102019009189B4 (de) Robotersytem mit Fehlererkennung und dynamischem Packmechanismus
DE102019130048B4 (de) Ein Robotersystem mit Srückverlustverwaltungsmechanismus
DE102019212839B4 (de) Objekthandhabungsvorrichtung und Computerprogrammprodukt
DE102020207368B4 (de) Objekthandhabungssteuervorrichtung, Objekthandhabungsvorrichtung, Objekthandhabungsverfahren und Computerprogrammprodukt
DE102016000995B4 (de) Förderrobotersystem mit dreidimensionalem Sensor
DE102019009206B4 (de) Robotersystem mit dynamischem Packmechanismus
DE102015208584B4 (de) Greifvorrichtung und Greifverfahren
DE102019130639B4 (de) ROBOTERSYSTEM ZUM VERARBEITEN VON PAKETEN, DIE AUßERHALB DER SEQUENZ ANKOMMEN
DE102021121063A1 (de) Effiziente datengenerierung für das greifenlernen mit allgemeinen greifern
DE102021107532A1 (de) System und Verfahren zum Anlernen eines Roboters mittels Demonstration durch einen Menschen
DE112017007392B4 (de) Steuervorrichtung, Greifsystem, Verteilersystem, Programm, Steuerverfahren und Herstellungsverfahren
DE112017007399B4 (de) Steuervorrichtung, Greifsystem, Verteilersystem, Programm, Steuerverfahren und Herstellungsverfahren
DE102021120633A1 (de) Verfahren und system zur industrieroboter-bewegungssteuerung
DE102020101767B4 (de) Steuerverfahren und steuerung für ein robotersystem
DE102007059480B4 (de) Verfahren und Vorrichtung zur Posenüberwachung eines Manipulators
AT507339A1 (de) Verfahren und anlage zum aufnehmen und/oder bearbeiten von objekten
DE102022122818A1 (de) Zugriffserzeugung für maschinenbeschickung
DE102021103726B4 (de) Messparameter-Optimierungsverfahren und -vorrichtung sowie Computersteuerprogramm
DE102021205324A1 (de) Greifverfahren und Greifvorrichtung eines Industrieroboters, Computerspeichermedium und Industrieroboter
DE102022107227A1 (de) Greifenlernen unter verwendung modularisierter neuronaler netze
EP3456485B1 (de) Optimieren eines automatisierten vorganges zum auswählen und greifen eines objektes durch einen roboter
WO2019029870A1 (de) Handhabungseinrichtung mit einem roboter sowie verfahren und computerprogramm