-
Die Erfindung betrifft eine Robotersteuerung, die die Funktion der Einstellung einer Zone (im Folgenden als Störzone bezeichnet) vorgibt, auf die ein Roboter störend einwirken kann.
-
Im Produktionsraum einer Herstellungsstätte ist, wenn ein Roboter zum Zuführen von Werkstücken zu einer Werkzeugmaschine oder zum Entfernen von fertigen Produkten nach der maschinellen Bearbeitung von der Werkzeugmaschine verwendet wird, der Roboter nahe der Werkzeugmaschine angeordnet, und eine Sicherheitsumzäunung ist auch um den Roboter herum angeordnet. In diesem Fall betreibt tatsächlich der Bediener den Roboter, beispielsweise mittels eines mit einer Robotersteuerung verbundenen Programmierhandgeräts (teach pendant), um dem Roboter einen Arbeitsvorgang einer Aufgabe beizubringen, der es z. B. nicht zulässt, dass Arme oder Hände des Roboters über die Sicherheitsumzäunung hinausreichen. Der Bediener erzeugt ein Betriebsprogramm für den Roboter über eine derartige Lehraufgabe oder Offline-Programmierung und speichert es in der Robotersteuerung.
-
Der Roboter selbst kann möglicherweise die Information von um den Roboter herum platzierten Gegenständen leider nicht erkennen, d. h. dass die Sicherheitsumzäunung oder Peripheriegeräte, wie z. B. Bandförderer, um den Roboter herum angeordnet sind. Daher kann der Roboter während einer Lehraufgabe des Bedieners oder während der Ausführung des Betriebsprogramms für den Roboter irgendein Peripheriegerät oder dergleichen aufgrund eines Bedienfehlers des Benutzers oder eines Programmfehlers stören und somit das Peripheriegerät oder den Roboter beschädigen. Als Resultat hiervon bleibt die Produktion bis zur Wiederherstellung des beschädigten Peripheriegeräts oder Roboters angehalten und die Produktivität sinkt dann signifikant.
-
Den Umständen entsprechend wird in der Robotersteuerung ein Bereich vorgegeben, in dem der Roboter arbeiten kann (im Folgenden als Betriebsbereich bezeichnet), und wenn der Roboter vom eingestellten Betriebsbereich abweicht, wird der Roboter angehalten, um ein gegenseitiges Stören des Roboters und der Peripheriegeräte zu verhindern. Ein Verfahren dieser Art (im Folgenden als Verfahren des technischen Hintergrunds Nr. 1 bezeichnet) ist z. B. in
JP 2013-136 123 A offenbart.
-
Ein weiteres Verfahren wird praktiziert, bei dem am Roboter ein Sensor angebracht ist, der Hindernisse erkennt, und wenn der Sensor bei der Ausführung des Betriebsprogramms durch den Roboter ein Hindernis erkennt, bleibt der Roboter bis zur Entfernung des Hindernisses angehalten. Ein Verfahren dieser Art (im Folgenden als Verfahren des technischen Hintergrunds Nr. 2 bezeichnet) ist z. B. in
JP 2003-136466 A offenbart.
-
Beim Verfahren des technischen Hintergrunds Nr. 1 kann der Bediener jedoch vorzugsweise entsprechend der Positionsinformation der Peripheriegeräte einen Betriebsbereich für den Roboter im Voraus in der Robotersteuerung eingeben. Da der Bediener im Allgemeinen eine Position des Roboters misst und sie in der Robotersteuerung speichert, ist dies in diesem Fall aufwändig. Bei der Vorgabe eines Betriebsbereichs für den Roboter wird tendenziell zur Sicherheit ein relativ großer Spielraum oder dergleichen eingestellt. Dies stellt ein Problem dar, wenn der Roboter aufgrund des Spielraums anhält, obwohl der Roboter noch weit von den Hindernissen entfernt zu sein scheint. Insbesondere wenn der Roboter eingesetzt wird, um einer Werkzeugmaschine Werkstücke zuzuführen oder Fertigprodukte nach der maschinellen Bearbeitung von der Werkzeugmaschine zu entfernen, sind Peripheriegeräte oft dicht angeordnet, sodass das oben erwähnte Problem zu Tage tritt.
-
Wenn der Bediener oder die Bedienerin die Anordnung der Peripheriegeräte ändert, kann er oder sie vorzugsweise wieder einen Betriebsbereich für den Roboter entsprechend vorgeben, und dies wird wahrscheinlich aufwändig sein.
-
Dagegen tritt beim Verfahren des technischen Hintergrunds Nr. 2, da in der Robotersteuerung kein Betriebsbereich für den Roboter im Voraus eingegeben werden kann, kein Problem wie vorangehend beschrieben auf. Da ein Sensor, der Hindernisse erkennt, vorzugsweise für jeden Roboter installiert werden kann, steigen die Kosten beim Verfahren des technischen Hintergrunds Nr. 2 jedoch enorm.
-
DE 10 2015 013 161 A1 beschreibt eine Vorrichtung zum Einstellen einer Störzone, die eine 3D-Kamera umfasst, welche von der Umgebung eines Roboters ein Kamerabild erstellt. Dem Roboter und/oder einem Hindernis wird dabei eine spezifische Farbe zugeordnet. Auf der Grundlage dieses Kamerabildes wird eine 3D-Karte erstellt. Anhand der Farbe wird bestimmt, welche Punkte dem Roboter bzw. dem Hindernis zugeordnet sind und hiervon ausgehend eine Störzone bestimmt.
-
DE 10 2014 102 943 A1 beschreibt eine Vorrichtung zum Erkennen einer Kiste, die von einem Roboter gehandhabt werden soll. Diese Vorrichtung enthält eine Punktwolkenkamera, die Bilddaten ausgibt, die zweidimensionale Farbdaten und dreidimensionale Tiefendaten umfassen. In der Punktwolke werden mehrere zweidimensionale Liniensegmente und dreidimensionale Liniensegmente identifiziert. Ausgehend von diesen Liniensegmenten werden mit Bilderkennungverfahren Kandidaten-Kisten in dem Bild identifiziert. Unter den identifizierten Kandidaten - Kisten wird anhand der Eingabekriterien die Zielkiste identifiziert.
-
EP 0 380 513 B1 beschreibt ein Steuergerät für einen Roboterarm, das eine elektronische Kamera aufweist, welche mehrere Ansichten von Objekten oder Charakteristika eines Arbeitsraums aufnimmt. Die von der Kamera generierten Bilder werden in Bereiche unterteilt, die jeweils im Wesentlichen gleichförmig sind. Hieraus wird eine Niveaulinienkarte erstellt, welche die Ränder der Objekte oder Charakteristika darstellt. Hiervon ausgehend wird ein dreidimensionales internes Modell des Arbeitsraumes erstellt, das für die Planung einer Sequenz von Arbeitsschritten des Roboterarms verwendet wird. Die Ausführung dieser Sequenz durch den Roboterarm wird unterbrochen, wenn ein Arbeitsschritt in einem festgelegten Maß von dem geplanten Arbeitsschritt abweicht.
-
US 2014/0025203 A1 beschreibt ein Kollisionsdetektionssystem, das bei einem Roboter verwendet werden kann, bei dem Bilder von Objekten aus verschiedenen Blickrichtungen aufgenommen und ausgewertet werden. Bei der Bildauswertung wird der Koordinatenraum in Würfel zerlegt und anhand einer Karte von Tiefenwerten wird bestimmt, in welchen dieser Würfel zumindest ein Teil der Oberfläche des Objekts liegt. Zur Feststellung einer Kollision zweier Objekte wird bestimmt, ob sich Würfel, in denen jeweils zumindest ein Teil der Oberfläche eines der beiden Objekte liegt, ganz oder teilweise überlappen.
-
JP 2015-062991 A beschreibt ein Verfahren zum Bestimmen eines Einlernpunkts eines Roboters. Dabei wird anhand von CAD (Computer Aided Design) - Daten in einem virtuellen Raum eine Aktion eines Roboters durchgeführt und bestimmt, ob dem Roboter ein Hindernis im Weg steht. Ist dies der Fall, wird eine Position und eine Ausrichtung des Roboters gesucht, in der dies nicht der Fall ist, und der Einlernpunkt wird entsprechend neu festgelegt.
-
JP 2014-161950 A beschreibt ein Robotersystem, bei dem die Position eines Werkstücks, zu dem ein Endeffektor bewegt werden soll, in dem Koordinatensystem des Roboters erfasst wird. Die Verlagerung des Endeffektors zu dem Werkstück hin wird auf der Grundlage einer ersten und zweiten räumlichen Beziehung zwischen dem Endeffektor und dem Werkstück bestimmt.
-
In Anbetracht der vorstehend beschriebenen Situation ist es eine Aufgabe der Lehre, eine Robotersteuerung bereitzustellen, die automatisch einen Betriebsbereich eines Roboters vorgeben kann, in dem der Roboter und Hindernisse wie Peripheriegeräte einander nicht stören.
-
Gemäß einem Aspekt ist eine Robotersteuerung konfiguriert, um einen Betrieb eines Roboters zu steuern, die aufweist: einen Tiefenerfassungsabschnitt, konfiguriert zum Erfassen einer Gruppe von Tiefendaten, die Tiefen von einem vorbestimmten Abschnitt des Roboters zu einer Mehrzahl von Punkten auf einer Oberfläche eines in einem Bereich um den Roboter herum angeordneten Objekts wiedergeben; einen Roboterpositionserfassungsabschnitt, konfiguriert zum Erfassen von dreidimensionaler Positionsinformation des vorbestimmten Abschnitts; einen Tiefen-Abbildungsgenerator, konfiguriert zum Erzeugen von Tiefen-Abbildungsinformation, die dreidimensionale Positionsinformation der Mehrzahl von Punkten in Bezug auf eine Installationsposition des Roboters als Ursprung enthält, wobei die Gruppe von Tiefendaten und die dreidimensionale Positionsinformation des vorbestimmten Abschnitts verwendet werden; und einen Störzonen-Einstellabschnitt, konfiguriert zum Schätzen eines vom Objekt belegten Bereichs aus der Tiefen-Abbildungsinformation, und um den Bereich als Störzone für den Roboter vorzugeben.
-
In Anbetracht der vorstehend beschriebenen Situation ist es möglich, automatisch einen Betriebsbereich eines Roboters festzulegen, in dem der Roboter und ein Hindernis wie ein Peripheriegerät einander nicht stören.
-
Die vorstehend beschriebenen und weitere Aufgaben, Merkmale und Vorteile der Erfindung werden anhand der detaillierten Beschreibung von den beigefügten Zeichnungen dargestellten Ausführungsformen der Offenbarung besser ersichtlich werden, die Folgendes zeigen:
- 1 ist ein funktionelles Blockdiagramm zur Erläuterung einer Funktion einer Robotersteuerung gemäß einer Ausführungsform;
- 2 ist ein schematisches Diagramm mit der Darstellung eines Störzonen-Einstellungsablaufs gemäß einer Ausführungsform; und
- 3 ist ein schematisches Diagramm mit der Darstellung eines Störzonen-Einstellungsablaufs gemäß einer weiteren Ausführungsform.
-
Ausführungsformen der Erfindung werden nachstehend unter Bezugnahme auf die Zeichnungen beschrieben. In den Zeichnungen, auf die verwiesen wird, sind ähnlichen Komponenten oder funktionellen Teilen die gleichen Kennziffern zugeordnet. Um das Verständnis zu erleichtern, wurden die Maßstabsverhältnisse der Zeichnungen entsprechend geändert. Jede in den Zeichnungen dargestellte Ausführungsform ist lediglich ein Ausführungsbeispiel der Erfindung, und die Erfindung ist nicht auf die dargestellte Ausführungsform beschränkt.
-
1 ist ein funktionelles Blockdiagramm zur Erläuterung einer Funktion einer Robotersteuerung gemäß einer Ausführungsform. Eine Robotersteuerung 10 gemäß dieser Ausführungsform ist eine Vorrichtung, die konfiguriert ist zum Steuern des Betriebs eines Roboters 11, und schließt einen Tiefenerfassungsabschnitt 13, einen Roboterpositionserfassungsabschnitt 14, einen Tiefen-Abbildungsgenerator 15 und einen Störzonen-Einstellabschnitt 16 ein.
-
Beispiele des Roboters 11 schließen beliebige Robotertypen ein, wie z. B. einen vertikalen Gelenkroboter, einen Bewegungsmechanismus-Roboter, einen Parallelverbindungsroboter und einen Direktantriebsmechanismus-Roboter.
-
Der Tiefenerfassungsabschnitt 13 ist konfiguriert zum Erfassen einer Gruppe von Tiefendaten, die die Tiefen von einem vorbestimmten Abschnitt des Roboters 11 zu einer Mehrzahl von Punkten auf einer Oberfläche eines Objekts (nicht dargestellt) wiedergeben, das in der Umgebung des Roboters 11 angeordnet ist. Das Objekt ist ein in der Umgebung des Roboters 11 angeordneter Gegenstand, z. B. ein Peripheriegerät wie ein Förderband oder eine Sicherheitsumzäunung.
-
Die Gruppe von Tiefendaten ist ein Satz von Tiefendaten für jeden der Mehrzahl von Punkten, die in einer Matrix mit Bezug auf die Oberfläche des Objekts, das in dem Bereich um den Roboter 11 herum angeordnet ist, definiert sind. Eine derartige Gruppe von Tiefendaten kann unter Verwendung eines bereits bekannten Tiefensensors erfasst werden, der eine Tiefe misst.
-
Ein derartiger Tiefensensor 12 ist vorzugsweise an dem vorbestimmten Abschnitt des Roboters 11 nur dann angebracht, wenn eine Störzone für den Roboter 11 eingestellt wird. Der vorbestimmte Abschnitt kann ein distales Ende des Roboters 11 sein, wie z. B. ein Handgelenksflansch, an dem ein Werkzeug oder eine Greifhand an einem distalen Ende eines Roboterarms abnehmbar angebracht sind.
-
Der Roboterpositionserfassungsabschnitt 14 ist konfiguriert, um dreidimensionale Positionsinformation des vorbestimmten Abschnitts des vorstehend erwähnten Roboters 11 zu erfassen. Die dreidimensionale Positionsinformation bezieht sich auf die dreidimensionale Positionsinformation des vorbestimmten Abschnitts des Roboters 11 in einem realen Raum, in dem der Roboter 11 installiert ist.
-
Falls der Roboter 11 beispielsweise ein Gelenkroboter ist, schließt jedes Gelenk des Gelenkroboters eine durch einen Servomotor (nicht dargestellt) angetriebene Antriebswelle zur Rotation der Roboterarme ein. Der Roboterpositionserfassungsabschnitt 14 kann die Rotationsposition (Winkel) jeder Antriebswelle des Roboters 11 von einem Positionsdetektor wie z. B. einem Impulscodierer lesen, der in der Antriebswelle angeordnet ist, und er kann die Position des distalen Endes jedes Roboterarms aus diesen Drehwinkeln und den bekannten vorgegebenen Abmessungen des Roboterarms erfassen.
-
Die so erfasste Positionsinformation des vorbestimmten Abschnitts des Roboters 11, z. B. die Positionsinformation des distalen Endes des Roboterarms, ist die in einem Koordinatensystem definierte dreidimensionale Positionsinformation (im Folgenden als „Roboter-Koordinatensystem“ bezeichnet), das die Installationsposition des Roboters 11 als Ursprung hat. Wenn der Roboter 11 in einem Herstellungsbetrieb installiert wird, ist die vorstehend erwähnte Installationsposition eine Position eines Abschnitts, in dem der Roboter 11 auf dem Hallenboden befestigt ist.
-
Der Tiefen-Abbildungsgenerator 15 ist konfiguriert, um Tiefen-Abbildungsinformation unter Verwendung der Gruppe von Tiefendaten und der dreidimensionalen Information des Roboters 11 entsprechend der Beschreibung weiter oben zu erzeugen. Die Tiefen-Abbildungsinformation schließt dreidimensionale Positionsinformation einer Mehrzahl von Punkten ein, die in einer Matrix auf der Oberfläche des oben erwähnten Objekts definiert sind. Die dreidimensionale Positionsinformation wird erhalten durch Umwandlung von Tiefendaten an jeder Stelle der Oberfläche des durch den Tiefensensor 12 erfassten Objekts in eine dreidimensionale Position mit Bezug auf die Installationsposition des Roboters 11 als Ursprung. Anders ausgedrückt werden die Tiefendaten an jeder Stelle auf der Oberfläche des Objekts, die in einem Koordinatensystem (im Folgenden als „Sensor-Koordinatensystem“ bezeichnet) mit dem Tiefensensor 12 als Ursprung definiert sind, durch Koordinatentransformation in dreidimensionale Positionsinformation umgewandelt, die in dem Roboter-Koordinatensystem definiert ist.
-
Der Störzonen-Einstellabschnitt 16 ist konfiguriert, um die Tiefen-Abbildungsinformation zu erhalten, den durch das in der Umgebung des Roboters 11 angeordnete Objekt belegten Bereich aus der Tiefen-Abbildungsinformation zu gewinnen und diesen Bereich als Störzone für den Roboter 11 vorzugeben. Der Störzonen-Einstellabschnitt 16 kann einen anderen Bereich als den so gewonnenen Bereich als betriebsfähigen Bereich für den Roboter 11 vorgeben.
-
Die Robotersteuerung 10 gemäß dieser Ausführungsform schließt vorzugsweise ferner z. B. einen Speicher 17 und einen Befehlsteil 18 ein.
-
Der Speicher 17 speichert die wie vorstehend beschriebene, vorgegebene Störzone, ein Betriebsprogramm für den Roboter 11 und Information (im Folgenden bezeichnet als „Sensor-Anbringungspositionsinformation“) über die Position am Roboter 11, an der der Tiefensensor 12 angebracht ist.
-
Der Befehlsteil 18 kann zum Tiefenerfassungsabschnitt 13 oder zum Roboter 11 einen Startbefehl ausgeben, um mit dem Einstellen der Störzone für den Roboter 11 zu beginnen. Weiter ist der Befehlsteil 18 konfiguriert, um basierend auf dem Betriebsprogramm für den Roboter 11 unter Berücksichtigung der vorgegebenen Störzone einen Betriebsbefehl zu dem Roboter 11 zu senden.
-
Ist der Roboter 11 beispielsweise ein Gelenkroboter, ist die Robotersteuerung 10 konfiguriert, um eine Regelung eines Servomotors (nicht dargestellt) zum Antreiben jeder Welle des Gelenkroboters durchzuführen, um die Arme des Gelenkroboters zu betreiben.
-
Der Befehlsteil 18 erzeugt einen Befehl zum Betrieb des Roboters 11 entsprechend dem vorgefertigten Betriebsprogramm und gibt ihn zum Servomotor aus. Alternativ dazu gibt der Befehlsteil 18 zum Servomotor einen Betriebsbefehl von einem Programmierhandgerät aus, das mit der Robotersteuerung 10 verbunden ist. Wenn in diesem Fall ein Positionsbefehlswert ausgegeben wird, der es dem Roboter 11 ermöglichen kann, in die vorgegebene Störzone einzutreten, gibt der Befehlsteil 18 einen Befehl aus, um den Servomotor anzuhalten oder zu verlangsamen.
-
Die Robotersteuerung 10 kann aus einem Computersystem, das z. B. einen Speicher, eine CPU (einen Hauptprozessor) einschließt, und einen Kommunikationsteil bestehen, die jeweils über einen Bus miteinander verbunden sind. Der Speicher kann z. B. ein ROM (Festwertspeicher) oder ein RAM (Direktzugriffsspeicher) sein. Weiter können die Funktionen und Vorgänge des Tiefenerfassungsabschnitts 13, des Roboterpositionserfassungsabschnitts 14, des Tiefen-Abbildungsgenerators 15 und des Störzonen-Einstellabschnitts 16 der Robotersteuerung 10 durch Ausführen des im ROM gespeicherten Programms durch die CPU erreicht werden.
-
2 ist ein Diagramm, das schematisch eine Ausführungsform eines Störzonen-Einstellungsablaufs zur Ausführung durch die Robotersteuerung 10 darstellt. Man beachte, dass bei dieser Ausführungsform zu Beginn der Vorgabe der Störzone für den Roboter 11 der Tiefensensor 12 am distalen Ende des Roboters 11 angebracht ist.
-
Wenn die Einstellung der Störzone begonnen hat, erfasst in Schritt 11 der Tiefenerfassungsabschnitt 13 durch den Tiefensensor 12 die Gruppe der Tiefendaten aus der Mehrzahl von Punkten auf der Oberfläche des in der Umgebung des Roboters 11 angeordneten Objekts.
-
Die Gruppe von Tiefendaten ist ein Satz von Tiefendaten für jeden in einer Matrix auf der Oberfläche des Objekts definierten Punkt, und sie kann als Bild (sogenanntes Tiefenbild) 31 erfasst werden, das beispielsweise in 2 wiedergegeben ist. Die Z-Richtung des Tiefenbilds 31 (eine Richtung senkrecht zur Zeichnung) gibt die Tiefe an, und Punkte, die das Tiefenbild 31 bilden, sind in Abhängigkeit von ihrer Tiefe in verschiedenen Schattierungen angezeigt. Man beachte, dass 2 zum leichteren Verständnis schematisch die Punkte, die das Tiefenbild 31 bilden, durch weiße, schwarze, gepunktete und gestrichelte Kreise angibt. Beispielsweise ist die Tiefe in weißen Kreisen geringer als in schwarzen Kreisen.
-
Weiter erfasst bei diesem Schritt 11 der Roboterpositionserfassungsabschnitt 14 die Positionsinformation des Roboters 11. Die zu diesem Zeitpunkt erfasste Positionsinformation des Roboters 11 ist die Positionsinformation des distalen Endes des Roboters 11, an dem der Tiefensensor 12 angebracht ist. Diese Positionsinformation des distalen Endes wird in einem Zustand erfasst, in dem der Roboter 11 angehalten ist.
-
Bei Schritt 12 erzeugt der Tiefen-Abbildungsgenerator 15 Tiefen-Abbildungsinformation unter Verwendung der Gruppe von Tiefendaten und der entsprechend der vorstehenden Beschreibung erfassten Positionsinformation des Roboters 11. Insbesondere erzeugt der Tiefen-Abbildungsgenerator 15 die Tiefen-Abbildungsinformation durch Umwandeln der Tiefendaten an jeder Stelle auf der Oberfläche des im Sensor-Koordinatensystem definierten Objekts mittels Koordinatentransformation in im Roboter-Koordinatensystem definierte dreidimensionale Positionsinformation. Die Tiefen-Abbildungsinformation wird vorzugsweise als Tiefenbild ähnlich der Gruppe von Tiefendaten erfasst. In einem in 2 dargestellten Tiefenbild 32 sind die Punkte, die das Tiefenbild 32 bilden, zum leichteren Verständnis schematisch angegeben. Beispielsweise ist die Tiefe in weißen Kreisen geringer als in schwarzen Kreisen.
-
Beim Erzeugen der Tiefen-Abbildungsinformation entsprechend der vorstehenden Beschreibung werden vorzugsweise die Information (im Folgenden als „Sensor-Anbringungspositionsinformation“ bezeichnet), die sich auf die Position bezieht, an der der Tiefensensor 12 am distalen Ende des Roboters 11 angebracht ist, und die SollAbmessungen des Tiefensensors 12 berücksichtigt. Wenn der Tiefensensor 12 mit einer bestimmten äußeren Form an der Außenseite des distalen Endes des Roboters 11 angebracht ist, kann ein Referenzpunkt beim Messen einer Tiefe durch den Tiefensensor 12 möglicherweise nicht mit der bei Schritt 11 erfassten Position des distalen Endes des Roboters 11 übereinstimmen. Daher wird die relative Position zwischen dem Mess-Referenzpunkt des Tiefensensors 12 und dem distalen Ende des Roboters 11 vorzugsweise aus der Sensor-Anbringungspositionsinformation erhalten, und die Tiefen-Abbildungsinformation wird entsprechend der Beschreibung weiter oben unter Berücksichtigung dieser relativen Position sowie der Gruppe von Tiefendaten und der Positionsinformation des Roboters 11 erzeugt. Die Sensor-Anbringungspositionsinformation ist ein bekannter Wert und kann daher im Speicher 17 der Robotersteuerung 10 vorgespeichert werden. Der Tiefen-Abbildungsgenerator 15 liest sie vorzugsweise aus dem Speicher 17 aus, um sie zum Erzeugen der Tiefen-Abbildungsinformation zu verwenden.
-
Bei Schritt 13 gibt der Störzonen-Einstellabschnitt 16 die Störzone für den Roboter 11 basierend auf der Tiefen-Abbildungsinformation vor. Zu diesem Zeitpunkt wird der durch das in der Umgebung des Roboters 11 angeordnete Objekt belegte Bereich aus der Tiefen-Abbildungsinformation abgerufen und als Störzone für den Roboter 11 vorgegeben.
-
Bei diesem Schritt 13 wird die Form des in der Umgebung des Roboters 11 angeordneten Objekts vorzugsweise aus der Tiefen-Abbildungsinformation geschätzt; diese Form wird in eine vereinfachte Form umgewandelt, und der durch die vereinfachte Form belegte Bereich wird als Störzone für den Roboter 11 vorgegeben. Beispielsweise wird eine in 2 dargestellte zylindrische Störzone 33 eingestellt. Selbstverständlich ist die Form der Störzone 33 nicht auf eine derartige zylindrische Form beschränkt.
-
Durch den vorstehend erwähnten Verarbeitungsablauf wird die Einstellung der Störzone beendet. Die Information der vorgegebenen Störzone wird im Speicher 17 der Robotersteuerung 10 gespeichert. Die gespeicherte Störzoneninformation wird verwendet, um den Bewegungsbereich des Roboters 11 bei der Ausführung des Betriebsprogramms oder der Lehraufgabe für den Roboter 11 einzuschränken.
-
Gemäß der Robotersteuerung 10 einer Ausführungsform entsprechend der Beschreibung weiter oben werden die folgenden Effekte erzielt.
-
Der Tiefensensor 12 kann an einem vorbestimmten Abschnitt des Roboters 11 angebracht werden, z. B. am distalen Ende des Roboterarms, wie z. B. einem Handgelenksflansch, und die Gruppe der Tiefendaten kann vom Tiefensensor 12 an der Oberfläche des in der Umgebung des Roboters 11 angeordneten Objekts 20 erfasst werden. Weiter kann die Tiefen-Abbildungsinformation erzeugt werden durch Umwandlung der vom Tiefensensor 12 erfassten Gruppe von Tiefendaten in dreidimensionale Positionsinformation über die Installationsposition des Roboters 11 als Ursprung, basierend auf der dreidimensionalen Positionsinformation des vorbestimmten Abschnitts des Roboters 11, an der der Tiefensensor 12 angebracht ist. Die Störzone für den Roboter 11 kann basierend auf dieser Tiefen-Abbildungsinformation eingestellt werden. Somit ist es möglich, automatisch den Bewegungsbereich des Roboters 11 einzustellen, in dem der Roboter 11 und ein Hindernis wie z. B. ein Peripheriegerät einander nicht stören.
-
Da die erzeugte Tiefen-Abbildungsinformation eine dreidimensionale Information ist, die bei Betrachtung vom Roboter 11 der Form eines tatsächlichen Objekts wie z. B. eines Peripheriegeräts entspricht, kann die Form der aus derartiger Tiefen-Abbildungsinformation vorgegebenen Störzone vom Bediener leicht vorhergesehen werden. Demzufolge wird der Lernvorgang des Roboters erleichtert.
-
Wenn die Position des Peripheriegeräts geändert wird, kann die Störzone durch erneutes Ausführen des Programms der Störzonen-Einstellsequenz zurückgesetzt werden, sodass der Arbeitsaufwand des Bedieners reduziert werden kann.
-
Da der Tiefensensor 12 nur beim Zurücksetzen der Störzone eingesetzt wird, ist dafür ein einziger Tiefensensor 12 ausreichend. Somit kann der Tiefensensor 12 wiederholt verwendet werden, und die Kosten lassen sich deshalb reduzieren.
-
Die vorstehend erwähnte Störzonen-Einstellsequenz durch die Robotersteuerung 10 gemäß einer Ausführungsform wird ausgeführt, während der Roboter 11 in einer Stellung angehalten ist. Falls das Objekt, das den Roboter 11 stören kann, jedoch in einem weiten Bereich um den Roboter 11 herum vorliegt, ist es schwierig, den durch ein derartiges Objekt belegten Bereich mittels einer nur einmaligen Störzonen-Einstellsequenz vorzugeben. Falls die Form des in der Umgebung des Roboters 11 angeordneten Objekts weiter eine Kombination komplexer Formen ist, wird es ebenfalls schwierig, die Störzone mittels einer nur einmaligen Störzonen-Einstellsequenz vorzugeben. In derartigen Fällen wird die vorstehend erwähnte Störzonen-Einstellsequenz vorzugsweise mehrmals wiederholt ausgeführt.
-
3 ist ein Diagramm, das schematisch ein Beispiel darstellt, wobei die Störzonen-Einstellsequenz mehrmals wiederholt ausgeführt wird.
-
Zunächst hält die Robotersteuerung 10 den Roboter 11 in einer Roboterstellung an (im Folgenden als „erste Stellung“ bezeichnet), die durch durchgehende Linien in 3 angegeben ist. Anschließend erfasst die Robotersteuerung 10 über den Tiefensensor 12, der am distalen Ende des in der ersten Stellung angeordneten Roboters 11 angebracht ist, eine Gruppe von Tiefendaten (z. B. ein Tiefenbild 31A) vom Tiefensensor 12 in Bezug auf eine Mehrzahl von Punkten auf der Oberfläche des Objekts 20. Weiter erzeugt die Robotersteuerung 10 Tiefen-Abbildungsinformation (z. B. ein Tiefenbild 32A) an der ersten Stellung unter Verwendung der Information des Tiefenbilds 31A, der Positionsinformation des distalen Endes des Roboters 11 an der ersten Stellung und der Sensor-Anbringungspositionsinformation.
-
Nach dem Erzeugen der Tiefen-Abbildungsinformation an der ersten Stellung bewegt die Robotersteuerung 10 den Roboter 11 und hält ihn an einer anderen Roboterstellung an (im Folgenden als „zweite Stellung“ bezeichnet), die in 3 durch doppelt gepunktete Linien angezeigt ist. Anschließend erfasst die Robotersteuerung 10 über den Tiefensensor 12, der am distalen Ende des in der zweiten Stellung angeordneten Roboters 11 angebracht ist, eine Gruppe von Tiefendaten (z. B. ein Tiefenbild 31B) vom Tiefensensor 12 in Bezug auf eine Mehrzahl von Punkten auf der Oberfläche des Objekts 20. Weiter erzeugt die Robotersteuerung 10 Tiefen-Abbildungsinformation (z. B. ein Tiefenbild 32B) an der zweiten Stellung unter Verwendung der Information des Tiefenbilds 31B, der Positionsinformation des distalen Endes des Roboters 11 an der zweiten Stellung und der Sensor-Anbringungspositionsinformation.
-
Weiter überlagert der Tiefen-Abbildungsgenerator 15 die Information der Tiefenbilder 32A und 32B, die für die jeweiligen Positionen des Roboters 11, erzeugt wurden, und erzeugt ein Tiefenbild 34, das das gesamte Objekt 20 einschließt, das über einen weiten Bereich vorliegt. Selbstverständlich ist die Anzahl der Vorgänge zur Änderung der Stellung des Roboters 11 nicht auf zweimal beschränkt. Danach gibt der Störzonen-Einstellabschnitt 16 basierend auf dem erzeugten Tiefenbild 34 einen Bereich als Störzone für den Roboter 11 vor.
-
Durch den vorstehend erwähnten Vorgang ist es möglich, den durch das Objekt, das über einen weiten Bereich vorliegt, belegten Bereich als Störzone vorzugeben. Insbesondere ist es nicht notwendig, eine Mehrzahl von Tiefensensoren um das Objekt 20 herum zu installieren. Daher ist es möglich, die Position des Hindernisses einzustellen, indem nur ein einziger Tiefensensor 12 am Roboter 11 angebracht wird, wobei die Stellung des Roboters 11 geändert und die für die jeweiligen Stellungen erzeugte Tiefen-Abbildungsinformation in eine einzelne Tiefen-Abbildungsinformation integriert wird.
-
Während die Erfindung vorstehend mit Bezug auf typische Ausführungsformen beschrieben wurde, versteht es sich für Fachleute auf diesem Gebiet, dass bei jeder der vorstehend beschriebenen Ausführungsformen Änderungen und verschiedene weitere Abänderungen, Auslassungen und Hinzufügungen vorgenommen werden können, ohne vom Schutzumfang der Erfindung abzuweichen.
-
Um das Ziel der Erfindung zu erreichen, können die folgenden Aspekte der Erfindung und ihre Wirkungen bereitgestellt werden.
-
Gemäß einem ersten Aspekt umfasst die Robotersteuerung 10, die konfiguriert ist, um den Betrieb des Roboters 11 zu steuern, beispielsweise den Tiefenerfassungsabschnitt 13, der konfiguriert ist zum Erfassen einer Gruppe von Tiefendaten, die Tiefen von einem vorbestimmten Abschnitt des Roboters 11 in Bezug auf eine Mehrzahl von Punkten auf der Oberfläche des um den Roboter 11 herum angeordneten Objekts 20 wiedergeben; sowie einen Roboterpositionserfassungsabschnitt 14, der konfiguriert ist zum Erfassen von dreidimensionaler Positionsinformation des vorbestimmten Abschnitts des Roboters 11; einen Tiefen-Abbildungsgenerator 15, der konfiguriert ist zum Erzeugen von Tiefen-Abbildungsinformation einschließlich dreidimensionaler Positionsinformation aus der Mehrzahl von Punkten mit Bezug auf eine Installationsposition des Roboters als Ursprung, wobei die Gruppe von Tiefendaten und die dreidimensionale Positionsinformation des vorbestimmten Abschnitts verwendet werden; und den Störzonen-Einstellabschnitt 16, der konfiguriert ist zum Schätzen des vom Objekt 20 belegten Bereichs aus der Tiefen-Abbildungsinformation und zur Einstellung dieses Bereichs als Störzone für den Roboter 11.
-
Gemäß dem ersten Aspekt ist es möglich, automatisch einen Bewegungsbereich eines Roboters vorzugeben, in dem der Roboter und ein Hindernis wie ein Peripheriegerät einander nicht stören.
-
Gemäß einem zweiten Aspekt ist der Störzonen-Einstellabschnitt 16 konfiguriert, um die Form des Objekts 20 aus der Tiefen-Abbildungsinformation zu schätzen, diese Form in eine vereinfachte Form umzuwandeln und den durch die vereinfachte Form belegten Bereich als Störzone für den Roboter 11 vorzugeben.
-
Da gemäß dem zweiten Aspekt die Form des als Störzone für den Roboter 11 vorzugebenden Objekts 20 in eine vereinfachte Form umgewandelt wird, kann die im Speicher gespeicherte Datenmenge reduziert werden. Weiter kann die Verarbeitungsgeschwindigkeit, mit der der Roboter 11 basierend auf der Störzone betrieben wird, zusammen mit einer Verringerung der Störgeräusche verbessert werden.
-
Gemäß einem dritten Aspekt schließt die Robotersteuerung 10 gemäß dem ersten oder zweiten Aspekt weiter den Tiefensensor 12 ein, der am vorbestimmten Abschnitt des Roboters 11 abnehmbar angebracht ist und die Tiefe misst.
-
Gemäß dem dritten Aspekt kann bei der Anbringung des Tiefensensors 12 am Roboter 11 eine Störzonen-Einstellsequenz nur dann ausgeführt werden, wenn eine Störzone für den Roboter 11 vorgegeben ist.
-
Gemäß einem vierten Aspekt ist die Robotersteuerung 10 gemäß dem dritten Aspekt konfiguriert, um jedes Mal, wenn die Robotersteuerung 10 den Roboter 11 betreibt, um die Stellung des Roboters 11, an dem der Tiefensensor 12 angebracht ist, zu ändern, die Tiefen-Abbildungsinformation zu erzeugen, wobei der Störzonen-Einstellabschnitt 16 konfiguriert ist, um aus der für jede Stellung des Roboters 11 erzeugten Tiefen-Abbildungsinformation eine Reichweite der Störzone für den Roboter 11 vorzugeben.
-
Gemäß dem vierten Aspekt kann der durch das Objekt 20, das über einen weiten Bereich vorliegt, belegte Bereich als Störzone für den Roboter 11 vorgegeben werden.