-
Diese Anmeldung basiert auf der japanischen Patentanmeldung Nr.
2019-112218 vom 17. Juni 2019, die am 17. Juni 2019 eingereicht wurde und deren gesamter Inhalt hier durch Verweis aufgenommen wurde, und beansprucht deren Priorität.
-
GEBIET
-
Die hier beschriebenen Ausführungsformen beziehen sich im Allgemeinen auf eine Objekthandhabungssteuervorrichtung, eine Objekthandhabungsvorrichtung, ein Objekthandhabungsverfahren und ein Computerprogrammprodukt.
-
STAND DER TECHNIK
-
Konventionell wurden Objekthandhabungsvorrichtungen einschließlich eines Roboterarms eingeführt, um beispielsweise die physische Verteilung oder Herstellung vor Ort zu automatisieren. Eine Objekthandhabungsvorrichtung greift ein Objekt mit einer Hand und bewegt oder übergibt ein Objekt von einer Anfangsposition, beispielsweise auf einem Förderband oder in einem Behälter, in dem das Objekt gelagert wird, zu einem Ziel, beispielsweise in einen bestimmten Behälter oder einer Palette. In diesem Fall ist es vorzuziehen, dass das gegriffene Objekt und die Hand der Objekthandhabungsvorrichtung nicht mit umliegenden Hindernissen interferieren bzw. zusammenstoßen. In Wirklichkeit können jedoch das Objekt und die Hand aufgrund des Einflusses der Bedienungsgenauigkeit der Hand oder aufgrund eines Fehlers bei der Messung der Objektgröße, einer Greifposition, einer Behälterwand an einem Ziel, eines zuvor bewegten Objekts (im Folgenden als Hindernis bezeichnet) interferieren. In Anbetracht dessen wird eine Objekthandhabungsvorrichtung vorgeschlagen, die eine Roboterhand umfasst, die mit einem Kraftsensor ausgestattet ist, der die Auflagerkraft bzw. Reaktionskraft eines Greiforgans erfasst. Eine solche Objekthandhabungsvorrichtung führt eine rückgekoppelte Kraftsteuerung basierend auf der Reaktionskraft durch, um einen Roboter abweisend von einem interferierenden Hindernis wegzubewegen. Dadurch wird der Roboter daran gehindert, zu kollidieren und die Bewegung anzuhalten, um dauerhaft betriebsfähig zu bleiben.
-
Allerdings kann die Hand oder das gegriffene Objekt durch die abweisende Bewegung unter der Kraftsteuerung trotzdem beschädigt werden, abhängig von der Geschwindigkeit der Hand oder des gegriffenen Objekts zum Zeitpunkt der Kollision mit dem Hindernis. In einem solchen Fall kann die Kollisionswirkung verringert werden, indem die Arbeitsgeschwindigkeit des Arms oder der Hand auf der gesamten Bewegungsbahn oder in eine Region in der Nähe des Hindernisses verringert wird. Dadurch kann sich jedoch die Zeit für den Transfer des Objekts verlängern, was die Arbeitseffizienz verringert. Alternativ kann das Kollisionsrisiko bei der Planung der Bewegungsbahn zur Gewährleistung eines Abstands zum Hindernis verringert werden, indem die virtuelle Größe der Hand, des gegriffenen Objekts und des Hindernisses größer geschätzt werden als die tatsächliche Größe, also ein großer Rand bzw. Spielraum eingestellt wird. Dies kann es jedoch unmöglich machen, die Bewegungsbahn zu planen, wenn die Hand in einen schmalen Spalt eindringen oder die Objekte dicht anordnen soll.
-
DE 10 2017 002 354 A1 beschreibt ein Verfahren zum Transportieren von Objekten, insbesondere zum Kommissionieren von Waren, mithilfe wenigstens eines, insbesondere redundanten, Roboters, umfasst die automatisierten, insbesondere wenigstens teilweise wiederholten und/oder parallelen, Schritte:- Ermitteln einer Soll-Kontaktpose eines durch den Roboter geführten Greifers und/oder- Auswählen einer von mehreren vorgegebenen Greifarten zum Aufheben eines Objekts, insbesondere einer zu kommissionierenden Ware, von einem, insbesondere angelieferten, Vorratsmittel, insbesondere in einem Vorratsbehälter, in Abhängigkeit voneiner, insbesondere räumlichen, Bildverarbeitung eines aufgenommenen Bildes des Vorratsmittels mit dem Objekt und/oder- einer abgespeicherten Geometrie des Vorratsmittels und/oder Greifers und/oder- abgespeicherten objektartspezifischen Daten; und- Versuchen, diese Soll-Kontaktpose mit dem Greifer anzufahren und/oder ein Objekt mit dem Greifer, insbesondere der ausgewählten Greifart, aufzuheben;wobei im Falle eines, insbesondere mehrfachen, Fehlschlags dieses Versuchs und/oder dieser Soll-Kontaktposen-Ermittlung automatisiert ein Fehlersignal an eine Bedienperson ausgegeben und/oder versucht wird,- eine ermittelte alternative Soll-Kontaktpose anzufahren und/oder ein Objekt, insbesondere mit einer ausgewählten alternativen Greifart, aufzuheben; und/oder das Objekt mithilfe des Greifers, insbesondere reib- oder formschlüssig, in eine vorgegebene Richtung, insbesondere von einem Rand des Vorratsmittels weg, zu bewegen.
-
DE 10 2016 001 174 B4 beschreibt ein Robotersystem zum Entnehmen von Werkstücken zum Entnehmen einer Vielzahl von zufällig angeordneten Werkstücken, von denen jedes eine säulenförmige Gestalt aufweist, wobei das Robotersystem zum Entnehmen von Werkstücken Folgendes umfasst:einen Bildverarbeitungssensor, der Informationen über eine Höhenverteilung der Vielzahl von Werkstücken erzielt;einen Roboter, der eine Hand aufweist, die konfiguriert ist, um das Werkstück festzuhalten;eine arithmetische Einheit, die eine Funktion zum Berechnen eines ersten Erfassungskoordinatensystems, das auf einer Oberfläche des Werkstücks definiert wird, basierend auf den Informationen über die Höhenverteilung, die durch den Bildverarbeitungssensor erzielt werden, und zum Bestimmen einer Bewegung des Roboters zum Entnehmen des Werkstücks durch die Hand basierend auf dem ersten Erfassungskoordinatensystem aufweist; und einen Roboter-Controller, der den Roboter derart steuert, dass die Hand basierend auf der Bewegung des Roboters bewegt wird, die durch die arithmetische Einheit bestimmt wird, um ein mit der Hand zu entnehmendes Werkstück zu entnehmen, wobei die arithmetische Einheit eine Funktion zum Umwandeln des ersten Erfassungskoordinatensystems in ein zweites Erfassungskoordinatensystem durch drehen des ersten Erfassungskoordinatensystems um eine Mittelachse des Werkstücks basierend auf Orientierungs-Umwandlungsinformationen aufweist, und wobei die arithmetische Einheit die Bewegung des Roboters, um das Werkstück mit der Hand zu entnehmen, basierend auf dem zweiten Erfassungskoordinatensystem bestimmt, wenn das erste Erfassungskoordinatensystem in das zweite Erfassungskoordinatensystem umgewandelt wird, und wobei die Orientierungs-Umwandlungsinformationen einen Radius des Werkstücks und einen Drehwinkel um die Mittelachse des Werkstücks umfassen und unter Verwendung eines numerischen Werts beschreibbar oder eingebbar sind.
-
DE 10 2012 007 254 B4 beschreibt ein Verfahren zum Vorausberechnen einer Behinderung, bei dem das Verfahren die Schritte umfasst: Speichern einer eingenommenen peripheren Fläche, die ein peripheres angenähertes Polyeder ist, das eine polyedrische Annäherung an die Gestalt eines peripheren, in einem Raum festgelegten Objekts ist, und eines einem Zielteil angenäherten Polyeders, das eine polyedrische Annäherung an ein Zielteil eines Roboters ist; Berechnen einer Vielzahl von von einem Zielteil eingenommenen Flächen, die von dem Zielteil angenäherten Polyedern eingenommen sind, zu einer Vielzahl von Zeitpunkten, die der Bewegung des Roboters (5) zugeordnet sind, und Vorausberechnen einer Behinderung zwischen dem Zielteil des Roboters und dem peripheren Objekt auf der Grundlage der Vielzahl der von den Zielteilen eingenommenen Flächen und der eingenommenen peripheren Fläche, bei dem das Verfahren die Schritte umfasst: Berechnen aller konvexen Einhüllenden, die Kombinationen der von benachbarten Zielteilen eingenommenen Flächen sind, wenn die Vielzahl der von Zielteilen eingenommenen Flächen in der Reihenfolge der Vielzahl von Zeitpunkten aufgereiht sind; Berechnen der eingenommenen peripheren Fläche als eine Kombination von konvexen Polyedern, und Beurteilen, ob die Behinderung zwischen dem Zielteil des Roboters und dem peripheren Objekt auftritt, durch Feststellen, ob eine gemeinsame Fläche zwischen irgendeiner der konvexen Einhüllenden und den konvexen Polyedern besteht.
-
DE 11 2011 105 151 T5 beschreibt eine Speichereinheit speichert, als einen Parameter, jeden von einem Nicht-Störungsbereich, in welchem keine Störung zwischen einer Hand und einer umliegenden Umgebung auftritt, und einen Arbeitsbereich, durch welchen sich die Hand potentiell bewegt während des Greifens eines Werkstücks. Eine Kontrolleinheit führt ein Betriebsbeschreibungsprogramm aus, das eine Sequenz von Instruktionen beinhaltet, entsprechend Prozeduren von einem Aufnahmevorgang zum Bewirken, dass ein Roboter einen Arm antreibt, die Hand zu bewegen, liest die Parameter betreffend den Arbeitsbereich von der Speichereinheit zum Berechnen, basierend auf einer Position und einer Haltung von dem Werkstück, erhalten von einem dreidimensionalen Vision-Sensor, eine Position und eine Orientierung von dem Arbeitsbereich, liest die Parameter betreffend den Nicht-Störungsbereich von der Speichereinheit zum Berechnen eines Überlapps zwischen einem umliegenden Umgebungsbereich und dem Arbeitsbereich, aufweisend die berechnete Position und Orientierung, und führt aus, wenn es den Überlapp zwischen dem umliegenden Umgebungsbereich und dem Arbeitsbereich gibt, einen Betrieb als einen Störungsbegleitungs-Betrieb, wenn die Hand in den Arbeitsbereich geht.
-
DE 697 30 758 T2 beschreibt ein Verfahren und eine Vorrichtung zum Palettieren von rechteckigen Packstücken, die in zufälliger Größe und Gewicht empfangen werden. Ein auf „Ecken“ basierendes Modellierungssystem wird verwendet, um die Bewertung möglicher Platzierungen von Packstücken zu unterstützen, die sich auf einem Linienförderer angesammelt haben, und ein Platzierungsbewertungsverfahren wird verwendet, um eine „beste“ Packstückplatzierung auf der Grundlage einer heuristischen Analyse auszuwählen. Statistische Messungen und Vergleiche werden zur Unterstützung des Bewertungsprozesses eingesetzt.
-
US 2018/0 065 818 A1 beschreibt eine Steuereinheit, die eine erste Ladesteuerung durchführt, die durchzuführen ist, wenn ein Zielartikel, der von einer Bestimmungseinheit als ein Artikel bestimmt wurde, der sich in einer geeigneten Ausrichtung befindet, auf ein erstes Stützelement in der geeigneten Ausrichtung zu laden ist, und eine zweite Ladesteuerung, die durchzuführen ist, wenn ein Zielartikel, der von der Bestimmungseinheit als ein Artikel bestimmt wurde, der sich in einer ungeeigneten Ausrichtung befindet, auf das erste Stützelement in der geeigneten Ausrichtung zu laden ist. Die erste Ladesteuerung wird durchgeführt, um eine Ladebetriebseinheit zu steuern, um eine erste Ansaugzielfläche eines Zielartikels, der von dem zweiten Stützelement gestützt wird, von oben anzusaugen und zu stützen, dann einen Ansaugabschnitt zu bewegen und danach den Zielartikel aus dem Zustand freizugeben, in dem er von dem Ansaugabschnitt angesaugt wird, und die zweite Ladesteuerung durchgeführt wird, um die Ladevorgangseinheit zu steuern, um einen Ausrichtungsänderungsvorgang durchzuführen und danach den Zielartikel aus dem Zustand, in dem er durch den Saugabschnitt angesaugt wird, freizugeben, wenn der Zielartikel unmittelbar über dem ersten Stützelement angeordnet ist und die erste Saugzielfläche nach oben weist.
-
Es ist daher eine Aufgabe der Erfindung, eine Objekthandhabungssteuervorrichtung, eine Objekthandhabungsvorrichtung, eine Objekthandhabungsmethode und ein Computerprogrammprodukt bereitzustellen, die verhindern können, dass eine Hand oder ein mit der Hand gegriffenes Objekt mit einem Hindernis, das sie andernfalls beschädigen könnte, interferiert, und die das Objekt effizient transferieren können.
-
Die obige Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst, wobei eine vorteilhafte Ausgestaltung in dem abhängigen Anspruch angegeben ist.
-
Figurenliste
-
- 1 ist ein beispielhaftes und schematisches Konfigurationsdiagramm eines Objekthandhabungssystems einschließlich einer Objekthandhabungsvorrichtung gemäß einer Ausführungsform;
- 2 ist ein beispielhaftes und schematisches Konfigurations-Blockdiagramm eines Objekthandhabungssystems einschließlich einer Objekthandhabungsvorrichtung gemäß der Ausführungsform;
- 3 ist ein beispielhaftes und schematisches Flussdiagramm des Gesamtbetriebs des Objekthandhabungssystems einschließlich der Objekthandhabungsvorrichtung der Ausführungsform;
- 4 ist ein beispielhaftes und schematisches Erklärungsdiagramm für die Ein-/Ausgabe eines Objektplatzierungsplans in der Objekthandhabungsvorrichtung der Ausführungsform;
- 5 ist ein beispielhaftes Flussdiagramm des Objektplatzierungsplans durch die Objekthandhabungsvorrichtung gemäß der Ausführungsform;
- 6 ist ein schematisches Diagramm, das eine beispielhafte Objektanordnung zur Verbesserung einer Verpackungsdichte in einem engen Raum zwischen Objekten und einer Behälterwand an einem Bewegungsziel bei der Bewegung, Anordnung oder Verpackung von Objekten durch die Objekthandhabungsvorrichtung der Ausführungsform darstellt;
- 7 ist ein beispielhaftes und schematisches Erklärungsdiagramm für die Situation, dass ein gegriffenes Objekt mit einem Behälter, der ein Bewegungsziel ist, oder einem zuvor bewegten Objekt auf engem Raum kollidieren kann;
- 8 ist ein beispielhaftes und schematisches Erklärungsdiagramm für die Situation, dass ein gegriffenes Objekt mit einem Behälter, der ein Bewegungsziel ist, oder einem zuvor bewegten Objekt auf engem Raum kollidieren kann;
- 9 ist ein beispielhaftes und schematisches Erklärungsdiagramm, das eine abweisende Kraftsteuerung durch die Objekthandhabungsvorrichtung der Ausführungsform über eine Hand oder einen Gegenstand, der mit einer Behälterwand interferiert, die ein Bewegungsziel oder eine Seitenfläche eines zuvor platzierten Objekts ist, veranschaulicht;
- 10 ist ein beispielhaftes und schematisches Erklärungsdiagramm für die Festlegung einer zweiten Region als bewegungsbeschränkte Region mit Bezug auf eine Behälterwand als Bewegungsziel oder ein zuvor platziertes Objekt, um ein Interferieren der Objekthandhabungsvorrichtung der Ausführungsform zu vermeiden;
- 11 ist ein beispielhaftes und schematisches Erklärungsdiagramm zum Festlegen einer ersten Region, einer zweiten Region und einer dritten Region unter Bezugnahme auf eine Behälterwand als Bewegungsziel oder ein zuvor platziertes Objekt, um die Bewegungsbahn eines Objekts und eine Hand zur Vermeidung einer Interferenz in der Objekthandhabungsvorrichtung der Ausführungsform zu erzeugen;
- 12 ist eine schematische Draufsicht einer beispielhaften zweiten Region, die in der Objekthandhabungsvorrichtung der Ausführungsform eingestellt ist;
- 13 ist eine schematische Seitenansicht einer beispielhaften zweiten Region, die in der Objekthandhabungsvorrichtung entsprechend der Ausführungsform eingestellt ist;
- 14 ist eine schematische Draufsicht einer beispielhaften ersten Steuerregion der dritten Region, die in der Objekthandhabungsvorrichtung der Ausführungsform eingestellt ist;
- 15 ist eine schematische Seitenansicht einer beispielhaften ersten Steuerregion der dritten Region, die in der Objekthandhabungsvorrichtung der Ausführungsform eingestellt ist;
- 16 ist eine beispielhafte und schematische Draufsicht zur Erläuterung eines angenommenen Wertes eines Objekts beim Einstellen der zweiten Region unter Berücksichtigung der Größe des Objekts, das mit der Hand in der Objekthandhabungsvorrichtung der Ausführungsform gegriffen wird;
- 17 ist eine beispielhafte und schematische Seitenansicht zur Erläuterung eines angenommenen Wertes eines Objekts bei der Einstellung der zweiten Region unter Berücksichtigung der Größe des von der Hand in der Objekthandhabungsvorrichtung der Ausführungsform gegriffenen Objekts;
- 18 ist eine beispielhafte und schematische Draufsicht zum Einstellen der zweiten Region unter Berücksichtigung der Größe des mit der Hand in der Objekthandhabungsvorrichtung der Ausführungsform gegriffenen Objekts;
- 19 ist eine beispielhafte und schematische Seitenansicht zum Einstellen der zweiten Region unter Berücksichtigung der Größe des mit der Hand in der Objekthandhabungsvorrichtung der Verkörperung gegriffenen Objekts;
- 20 ist eine beispielhafte und schematische Draufsicht zur Erläuterung eines angenommenen Wertes der Hand beim Einstellen der zweiten Region, unter Berücksichtigung der Größe der Hand in der Objekthandhabungsvorrichtung der Ausführungsform;
- 21 ist eine beispielhafte und schematische Seitenansicht zur Erläuterung eines angenommenen Wertes der Hand beim Einstellen der zweiten Region unter Berücksichtigung der Größe der Hand in der Objekthandhabungsvorrichtung der Ausführungsform;
- 22 ist eine beispielhafte und schematische Draufsicht zum Einstellen der zweiten Region unter Berücksichtigung der Größe der Hand in der Objekthandhabungsvorrichtung der Ausführungsform;
- 23 ist eine beispielhafte und schematische Seitenansicht zum Einstellen der zweiten Region unter Berücksichtigung der Größe der Hand in der Objekthandhabungsvorrichtung der Ausführungsform;
- 24 ist eine beispielhafte und schematische Darstellung der eingestellten Regionen und einer Bewegungsbahn in der Objekthandhabungsvorrichtung der Ausführungsform;
- 25 ist ein weiteres beispielhaftes und schematisches Erklärungsdiagramm der eingestellten Regionen und einer Bewegungsbahn in der Objekthandhabungsvorrichtung der Ausführungsform;
- 26 ist ein beispielhaftes und schematisches Erklärungsdiagramm, das eine Interferenzkontrollhöhe in der zweiten Region in der Objekthandhabungsvorrichtung der Ausführungsform veranschaulicht;
- 27 ist ein schematisches erläuterndes Diagramm, das ein Beispiel für die Erzeugung eines ersten Durchgangspunktes einer Bewegungsbahn in der Objekthandhabungsvorrichtung der Ausführungsform veranschaulicht;
- 28 ist ein beispielhaftes und schematisches Erklärungsdiagramm zur Berechnung einer Position der Hand, die nicht durch die zweite Region in der Objekthandhabungsvorrichtung der Ausführungsform passieren soll;
- 29 ist ein beispielhaftes und schematisches Erklärungsdiagramm für die Erzeugung von Durchgangspunkten, die nicht durch die zweite Region in der Objekthandhabungsvorrichtung der Ausführungsform verlaufen sollen;
- 30 ist ein beispielhaftes und schematisches Erklärungsdiagramm zur Erzeugung eines nächsten Durchgangspunktes, der auf die Durchgangspunkte in 29 folgt und nicht durch die zweite Region verlaufen soll;
- 31 ist ein beispielhaftes und schematisches Erklärungsdiagramm zur Erzeugung eines nächsten Durchgangspunktes, der auf die Durchgangspunkte in 30 folgt und nicht durch die zweite Region nach den Durchgangspunkten in 30 verlaufen soll;
- 32 ist ein beispielhaftes und schematisches Erklärungsdiagramm für ein Beispiel dafür, dass das Passieren der zweiten Region in der Objekthandhabungsvorrichtung der Ausführungsform unvermeidbar ist;
- 33 ist ein beispielhaftes und schematisches Erklärungsdiagramm für die ausnahmsweise Erzeugung einer Bewegungsbahn in der Andrücksteuerung in 32;
- 34 ist ein beispielhaftes und schematisches Flussdiagramm für die Einstellung einer Andrückrichtung in der Drucksteuerung in 33;
- 35 ist ein schematisches Erklärungsdiagramm zur beispielhaften Erzeugung einer Druckfläche und Druckposition durch einen kontrollierten Druckbetrieb der Objekthandhabungsvorrichtung der Ausführungsform;
- 36 ist ein beispielhaftes Flussdiagramm zur Erzeugung von Durchgangspunkten auf einer Bewegungsbahn des Objekts oder der Hand durch die Objekthandhabungsvorrichtung der Ausführungsform; und
- 37 ist ein beispielhaftes und schematisches Erklärungsdiagramm der Positionen der Durchgangspunkte auf der in 36 erzeugten Bewegungsbahn.
-
DETAILLIERTE BESCHREIBUNG
-
Nach einer Ausführungsform im Allgemeinen, umfasst eine Objekthandhabungssteuervorrichtung einen oder mehrere Prozessoren. Der eine oder die mehreren Prozessoren sind ausgebildet: zumindest eine Objektinformation und eine Statusinformation zu erfassen, wobei die Objektinformation ein von einem Greifer gegriffenes Objekt darstellt und die Statusinformation eine Anfangsposition und ein Ziel des Objekts darstellt; wenn der das Objekt greifende Greifer sich von der Anfangsposition zum Ziel bewegt, eine erste Region, eine zweite Region und eine dritte Region in Übereinstimmung mit der Objektinformation und der Statusinformation einzustellen, wobei die erste Region eine Region ist, in der sich der Greifer bewegen darf, ohne durch ein Hindernis eingeschränkt zu werden, das in einem Raum zwischen der Anfangsposition und dem Ziel vorhanden ist, wobei die zweite Region eine Region ist, in der der Greifer aufgrund des Hindernisses in seiner Bewegung eingeschränkt ist, wobei die dritte Region zumindest teilweise unterhalb der zweiten Region liegt, wobei die dritte Region eine Region ist, in der der Greifer unter Kraftsteuerung betrieben wird; und eine Bewegungsbahn zu berechnen, entlang der das Objekt von der Anfangsposition zum Ziel unter Bezugnahme auf die erste Region, die zweite Region und die dritte Region bewegt wird.
-
Im Folgenden werden Ausführungsformen mit Bezug auf die begleitenden Zeichnungen beschrieben. Die Merkmale der Ausführungsformen und Funktionen und die durch die Merkmale erzielten Ergebnisse oder Wirkungen werden nur beispielhaft dargestellt und sollen den Umfang der Ausführungsformen nicht einschränken.
-
Allgemeine Systemkonfiguration
-
1 ist ein schematisches Konfigurationsdiagramm eines Objekthandhabungssystems 1 einschließlich einer Objekthandhabungsvorrichtung. Das Objekthandhabungssystem 1 umfasst eine Steuervorrichtung 10, einen Manipulator 20 (Roboterarm), einen Sensor 30 und ein Gehäuse 40. Das Objekthandhabungssystem 1 dient dazu, ein zur Bewegung vorgesehenes Objekt OBJ an einer Anfangsposition HP zu greifen, das Objekt OBJ zu bewegen oder zu befördern und es an einem Bewegungsziel RP loszulassen. Ein solcher Betrieb wird als Aufnahme, Transfer, Beförderung des Objekts OBJ bezeichnet. Von der Steuereinrichtung 10 können die Elemente, mit Ausnahme einer später beschriebenen Robotersteuerung 57 (Bewegungssteuerung), die den Manipulator 20 steuert, separat als Objekthandhabungssteuervorrichtung vorgesehen werden.
-
Der Manipulator 20 umfasst einen Arm 21 und eine Hand 22, also einen Endeffektor bzw. ein Greiforgan oder einen Greifer. Beispielsweise dient der Arm 21 als Mehrgelenkroboter mit den Drehteilen 21a bis 21f, die von mehreren (z.B. sechs) Servomotoren gedreht werden. Der Manipulator 20 kann eine austauschbare Hand 22 enthalten. In diesem Fall kann die Hand 22 durch einen Mechanismus wie einen Werkzeugwechsler ausgetauscht werden (nicht abgebildet). Der Arm 21 ist nicht auf den Mehrgelenkroboter beschränkt und kann ein SCARA-Roboter, ein Linearbewegungsroboter oder eine Kombination von mindestens zweien aus einem Mehrgelenkroboter, einem SCARA-Roboter und einem Linearbewegungsroboter sein.
-
Im Beispiel von 1 umfasst die Hand 22 einen Sauggreifer 22a mit einem Drucksensor (nicht abgebildet). Der Sauggreifer 22a dient als Saugmechanismus zum Greifen des Objekts OBJ. Die Spezifikationen des Sauggreifers 22a wie Anzahl, Platzierung bzw. Anordnung, Form und Größe können auf verschiedene Weise geändert oder eingestellt werden.
-
Der Greifmechanismus für das Objekt OBJ ist nicht auf den Saugmechanismus beschränkt und kann beispielsweise einen Blockiermechanismus, einen Quetschmechanismus oder einen Mehrfingermechanismus umfassen. Der Zeiger 22 kann mindestens zwei von einen Saugmechanismus, einen Blockiermechanismus, einen Klemmmechanismus und einen Mehrfingermechanismus umfassen.
-
Die Hand 22 umfasst eine Krümmung 22b. Die Hand 22 kann zusätzlich zu der Krümmung 22b beispielsweise ein bewegliches Teil, wie ein Drehteil oder ein Ausziehteil, enthalten.
-
Der Sensor 30 der Hand 22 stellt einen sechsachsigen Kraftsensor 31, also dreiachsigen Translationskraft- und dreiachsigen Drehmomentsensor dar. Die Position des Kraftsensors 31 ist nicht auf die in der Zeichnung dargestellte Position beschränkt. Die Hand 22 kann verschiedene andere Sensoren als den Kraftsensor 31 umfassen. Wie später in der vorliegenden Ausführungsform beschrieben, kann die Hand 22, um einen gegebenen Raum lückenlos mit Objekten OBJ zu füllen, einen erfassten Wert des Kraftsensors 31 für die Platzierung des Objekts OBJ zurückmelden und das Objekt OBJ unter Kraftsteuerung gegen ein Hindernis an ein Bewegungsziel drücken. Eine solche Kraftsteuerung des Andrückens des Objekts OBJ gegen das Hindernis am Bewegungsziel wird als Andrücksteuerung bezeichnet. Zusätzlich kann in der Ausführungsform die Hand 22 oder das Objekt OBJ, wenn die Hand 22 oder das Objekt OBJ mit einem Hindernis unter der Kraftsteuerung basierend auf dem erfassten Wert des Kraftsensors 31 interferiert, von dem interferierenden Hindernis wegbewegt werden. Eine solche Kraftsteuerung über die Hand 22 und das Objekt OBJ, um sich von dem interferierenden Hindernis wegzubewegen, wird als Abweisungssteuerung bezeichnet.
-
Der Sensor 30 kann ein Drehmomentsensor, ein Rotationssensor oder ein Stromsensor eines Motors sein, der in jedem der Rotationsteile 21a bis 21f zusätzlich zum Kraftsensor 31 vorgesehen ist. In diesem Fall kann die Steuereinrichtung 10 die auf die Hand 22 wirkende Kraft aus dem erfassten Wert des Kraftsensors 31 ermitteln oder die Kraft aus einem Stromwert oder einem Rotationswert (erfasster Wert des Rotationssensors) jedes Motors berechnen.
-
Der Sensor 30 des Objekthandhabungssystems 1 umfasst beispielsweise eine Vielzahl von Kameras 32a und 32b und eine Vielzahl von Laser-Entfernungsscannern 33a und 33b. Die Kameras 32a und 32b sind beispielsweise RGB-Bildkameras. Bei den Laser-Entfernungsscannern 33a und 33b handelt es sich um zweidimensional abtastende, optische Entfernungsmesssensoren, die mit Abtastlicht eine Entfernung zum Objekt OBJ messen. Sie können auch als Laser-Entfernungsmesser (LRF) oder Lichterfassung und Entfernungsmessung (LIDAR) bezeichnet werden.
-
Die Kamera 32a befindet sich bei der Anfangsposition, um das Objekt OBJ und seine Umgebung von oben in der Anfangsposition HP des zu greifenden und zu bewegenden oder zu befördernden Objekt OBJ abzubilden und eine Objektinformation (wie eine Form oder eine Größe) und eine Statusinformation (wie eine stationäre Pose bzw. Stellung) über das Objekt OBJ zu erfassen. In der Anfangsposition HP befindet sich das Objekt OBJ in einem Behälter 14a, wie beispielsweise einem Stauraum oder einer Palette. In einem solchen Fall erzeugt die Kamera 32a ein Bild des gesamten oder eines Teils des Inneren des Behälters 14a. Die Anfangsposition HP kann auch als Bewegungsstartposition oder als Anfangsposition des Objekts OBJ bezeichnet werden. In 1 wird der Behälter 14a nur zu exemplarischen Zwecken auf einen Fördermechanismus wie beispielsweise ein Förderband gestellt, und seine Lage ist nicht darauf beschränkt.
-
Die Kamera 32b befindet sich bei dem Bewegungsziel RP zum Freigeben, Anordnen oder Platzieren des Objekts OBJ, um das Bewegungsziel RP und seine Umgebung abzubilden und die Objektinformation über das Objekt OBJ (z. B. Form oder Größe eines zuvor platzierten Objekts) und die Statusinformation (z. B. die Pose eines zuvor platzierten Objekts) zu erfassen. Am Bewegungsziel RP ist das Objekt OBJ in einem Freigabe-Zweckbehälter 14b wie beispielsweise einem Stauraum oder einer Palette untergebracht. In einem solchen Fall erzeugt die Kamera 32b ein Bild des gesamten oder eines Teils des Inneren des Behälters 14b. Das Bewegungsziel RP kann auch als Bewegungs-Stopp-Position oder als Ankunftsposition des Objekts OBJ bezeichnet werden. In 1 wird der Behälter 14b auf einen Fördermechanismus wie beispielsweise ein Förderband gestellt, aber die Position des Behälters 14b ist nicht darauf beschränkt.
-
Die Laser-Entfernungsscanner 33a und 33b erfassen die Objektinformation wie die Größe des Objekts OBJ (einschließlich der Größe einer Oberfläche, die von der Kamera 32a nicht erfasst werden kann) und die Statusinformation wie die Greifhaltung einer Hand 22 des Objekts OBJ, während der Arm 21 das mit der Hand 22 gegriffene Objekt OBJ von der Anfangsposition HP zum Bewegungsziel RP bewegt. Die Objektinformation, die von den Kameras 32a und 32b und den Laser-Entfernungsscannern 33a und 33b erfasst wird, kann zur Positionierungssteuerung über die dichte Platzierung der Objekte OBJ im Behälter 14b am Bewegungsziel RP verwendet werden.
-
Das Gehäuse 40 kann beispielsweise verschiedene Komponenten oder Elemente und Vorrichtungen des Objekthandhabungssystems 1 umfassen, wie beispielsweise eine Stromversorgung für den Antrieb eines elektrischen Stellgliedes wie einen Motor, einen Kolben zum Antrieb eines Flüssigkeitsstellgliedes, einen Tank, einen Kompressor und verschiedene Sicherheitsmechanismen. Das Gehäuse 40 kann die Steuervorrichtung 10 umfassen.
-
Steuervorrichtung
-
2 ist ein beispielhaftes und schematisches Konfigurations-Blockschaltbild des Objekthandhabungssystems 1 einschließlich der Objekthandhabungsvorrichtung der Ausführungsform, das hauptsächlich den schematischen Aufbau der Steuervorrichtung 10 veranschaulicht. Die Steuervorrichtung 10 fungiert als ein oder mehrere Prozessoren und umfasst beispielsweise einen Integrator 51, einen Bildprozessor 52, einen Signalprozessor 53, einen Greifplangenerator 54, einen Regioneinsteller 55, einen Bahnrechner 56, eine Robotersteuerung 57 (Bewegungssteuerung), eine Peripherie- und Ein-/Ausgabesteuerung 58, eine Lernsteuerung 59, einen Fehlerdetektor 60 und eine interne Datenbank (DB) 61.
-
Der Integrator 51 dient dazu, einen Arbeitsplan des Objekthandhabungssystems 1 basierend auf einer Benutzereingabeinformation von einer externen Schnittstelle (I/F) 71, den Zustand des Objekthandhabungssystems 1 und den erfassten Wert des Sensors 30 zu erzeugen, zu betreiben und zu verwalten.
-
Der Bildprozessor 52 empfängt und verarbeitet Bilder von den Kameras 32a und 32b, die als Sensor 30 dienen, um eine Information zu erzeugen, die bei der Bewegungsplanung, Bewegungssteuerung, Fehlererkennung und beim Lernen verwendet wird.
-
Der Signalprozessor 53 empfängt und verarbeitet eine Information, also die erfassten Werte von den als Sensor dienenden Laser-Entfernungsscannern 33a und 33b, um eine Information zu erzeugen, die bei der Bewegungsplanung, der Bewegungssteuerung und der Fehlererkennung verwendet wird. Der Bildprozessor 52 und der Signalprozessor 53 sind Beispiele für einen Informationserfasser.
-
Der Greifplangenerator 54 berechnet ein Greifverfahren und eine Greifpose des Objekts OBJ an der Anfangsposition HP sowie eine Bewegungsbahn und über Punkte, entlang derer der Manipulator 20 oder die Hand 22 zur Anfangsposition HP bewegt wird. Der Greifplangenerator 54 berechnet auch eine Bewegungsbahn und Durchgangspunkte der Hand 22, um ein nächstes vorgesehenes Objekt OBJ zu greifen, nachdem das Objekt OBJ am Bewegungsziel RP losgelassen wird. In diesen Fällen wird die von der Kamera 32a erfassten Objektinformation bei der Berechnung der Bewegungsbahn und der Durchgangspunkte verwendet, um die Hand 22 zu bewegen, ohne mit umliegenden Hindernissen wie Wandflächen der Behälter 14a und 14b oder einem Objekt oder Objekten, anders als das gegenwärtig bewegte Objekt OBJ, zu interferieren.
-
Um die das Objekt OBJ greifende Hand 22 von der Anfangsposition HP zum Bewegungsziel RP zu bewegen, stellt der Regioneinsteller 55 Regionen in einem Raum zwischen der Anfangsposition HP und dem Bewegungsziel RP unter Bezugnahme auf die Objektinformation und die Statusinformation, die von den Kameras 32a und 32b und den Laser-Entfernungsscannern 33a und 33b erfasst werden, ein. Der Regioneinsteller 55 stellt beispielsweise eine erste Region, eine zweite Region und eine dritte Region ein. In der ersten Region darf sich die Hand 22 bewegen, ohne durch Hindernisse wie die Behälter 14a und 14b und ein zuvor platziertes Objekt im Raum zwischen der Anfangsposition HP und dem Bewegungsziel RP eingeschränkt zu sein. In der zweiten Region ist die Hand 22 aufgrund von Hindernissen in ihrer Bewegung eingeschränkt. Zumindest ein Teil der dritten Region ist unterhalb der zweiten Region angeordnet, und in der dritten Region wird die Hand 22 unter Kraftsteuerung bewegt. In der ersten Region ist die Hand 22 zum Beispiel mit einer höheren Geschwindigkeit bewegbar. In der zweiten Region ist die Hand 22 eingeschränkt oder am Durchfahren gehindert. In der dritten Region erfasst der Kraftsensor 31 die Kraft, sodass die Hand 22 unter Abweisungssteuerung die Bewegungsbahn korrigieren kann, wenn das Objekt OBJ oder die Hand 22 mit dem das Hindernis interferiert. Zusätzlich kann in der dritten Region die Bewegungsgeschwindigkeit der Hand 22 (Objekt OBJ) verringert oder der Kraftsensor 31 vorübergehend beispielsweise in Bezug auf die Erfassungsgenauigkeit verbessert werden.
-
Die obige Kraftsteuerung umfasst die Andrücksteuerung und die Abweisungssteuerung. Der Regioneinsteller 55 kann einen Teil der dritten Region als Gegenstand der Andrücksteuerung der Kraftsteuerung und den Rest davon als Gegenstand der Abweisungssteuerung der Kraftsteuerung einstellen. In diesem Fall kann in der Region, die der Andrücksteuerung unterworfen ist, die Hand 22 allgemein eingeschränkt oder verboten werden wie in der zweiten Region, und das Objekt OBJ und die Hand 22 können unter einer außerordentlichen Andrücksteuerung durch sie hindurchgelassen werden.
-
Der Bahnrechner 56 berechnet die Bewegungsbahn des Objekts OBJ von der Anfangsposition HP zum Bewegungsziel RP unter Bezugnahme auf die erste Region, die zweite Region und die dritte Region. Zum Beispiel berechnet der Bahnrechner 56 die Bewegungsbahn einschließlich eines Bewegungsverfahrens und einer Geschwindigkeit der Hand 22, um das gegriffene Objekt OBJ sanft von der Anfangsposition HP zum Bewegungsziel RP zu bewegen. Die Einstellung der ersten Region, der zweiten Region und der dritten Region und das Umschalten des Verhaltens der sich entlang der Bewegungsbahn bewegenden Hand 22 zwischen den Regionen ermöglicht es, das Objekt OBJ effizient mit einer höheren Geschwindigkeit zu bewegen oder zu befördern und gleichzeitig das Risiko einer Interferenz mit den Hindernissen zu verringern. Die Einstellung der ersten Region, der zweiten Region und der dritten Region und das Bewegen der Hand 22 oder des Objekts OBJ in den Regionen wird später ausführlich beschrieben.
-
Die Robotersteuerung 57 einer Steuerung von Geschwindigkeit, Orientierung und Bewegungspose des Manipulators 20 einschließlich der Hand 22, um die Hand 22, die das Objekt OBJ greift, entlang der Bewegungsbahn zu bewegen.
-
Die Peripherie- und Ein-/Ausgabesteuerung 58 steuert Ein- und Ausgaben zur Steuerung verschiedener Transportvorrichtungen und einer Peripherievorrichtung 70 wie beispielsweise einer Schutztür, zur Erfassung verschiedener Arten von Sensorinformationen und zur Steuerung der Beleuchtung.
-
Die Lernsteuerung 59 steuert eine Lernfunktion der Objekthandhabungsvorrichtung, einschließlich des Lernens des Robotermodells zur Verbesserung der Bewegungsgenauigkeit des Manipulators 20 zu verbessern, wie beispielsweise die Vibrationsunterdrückung, das Lernen der Greifsteuerparameter und das Lernen der Greifdatenbank zur Verbesserung der Fähigkeit das Objekt OBJ zu greifen und das Lernen der Fehlererkennung zur Verbesserung der Durchführbarkeit eines Arbeitsplans. In der Ausführungsform wählt die Lernsteuerung 59 je nach Situation einen optimalen Parameterwert in der Kraftsteuerung aus. Der Benutzer kann solche Werte empirisch einstellen, die Anwendung der Ergebnisse des maschinellen Lernens ermöglicht jedoch eine effizientere Verarbeitung mit Arbeitseinsparung.
-
Der Fehlerdetektor 60 überwacht einen Zustand des Objekthandhabungssystems 1, den Fortschritt eines Arbeitsplans, einen kontrollierten Zustand des Systems 1, einen Zustand des Objekts OBJ beim Greifen, Bewegen oder Fördern zur Fehlerdetektion. Der Fehlerdetektor 60 kann diese Fehlerdetektion beispielsweise durch Überwachung eines Fingerspitzenkoordinatenwertes der Hand 22a implementieren, um einen Fehler zu detektieren, wenn der Wert einen vordefinierten Wert überschreitet. Der Fingerspitzenkoordinatenwert wird von einem Ausgang des Kraftsensors 31 umgewandelt und durchläuft einen Tiefpassfilter. Infolgedessen kann das Objekthandhabungssystem 1 die laufende Arbeit unterbrechen und zu einem Wiederherstellungsbetrieb übergehen.
-
Die interne Datenbank (DB) 61 enthält beispielsweise eine Roboterdatenbank, eine Handdatenbank, eine Artikeldatenbank, eine Greiffunktionsdatenbank und eine Umgebungsdatenbank, von denen keine abgebildet ist.
-
Die Roboterdatenbank (DB) speichert beispielsweise die Struktur des Objekthandhabungssystems 1, Abmessungen und Gewichte sowie das Trägheitsmoment der jeweiligen Elemente, einen Arbeitsbereich, die Geschwindigkeit und das Drehmoment jedes Antriebs.
-
Die Handdatenbank (DB) speichert beispielsweise die Funktionen der Hand 22 und eine Information über die Greifeigenschaft der Hand 22.
-
Die Artikeldatenbank (DB) speichert beispielsweise verschiedene Arten von Informationen über das Objekt OBJ, wie einen Namen, eine Identifikationsnummer, eine Kategorie, Bildinformationen der gesamten Oberfläche, CAD-Modellinformationen, Gewichtsinformationen und Informationen über Greifmerkmale (z.B. weich, zerbrechlich oder verformbar). In der Ausführungsform haben die Objekte OBJ unterschiedliche Formen und Größen und werden in einem gemischten Zustand in die Ausgangsposition HP gebracht. Eine dichte Anordnung der gemischten Objekte OBJ am Bewegungsziel RP kann die Menge der im Behälter 14b unterzubringenden Objekte OBJ auf einen Schlag erhöhen und die Effizienz der physischen Verteilung verbessern.
-
Die Greifdatenbank (DB) speichert bezüglich des Objekts OBJ eine Bewertungsinformation wie beispielsweise eine Greifposition und -pose und Fähigkeit zu greifen, einen möglichen Druckbetrag zum Zeitpunkt des Greifens, eine Greifbestimmungsschwelle und eine Bestimmungsschwelle für die Fehlererkennung für jedes Greifverfahren der Hand 22. Beispiele für das Greifverfahren sind das Ansaugen, das Zwei-Parallele-Finger-Verfahren, das Vier-Parallele-Finger-Verfahren und das Mehrgelenksverfahren.
-
Die Umgebungsdatenbank (DB) speichert beispielsweise eine Werkbankinformation, die mit dem Objekthandhabungssystem 1 kompatibel ist, sowie eine Umgebungsinformation, die einen Arbeitsbereich des Objekthandhabungssystems 1 und umliegende Hindernisse darstellt.
-
Die externe I/F 71 dient zum Übertragen und Empfangen von Daten zwischen dem Integrator 51 (Steuervorrichtung 10) und einer externen Vorrichtung (nicht abgebildet).
-
Schematische Steuerung und Bedienung des Objekthandhabungssystems oder -vorrichtung
-
Das Objekthandhabungssystem 1 arbeitet nach einem Bewegungsarbeitsplan für alle Objekte OBJ, die von einem übergeordneten System über die externe I/F 71 bereitgestellt werden.
-
3 veranschaulicht den gesamten Betriebsablauf des Objekthandhabungssystems 1. Der Betrieb des Objekthandhabungssystems 1 oder der Objekthandhabungsvorrichtung wird im Allgemeinen in einen Planungsbetrieb, einen Erkennungsbetrieb, einen Roboterarmbetrieb (Bewegen) und einen Sauggreifbetrieb (Greifen) unterteilt.
-
Zuerst führt der Integrator 51 eine Auftragsprüfung mit Bezug auf einen Bewegungsarbeitsplan durch, der vom übergeordneten System als Planungsbetrieb angewiesen wird. In diesem Fall erkennt die Kamera 32a die Objekte OBJ im Behälter 14a an der Anfangsposition HP, und die Kamera 32b erkennt zuvor platzierte Objekte im Behälter 14b am Bewegungsziel RP, um die Objekt- und Statusinformation zu erfassen. Der Greifplangenerator 54 erzeugt dann einen Greifplan einschließlich der Reihenfolge des Greifens der Objekte OBJ. Der Greifplangenerator 54 erzeugt auch einen Plan einer Bewegungs- oder Greifbahn zu dem Objekt OBJ. Beim Betrieb des Roboterarms bewegt die Robotersteuerung 57 die Hand 22 aus einer Greifbereitschaftsposition (Ausgangsposition) in die Anfangsposition HP entlang der erzeugten Greifbahn. Die Robotersteuerung 57 veranlasst die Hand 22 oder den Sauggreifer 22a, das Objekt OBJ an der Greifposition durch den Sauggreifbetrieb zu greifen. Die Robotersteuerung 57 veranlasst die Hand 22, die das Objekt OBJ greift, sich in eine Bewegungsbereitschaftsposition zu bewegen (z.B. in den Messregionen der Laser-Entfernungsscanner 33a und 33b), und veranlasst, während sich die Hand bewegt, die Laser-Entfernungsscanner 33a und 33b (z.B. LRFs), die Pose des Objekts OBJ einschließlich einer Größe und einer Greifpose als Erkennungsbetrieb abzuschätzen.
-
Als Planungsbetrieb legt der Regioneinsteller 55 die erste Region, die zweite Region und die dritte Region basierend auf der Objektinformation und der durch den Erkennungsbetrieb erfassten Statusinformation fest, und der Bahnrechner 56 generiert eine Bewegungsbahnplan für die Hand 22, die das Objekt OBJ ergreift, um das Objekt OBJ zu platzieren.
-
Beim Roboterarmbetrieb veranlasst die Robotersteuerung 57 dann die Hand 22, die das Objekt OBJ an der Bewegungsbereitschaftsposition greift, sich entlang der Bewegungsbahn zum Bewegungsziel RP zu bewegen. Beim Sauggreifbetrieb löst die Robotersteuerung 57 den Sauggreifer 22a vom Greifen am Bewegungsziel RP und setzt das Objekt OBJ am Bewegungsziel RP ab. Dann veranlasst die Robotersteuerung 57 die Hand 22, die das Objekt OBJ losgelassen hat, in die Greifbereitschaftsposition zurückzukehren, und schließt eine Reihe von Bewegungen, Transfers oder Platzierung des Objekts OBJ ab und führt wiederholt die Betriebe aus, um ein nächstes Objekt OBJ zu bewegen.
-
Umriss des Objektplatzierungsplans
-
4 ist ein beispielhaftes und schematisches Erklärungsdiagramm für die Ein- und Ausgabe eines Bewegungs- oder Platzierungsplanes für das Objekt OBJ im Objekthandhabungssystem 1 oder der Objekthandhabungseinrichtung. 5 ist ein beispielhaftes Flussdiagramm für die Planung der Platzierung des Objekts OBJ.
-
Um den Platzierungsplan zu erstellen, erfasst beispielsweise der Bahnrechner 56 von der Kamera 32a und den Laser-Entfernungsscannern 33a und 33b eine Eingabeinformation einschließlich der Greifpose und der Größe des Objekts OBJ, das gegenwärtig von der Hand 22 oder dem Sauggreifer 22a gegriffen wird und bewegt und am Bewegungsziel RP (Behälter 14b) platziert werden soll (S100). Anschließend berechnet der Bahnrechner 56 die Pose des gegenwärtig gegriffenen Objekts OBJ, um das Objekt OBJ in Übereinstimmung mit der Greifpose und der Größe des Objekts OBJ in den Behälter 14b zu platzieren (S102). Der Bahnrechner 56 berechnet eine platzierbare Position und eine Pose des gegriffenen Objekts OBJ, also eines Kandidaten des Bewegungsziels RP, basierend auf der Statusinformation von zuvor platzierten Objekten OBJs im Behälter 14b (S104). Der Bahnrechner 56 berechnet eine Vielzahl von Mustern von Positions- und Posekandidaten einer Fingerspitze TCP der Hand 22 beim Platzieren des Objekts OBJ basierend auf der Information über die zuvor platzierten Objekte OBJs im Behälter 14b (S106) und wählt aus den Mustern einen optimalen Positions- und Posekandidaten aus (S108). Der Bahnrechner 56 stellt auch eine Information ein, darunter einen Sollkraftwert, eine Position einer Andrückfläche und eine Andrückrichtung, die bei der Kraftsteuerung durch den Manipulator 20 (Hand 22) während der Bewegung oder Platzierung verwendet wird (S110). Der Bahnrechner 56 berechnet Durchgangspunkte (über Position und Pose RAP) auf der Bewegungsbahn des Objekts OBJ aus der Größe und der Greifpose des Objekts OBJ, einem Zustand der zuvor platzierten Objekte OBJs, der Position und Pose der Fingerspitze TCP zum Zeitpunkt der Platzierung des Objekts OBJ (S112). Das Bewegungsziel RP und die Durchgangsposition und -pose RAP, die als die Kandidaten berechnet werden, sind mit Bewertungen wie beispielsweise der voreingestellten Priorität verbunden, und der Bahnrechner 56 wählt ein optimales Bewegungsziel RP und die Durchgangsposition und - pose RAP entsprechend den Bewertungen aus. Nachdem es dem Bahnrechner 56 gelungen ist, die Bewegungsbahn so zu generieren, dass mit Hindernissen wie den zuvor platzierten Objekten OBJs oder dem Behälter 14b nicht interferiert wird, veranlasst die Robotersteuerung 57 die Bedienung des Manipulators 20.
-
In der Ausführungsform wird die Position und Pose des Objekts OBJ oder der Hand 22 durch eine homogene Transformationsmatrix T aus vier Zeilen und vier Spalten dargestellt. Beispielsweise wird eine Position und Pose
WT
RP des beweglichen Ziels RP durch den folgenden Ausdruck 1 dargestellt:
wobei die oberen linken Symbole ein Koordinatensystem vor der Transformation darstellen, die unteren rechten Teilstriche ein Koordinatensystem nach der Transformation darstellen, R eine dreireihige, dreispaltige Rotationsmatrix der Lage darstellt, t einen dreireihigen, einspaltigen Translationsvektor der Pose darstellt und W ein Weltkoordinatensystem des Bewegungsziels RP darstellt.
-
Bei der Koordinatentransformation gilt der folgende Ausdruck 2:
wobei S, U und V jeweils ein optionales Koordinatensystem darstellen.
-
Ausdruck 3 gilt auch wie folgt:
wobei A eine Matrix darstellt, A(i, j) eine Operation zum Extrahieren eines Elements der i-ten Zeile und der j-ten Spalte darstellt, und A(i, :) und A(:, j) Operationen zum Extrahieren eines i-ten Zeilenvektors bzw. eines j-ten Spaltenvektors darstellen.
-
In ähnlicher Weise gilt der folgende Ausdruck 4:
wobei u einen Vektor darstellt und u(i) eine Operation zur Extraktion des i-ten Elements aus dem Vektor darstellt.
-
In der Ausführungsform wird eine rechteckige parallelepipedische Region durch Ausdruck 5 dargestellt, ähnlich wie das Koordinatensystem und die Größe des Objekts:
wobei
UT
Area ein Koordinatensystem der Schwerpunktposition darstellt und ein Vektor
US
Area eine Größe davon darstellt.
-
Das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung ist vorgesehen, so viele der Objekte OBJ wie möglich in den Behälter 14b, der ein Bewegungsziel ist, zu bewegen und anzuordnen. Das heißt, es soll eine Packdichte verbessert werden. Mit einer verbesserten Packdichte kann das Objekthandhabungssystem 1 die Anzahl der zu versendenden Behälter 14b reduzieren und damit zur Senkung der Versandkosten beitragen. Das Objekthandhabungssystem 1 wird voraussichtlich die Packdichte erhöhen, indem es die Objekte OBJ auf kleinem Raum anordnet, so wie in 6 dargestellt. In dem kleinen Raum So kann jedoch das Objekt OBJ, das mit der Hand 22 gegriffen wird, wahrscheinlich mit den zuvor platzierten Objekten OBJs im Behälter 14b kollidieren, wie in 7 dargestellt. Insbesondere können große Fehler bei Messungen mit den Laser-Entfernungsscannern 33a und 33b oder bei Messungen der zuvor platzierten Objekte OBJs im Behälter 14b durch einen dreidimensionalen Sensor wie die Kamera 32b auftreten. In einem solchen Fall ist es sehr wahrscheinlich, dass das festzulegende Objekt OBJ mit einem Hindernis beispielsweise entlang einer Bewegungsbahn R kollidiert. Eine Kollision zwischen dem Objekt OBJ und dem Hindernis kann dazu führen, dass das Objekt OBJ oder die Hand 22 oder der Manipulator 20 beschädigt werden.
-
Um eine solche Kollision zu vermeiden, kann beispielsweise die Größe des Objekts OBJs zum Zeitpunkt der Berechnung der Platzierungsposition oder der Bewegungsbahn auf einen größeren Wert einschließlich eines Rands bzw. Spielraums als die tatsächliche Größe eingestellt werden. Die Einstellung eines einheitlich großen Rands kann es jedoch erschweren, einen Platzierungsplan für das Objekt OBJ in einem kleinen Raum im Behälter 14b zu erstellen oder einzurichten.
-
In Anbetracht dessen führt das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung in der Ausführungsform die Andrücksteuerung und die Abweisungssteuerung unter der Kraftsteuerung durch, um einen kleinen Raum effektiv auszunutzen. Wie in 1 dargestellt, ist die Hand 22 des Objekthandhabungssystems 1 mit dem sechsachsigen Kraftsensor 31 ausgestattet. Wie in 8 dargestellt, kann die Hand 22 somit das Objekt OBJ entlang der Bewegungsbahn R bewegen und das Objekt OBJ in den Behälter 14b platzieren, während sie es gegen eine Wand 14W oder ein anderes Objekt OBJs in Richtung des Pfeils A unter der Kraftsteuerung drückt. Dadurch kann die Lücke zwischen den Objekten durch Drücken oder die Andrücksteuerung verkleinert und die Packdichte verbessert werden. Wie in 9 dargestellt, kann die Hand 22 durch die Kraftsteuerung so gesteuert werden, dass sie sich entgegengesetzt in Richtung von Pfeil B (abweisende Bewegung) bewegt, wenn die Hand 22 oder das Objekt OBJ die Wand 14W des Behälters 14b oder eine Seitenfläche der zuvor platzierten Objekte OBJs interferiert, während sie sich entlang der Bewegungsbahn R bewegt. In der folgenden Ausführungsform kann das Objekthandhabungssystem 1 große Fehler in einem Messwert, der bei der Erstellung eines Platzierungsplans oder eines Bahnplans durch die Kraftsteuerung wie oben beschrieben verwendet wird, eliminieren und die Bewegungsbahn so planen, dass das Objekt OBJ auf engem Raum platziert wird.
-
Zur effizienten Berechnung der Bewegungsbahn für das Bewegen und Platzieren des Objekts OBJ sortiert das Objekthandhabungssystem 1 der Ausführungsform eine mögliche Interferenz mit dem Hindernis, wie beispielsweise der Wand 14W des Behälters 14b oder den zuvor platzierten Objekten OBJs, in eine vertikale Interferenz und horizontale Interferenz aus. Eine vertikale Interferenz bezieht sich auf die Interferenz zwischen der Unterseite des Objekts OBJ und der Oberseite der zuvor platzierten Objekte OBJs oder dem oberen Ende des Behälters 14b als Bewegungsziel im Falle der Bewegung des Objekts OBJ in Richtung des Pfeils R, bezogen auf die obere Zeichnung von 10. Eine horizontale Interferenz bezieht sich auf die Interferenz zwischen der Seitenfläche des Objekts OBJ und der Seitenfläche des zuvor platzierten Objekts OBJs oder der Wand 14W (Innenwand) des Behälters 14b im Falle der Bewegung des Objekts OBJ in Richtung des Pfeils R, bezogen auf die obere Zeichnung von 11. Das Objekthandhabungssystem 1 betreibt im Wesentlichen die Hand 22, um das gegriffene Objekt OBJ von oben nach unten zu bewegen oder zu platzieren, sodass die vertikale Interferenz eine Kollision des Objekts OBJ bedeutet, die wahrscheinlich das gegriffene Objekt OBJ oder die zuvor platzierten Objekt OBJs beschädigen würde. In der Zwischenzeit bedeutet die horizontale Interferenz ein Gleiten zwischen den Kontaktflächen, was eine Beschädigung der Objekte OBJ und OBJs unwahrscheinlich macht. Somit kann sich die Hand 22 durch die abweisende Bewegung wie oben beschrieben kontinuierlich bewegen, um das Objekt unabhängig vom Auftreten der Interferenz zu platzieren.
-
Um also die Hand 22, die das Objekt OBJ greift, von der Anfangsposition HP zum Bewegungsziel RP zu bewegen, klassifiziert der Regioneinsteller 55 des Objekthandhabungssystems 1 der Ausführungsform den Raum zwischen der Anfangsposition HP und dem Bewegungsziel RP in die erste Region, die zweite Region und die dritte Region mit unterschiedlichen Merkmalen.
-
In der ersten Region darf sich die Hand 22 bewegen, ohne durch Hindernisse wie der Wand 14W des Behälters 14b oder dem zuvor platzierten Objekt im Raum zwischen der Anfangsposition HP und dem sich bewegenden Ziel RP eingeschränkt zu sein.
-
In der zweiten Region ist die Hand 22 aufgrund von Hindernissen in ihrer Bewegung eingeschränkt. Beispielsweise ist die Hand 22 am Eintritt in das Hindernis oder an der Bewegung von oberhalb nach unterhalb des Hindernisses gehindert. Um eine Interferenz zu vermeiden, ist es der Fingerspitze TCP der Hand 22 untersagt, die zweite Region zu durchfahren, während sie sich nach einem Bewegungsbahnplan von oben nach unten bewegt. In der zweiten Region kann die Hand 22 zusätzlich daran gehindert werden, sich von unten nach oben oder seitlich zu bewegen. Die zweite Region kann auf eine Region mit Bewegungsverbot eingestellt werden, in der es der Hand 22 oder dem Objekt OBJ verboten ist, in die zweite Region einzutreten oder sich dort zu bewegen.
-
Zumindest ein Teil der dritten Region ist unterhalb und angrenzend an die zweite Region eingestellt und umfasst beispielsweise eine erste Steuerregion und eine zweite Steuerregion. In der dritten Region wird die Hand 22 unter der später beschriebenen Kraftsteuerung betrieben. Bei der Einstellung der dritten Region unterhalb der zweiten Region kann zumindest ein Teil der ersten Region zwischen der zweiten Region und der dritten Region eingestellt werden. Die erste Steuerregion der dritten Region wird unterhalb der zweiten Region entlang des Hindernisses eingestellt und weist einen geringeren Rand in Bezug auf das Hindernis auf als die zweite Region, also eine geringere seitliche Breite als die zweite Region. In der seitlichen Richtung ist die erste Steuerregion vollständig an den Boden der zweiten Region angrenzend angeordnet. Die Hand 22 tritt in die erste Steuerregion von der lateralen Richtung in Bezug auf das Hindernis ein. Anders ausgedrückt, die Einstellung der ersten Steuerregion unterhalb der zweiten Steuerregion verhindert, dass sich das Objekt OBJ oder die Hand 22 der ersten Steuerregion von oberhalb der zweiten Region nähert. Außerdem dringt das Objekt OBJ oder die Hand 22 in das Innere der ersten Steuerregion ein und nähert sich diesem allein aus der seitlichen Richtung. Die erste Steuerregion liegt seitlich neben dem Hindernis unterhalb der zweiten Region, und die Hand 22 wird unter der Andrücksteuerung der darin befindlichen Kraftsteuerung bedient. Wie in einer zweiten Region 100 kann der Hand 22 grundsätzlich verboten werden, sich in die erste Steuerregion zu bewegen oder in diese einzudringen, beispielsweise von der Aufwärts- zur Abwärtsbewegung. In diesem Fall, wenn ein solches Bewegungs- oder Eindringverbot die Erstellung der Bahn erschwert oder eine erstellte Bahn ineffizient ist, kann der Hand 22 ausnahmsweise gestattet werden, sich in die erste Steuerregion zu bewegen oder in diese einzudringen, unter der Bedingung, dass die Hand 22 unter der Andrücksteuerung betrieben wird.
-
Die zweite Steuerregion der dritten Region grenzt an eine Seite der ersten Steuerregion, die dem Hindernis gegenüberliegt, an und dient als Eindringbahn in die erste Steuerregion. Zumindest ein Teil der zweiten Steuerregion auf der Seite der ersten Steuerregion befindet sich unterhalb der zweiten Region. Vorzugsweise befindet sich die gesamte zweite Steuerregion in seitlicher Richtung unterhalb der zweiten Region. In der zweiten Steuerregion wird die Hand 22 unter der Abweisungssteuerung der Kraftsteuerung betrieben. Das heißt, in der zweiten Steuerregion wird die Hand 22 abweisend bedient, um sich von einem interferierenden Hindernis wegzubewegen, das aufgrund einer unterschiedlichen tatsächlichen Größe des von der Hand 22 gegriffenen Objekts OBJ auftritt.
-
In der zweiten Steuerregion kann das Verhalten zumindest der Hand 22 eingeschränkt werden, um die Drucksteuerung in der ersten Steuerregion zu ermöglichen. In diesem Fall bezieht sich die Beschränkung auf das Verhalten der Hand 22 in der zweiten Steuerregion beispielsweise auf die Begrenzung der Bewegungsgeschwindigkeit der Hand 22. In der zweiten Steuerregion wird die Bewegungsgeschwindigkeit der Hand 22 niedriger eingestellt als die Durchlaufgeschwindigkeit in der ersten Region, um ein Umschalten auf die Andrücksteuerung der Kraftsteuerung zum geeigneten Zeitpunkt, also zum Zeitpunkt des Eintritts in die erste Steuerregion, zu ermöglichen. Alternativ dazu kann die dritte Region die zweite Steuerregion ausschließen, in der der Hand 22 unter der Abweisungssteuerung betrieben wird, und sie kann vollständig auf die erste Steuerregion eingestellt werden, in der die Hand 22 unter der Andrücksteuerung betrieben wird.
-
Der Regioneinsteller 55 dient dazu, die erste Region, die zweite Region und die dritte Region einschließlich der ersten Steuerregion und der zweiten Steuerregion entsprechend der Objektinformation und der Statusinformation einzustellen, die von den Kameras 32a und 32b und den Laser-Entfernungsscannern 33a und 33b erfasst werden. Wenn es eine überlappende Region zwischen der zweiten Region und der dritten Region gibt, gibt der Regioneinsteller 55 der dritten Region Priorität und behandelt die überlappende Region als die dritte Region. Wenn eine überlappende Region zwischen der ersten Steuerregion der dritten Region und der zweiten Region gefunden wird, gibt der Regioneinsteller 55 der ersten Steuerregion Priorität und behandelt die überlappende Region als die erste Steuerregion.
-
Wenn sich zum Beispiel das Objekt OBJ von oben an die zuvor platzierten Objekte OBJs entlang der Wand 14W des Behälters 14b nähert, wie in der oberen Zeichnung von 10 dargestellt, wird die zweite Region 100 in der Nähe der oberen Oberfläche der zuvor platzierten Objekte OBJs platziert, wie in der unteren Zeichnung von 10 dargestellt. Die Hand 22, die das Objekt OBJ greift, wird entlang der Bewegungsbahn R bewegt, um die zweite Region 100 nicht zu passieren, wodurch sichergestellt wird, dass das Objekt OBJ nicht mit den Objekten OBJs kollidiert. Die untere Zeichnung von 11 zeigt ein Beispiel für die Unterteilung einer dritten Region 102 in eine erste Steuerregion 102a und eine zweite Steuerregion 102b. In diesem Beispiel bewegt sich die Hand 22, die das Objekt OBJ greift, entlang der Bewegungsbahn R, ohne die zweite Region 100 und die erste Steuerregion 102a zu durchlaufen, um sicherzustellen, dass das Objekt OBJ daran gehindert wird, mit den Objekten OBJs zu kollidieren. In der unteren Zeichnung von 11 wird das Objekt OBJ entlang der Bewegungsbahn R in X-Richtung bewegt, also nicht von oben nach unten, und tritt beispielsweise in die zweite Region 100 ein. Ferner wird in der unteren Zeichnung von 11 die dritte Region 102 einschließlich der ersten Steuerregion 102a und der zweiten Steuerregion 102b angrenzend an den Boden der zweiten Region 100 eingestellt, und die andere Region als die zweite Region 100 und die dritte Region 102 wird auf die erste Region 104 eingestellt. Die erste Region 104 wird später beschrieben.
-
Unter Bezugnahme auf 12 bis 23 wird im Folgenden die Einstellung der zweiten Region 100 und der ersten Steuerregion 102a der dritten Region 102 im Detail beschrieben.
-
Zunächst wird unter Bezugnahme auf 12 und 13 im Folgenden ein Beispiel für die Einstellung einer durchlaufbeschränkten Region für die Fingerspitze TCP, also die zweite Region 100, beschrieben, um eine vertikale Interferenz zu vermeiden, ohne die Größe des gegriffenen Objekts OBJ und die Größe der Hand 22 zu berücksichtigen. Das heißt, die Region mit Durchlaufbeschränkung für die Fingerspitze TCP wird unter der Annahme eingestellt, dass die Größen des gegriffenen Objekts OBJ und der Hand 22 unendlich nahe bei Null liegen. In der Draufsicht auf den Behälter 14b und dem zuvor platzierten Objekt OBJs in 12 sind die Orte, an denen eine vertikale Interferenz auftreten kann, die von Ellipsen C1 umschlossene Wand 14W des Behälters 14b und das von einer Ellipse C2 umschlossene Objekt OBJs. In diesem Fall wird die zweite Region 100 (zweite Region 100t0) zur Vermeidung von Interferenzen zwischen dem Boden des mit der Hand 22 gegriffenen Objekts OBJ und dem oberen Ende der Wand 14W innerhalb und entlang der Wand 14W so eingestellt, dass sie einen gegebenen ersten Randwert bzw. Spielraumwert δX (X-Richtung) und einen ersten Randwert δy (Y-Richtung) einschließt. In ähnlicher Weise ist auf der Oberseite des Objekts OBJs die zweite Region 100 (zweite Region 100d0) so eingestellt, dass sie die Peripherie des Objekts OBJs abdeckt, einschließlich des gegebenen ersten Randwerts δx (X-Richtung) und des ersten Randwerts δy (Y-Richtung) in Bezug auf das obere Ende des Objekts OBJs. 13 veranschaulicht die Position der Ellipse C1 für die Wand 14W, die Position der Ellipse C2 für das Objekt OBJs und die Positionen der zweiten Region 100t0, die auf einen oberen Teil der Wand 14W eingestellt ist, und der zweiten Region 100d0, die auf die Oberseite des Objekts OBJs eingestellt ist, in der Seitenansicht des Behälters 14b und der Objekt OBJs in 12. Wie in 13 dargestellt, enthalten die zweite Region 100t0 und die zweite Region 100d0 einen gegebenen ersten Randwert δz entlang der Höhe, also in Z-Richtung. Der gegebene erste Randwert δx, der erste Randwert δy und der erste Randwert δz werden beispielsweise durch Tests voreingestellt.
-
Konkret werden zur Vermeidung vertikaler Interferenzen mit jedem zuvor platzierten Objekt OBJs die Position und Pose
TOTET
KeepoutZ,i und die Größe
TOTES
KeepoutZ,i der Fingerspitze TCP in der durchgangsbeschränkten Region durch die folgenden Ausdrücke 6 und 7 berechnet:
wobei
TOTET
Obstacle,i die Position und Pose des zuvor platzierten Objekts OBJs darstellt (i = 1, ..., n: n ist die Anzahl der Objekte OBJs) und
TOTES
Obstacle,i deren Größe darstellt.
-
Unter Bezugnahme auf 14 und 15 wird im Folgenden ein Beispiel für die Einstellung der durchlaufbeschränkten Region für die Fingerspitze TCP beschrieben, also die erste Steuerregion 102a der dritten Region 102, ohne Berücksichtigung der Größe des gegriffenen Objekts OBJ und der Größe der Hand 22, um eine horizontale Interferenz zu vermeiden. In der Draufsicht auf den Behälter 14b und dem zuvor platzierten Objekt OBJs sind die Orte, an denen eine horizontale Interferenzen auftreten können, die von einer Ellipse C3 umschlossenen Wände 14W des Behälters 14b und das von einer Ellipse C4 umschlossene Objekt OBJs. In diesem Fall wird zur Vermeidung einer Interferenz zwischen der Seitenfläche des mit der Hand gegriffenen Objekts OBJ 22 und den Innenflächen der Wände 14W die erste Kontrollregion 102a (erste Kontrollregion 102aw0) innerhalb und entlang der Wände 14W mit gegebenem zweiten Randwert εx (X-Richtung) und zweitem Randwert εy (Y-Richtung) eingestellt. In ähnlicher Weise ist auf der Außenfläche des Objekts OBJs die erste Steuerregion 102a (erste Steuerregion 102aow0) so eingestellt, dass sie die Seitenfläche des Objekts OBJs mit dem vorgegebenen zweiten Randwert εx (X-Richtung) und dem zweiten Randwert εy (Y-Richtung) in Bezug auf die Außenfläche des Objekts OBJs bedeckt. 15 veranschaulicht eine Position der Ellipse C3 für die Wand 14W, eine Position der Ellipse C4 für das Objekt OBJs und Positionen der ersten Steuerregion 102aw0, die auf die Innenfläche der Wand 14W eingestellt ist, und der ersten Steuerregion 102aow0, die auf die Außenfläche des Objekts OBJs eingestellt ist, in der Seitenansicht des Behälters 14b und des Objekts OBJs in 14. Wie in 15 dargestellt, sind die erste Steuerregion 102aw0 und die erste Steuerregion 102aow0 so eingestellt, dass sie einen vorgegebenen zweiten Randwert εz entlang der Höhe, also in Z-Richtung, enthalten. Der vorgegebene zweite Randwert εx, der zweite Randwert εy und der zweite Randwert εz sind durch Tests kleiner als der erste Randwert εx, der erste Randwert εy und der erste Randwert εz voreingestellt.
-
Konkret werden zur Vermeidung einer horizontalen Interferenz mit jedem zuvor platzierten Objekt OBJ die Position und Lage
TOTET
KeepoutXY,i,j und die Größe
TOTES
KeepoutXY,i,j der Fingerspitze TCP in der Region der Durchlaufbeschränkung durch die folgenden Ausdrücke 8 und 9 berechnet:
wobei
TOTET
Obstacle,i die Position und Lage des zuvor platzierten Objekts OBJs darstellt (i = 1, ..., n: n ist die Anzahl der Objekte OBJs) ,
TOTES S
Obstacle,i die Größe davon darstellt und j = 1, 2, 3 und 4, wobei der Wert von j die ±X-Richtung und die ±Y-Richtung angibt.
-
Wie vorstehend beschrieben, kann das Objekt OBJ, das sich horizontal nähert, als weniger wahrscheinlich angesehen werden, mit dem Hindernis zu interferieren, als das Objekt OBJ, das sich vertikal nähert. Daher können die jeweiligen Randwerte so eingestellt werden, dass δx > εx, δy > εy und δz > εz.
-
Anschließend wird die zweite Region 100 unter Berücksichtigung der Position und der Größe des gegriffenen Objekts OBJ berechnet.
-
Zunächst werden, wie in 16 dargestellt, die Entfernungen (die die Position und die Größe widerspiegeln) von der Fingerspitze TCP der Hand 22, die das Objekt OBJ greift, zu den Endflächen des Objekts OBJ in X- und Y-Richtung als ΔxItem-, ΔxItem+, ΔyItem- und ΔyItem+ definiert. Wie in 17 dargestellt, wird ein Abstand in Z-Richtung (der die Position und die Größe widerspiegelt) von der Fingerspitze TCP der Hand 22 bis zur Unterseite des Objekts OBJ als TOTESZItem definiert.
-
In diesem Fall kommt es hinsichtlich der vertikalen Interferenz auf die Unterseite des gegriffenen Objekts OBJ an, das mit dem Hindernis interferiert. Was die horizontale Interferenz betrifft, so können die Seitenflächen als nicht interferierend betrachtet werden, wenn der Boden des Objekts OBJ nicht mit dem Hindernis interferiert. Das heißt, die zweite Region 100 kann allein unter Berücksichtigung der Position und der Größe des Bodens des Objekts OBJ eingestellt werden. Was also die zweite Region 100 unter Berücksichtigung der Position und der Größe des gegriffenen Objekts OBJ betrifft, so kann eine zweite Region 100d1 in X- und Y-Richtung berechnet werden, indem der Rand der zweiten Region 100d0, der nicht die Größen des gegriffenen Objekts OBJ und der Hand 22 widerspiegelt, in der X-Richtung um ΔxItem- und ΔxItem+ und in der Draufsicht von 18 um ΔyItem- und ΔyItem+ in Y-Richtung erweitert wird. In ähnlicher Weise kann in der Seitenansicht von 19 die zweite Region 100d1, die die Position und die Größe des Objekts OB J widerspiegelt, in Z-Richtung berechnet werden, indem der Rand der zweiten Region 100d0 durch TOTESZItem nach oben verbreitert wird.
-
Die Position und Pose
TOTET
KeepoutItem,i und die Größe
TOTES
Keepoutrtem,i der zweiten Region 100, die das gegriffene Objekt OBJ widerspiegelt, durch das die Fingerspitze TCP nicht durchlaufen darf, werden durch den folgenden Ausdruck 10 und Ausdruck 11 berechnet:
wobei
TOTET
Keepout,i die Position und Pose der zweiten Region 100 darstellt, die durch Ausdruck 6 bis Ausdruck 9 berechnet werden (i = 1, ..., n: n ist die Anzahl der Objekte OBJs) und
T0TES
Keepout,i deren Größe darstellt. Die Verschiebungsbeträge der Seitenfläche des Objekts OBJ von der Fingerspitze TCP Δx
Item- und Δx
Item+ in X-Richtung und Δy
Item- und Δy
Item+ in Y-Richtung werden durch den folgenden Ausdruck 12 berechnet:
wobei
TOTE T
RP die Position und Pose des Fingerspitzen-TCP bei der Platzierung darstellt,
TOTET
Ite m die Position und Pose der Objekt-OBJs und
TOTES
Item die Größe der Objekt-OBJs darstellt.
-
Anschließend wird die zweite Region 100 unter Berücksichtigung der Position und der Größe der Hand 22 berechnet, die das Objekt OBJ ergreift.
-
Zunächst werden, wie in 20 und 21 dargestellt, X- und Richtungsabstände von der Fingerspitze TCP zu den Endflächen der Hand 22 als Δxhand-, Δxhand+, Δyhand- und Δyhand+ definiert.
-
Wie bei der vertikalen Interferenz des Objekts OBJ kommt es auch hier auf die vertikale Interferenz der Unterseite der Hand 22 an. Was die horizontale Interferenz anbelangt, so kann die Seitenfläche der Hand 22 als mit keinem Hindernis interferierend angesehen werden, wenn die Unterseite der Hand 22 ohne Hindernis interferiert. Das heißt, die zweite Region 100 kann allein unter Berücksichtigung der Position und der Größe der Unterseite der Hand 22 festgelegt werden. So kann im Falle der Einstellung der zweiten Region 100 unter Berücksichtigung der Position und der Größe der Hand 22 die zweite Region 100 (zweite Region 100d2) in X- und Y-Richtung berechnet werden, indem die zweite Region 100d0, die die Position und die Größe des Objekts OBJ widerspiegelt, um die Ränder Δxhand- und Δxhand+ in X-Richtung und Δyhand- und Δyhand+ in Y-Richtung erweitert wird, wie in 22 und 23 dargestellt.
-
In diesem Fall werden die Position und Pose
TOTET
KeepoutHand,i und die Größe
TOTES
KeepoutHand,i der zweiten Region 100, die unter Berücksichtigung der Hand 22, durch die die Fingerspitze TCP nicht passieren darf, durch den folgenden Ausdruck 13 und Ausdruck 14 berechnet.
wobei
TOTET
Keepout,i die Position und Pose der zweiten Region 100 darstellt, durch die der Fingerspitzen-TCP nicht passieren darf, festgelegt durch Ausdruck 6 bis Ausdruck 9 (i = 1, ..., n: n ist die Anzahl der Objekte OBJs), und
TOTES
Keepout,i deren Größe darstellt.
-
Die Positionen der Seitenflächen eines umschreibenden rechteckigen Parallelepipeds der Hand 22 ab der Fingerspitze TCP werden durch Δx
Hand- und Δx
Hand+ in X-Richtung und Δy
Hand- und Δy
Hand+ in Y-Richtung dargestellt und durch den folgenden Ausdruck 15 berechnet:
wobei der umschreibende rechteckige Parallelepiped senkrecht und parallel zum Koordinatensystem des Behälters 14b ist, der ein Bewegungsziel ist,
TOTET
RP die Position und Pose der Fingerspitze TCP an der Platzierungsposition darstellt,
TOTET
Hand die Position und Pose des umschreibenden rechteckigen Parallelepipeds der Hand 22 darstellt und
TOTES
Hand dessen Größe darstellt.
-
Die zweite Region 100 (zweite Region 100d1), die das von der Hand 22 gegriffene Objekt OBJ widerspiegelt, und die zweite Region 100 (zweite Region 100d2), die die Hand 22 widerspiegelt, können miteinander kombiniert werden, um eine eindeutige zweite Region 100 zu erstellen oder zu berechnen.
-
Im Folgenden wird die Einstellung der zweiten Steuerregion 102b der dritten Region 102 beschrieben. Wie vorstehend beschrieben, nähern sich das Objekt OBJ und die Hand 22 aufgrund der zweiten Region 100 oberhalb und angrenzend an die erste Steuerregion 102a nicht aus vertikaler Richtung oder von oben an die erste Steuerregion 102a der dritten Region 102 an, sondern nähern sich dort aus horizontaler Richtung oder seitlich an. Wenn in der zweiten Steuerregion 102b der dritten Region 102 das Objekt OBJ oder die Hand 22 das Hindernis interferiert oder kontaktiert, kann verhindert werden, dass das Objekt OBJ und die Hand 22 unter der Abweisungssteuerung der Kraftsteuerung beschädigt werden. Bei der Abweisungssteuerung wird die Kraft, die auf das Objekt OBJ und die Hand 22 wirkt, genau gesteuert und der Messwert des Kraftsensors 31 wird dorthin zurückgeführt, um keine abrupte äußere Kraft auszuüben, wodurch sich das Objekt OBJ und die Hand 22 dem Hindernis mit einer geringeren Geschwindigkeit nähern.
-
In der Zwischenzeit umfasst die Andrücksteuerung der Kraftsteuerung in der ersten Steuerregion 102a die erste Andrücksteuerung und die zweite Andrücksteuerung. Die erste Andrücksteuerung ist an der Wand 14W oder der Seitenfläche des zuvor platzierten Objekts OBJs durchzuführen, während sich das Objekt OBJ bewegt. Die zweite Andrücksteuerung ist für das Objekt OBJ zur Platzierung am Bewegungsziel RP durchzuführen. Die erste Andrücksteuerung ermöglicht es dem Objekt OBJ, in der ersten Steuerregion 102a einzutreten, indem der Rand der ersten Steuerregion 102a auf im wesentlichen Null eingestellt wird, indem die Bewegungsbahn in einem kleinen Raum wie oben beschrieben erzeugt wird. Bei der ersten Andrücksteuerung wird das Objekt OBJ also gegen die Oberfläche der Wand 14W in einer im wesentlichen orthogonalen Richtung gedrückt, beispielsweise durch eine Andrückkraft von einem bestimmten Schwellenwert oder weniger bei einer Bewegungsgeschwindigkeit von einem bestimmten Schwellenwert darunter, die als erste Andrückbedingung definiert sind. Die Druckkraft mit einem bestimmten Schwellenwert oder weniger und die Bewegungsgeschwindigkeit mit einem bestimmten Schwellenwert oder weniger können durch Tests in Übereinstimmung mit einem Typ, einer Form, einem Material oder einem Widerstand des Objekts OBJ vorbestimmt werden.
-
Die zweite Andrücksteuerung besteht darin, die Hand 22 zu veranlassen, sich langsam von schräg oben an die erste Steuerregion 102a anzunähern, um das Objekt OBJ am Bewegungsziel RP zu platzieren, indem der Rand der ersten Steuerregion 102a wie oben beschrieben im Wesentlichen auf Null eingestellt wird. So wird bei der zweiten Andrücksteuerung das Objekt OBJ gegen die Seitenfläche des Objekts OBJs oder die Oberfläche der Wand 14W gedrückt, beispielsweise mit einer Bewegungsgeschwindigkeit von einem bestimmten Schwellenwert oder weniger bei einem bestimmten Annäherungswinkel, die als zweite Andrückbedingung definiert sind. Der gegebene Annäherungswinkel und die Bewegungsgeschwindigkeit des gegebenen Schwellenwertes können durch Tests in Übereinstimmung mit einem Typ, einer Form, einem Material oder einem Widerstand des Objekts OBJ vorbestimmt werden.
-
Wie vorstehend beschrieben, wird die zweite Steuerregion 102b seitlich neben die erste Steuerregion 102a gegenüber dem Hindernis eingestellt. Die zweite Steuerregion 102b ist Teil der dritten Region 102, in der die Kraftsteuerung durchgeführt wird, und die Abweisungssteuerung der Kraftsteuerung wird in der zweiten Steuerregion 102b durchgeführt. In der zweiten Steuerregion 102b dürfen sich das Objekt OBJ und die Hand 22 unter der Abweisungssteuerung auch dann noch bewegen, wenn eine Interferenz mit dem Hindernis festgestellt wird. In der zweiten Steuerregion 102b kann zumindest das Verhalten der Hand 22 eingeschränkt werden, um sich auf die Andrücksteuerung in der ersten Steuerregion 102a vorzubereiten. In diesem Fall bezieht sich die Verhaltensbegrenzung auf die Hand 22 beispielsweise auf die Begrenzung der Bewegungsgeschwindigkeit auf diejenige, die niedriger ist (z.B. 1/2 oder 1/3) als die in der ersten Steuerregion 104.
-
Bei der Abweisungssteuerung der Kraftsteuerung bewegt sich die Hand 22, die das Objekt OBJ greift, während der Messwert des Kraftsensors 31 auf das Objekt OBJ und die Hand 22 zurückgeführt wird. Bei der Abweisungssteuerung wird die Hand 22 so gesteuert, dass sie sich der Wand 14W oder der Seitenfläche des Objekts OBJs mit der Bewegungsgeschwindigkeit des gegebenen Schwellenwerts oder weniger nähert und sich von der Kontaktfläche wegbewegt, bevor eine wesentliche Reaktionskraft auftritt, also beim Erkennen eines Kontakts. Beispielsweise kann die Hand 22 entlang einer berechneten Bewegungsbahn, die nicht mit dem Hindernis interferiert, aufgrund eines Messfehlers des Sensors 30 mit der Wand 14W oder der Seitenfläche des Objekts OBJs in Kontakt kommen. In einem solchen Fall kann der Messfehler durch die Abweisungssteuerung eliminiert werden, wodurch vermieden werden kann, dass die Hand 22 oder das Objekt OBJ durch eine Kollision mit der Wand 14W oder der Seitenfläche des Objekts OBJs beschädigt wird.
-
Unter Bezugnahme auf 24 und 25 wird im Folgenden ein Beispiel für die Einstellung der zweiten Region 100, der zweiten Steuerregion 102b der dritten Region 102 und der ersten Region 104 und die Einstellung der Bewegungsbahn R der Hand 22 (oder der Fingerspitze TCP) in Bezug auf den Behälter 14b als Bewegungsziel RP beschrieben.
-
In 24 werden die zweite Region 100 und die erste Steuerregion 102a der dritten Region 102 in den Behälter 14b eingestellt, in dem das Objekt OBJs platziert wurde, und die zweite Steuerregion 102b wird unterhalb der zweiten Region 100 und seitlich neben der ersten Steuerregion 102a gegenüber dem Hindernis eingestellt, wie mit Bezug auf 12 bis 23 dargestellt. Die andere Region als die zweite Region 100 und die dritte Region 102 einschließlich der ersten Steuerregion 102a und der zweiten Steuerregion 102b ist auf die erste Region 104 eingestellt, in der die Hand 22, die das Objekt OBJ greift, nicht in ihrer Bewegung eingeschränkt ist, sondern sich mit einer relativ hohen Geschwindigkeit bewegen kann.
-
Im Beispiel von 24 liegt die erste Region 104 zwischen der zweiten Region 100 in Bezug auf das Objekt OBJs und der zweiten Region 100 in Bezug auf die Wand 14W des Behälters 14b, und die Hand 22, die das Objekt OBJ greift, ist darin relativ frei beweglich. In 24 bewegt sich die Hand 22 (Fingerspitze TCP) in der ersten Region 104 mit hoher Geschwindigkeit vertikal nach unten von den Durchgangspunkten RAP[1] bis RAP[0], und die Fingerspitze TCP tritt in die zweite Steuerregion 102b der dritten Region 102 ein. In der zweiten Steuerregion 102b wird die Hand 22, die das Objekt OBJ greift, mit der Bewegungsgeschwindigkeit des gegebenen Schwellenwerts durch die Abweisungssteuerung bewegt, während der gemessene Wert des Kraftsensors 31 zurückgeführt wird. Unter der Abweisungssteuerung wird die Hand 22 beispielsweise so gesteuert, dass sie sich der Wand 14W oder der Seitenfläche des Objekts OBJ nähert und einen Kontakt erkennt, bevor eine wesentliche Reaktionskraft auftritt, um das Objekt OBJ von der Kontaktfläche wegzubewegen. Die Hand 22 kann mit einer geringeren Geschwindigkeit als in der ersten Region 104 auf RAP[1] bewegt werden, um sich auf das sanfte Umschalten auf die Andrücksteuerung in der zweiten Steuerregion 102b ohne Verzögerung vorzubereiten, damit sie sich sanft auf das Bewegungsziel RP in der ersten Steuerregion 102a neben der Seitenfläche des Objekts OBJs zu bewegt. In der ersten Steuerregion 102a zwischen RAP[1] und dem Bewegungsziel RP wird die Hand 22 unter der zweiten Andrücksteuerung bewegt, wodurch die zweite Andrückbedingung erfüllt wird. Auf diese Weise kann das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung die Bewegungsbahn R, die Bewegungsgeschwindigkeit und andere Bewegungseigenschaften in Bezug auf die erste Region 104, die zweite Region 100 und die dritte Region 102 einschließlich der ersten Steuerregion 102a und der zweiten Steuerregion 102b bestimmen, wodurch das Objekt OBJ schnell und genau zum oder am Bewegungsziel RP bewegt oder platziert wird, ohne Schaden anzurichten.
-
25 zeigt ein Beispiel dafür, dass die zweite Region 100 in Bezug auf das Objekt OBJs nahe an der ersten Steuerregion 102a in Bezug auf die Wand 14W des Behälters 14b liegt, ohne dass sich dazwischen eine erste Region 104 befindet. In 25 bewegt sich die Hand 22 oder die Fingerspitze TCP vertikal nach unten mit hoher Geschwindigkeit von RAP[1] zu RAP[0] in der ersten Region 104. Die Fingerspitze TCP tritt dann in die zweite Steuerregion 102b ein und bewegt sich durch RAP[1], RAP[2] und RAP[3] mit einer Vorbereitungsgeschwindigkeit, die niedriger ist als in der ersten Region 104. Die Hand 22 wird unter der zweiten Andrücksteuerung zwischen RAP[3] und dem Bewegungsziel RP bewegt, wodurch die zweite Andrückbedingung erfüllt wird. Auch in diesem Fall kann das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung die Bewegungsbahn R, die Bewegungsgeschwindigkeit und andere Bewegungseigenschaften in Bezug auf die erste Region 104, die zweite Region 100 und die zweite Steuerregion 102b bestimmen. Infolgedessen kann das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung das Objekt OBJ so schnell und genau wie möglich zum oder am Bewegungsziel RP bewegen oder platzieren, ohne Schaden anzurichten, obwohl das Durchlaufen der zweiten Steuerregion 102b eine längere Zeit in Anspruch nimmt als in 24.
-
Um die Bewegungsbahn R, wie in 24 und 25 vorstehend beschrieben, festzulegen, ist es vorzuziehen, die Stellen, an denen die Bewegungsbahn mit der zweite Region 100 interferiert oder diese kontaktiert, genau zu kennen. Wenn also die zweite Region 100 im Behälter 14b eingestellt ist, erzeugt der Bahnrechner 56 eine Höhenliste (Z-Richtung) für die Interferenzprüfung. Die Höhe, auf der die Interferenz geprüft wird, kann als Höhe der Ober- und Unterseite der zweiten Region 100 definiert werden, wie in 26 dargestellt. 26 zeigt beispielhafte Höhen für die Interferenzprüfung, wenn der Behälter 14b das zuvor platzierte Objekt OBJs enthält und die zweite Region 100 und die erste Steuerregion 102a der dritten Region 102 unter Bezugnahme auf 12 bis 23 eingestellt werden.
-
Konkret kann die Höhenliste für die Interferenzprüfung
TOTE Z
Check, j (j = 1..., 2n) durch den folgenden Ausdruck 16 berechnet werden:
wobei
TOTET
Keepout,i die Position und Pose der zweiten Region 100 darstellt, durch die der Fingerspitzen-TCP nicht passieren darf (i = 1...., n) , und
TOTES
Keepout,i die Größe davon darstellt.
-
Die Höhenliste für die Interferenzprüfung TOTEZCheck, j enthält die Höhen in aufsteigender Reihenfolge von einer niedrigsten Höhe, wie beispielsweise H1 bis H4.
-
Im Folgenden wird die Berechnung der Fingerspitzenposition TCP zur Vermeidung der zweiten Region 100, in der die Hand 22 am Durchlaufen gehindert wird, beschrieben. Die Hand 22, die das Objekt OBJ ergreift, folgt der Bewegungsbahn R, um von oben in den Behälter 14b einzudringen, jedoch werden beispielsweise zum Zeitpunkt der Planung der Bewegungsbahn R die Durchgangspunkte auf der Bewegungsbahn R durch Rückrechnung vom Bewegungsziel RP auf eine Eingangsposition eingestellt. 27 zeigt ein Beispiel dafür, wie das mit der Hand 22 gegriffene Objekt OBJ in engen Kontakt mit der rechten Seitenfläche des zuvor platzierten Objekts OBJs in engen Kontakt mit der Wand 14W des Behälters 14b gebracht wird. Nach der vorliegenden Ausführungsform wird in der anfänglichen Durchgangspunkt-Berechnungsroutine die schräg nach oben versetzte Position vom Bewegungsziel RP auf RAP[0] eingestellt. Um das Objekt OBJ in engen Kontakt mit dem zuvor platzierten Objekt OBJs oder der Wand 14W zu bringen, wird die zweite Andrücksteuerung durchgeführt. In diesem Fall nähert sich beispielsweise das Objekt OBJ dort von schräg oben, um nahtlos in engen Kontakt damit treten zu können. Vor diesem Hintergrund wird der Versatzbetrag durch Tests voreingestellt. Zum Beispiel kann der Versatzbetrag, also RAP[0], so eingestellt werden, dass sich das Objekt OBJ aus der Höhe von 20 mm um 45 Grad annähert.
-
Als nächstes wird ein nächster Durchgangspunkt von RAP[0] als Anfangsdurchgangsposition oder -pose festgelegt. In diesem Fall extrahiert der Bahnrechner 56 die zweite Region 100 auf jeder der Höhen für die Interferenzprüfung, die unter Bezugnahme auf 26 beschrieben wird. Nachdem festgestellt wurde, dass die zweite Region 100 einen Teil der Bahn von RAP[0] in Richtung direkt darüber einschließt, berechnet der Bahnrechner 56 Durchgangspunkte, um die zweite Region 100 zu vermeiden, was als Vermeidung von Durchgangspunkten bezeichnet wird. Ein Umgehungs-Durchgangspunkt wird auf einen Punkt eingestellt, der dem RAP[0] in einer Region am nächsten liegt, die nicht in der zweiten Region 100 enthalten ist. 28 veranschaulicht ein Beispiel für die Berechnung der Vermeidung-Durchgangspunkte.
-
Zunächst werden unter den Scheitelpunkten der zweiten Region 100 die Scheitelpunkte, die nicht in einer anderen zweiten Region 100 enthalten sind, als Kandidaten für die Vermeidungsposition Ps definiert (in
28 vier Eckpunkte der zweiten Region 100). Dabei können die zu den Kandidaten für Vermeidungspositionen hinzuzufügenden Apexes
TOTEt
Avoidcomer,i,j (j = 1, 2, 3, 4) der zweiten Region 100 durch den folgenden Ausdruck 17 berechnet werden:
wobei
TOTET
Keepout,i die Position und Pose der zweiten Region 100 darstellt, durch die der Fingerspitzen-TCP nicht passieren darf (i = 1...., n) , und
TOTES
Keepout,i die Größe davon darstellt.
-
Anschließend werden zwischen Schnittpunkten zwischen den jeweiligen Seiten der zweiten Region 100 und Geraden, die sich in X- und Y-Richtung von einer Vorvermeidungsposition, also
TOTEt
RAP[0] in
28, aus erstrecken, Schnittpunkte, die nicht in einer weiteren zweiten Region 100 enthalten sind, zusätzlich als Kandidaten für die Vermeidungsposition Ps eingestellt. Die hinzuzufügenden Kandidaten für die Vermeidungsposition
TOTEt
AvoidParallel, i, j (j = 1, 2, 3, 4) können durch den folgenden Ausdruck 18 berechnet werden:
-
TOTEt
Avoidcorner,i,j, berechnet durch Ausdruck 17, und
TOTEt
AvoidParallel, i, j, berechnet durch Ausdruck 18, werden kombiniert, um eine Vermeidungspositionskandidatenliste
TOTEt
AvoidAll,i festzulegen. In dieser Kandidatenliste wird der Punkt, der der Position
TOTEt
RAP[0] (Vor-Vermeidungsposition) von RAP[0] am nächsten liegt, als Vermeidungsposition
TOTE t
Avoid definiert. Die Vermeidungsposition
TOTEt
Avoid kann durch den folgenden Ausdruck 19 berechnet werden:
-
Anschließend prüft der Bahnrechner 56, ob die in 28 berechnete lineare Bewegungsbahn, die TOTEtAvoid und die in 27 eingestellte RAP[0] verbindet, die zweite Region 100 durchläuft. Nachdem festgestellt wurde, dass die Bewegungsbahn die zweite Region 100 durchläuft, berechnet der Bahnrechner 56 die Ausweichposition für die zweite Region 100 erneut durch das in 28 beschriebene Verfahren. 29 bis 31 veranschaulichen Beispiele für spezifische Verfahren.
-
In 29 wird zum Beispiel eine Gerade von einem vorherigen RAP[0], der Punkt P1 ist, verlängert und ein Schnittpunkt zwischen der Geraden und der zweiten Region 100 wird als neuer RAP[0], der Punkt P2 ist, definiert. Die Gerade, die sich vom Punkt P2 nach oben erstreckt, um die zweite Region 100 zu vermeiden, schneidet sich mit der zweiten Region 100 in einem Punkt Pb am unteren Ende der oberen zweiten Region 100. In der Vor-Vermeidungsposition, die der Punkt Pb ist, kann ein Endpunkt Pc der zweiten Region 100 die Vermeidungsposition sein, um eine Überschneidung mit der zweiten Region 100 zu vermeiden. In diesem Fall jedoch verläuft die Gerade, die den Punkt P2 und den Punkt Pc verbindet, durch die untere zweite Region 100. Daher wird, wie in 30 dargestellt, der Punkt Pb, an dem sich die Verbindungsgerade zwischen dem Punkt P2 und dem Punkt Pc mit dem oberen Ende der unteren zweiten Region 100 schneidet, auf eine neue Vorvermeidungsposition eingestellt. In diesem Fall kann ein Endpunkt P3 der zweiten Region 100 die Vermeidungsposition sein, um eine Überschneidung mit der zweiten Region 100 zu vermeiden. Das heißt, eine Ausweichbahn verläuft vom Punkt P2 zum Punkt P3. Wie in 31 dargestellt, wird die vorherige Vermeidungsposition, also der Punkt Pc am unteren Ende der oberen zweiten Region 100, auf einen Punkt P4 korrigiert, und der Punkt P3 wird mit dem Punkt P4 verbunden. In 31 schneidet sich die vom Punkt P4 nach oben verlaufende Gerade nicht mit der zweiten Region 100. Damit ist die Ausweichbahn abgeschlossen. Mit anderen Worten, die Bewegungsbahn, die die Punkte P1, P2, P3 und P4 verbindet, ist abgeschlossen.
-
Im Folgenden wird die vorstehende Bearbeitung näher beschrieben. Es kann festgestellt werden, ob es einen Schnittpunkt zwischen einem Liniensegment L
RAP[0],Aviod das die Position
TOTET
RAP[0] von RAP[0] und die Ausweichposition
TOTEt
Avoid verbindet, und der Ober- und Unterseite jeder zweiten Region 100 gibt. Die Z-Koordinaten
TOTEZ
KeepoutTop,i und
TOTEZ
KeepoutBottom,i der Ober- und Unterseite jeder zweiten Region 100 können durch den Ausdruck 20 berechnet werden:
wobei
TOTET
Keepout,i die Position und Pose der zweiten Region 100 darstellt, durch die der Fingerspitzen-TCP nicht passieren darf (i = 1...., n) , und
TOTES
keepout,i die Größe davon darstellt.
-
Damit sich das Liniensegment L
RAP[0],
Aviod mit
TOTEZ
KeepoutTop,i und
TOTEZ
KeepoutBottom,
i schneidet, muss mindestens der folgende Ausdruck 21 erfüllt sein:
Die Koordinaten
TOTEt
CroSSTop,i und
T0TEt
CrossBottom,i des Liniensegments L
RAP[0],
Aviod bei
TOTEZ
KeepoutTop,i und
TOTEZ
KeepoutBottom,
i können durch den folgenden Ausdruck 22 berechnet werden:
-
Diese Schnittpunkte
TOTEt
CrossTop,i und
TOTEZ
CrossBottom,i, die die durch den folgenden Ausdruck 23 dargestellte Bedingung erfüllen, sind in der zweiten Region 100 enthalten:
-
Wenn festgestellt wird, dass sich das Liniensegment LRAP[0],Aviod mit der zweiten Region 100 schneidet, werden die Koordinaten des Liniensegments LRAP[0], Aviod auf einer Mindesthöhe der Höhen TOTEZKeepoutTop,i und TOTEZKeepoutBottom,i der Ober- oder Unterseite der sich schneidenden zweiten Region 100 auf eine neue Vorvermeidungsposition eingestellt. Die Vermeidungsposition wird durch das unter Bezugnahme auf 28 beschriebene Verfahren berechnet.
-
Zur Berechnung der Bewegungsbahn durch das vorstehend beschriebene Verfahren in einem kleinen Raum zum Bewegungsziel RP kann der Durchgangspunkt unter Berücksichtigung des Erfassungsfehlers des Sensors 30 (der Kamera 32b und der Laserentfernungsscanner 33a und 33b) unter Umständen nicht mit dem eingestellten Rand erzeugt werden. In diesem Fall wird in der Ausführungsform, wie in 32 und 33 dargestellt, das Objekt OBJ durch die Kraftsteuerung gegen die Wand 14W des Behälters 14b, der ein Bewegungsziel ist, oder gegen die Seitenfläche des zuvor platzierten Objekts OBJs gedrückt, um den Erfassungsfehler zu eliminieren, um zumindest einen Teil der Bewegungsbahn zum Bewegungsziel RP ohne eingestellten Rand zu berechnen. In 32 und 33 überschneidet sich die zweite Region 100, die für das zuvor platzierte Objekt OBJs eingestellt wurde, teilweise mit der dritten Region 102 (erste Kontrollregion 102a), die für die Wand 14W eingestellt wurde. Infolgedessen kann sich, wie in 32 dargestellt, die Hand 22, die das Objekt OBJ greift, nicht dem Bewegungsziel RP nähern. In einem solchen Fall gibt der Bahnrechner 56 der ersten Steuerregion 102a den Vorrang und behandelt die überlappende Region als die erste Steuerregion 102a. Das heißt, wie in 33 dargestellt, wird das Objekt OBJ gegen die Wand 14W des Behälters 14b in Richtung des Pfeils D gedrückt, also im wesentlichen orthogonal zur Wand 14W unter der ersten Andrücksteuerung der Kraftsteuerung, und das Objekt OBJ durchläuft die zweite Region 100 (erste Steuerregion 102a) entlang der Bewegungsbahn R. Um sich in diesem Fall unter der Kraftsteuerung in der zweiten Region 100 (erste Steuerregion 102a) zu bewegen, verhält sich die Hand 22 zumindest in der ersten Andrücksteuerung und erfüllt die erste Andrückbedingung, beispielsweise mit der Bewegungsgeschwindigkeit eines gegebenen Schwellenwertes oder weniger durch die Andrückkraft eines gegebenen Schwellenwertes oder weniger, zum Zeitpunkt des Durchlaufs durch die erste Steuerregion 102a der dritten Region 102. Dadurch wird verhindert, dass das Objekt OBJ eine durch die Andrücksteuerung verursachte externe Kraft mehr als nötig aufnimmt. Konkret wird wie in der zweiten Region die Hand 22 grundsätzlich daran gehindert oder verboten, die erste Steuerregion 102a zu durchlaufen, in der die Andrücksteuerung durchgeführt wird, und in die erste Steuerregion 102a dürfen das Objekt OBJ und die Hand 22 ausnahmsweise nur unter der Andrücksteuerung durchlaufen. In einem solchen Fall kann, wenn es eine überlappende Region zwischen der zweiten Region 100 und der ersten Steuerregion 102a gibt, der ersten Steuerregion 102a Priorität eingeräumt und auf die erste Steuerregion 102a eingestellt werden, um die Bahn der mit der Andrücksteuerung betriebenen Hand 22 zu erzeugen.
-
34 zeigt ein beispielhaftes Verfahren zur Entscheidung über die Andrückrichtung in der Andrücksteuerung in der ersten Steuerregion 102a der dritten Region 102. Zunächst erzeugt der Bahnrechner 56 eine Region mit Durchlaufbeschränkung, wobei der Rand in X-Richtung (S200) ignoriert wird. Nach erfolgreicher Berechnung der Ausweichposition durch Ignorieren des Randes in X-Richtung (Ja bei S202) setzt der Bahnrechner 56 die X-Richtung auf die Andrückrichtung (S204) und beendet das Verfahren vorübergehend. Bei S202 erzeugt der Bahnrechner 56, nachdem die Berechnung der Ausweichposition fehlgeschlagen ist (Nein bei S202), eine Region mit Durchlaufbeschränkung, wobei der Rand in Y-Richtung ignoriert wird (S206). Nach erfolgreicher Berechnung der Ausweichposition durch Ignorieren des Randes in Y-Richtung (Ja bei S208), setzt der Bahnrechner 56 die Y-Richtung auf die Andrückrichtung (S210) und beendet das Verfahren vorübergehend.
-
Nachdem die Berechnung der Ausweichposition bei S208 fehlgeschlagen ist (Nein bei S208), erzeugt der Bahnrechner 56 eine Region mit Durchlaufbeschränkung, wobei die Ränder in X- und Y-Richtung ignoriert werden (S212). Nachdem die Berechnung der Ausweichposition durch Ignorieren der Ränder in X- und Y-Richtung (Ja bei S214) erfolgreich war, setzt der Bahnrechner 56 die X- und Y-Richtung auf Andrückrichtungen (S216) und beendet das Verfahren vorübergehend. Nachdem die Berechnung der Ausweichposition bei S214 fehlgeschlagen ist (Nein bei S214), schließt der Bahnrechner 56 das Bewegungsziel RP, an dem das Objekt OBJ platziert werden soll, von den Standortkandidaten für die Freigabe des Objekts OBJ in S218 aus. In diesem Fall setzt der Bahnrechner 56 das Bewegungsziel RP an einer anderen Position und berechnet die Bewegungsbahn des Objekts OBJ dazu neu.
-
Um die Region mit Durchlaufbeschränkung (zweite Region 100) unter Ignorierung des Randes in X- oder Y-Richtung zu erzeugen, kann die Gleichung δx = σx = 0 oder δy = σy = 0 zum Zeitpunkt der Einstellung der zweiten Region 100 aufgestellt werden, die unter Bezugnahme auf 12 bis 23 beschrieben wird. Im Falle des Andrückens des Objekts nur in X-Richtung als Beispiel wird die Position und Pose der erzeugten durchlaufbebeschränkten Region (zweite Region 100), für die δx = σx = 0 gilt, als TOTETKeepoutPressx,i (i = 1, ..., n) und ihre Größe als TOTESKeepoutPressx,i definiert. Unter Bezugnahme auf 35 wird im Folgenden ein spezifischer Arbeitsablauf zur Erzeugung der Durchgangspunkte in der Andrücksteuerung beschrieben.
-
Wie in der Zeichnung auf der linken Seite von
35 dargestellt, sucht der Bahnrechner 56 zunächst nach einer möglichen Andrückposition PP auf der Höhe der Fingerspitze TCP in der Vorvermeidungsposition, die der Punkt Pb ist. Um nach einer Andrückfläche zu suchen, setzt der Bahnrechner 56 beide Richtungsränder auf Null, also δ
x = σ
x = δ
y = σ
y = δ
z = σ
z = 0, wenn die zweite Region 100, die mit Bezug auf
12 bis
23 beschrieben wird, eingestellt wird. Durch Ignorieren der Ränder kann der Bahnrechner 56 eine Region erzeugen, in der die Hand 22 oder das gegriffene Objekt OBJ tatsächlich das zuvor platzierte Objekt OBJs oder die Wand 14W des Behälters 14b als Bewegungsziel berührt. Die auf diese Weise erzeugte Region wird als Kontaktregion bezeichnet. Die Position und Pose dieser Region ist definiert als
TOTET
Contact,i (i = 1, ..., n) , und ihre Größe ist definiert als
TOTES
Contact,i. Wenn das Objekt nur in X-Richtung gedrückt wird, kann die X-Koordinate
TOTE T
Contactx,j (j = 1, ..., 2n) einer zur X-Achse senkrechten Seite zwischen den Seiten der Kontaktregion durch den folgenden Ausdruck 24 berechnet werden:
-
Aus den berechneten X-Koordinaten wird die X-Koordinate einer Ebene, die in einer Region mit den gleichen Y- und Z-Koordinaten wie die Vorvermeidungsposition Pb (= TOTEtRAP[0] enthalten ist, extrahiert und mit den Y- und Z-Koordinaten von TOTEtRAP[0] kombiniert, um sie auf eine mögliche Andrückposition PP (= TOTETPressX,i) einzustellen.
-
Anschließend sucht der Bahnrechner 56, wie in der mittleren Zeichnung von 35 dargestellt, die mögliche Andrückposition PP in einer Höhe ph zur Interferenzprüfung neben der Höhe der Fingerspitze TCP in der Vorvermeidungsposition Pb. Wie in 26 dargestellt, sind die Höhen ph in der Höhenliste für die Interferenzprüfung in aufsteigender Reihenfolge aufgeführt. Das heißt, wenn die Interferenzprüfhöhe ph, bei der die Vorvermeidungsposition Pb berechnet wird, als TOTE ZCheck,i definiert ist, ist die nächsthöhere Höhe ph als TOTEZCheck,i+1 definiert. Diese Position wird als Referenz zu der möglichen Pressposition (= TOTEtPressx,i) nach dem gleichen Verfahren wie in der Zeichnung auf der linken Seite von 35 hinzugefügt.
-
Aus den gefundenen möglichen Andrückpositionen PP = TOTEtPressX,i in der linken und mittleren Zeichnung von 35 extrahiert der Bahnrechner 56 einen Satz von zwei Positionen mit gleichen X- und Y-Koordinaten und unterschiedlichen Z-Koordinaten, der als Andrückfläche PT definiert ist. Wenn zwei oder mehr Andrückflächen PT extrahiert werden, wird eine Fläche, die der Vorvermeidungsposition Pb (= TOTEtRAP[0] ) am nächsten liegt, als Andrückfläche PT gewählt. Das obere Ende der ausgewählten Andrückfläche PT wird als TOTETPressX+ und das untere Ende als TOTEtpressX- definiert.
-
Wie in der Zeichnung auf der rechten Seite von 35 dargestellt, setzt der Bahnrechner 56 als nächstes, wie in der Zeichnung auf der rechten Seite von 35 dargestellt, eine Andrück-Bereitschaftsposition Pr, eine Andrück-Startposition Pstart und eine Andrück-Endposition Pend entlang der ausgewählten Andrückfläche PT und fügt sie zu den Durchgangspunkten der sich bewegenden Bahn R hinzu.
-
In der Andrück-Startposition Pstart drückt die Hand 22 bis zum Erreichen eines Kraft-Sollwertes weiter, und die Andrück-Startposition kann auf das obere Ende TOTEtPressX+ der in der mittleren Zeichnung von 35 berechneten Andrückfläche eingestellt werden. Die Andrück-Endposition Pend stellt eine Zielposition dar, zu der sich die Hand 22 von der Andrück-Startposition Pstart aus bewegt, während sie weiter drückt, und kann auf das untere Ende TOTEtPressX- der in der Mittelzeichnung von 35 berechneten Andrückfläche eingestellt werden.
-
Die Andrück-Bereitschaftsposition Pr befindet sich mit einem Rand von der Andrückfläche entfernt, damit die Hand 22 sich zur Andrück-Startposition Pstart bewegen kann. Die X-Richtung der Andrück-Bereitschaftsposition Pr kann von der Andrück-Startposition Pstart in Richtung der Vorvermeidungsposition Pb (=
TOTEt
RAP[0]) verlaufen. Deren Z-Richtung kann um den Rand vertikal nach oben versetzt werden. In diesem Fall kann die Andrück-Bereitschaftsposition Pr =
TOTEt
PressXApp durch Ausdruck 25 berechnet werden:
wobei
TOTEX
PressMargin eine positive Randwerte in X-Richtung darstellt und
TOTEZ
PressMargin eine positive Randwerte in Z-Richtung darstellt.
-
Wenn die Fläche der Andrückfläche PT gleich oder kleiner als ein gegebener Schwellenwert in Bezug auf die Andrückfläche des Objekts OBJ ist, also wenn die Kontaktfläche zwischen der Andrückfläche des Objekts OBJ und der Andrückfläche des Hindernisses kleiner als ein Kontaktschwellenwert ist, wird die Andrücksteuerung (Kraftsteuerung) nicht durchgeführt. In diesem Fall kann die Hand 22 während des Andrückens aufgrund einer unzureichenden Kontaktfläche die Greifpose des Objekts OBJ verändern, oder das Objekt OBJ kann beschädigt oder verformt werden, wenn es mit externer Kraft angedrückt wird. In einem solchen Fall ändert der Bahnrechner 56 das Bewegungsziel RP und berechnet die Bewegungsbahn R neu, um das Andrücken nicht gewaltsam zu steuern.
-
Im Folgenden wird ein Beispiel für die Erzeugung der Durchgangspunkte auf der Bewegungsbahn des Objekts OJB oder Hand 22 beschrieben, nachdem der Regioneinsteller 55 die Region in dem wie vorstehend konfigurierten Objekthandhabungssystem 1 oder der Objekthandhabungsvorrichtung unter Bezugnahme auf das Flussdiagramm in 36 eingestellt hat. 37 ist ein beispielhaftes und schematisches Erklärungsdiagramm, das die Positionen der erzeugten Durchgangspunkte auf der Bewegungsbahn veranschaulicht. 37 ist eine Kombination eines Teils der vorstehenden Zeichnungen zum besseren Verständnis der Erzeugung der Durchgangspunkte. Der Einfachheit halber werden in 37 nur die zweite Region 100 und die erste Steuerregion 102a der dritten Region 102 dargestellt.
-
Zunächst berechnet der Regioneinsteller 55 die durchlaufbeschränkte Region für den Fingerspitzen-TCP, also die zweite Region 100 (S300). Wie in (a) von 37 dargestellt, erfasst der Regioneinsteller 55 beispielsweise die Form des Behälters 14b, die Position der Wand 14W, die Position, Größe und Abmessungen des zuvor pßlatzierten Objekts OBJs im Behälter 14b basierend auf der Statusinformation, die auf Bildern basiert, die von der Kamera 32b erzeugt und beispielsweise vom Bildprozessor 52 erfasst wurden. Der Regioneinsteller 55 berechnet dann die zweite Region 100 und die erste Steuerregion 102a der dritten Region 102 gemäß den unter Bezugnahme auf 12 bis 23 beschriebenen Verfahren. Der Regioneinsteller 55 berechnet oder stellt die dritte Region 102 einschließlich der ersten Steuerregion 102a und der zweiten Steuerregion 102b und die erste Region 104 zusammen mit der zweiten Region 100 ein.
-
Anschließend stellt der Bahnrechner 56 in (b) von 37 die schräg nach oben versetzte Position vom Bewegungsziel RP als Anfangsdurchlaufpunkt RAP[0] der erzeugten Bewegungsbahn R ein, wie unter Bezugnahme auf 27 (S302) beschrieben. Der Bahnrechner 56 berechnet die Höhenliste für die Interferenzprüfung, wie unter Bezugnahme auf 26 (S304) beschrieben.
-
Der Bahnrechner 56 führt wiederholt den folgenden Betrieb durch, um die Durchgangspunkte nacheinander festzusetzen. Das bedeutet, dass der Bahnrechner 56 nacheinander die Durchgangspunkte nach den unter Bezugnahme auf 27 bis 35 beschriebenen Verfahren bestimmt. Zunächst berechnet der Bahnrechner 56, wie in (c) von 37 dargestellt, eine lineare Bahn vom anfänglich eingestellten Durchgangspunkt RAP[0] in Richtung direkt darüber (S306) und bestimmt, ob ein Teil der linearen Bahn in das Gebiet mit Durchlaufbeschränkung (zweite Region 100) einbezogen ist (S308). Nach der Bestimmung, dass ein Teil der linearen Bahn in der Region mit Durchlaufbeschränkung (zweite Region 100) enthalten ist (Ja bei S308), wie in (d) von 37 dargestellt, berechnet der Bahnrechner 56 die Durchgangspunkte zur Umgehung der Region mit Durchlaufbeschränkung (zweite Region 100) gemäß dem vorstehend unter Bezugnahme auf 28 (S310) beschriebenen Verfahren. (d) von 37 illustriert den nächsten berechneten Durchgangspunkt.
-
Nachdem es nicht gelungen ist, neue Durchgangspunkte (Nr. bei S312) zu berechnen, berechnet der Bahnrechner 56 die Umgehung der Durchgangspunkte in der Drucksteuerung (S314), wie unter Bezugnahme auf 32 und 33 beschrieben. Nach erfolgreicher Berechnung der Durchgangspunkte bei S312 (Ja bei S312) oder der Berechnung der Umgehung von Durchgangspunkten bei S314 addiert der Bahnrechner 56 die berechneten Durchgangspunkte in RAP[ ] von oben nach unten, wie in (d) von 37 beschrieben (S316). Beispielsweise führt der Bahnrechner 56 die Nummerierung der Durchgangspunkte so durch, dass der jüngste Durchgangspunkt auf RAP[0] eingestellt wird. Der Bahnrechner 56 prüft dann die Interferenz, um herauszufinden, ob die Bewegungsbahn R einschließlich des neuesten Durchgangspunkts die zweite Region 100 (S318) interferiert, und kehrt zu S306 zurück, um nach dem nächsten Durchgangspunkt zu suchen, (e) von 37 zeigt ein Beispiel dafür, dass die Bahn vom neuesten Durchgangspunkt RAP[0] in Richtung direkt darüber, die berechnet wird, um den nächsten Durchgangspunkt zu suchen, die zweite Region 100 interferiert, was eine Berechnung der Umgehung des Durchgangspunkts erfordert.
-
(f) von 37 veranschaulicht eine jüngste berechnete Umgehung des Durchgangspunktes RAP[0]. Der Bahnrechner 56 wiederholt die Verarbeitung von S306, um den nächsten Durchgangspunkt zu berechnen. Nachdem festgestellt wurde, dass ein Teil der linearen Bahn in Richtung direkt darüber nicht in der Region mit Durchlaufbeschränkung (zweite Region 100) bei S308 (Nein bei S308) enthalten ist, beendet der Bahnrechner 56 vorübergehend das Verfahren. Das heißt, es gibt keine interferierende zweite Region 100, die bei der Erstellung der Bewegungsbahn R gefunden wurde. In diesem Fall wird, wie in (f) von 37 dargestellt, zum Beispiel die Unterkante des zuvor platzierten Objekts OBJs auf das Bewegungsziel RP eingestellt. Der anfänglich eingestellte Durchgangspunkt in (b) von 37 ist RAP[3]. Der nächste berechnete Durchgangspunkt ist RAP[2]. Der nächste berechnete Durchgangspunkt ist RAP[1], und der neueste Durchgangspunkt ist RAP[0]. Das heißt, die Hand 22, die das Objekt OBJ greift, nähert sich dem Behälter 14b von oben durch die Durchgangspunkte RAP[0], RAP[1], RAP[2] und RAP[3], um entlang der erstellten Bewegungsbahn R schnell am Bewegungsziel RP anzukommen und das Objekt OBJ zu platzieren, ohne mit dem Hindernis zu interferieren.
-
Obwohl im Flussdiagramm in 36 nicht dargestellt, stellt der Bahnrechner 56, nachdem er bei der Berechnung der Umgehung über den Punkt in der Andrücksteuerung bei S314 versagt hat, fest, dass das Objekt OBJ nicht zum ursprünglich festgelegten Bewegungsziel RP bewegt oder an diesem platziert werden kann, und generiert die Bewegungsbahn R zu einem anderen Bewegungsziel RP, wobei er dem Flussdiagramm folgt.
-
Im vorstehenden Beispiel wird die zweite Region 100 auf die Oberseite der Objekt OBJs eingestellt. Wenn die Objekte jedoch übereinander platziert werden können, kann die Oberseite des zuvor platzierten Objekts OBJs auf eine andere Region eingestellt werden, die sich von der zweiten Region 100 unterscheidet, um die Bewegungsbahn R zu erzeugen, die eine Stapelplatzierung ermöglicht. Der Bahnrechner 56 kann die einzustellende Region in Abhängigkeit von einer Platzierungsbedingung am Bewegungsziel RP entsprechend ändern.
-
Wie vorstehend beschrieben, umfasst das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung der Ausführungsform die Hand 22, Informationserfasser wie den Bildprozessor 52 und den Signalprozessor 53, den Regioneinsteller 55, den Bahnrechner 56 und die Robotersteuerung 57 (Bewegungssteuerung). Die Hand 22 kann das Objekt OBJ greifen. Die Informationserfasser wie der Bildprozessor 52 und der Signalprozessor 53 erfassen mindestens die Objektinformation, die das von der Hand 22 gegriffene Objekt OBJ darstellt, und die Statusinformation, die die Anfangsposition HP und das Bewegungsziel RP des Objekts OBJ darstellt. Der Regioneinsteller 55 stellt die erste Region 104, die zweite Region 100 und die dritte Region 102 in Übereinstimmung mit der Objektinformation und der Statusinformation ein. In der ersten Region 104 darf sich die Hand 22, die das Objekt OBJ greift, bewegen, ohne durch das Hindernis (den Behälter 14b oder das zuvor platzierte Objekt OBJs) eingeschränkt zu werden, das sich in dem Raum zwischen der Anfangsposition HP und dem Bewegungsziel RP befindet. In der zweiten Region 100 wird die Hand 22 durch das Vorhandensein des Hindernisses in ihrer Bewegung eingeschränkt. Die dritte Region 102 ist zumindest teilweise unterhalb der zweiten Region 100 eingestellt, und in der dritten Region 102 wird die Hand 22 unter der Kraftsteuerung betrieben. Der Bahnrechner 56 berechnet die Bewegungsbahn R, entlang der das Objekt OBJ von der Anfangsposition HP zum Bewegungsziel RP bewegt wird, unter Bezugnahme auf die erste Region 104, die zweite Region 100 und die dritte Region 102. Die Robotersteuerung 57 steuert den Manipulator 20, um die Hand 22, die das Objekt OBJ greift, entlang der Bewegungsbahn R zu bewegen.
-
Wie vorstehend konfiguriert, kann das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung eine Kollision mit dem Hindernis vermeiden, die andernfalls zu einer Beschädigung der Hand 22 oder des von der Hand 22 gegriffenen Objekts OBJ führen würde, und die Bewegungsbahn R für einen kleinen Raum erzeugen, um das Objekt OBJ effizient und sicher zu bewegen. Das heißt, das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung kann die Packdichte der Objekte OBJ im Behälter 14b leicht maximieren und so die Transportkosten reduzieren. Darüber hinaus kann das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung das Objekt OBJ unter Verwendung der ersten Region 104 mit einer höheren Geschwindigkeit bewegen und das Objekt OBJ sicher bewegen, ohne mit der zweiten Region 100 zu interferieren, unter Verwendung der dritten Region 102, wodurch die Transfer- oder Platzierungseffizienz (Transferzyklus) des Objekts OBJ verbessert wird.
-
Als zweite Region 100 kann der Regioneinsteller 55 des Objekthandhabungssystems 1 oder der Objekthandhabungsvorrichtung die zweite Region 100 einstellen, in der die Hand 22 daran gehindert wird, sich von oben nach unten dem Hindernis zu nähern, und die erste Steuerregion 102a mit dem kleineren Rand als die zweite Region 100 in Bezug auf das Hindernis. Die erste Steuerregion 102a wird entlang des Hindernisses unterhalb der zweiten Region 100 eingestellt, und darin wird die Hand 22 daran gehindert, sich dem Hindernis von der seitlichen Richtung her zu nähern. Dank dieser Konfiguration kann die zweite Region 100 leicht in Übereinstimmung mit dem Objekt OBJ oder der Bedienung der Hand 22 eingestellt werden.
-
Der Regioneinsteller 55 des Objekthandhabungssystems 1 oder der Objekthandhabungsvorrichtung kann die zweite Steuerregion 102b neben der ersten Steuerregion 102a auf der gegenüberliegenden Seite des Hindernisses einstellen. Dank dieser Konfiguration kann die zweite Steuerregion 102b leicht eingestellt werden, so dass die Hand 22 angemessen unter der Andrücksteuerung in der ersten Steuerregion 102a der dritten Region 102 arbeiten kann.
-
Als Kraftsteuerung kann das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung die erste Andrücksteuerung unter der ersten Andrückbedingung durchführen, um das Objekt OBJ im wesentlichen orthogonal gegen die Oberfläche des Hindernisses zu drücken, wenn die Hand 22 die erste Steuerregion 102a entlang der vom Bahnrechner 56 berechneten Bewegungsbahn R durchlaufen soll. In diesem Fall kann das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung eine weitere Bewegungsbahn R erzeugen, entlang der das Objekt OBJ bewegt werden kann, ohne beschädigt zu werden, nachdem die Erzeugung der Bewegungsbahn aufgrund der zweiten Region 100 fehlgeschlagen ist.
-
Als Kraftsteuerung kann das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung unter der zweiten Andrückbedingung die zweite Andrücksteuerung in der ersten Steuerregion 102a durchführen, um das Objekt OBJ gegen den Rand einer Platzierungsregion einschließlich des Bewegungsziels RP zu drücken, um das Objekt OBJ darin entlang der vom Bahnrechner 56 berechneten Bewegungsbahn R zu positionieren. Dank dieser Konfiguration kann das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung das Objekt OBJ in engen Kontakt mit der Wand 14W des Behälters 14b oder dem zuvor platzierten Objekt OBJs bringen. Ferner kann verhindert werden, dass das Objekt OBJ oder die Hand 22 beschädigt wird.
-
Als Kraftsteuerung kann das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung die Abweisungssteuerung über die Hand 22 ausführen, die das Objekt OBJ in Kontakt mit dem Hindernis in der zweiten Steuerregion 102b entlang der Bewegungsbahn R greift, um die Hand 22 so zu steuern, dass sie das Objekt OBJ abweisend von der Oberfläche des Hindernisses entfernt und durch dieses hindurch bewegt. In diesem Fall kann das Objekthandhabungssystem 1 oder die Objekthandhabungsvorrichtung den Messfehler im Sensor 30, falls er auftritt, eliminieren und verhindern, dass das Objekt OBJ und die Hand 22 mit der Wand 14W oder der Seitenfläche des Objekts OBJs kollidieren und beschädigt werden.
-
Die Ausführungsformen haben ein Beispiel für die Unterteilung der dritten Region 102 in die erste Steuerregion 102a und die zweite Steuerregion 102b beschrieben, jedoch darf die dritte Region 102 nicht in die erste Steuerregion 102a und die zweite Steuerregion 102b unterteilt werden, sondern muss als eine Region festgelegt werden. In diesem Fall wird in der dritten Region 102, in der die Kraftsteuerung durchgeführt wird, entweder die Andrücksteuerung oder die Abweisungssteuerung der Kraftsteuerung durchgeführt. Alternativ kann in der gesamten dritten Region 102 eine Kombination der Andrücksteuerung und der Abweisungssteuerung durchgeführt werden, so dass die Andrücksteuerung und die Abweisungssteuerung in Übereinstimmung mit einem erfassten Wert beispielsweise des Kraftsensors 31 geschaltet werden.
-
Bei der ersten Andrücksteuerung kann der Bahnrechner 56 des Objekthandhabungssystems 1 oder der Objekthandhabungsvorrichtung nicht die Kraftsteuerung durchführen, sondern das Bewegungsziel RP ändern und die Bewegungsbahn R neu berechnen, wenn die Kontaktfläche zwischen der Andrückfläche des Objekts OBJ und der Andrückfläche des Hindernisses kleiner als ein Kontaktschwellenwert ist. Aufgrund einer unzureichenden Kontaktfläche kann die Hand 22, die das Objekt OBJ greift, ihre Greifpose ändern, oder das Objekt OBJ kann eine externe Kraft erhalten und beschädigt oder verformt werden. In Anbetracht dessen ändert der Bahnrechner 56 das Bewegungsziel RP und berechnet die Bewegungsbahn R neu, um die Andrücksteuerung nicht gewaltsam durchzuführen.
-
Das Objekthandhabungsverfahren der Ausführungsform umfasst die Erfassung mindestens der Objektinformation, die das mit der Hand 22 gegriffene Objekt OBJ darstellt, und der Statusinformation, die die Anfangsposition HP und das Bewegungsziel RP des Objekts OBJ darstellt. Das Objekthandhabungsverfahren umfasst ferner, wenn sich die Hand 22, die das Objekt OBJ greift, von der Anfangsposition HP zum Bewegungsziel RP bewegt, das Einstellen der ersten Region 104, in dem die Hand 22 sich bewegen darf, ohne durch das im Raum zwischen der Anfangsposition HP und dem Bewegungsziel RP vorhandene Hindernis eingeschränkt zu sein, der zweiten Region 100, in dem die Hand 22 aufgrund des Vorhandenseins des Hindernisses in ihrer Bewegung eingeschränkt ist, und der dritten Region 102, in dem die Hand 22 unter der Kraftsteuerung betrieben wird, in Übereinstimmung mit der Objektinformation und der Statusinformation. Das Objekthandhabungsverfahren umfasst auch die Berechnung der Bewegungsbahn R, entlang der das Objekt OBJ von der Anfangsposition HP zum Bewegungsziel RP unter Bezugnahme auf die erste Region 104, die zweite Region 100 und die dritte Region 102 bewegt wird. Das Objekthandhabungsverfahren umfasst ferner die Bewegung der Hand 22, die das Objekt OBJ entlang der Bewegungsbahn R greift.
-
Nach einem solchen Verfahren kann die Bewegungsbahn R in einem kleinen Raum erzeugt werden, während eine Kollision mit dem Hindernis vermieden wird, die andernfalls die Hand 22 oder das von der Hand 22 gegriffene Objekt OBJ beschädigen würde, wodurch es möglich wird, das Objekt OBJ effizient und sicher zu bewegen. Dies kann leicht zu einer Maximierung der Packdichte der Objekte OBJ im Behälter 14b führen, wodurch die Transportkosten gesenkt werden können. Darüber hinaus kann die Hand 22 unter Verwendung der ersten Region 104 mit einer höheren Geschwindigkeit bewegt und unter Verwendung der dritten Region 102 sicher bewegt werden, ohne die zweite Region 100 zu interferieren, was eine Verbesserung der Bewegungs- und Platzierungseffizienz (Transferzyklus) der Objekte OBJ ermöglicht.
-
Ein Handhabungsprogramm, das von der Objekthandhabungsvorrichtung der Ausführungsform ausgeführt wird, wird aufgezeichnet und in einem installierbaren oder ausführbaren Dateiformat in einer Halbleiterspeichervorrichtung, wie beispielsweise einer CD-ROM, einem USB-Speicher und einer SSD, oder auf einem computerlesbaren Aufzeichnungsmedium, wie beispielsweise einer Digital Versatile Disc (DVD), bereitgestellt.
-
Das Handhabungsprogramm, das von der Objektbehandlungsvorrichtung der Ausführungsform ausgeführt wird, kann in einem Computer gespeichert und bereitgestellt werden, der mit einem Netzwerk wie dem Internet verbunden ist, indem es über das Netzwerk heruntergeladen wird. Das von der Objektbehandlungsvorrichtung der Ausführungsform ausgeführte Handhabungsprogramm kann über ein Netzwerk wie das Internet zur Verfügung gestellt oder verteilt werden. Darüber hinaus kann das Handhabungsprogramm, das von der Objektbehandlungsvorrichtung entsprechend der Ausführungsform ausgeführt wird, in ein ROM aufgenommen werden.
-
Es wurden zwar bestimmte Ausführungsformen beschrieben, diese Ausführungsformen wurden jedoch nur beispielhaft dargestellt und sind nicht dazu bestimmt, den Umfang der Erfindungen einzuschränken. In der Tat können die hier beschriebenen neuen Ausführungsformen in einer Vielzahl von anderen Formen ausgeführt werden; darüber hinaus können verschiedene Auslassungen, Ersetzungen und Änderungen in der Form der hier beschriebenen Ausführungsformen vorgenommen werden, ohne von der Erfindungen abzuweichen. Die begleitenden Ansprüche sollen solche Formen oder Änderungen abdecken, die in den Anwendungsbereich der Erfindungen fallen würden.