DE112021001603T5 - Folgeroboter - Google Patents

Folgeroboter Download PDF

Info

Publication number
DE112021001603T5
DE112021001603T5 DE112021001603.2T DE112021001603T DE112021001603T5 DE 112021001603 T5 DE112021001603 T5 DE 112021001603T5 DE 112021001603 T DE112021001603 T DE 112021001603T DE 112021001603 T5 DE112021001603 T5 DE 112021001603T5
Authority
DE
Germany
Prior art keywords
target
robot
arm
follow
movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021001603.2T
Other languages
English (en)
Inventor
Kentaro Koga
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE112021001603T5 publication Critical patent/DE112021001603T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0093Programme-controlled manipulators co-operating with conveyor means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39102Manipulator cooperating with conveyor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39529Force, torque sensor in wrist, end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40613Camera, laser scanner on end effector, hand eye manipulator, local

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

Ein Folgeroboter (10) beinhaltet einen Arm (10a), mindestens einen Sichtsensor (50), eine Merkmalswertspeichereinheit, die mindestens eine Position und die Ausrichtung eines Folgeziels betreffende erste Merkmalswerte als Zieldaten zum Bewirken, dass der an dem Arm vorgesehene Sichtsensor dem Folgeziel (102) folgt, speichert, eine Merkmalswertdetektionseinheit zum Detektieren von mindestens eine Ist-Position und eine Ist-Ausrichtung des Folgeziels betreffenden zweiten Merkmalswerten durch Verwendung eines durch den Sichtsensor erfassten Bilds, eine Bewegungsausmaßberechnungseinheit, die eine Bewegungsanweisung basierend auf Differenzen zwischen den zweiten Merkmalswerten und den ersten Merkmalswerten berechnet und die Bewegungsanweisung durch Verwendung mindestens einer Vorwärtssteuerung einstellt, eine Bewegungsanweisungseinheit, die den Arm basierend auf der Bewegungsanweisung bewegt, und eine Eingangswertspeichereinheit, die ein Signal, das erfasst wird, wenn eine bestimmte Bewegung des Folgeziels gestartet wird, und einen Eingangswert für die Vorwärtssteuerung speichert.

Description

  • [TECHNISCHES GEBIET]
  • Die vorliegende Offenbarung betrifft allgemein einen Folgeroboter.
  • [Stand der Technik]
  • In der verwandten Technik gibt es eine bekannte Fertigungsstraße, die einen Roboter, eine Fördervorrichtung, die einen Gegenstand befördert, eine entlang der Fördervorrichtung vorgesehene Schiene und eine Bewegungsvorrichtung, die den Roboter entlang der Schiene bewegt, beinhaltet (siehe zum Beispiel PTL 1).
  • Bei dieser Fertigungsstraße führt der Roboter eine Fehlerinspektion und ein Polieren des Gegenstands, wenn der Gegenstand durch die Fördervorrichtung befördert wird, durch. Darüber hinaus bewegt die Bewegungsvorrichtung, wenn die Fehlerinspektion und das Polieren durchgeführt werden, den Roboter mit der gleichen Geschwindigkeit wie die Geschwindigkeit, mit der der Gegenstand durch die Fördervorrichtung befördert wird, entlang der Schiene.
  • Darüber hinaus gibt es eine bekannte Technologie zum genauen Ausrichten der Position und Orientierung eines sich am distalen Ende befindenden Abschnitts des Roboters auf eine stationäre Zielposition (siehe zum Beispiel PTL 2).
  • [Liste der Anführungen]
  • [Patentliteratur]
    • [PTL 1] Ungeprüfte japanische Patentanmeldung, Veröffentlichungsnr. H08-72764
    • [PTL 2] Ungeprüfte japanische Patentanmeldung, Veröffentlichungsnr. 2017-170599
  • [Kurzdarstellung]
  • [Technisches Problem]
  • Bei der oben genannten Fertigungsstraße führt der Roboter lediglich die Fehlerinspektion und das Polieren durch. Beim Durchführen von Arbeiten, bei denen es zwischen dem Roboter und dem Gegenstand zu einer Behinderung kommen kann, ist es erforderlich, eine Maßnahme zum Verhindern einer Beschädigung des Roboters, der Fördervorrichtung, des Gegenstands usw. zu treffen. Es ist jedoch schwierig, eine Schadensverhinderung zu realisieren, weil sich der durch die Fördervorrichtung bewegte Gegenstand möglicherweise auf unvorhersehbare Weise bewegt, wie zum Beispiel in Vibrationen versetzt wird.
  • Daher besteht ein Erfordernis darin zu bewirken, dass ein Werkzeug eines Roboters einem Gegenstand genau folgt.
  • [Lösung des Problems]
  • Ein Aspekt der vorliegenden Offenbarung besteht in einem Folgeroboter, der Folgendes beinhaltet: einen beweglichen Arm; mindestens einen Sichtsensor, der an dem Arm vorgesehen ist; eine Merkmalswertspeichereinheit, die mindestens eine Position und eine Ausrichtung eines Folgeziels betreffende erste Merkmalswerte als Zieldaten zum Bewirken, dass der an dem Arm vorgesehene Sichtsensor dem Folgeziel folgt, speichert; eine Merkmalswertdetektionseinheit, die durch Verwendung eines durch den Sichtsensor erfassten Bilds mindestens eine Ist-Position und eine Ist-Ausrichtung des Folgeziels betreffende zweite Merkmalswerte detektiert; eine Bewegungsausmaßberechnungseinheit, die eine Bewegungsanweisung für den Arm basierend auf Differenzen zwischen den zweiten Merkmalswerten und den ersten Merkmalswerten berechnet und die die Bewegungsanweisung durch Verwendung mindestens einer Vorwärtssteuerung einstellt; eine Bewegungsanweisungseinheit, die den Arm basierend auf der Bewegungsanweisung bewegt; und eine Eingangswertspeichereinheit, die ein Signal, das erfasst wird, wenn eine bestimmte Bewegung des Folgeziels gestartet wird, und einen Eingangswert für die Vorwärtssteuerung zum Bewirken, dass der Arm einer Trajektorie des Folgeziels in der bestimmten Bewegung in Assoziation miteinander folgt, speichert, wobei die Bewegungsausmaßberechnungseinheit und die Bewegungsanweisungseinheit, während der Sichtsensor dem Folgeziel folgt, die Berechnung der Bewegungsanweisung wiederholen und den Arm basierend auf der Bewegungsanweisung bewegen, die Bewegungsanweisung Differenzen zwischen mindestens der Ist-Position und der Ist-Ausrichtung des Folgeziels, die als die zweiten Merkmalswerten dienen, und mindestens der Position und Ausrichtung des Folgeziels, die als die ersten Merkmalswerte dienen, reduzieren und eliminieren soll, und die Bewegungsausmaßberechnungseinheit die Vorwärtssteuerung basierend auf dem in der Eingangswertspeichereinheit in Assoziation mit dem Signal, das erfasst wird, wenn die bestimmte Bewegung gestartet hat, gespeicherten Eingangswert verwendet.
  • Figurenliste
    • [1] 1 ist ein Konfigurationsdiagramm, das ein Arbeitsrobotersystem, welches einen Folgeroboter gemäß einer Ausführungsform der vorliegenden Offenbarung beinhaltet, als Kontur zeigt.
    • [2] 2 ist ein Blockdiagramm einer Steuerung des Arbeitsrobotersystems in 1.
    • [3] 3 zeigt ein Beispiel für von einem Sichtsensor aufgenommene Bilddaten des Arbeitsrobotersystems in 1.
    • [4] 4 ist ein Flussdiagramm, das den Betrieb einer Steuereinheit des Arbeitsrobotersystems in 1 zeigt.
    • [5] 5 ist eine schematische perspektivische Ansicht, die ein Beispiel für eine Vorwärtssteuerungseingangswerterzeugung für eine bestimmte Bewegung eines Folgeziels des Arbeitsrobotersystems in 1 zeigt.
    • [6] 6 ist ein Flussdiagramm zur Erläuterung der Eingangswerterzeugungsverarbeitung in 5.
    • [7] 7 ist eine schematische perspektivische Ansicht, die ein Beispiel für eine Bewegung eines durch Einsetzen des durch die Eingangswerterzeugungsverarbeitung in 6 erzeugten Eingangswerts vorwärtsgesteuerten Roboters zeigt.
    • [8] 8 ist ein Flussdiagramm zum Erläutern eines Feineinstellungsverfahrens für den durch die Eingangswerterzeugungsverarbeitung in 6 erzeugten Eingangswert.
    • [9] 9 ist ein Konfigurationsdiagramm, das eine Modifikation des Arbeitsrobotersystems dieser Ausführungsform als Kontur zeigt.
    • [10] 10 ist ein Flussdiagramm zum Erläutern von Zeitkonstantenerzeugungsverarbeitung bei der Modifikation dieser Ausführungsform.
    • [11] 11 ist ein Flussdiagramm zum Erläutern eines Feineinstellungsverfahrens für die durch die Zeitkonstantenerzeugungsverarbeitung in 10 berechnete Zeitkonstante.
    • [12] 12 ist ein Blockdiagramm für ein Managementsystem, das die Steuerung dieser Ausführungsform aufweist.
    • [13] 13 ist ein Blockdiagramm eines Systems, das die Steuerung dieser Ausführungsform aufweist.
  • [Beschreibung der Ausführungsformen]
  • Ein Arbeitsrobotersystem 1 gemäß einer Ausführungsform der vorliegenden Offenbarung wird nachfolgend unter Bezugnahme auf die Zeichnungen beschrieben.
  • Wie in 1 gezeigt wird, beinhaltet das Arbeitsrobotersystem 1 dieser Ausführungsform eine Fördervorrichtung 2, die einen Gegenstand 100, der ein Arbeitsziel ist, befördert, und einen Roboter (Folgeroboter) 10, der eine vorbestimmte Arbeit an einem Arbeitszielabschnitt 101 des durch die Fördervorrichtung 2 beförderten Gegenstands 100 durchführt. Darüber hinaus beinhaltet das Arbeitsrobotersystem 1: eine Steuerung 20, die den Roboter 10 steuert; eine Detektionsvorrichtung 40, die als eine Detektionseinheit dient; und einen Sichtsensor 50, der an dem Roboter 10 befestigt ist.
  • Die Detektionsvorrichtung 40 detektiert den Gegenstand 100, der zu einer vorbestimmten Position befördert worden ist. Es ist möglich, eine beliebige Vorrichtung mit solch einer Funktion als die Detektionsrichtung 40 einzusetzen. Obgleich die Detektionsvorrichtung 40 bei dieser Ausführungsform ein fotoelektrischer Sensor ist, kann der zu der vorbestimmten Position beförderte Gegenstand 100 durch den Sichtsensor 50 detektiert werden.
  • Der Gegenstand 100 ist nicht auf eine bestimmte Art von Gegenstand beschränkt. Bei dieser Ausführungsform ist der Gegenstand 100 zum Beispiel eine Fahrzeugkarosserie. Die Fördervorrichtung 2 befördert den Gegenstand 100 durch Antreiben einiger mehrerer Rollen 3 mittels eines Motors 2a. Bei dieser Ausführungsform befördert die Fördervorrichtung 2 den Gegenstand 100 zu der rechten Seite in 1.
  • Der Arbeitszielabschnitt 101 ist ein Abschnitt des Gegenstands 100, an dem der Roboter 10 die vorbestimmte Arbeit durchführt. Bei dieser Ausführungsform bezieht sich die vorbestimmte Arbeit auf eine Arbeit, bei der der Roboter 10 eine Komponente 110 durch Verwendung einer Hand (eines Werkzeugs) 30 davon anhebt, und der Roboter 10 befestigt einen Befestigungsabschnitt 111 der Komponente 110 an dem Arbeitszielabschnitt 101. Dabei wird zum Beispiel eine sich von dem Befestigungsabschnitt 111 der Komponente 110 nach unten erstreckende Welle 111a in ein in dem Arbeitszielabschnitt 101 des Gegenstands 100 vorgesehenes Loch 101a eingepasst.
  • Der Roboter 10 befestigt den Befestigungsabschnitt 111 der Komponente 110 in dem Zustand, in dem der Gegenstand 100 durch die Fördervorrichtung 2 bewegt wird, an dem Arbeitszielabschnitt 101.
  • Obgleich der Roboter 10 nicht auf eine bestimmte Art begrenzt ist, beinhaltet der Roboter 10 dieser Ausführungsform mehrere Servomotoren 11, die jeweils mehrere bewegliche Arme 10a antreiben (siehe 2). Jeder der Servomotoren 11 weist eine Betriebspositionsdetektionsvorrichtung zum Detektieren der Betriebsposition davon auf, und ein Beispiel für die Betriebspositionsdetektionsvorrichtung ist ein Codierer. Der durch die Betriebspositionsdetektionsvorrichtung detektierte Detektionswert wird an die Steuerung 20 übermittelt.
  • Die Hand 30 ist an einem sich am distalen Ende befindenden Abschnitt des Arms 10a befestigt. Obgleich die Hand 30 bei dieser Ausführungsform die Komponente 110 durch Ergreifen der Komponente 110 durch Verwendung mehrerer Klauen stützt, ist es auch möglich, eine Hand einzusetzen, die die Komponente 110 mittels einer Magnetkraft, Luftansaugung oder dergleichen stützt.
  • Die Hand 30 beinhaltet einen Servomotor 31, der die Klauen antreibt (siehe 2). Der Servomotor 31 weist eine Betriebspositionsdetektionsvorrichtung zum Detektieren der Betriebsposition davon auf, und ein Beispiel für die Betriebspositionsdetektionsvorrichtung ist ein Codierer. Der durch die Betriebspositionsdetektionsvorrichtung detektierte Detektionswert wird an die Steuerung 20 übermittelt.
  • Als die einzelnen Servomotoren 11 und 31 können verschiedene Arten von Servomotoren, wie zum Beispiel Drehmotoren und Linearmotoren, eingesetzt werden.
  • Ein Kraftsensor 32 ist an einem sich am distalen Abschnitt des Roboters 10 befindenden Ende befestigt. Der Kraftsensor 32 misst Kräfte oder Momente zum Beispiel in einer x-Achsen-Richtung, einer y-Achsen-Richtung und einer z-Achsen-Richtung, in 3 gezeigt, sowie Kräfte oder Momente um die x-Achse, um die y-Achse und um die z-Achse.
  • Es ist ausreichend, wenn der Kraftsensor 32 die Richtung einer Kraft und den Betrag der Kraft, die auf die Hand 30 oder die von der Hand 30 ergriffene Komponente 110 wirkt, detektieren kann. Obgleich der Kraftsensor 32 bei dieser Ausführungsform zwischen dem Roboter 10 und der Hand 30 vorgesehen ist, kann der Kraftsensor 32 dementsprechend innerhalb der Hand 30 vorgesehen sein.
  • Der Sichtsensor 50 ist an dem sich am distalen Ende befindenden Abschnitt des Arms 10a befestigt. In einem Beispiel ist der Sichtsensor 50 mittels eines Rahmens 50a an einem Handgelenkflansch des Roboters 10 befestigt. Der Sichtsensor 50 ist bei dieser Ausführungsform eine zweidimensionale Kamera. Der Sichtsensor 50 erfasst bei dieser Ausführungsform nacheinander Bilddaten, wie in 3 gezeigt wird, so dass sich ein Folgeziel 102, in dem sich die Position und die Ausrichtung bezüglich des Arbeitszielabschnitts 101 nicht ändern, in einem vorbestimmten Bereich des Sichtwinkels befindet.
  • Obgleich das Folgeziel 102 bei dieser Ausführungsform ein in 3 durch Schraffur gezeigter Oberflächenabschnitt ist, ist es auch möglich, einen anderen Abschnitt einzusetzen, dessen Position und Ausrichtung sich bezüglich des Arbeitszielabschnitts 101 nicht ändern.
  • Der Sichtsensor 50 kann an einem Werkzeug, wie zum Beispiel der Hand 30, befestigt sein. Darüber hinaus kann der Sichtsensor 50 an einem anderen Abschnitt des Roboters 10 befestigt sein. Die relative Position und Ausrichtung des anderen Abschnitts ändern sich nicht bezüglich eines Werkzeugs, wie zum Beispiel der Hand 30.
  • Der Sichtsensor 50 übermittelt nacheinander die Bilddaten an die Steuerung 20. Die Bilddaten sind Daten, mit denen die Position und die Ausrichtung des Folgeziels 102 identifiziert werden können. Die Bilddaten können durch einen anderen Detektor als die Steuerung 20 verarbeitet werden, und die Positionen die Ausrichtung des Folgeziels 102 können basierend auf den verarbeiteten Daten identifiziert werden.
  • Das Folgeziel 102 ist ein Abschnitt, der eine vorbestimmte Form aufweist, ein Abschnitt, bei dem eine vorbestimmte Markierung vorgesehen ist, oder dergleichen in dem Gegenstand 100. In solch einem Fall sind die Bilddatendaten Daten, mit denen die Position und die Ausrichtung des oben genannten Abschnitts in einem Bild unterschieden werden können.
  • In einem Beispiel, in dem ein Bild als eine Basis eingesetzt wird, werden, wenn das Folgeziel 102 bezüglich des Lichtsensors 50 so angeordnet ist, dass es in Übereinstimmung mit einer Zielposition, Ausrichtung oder Größe in den Bilddaten (Detektionsbereich) angeordnet ist, die Position und Ausrichtung der an dem Arm 10a befestigten Hand 30 in der Position und in der Ausrichtung eingestellt, die zum Durchführen der vorbestimmten Arbeit an dem Gegenstand 100 erforderlich sind. In einem Beispiel, in dem die Position als eine Basis eingesetzt wird, werden die Position und die Ausrichtung der an dem Arm 10a befestigten Hand 30 und die Position und die Ausrichtung des Lichtsensors 50 mittels Kalibrierung einander zugeordnet. In diesem Fall kann die Steuerung 20 basierend auf den Bilddaten die Position und die Ausrichtung des Folgeziels 102 in dem Koordinatensystem des Roboters 10 erkennen, und die Steuerung 20 kann die an dem Arm 10a vorgesehene Hand 30 zu der zum Durchführen der vorbestimmten Arbeit erforderlichen Position und Ausrichtung bewegen.
  • Bei dieser Ausführungsform wird ein Zustand erreicht, in dem die Welle 111a des Befestigungsabschnitts 111 der Komponente 110 in das in dem Arbeitszielabschnitt 101 des Gegenstands 100 vorgesehene Loch 101a eingepasst ist.
  • Es gibt Fälle, in denen der Gegenstand 100 auf der Fördervorrichtung 2 wackelt. Zum Beispiel wackelt der Gegenstand 100 in dem Fall, in dem mehrere Rollen 3 der Fördervorrichtung 2 nicht auf einer völlig flachen Oberfläche angeordnet sind. In dem Fall, in dem der Gegenstand 100 groß ist, führt in einigen Fällen ein leichtes Wackeln am unteren Ende des Gegenstands 100 zu einem starken Wackeln des Arbeitszielabschnitts 101. Dementsprechend ist es wichtig, die Ausrichtung der an dem Arm 10a vorgesehenen Hand 30 einzustellen.
  • In einem Beispiel, in dem ein Bild als eine Basis eingesetzt wird, werden Änderungen der Position, der Ausrichtung und der Größe des Folgeziels 102 in den durch den Sichtsensor 50 erfassten Bilddaten und Änderungen der Position oder Ausrichtung des Koordinatensystems des Roboters 10 in der Steuerung 20 vorher einander zugeordnet.
  • Wie in 2 gezeigt wird, beinhaltet die Steuerung 20: eine Steuereinheit 21 mit einer CPU, einem RAM usw.; eine Anzeigevorrichtung 22; und einen Speicherabschnitt (Merkmalswertspeicherabschnitt, Eingangswertspeicherabschnitt) 23 mit einem nichtflüchtigen Speicher, einem ROM usw. Darüber hinaus beinhaltet die Steuerung 20: mehrere Servosteuerungen 24, die jeweils den Servomotoren 11 des Roboters 10 entsprechen; eine Servosteuerung 25, die dem Servomotor 31 der Hand 30 entspricht; und eine Eingabeeinheit 26, die mit der Steuerung 20 verbunden ist. In einem Beispiel ist die Eingabeeinheit 26 eine Eingabevorrichtung, wie zum Beispiel eine Bedientafel, die von einem Bediener getragen werden kann. Es gibt Fälle, in denen die Eingabeeinheit 26 drahtlos mit der Steuerung 20 kommuniziert.
  • Der Speicherabschnitt 23 speichert ein Systemprogramm 23a, und das Systemprogramm 23a führt Grundfunktionen der Steuerung 20 durch. Darüber hinaus speichert der Speicherabschnitt 23 ein Bewegungsprogramm 23b. Der Speicherabschnitt 23 speichert zusätzlich ein Folgesteuerungsprogramm (Bewegungsanweisungsmittel) 23c, ein Kraftsteuerungsprogramm 23d, ein Merkmalswertdetektionsprogramm (Merkmalswertdetektionsmittel) 23e und ein Bewegungsausmaßberechnungsprogramm 23f.
  • Darüber hinaus speichert der Speicherabschnitt (Eingangswertspeicherabschnitt) 23 Signale, die erfasst werden, wenn das Folgeziel 102 mit einer bestimmten Bewegung beginnt, und Eingangswerte für die Vorwärtssteuerung, in Assoziation miteinander.
  • Hier ist die bestimmte Bewegung des Folgeziels 102 eine nicht routinemäßige Bewegung, die erwartet wird, während die den Gegenstand 100 befördernde Fördervorrichtung 2 in Betrieb ist, und bezieht sich auf Anhalten aufgrund anderer Arbeitsschritte, Neustarten aus dem Stillstand, einen Notstopp oder dergleichen. Wenn solch eine bestimmte Bewegung beginnt, erlangt die Steuerung 20 Signale, mit denen jede bestimmte Bewegung identifiziert werden kann.
  • Die Steuereinheit 21 übermittelt basierend auf den oben genannten Programmen Bewegungsanweisungen zum Durchführen der vorbestimmten Arbeit an dem Gegenstand 100 an die jeweiligen Servosteuerungen 24 und 25. Dementsprechend führen der Roboter 10 und die Hand 30 die vorbestimmte Arbeit an dem Gegenstand 100 durch. Der Betrieb der Steuereinheit 21 wird unter Bezugnahme auf das Flussdiagramm in 4 beschrieben.
  • Wenn die Detektionsvorrichtung 40 den Gegenstand 100 detektiert (Schritt S1-1) beginnt zunächst die Steuereinheit 21 damit, Vorarbeitsbewegungsanweisungen basierend auf dem Bewegungsprogramm 23b an den Roboter 10 und die Hand 30 zu übermitteln (Schritt S1-2). Dementsprechend bringt der Roboter 10 die Welle 111a der Komponente 110, die von der Hand 30 ergriffen ist, nahe an das Loch 101a des Arbeitszielabschnitts 101. Zu diesem Zeitpunkt kann die Steuereinheit 21 Daten über die Beförderungsgeschwindigkeit der Fördervorrichtung 2, die Position des Arbeitszielabschnitts 101 in dem Gegenstand 100 oder dergleichen verwenden. Nach dem später beschriebenen Schritt S1-4 wird darüber hinaus die Welle 111a der Komponente 110 basierend auf dem Bewegungsprogramm 23b in das Loch 101a des Gegenstands 100 eingepasst. Es sei darauf hingewiesen, dass in Schritt S1-1 statt der Detektionsvorrichtung 40 der Sichtsensor 50 den Gegenstand 100 detektieren kann.
  • Infolge der in Schritt S1-2 durchgeführten Steuerung des Roboters 10 erreicht die Komponente 110 eine Vorbereitungsposition und -ausrichtung zum Durchführen der vorbestimmten Arbeit (Einpassen). Wenn das Folgeziel 102 in den Sichtwinkel (Detektionsbereich) des Sichtsensors 50 oder in einen vorbestimmten Bereich des Sichtwinkels eintritt (Schritt S1-3), beginnt die Steuereinheit 21 damit, die Steuerung basierend auf dem Folgesteuerungsprogramm 23c, dem Merkmalswertdetektionsprogramm 23e und dem Bewegungsausmaßberechnungsprogramm 23f durchzuführen (Schritt S1-4). In Schritt S1-4 wird zum Beispiel die unten beschriebene Steuerung durchgeführt. Es sei darauf hingewiesen, dass bei der unten beschriebenen Steuerung mindestens die Position und die Ausrichtung des Folgeziels 102 basierend auf den durch den Sichtsensor 50 erfassten Bilddaten detektiert werden, und basierend auf der detektierten Position und Ausrichtung bewirkt die Steuereinheit 21, dass die Position und die Ausrichtung des an dem Arm 10a befestigten Sichtsensors 50 dem Folgeziel 102 folgen. Da die Position und die Ausrichtung des Sichtsensors 50 bezüglich der Hand 30 fixiert sind, folgt hier die Hand 30 des Roboters 10 dem Gegenstand 100 so, dass das Folgeziel 102 ständig in der Zielposition und -ausrichtung in den durch den Sichtsensor 50 erfassten Bilddaten angeordnet ist.
  • Solch eine Steuerung wird zum Beispiel mittels der unten beschriebenen Steuerung realisiert.
  • In der Steuerung steuert der Speicherabschnitt 23 als erste Merkmalswerte eine Zielposition, eine Zielausrichtung und eine Zielgröße, in der das Folgeziel 102 in den Bilddaten angeordnet sein sollte. Die Zielgröße ist zum Beispiel die Größe einer Kontur in dem Fall, in dem die Kontur als ein Merkmal verwendet wird.
  • Die Steuereinheit 21 detektiert als zweite Merkmalswerte die Position, die Ausrichtung und die Größe des Folgeziels 102 in den Bilddaten, die durch den Sichtsensor 50 nacheinander erfasst werden, basierend auf dem Merkmalswertdetektionsprogramm 23e.
  • Zum Beispiel führt die Steuereinheit 21 während der Durchführung von projektiver Transformation eines in dem Speicherabschnitt 23 gespeicherten Modells des Folgeziels 102 eine Abgleichsuche zwischen dem Modell, das der projektiven Transformation ausgesetzt ist, und dem Folgeziel 102 in den Bilddaten durch und detektiert dadurch die Position und die Ausrichtung des Folgeziels 102. Das Modell kann durch Einsatz von CAD-Daten oder dergleichen geschaffen werden oder kann anhand eines tatsächlichen Ziels geschaffen werden. Da die relative Position und die relative Ausrichtung zwischen dem Arbeitszielabschnitt 101 und dem Folgeziel 102 festgelegt sind, kann die Steuereinheit 21 basierend auf der Position oder Ausrichtung des Folgeziels 102 die relative Position und die relative Ausrichtung zwischen dem sich am distalen Ende befindenden Abschnitt des Arms 10a und dem Folgeziel 102 erhalten.
  • Die Steuereinheit 21 berechnet basierend auf dem Bewegungsausmaßberechnungsprogramm 23f Bewegungsanweisungen zum Abgleichen der Position, der Ausrichtung und der Größe des Folgeziels 102 in den Bilddaten mit den ersten Merkmalswerten.
  • Die berechneten Bewegungsanweisungen dienen dem Eliminieren oder Reduzieren von Differenzen zwischen der Position, der Ausrichtung und der Größe des Folgeziels 102 in den Bilddaten und den ersten Merkmalswerten. Die berechneten Bewegungsanweisungen dienen zum Beispiel dem Ändern der Position der am Arm 10a befestigten Hand 30 in der x-Achsen-Richtung, der y-Achsen-Richtung und der z-Achsen-Richtung und zum Ändern der Ausrichtung der Hand 30 um die x-Achse, um die y-Achse und um die z-Achse.
  • Es sei darauf hingewiesen, dass bei der oben beschriebenen Steuerung die Steuereinheit 21 zusätzlich die berechneten Bewegungsanweisungen basierend auf Parametern einstellen kann, die basierend auf mechanischen Eigenschaften des Arms 10a definiert sind. Zum Beispiel beinhalten die mechanischen Eigenschaften die Steifigkeit der Gesamtheit oder eines Abschnitts des Arms 10a, die Steifigkeit der jeweiligen beweglichen Abschnitte, das Gewicht der Hand 30, das Gewicht der Komponente 110, Momente oder dergleichen, die der Arm 10a aufgrund des Gewichts der Hand 30 und der Komponente 110 erhält, usw. Darüber hinaus ändern sich das Durchbiegungsausmaß, die Richtung usw. des Arms 10a gemäß den Winkeln von Gelenken, die bewegliche Abschnitte des Arms 10a sind; daher sind Zustände der jeweiligen beweglichen Abschnitte des Arms 10a auch in den mechanischen Eigenschaften enthalten.
  • Mit anderen Worten ändern sich in dem Fall, in dem sich die Ausrichtung des Arms 10a aufgrund der Bewegungsanweisungen ändert, die Momente, die der Arm 10a aufgrund des Gewichts der Hand 30 und der Komponente 110 usw. empfängt, und die Zustände der jeweiligen beweglichen Abschnitte des Arms 10a usw. gemäß der Änderung der Ausrichtung. Aufgrund dessen ist es infolge der Einstellung der Bewegungsanweisungen unter Berücksichtigung dieser mechanischen Eigenschaften möglich, zu bewirken, dass die Hand 30 dem Gegenstand 100 genauer folgt.
  • Die Steuereinheit 21 kann eine Tendenz der Änderungen der zweiten Merkmalswerte durch Verwendung mehrerer kontinuierlicher Bilddaten erhalten. Wenn sich die Position, die Ausrichtung und die Größe des Folgeziels 102 in den durch den Sichtsensor 50 erfassten Bilddaten allmählich den ersten Merkmalswerten, die die Zieldaten sind, annähern, werden Tendenzen der Änderungen der relativen Position und der relativen Ausrichtung des Sichtsensors 50 bezüglich des Folgeziels 102 aus den mehreren kontinuierlichen Bilddaten erhalten.
  • In dem Fall, in dem es Tendenzen der Änderungen der relativen Position und der relativen Ausrichtung gibt, kann die Steuerung 21 basierend auf dem Bewegungsausmaßberechnungsprogramm 23f die Bewegungsanweisungen durch Einsatz der Vorwärtssteuerung basierend auf den Tendenzen einstellen. Zum Beispiel kann eine durchschnittliche Geschwindigkeit anhand von Änderungen der Bewegungsausmaße bestimmt werden, und die Grundgeschwindigkeit kann übermittelt werden, um als die Vorwärtssteuerung zu dienen.
  • In einem Zustand, in dem die relative Geschwindigkeit bezüglich des Ziels durch Verwendung der Vorwärtssteuerung in einem gewissen Maße konstant gehalten wird, wird es möglich, eine Regelung für einen Verschiebungsbetrag durchzuführen. Wenn die Vorwärtssteuerung nicht verwendet wird, kann es einen Zeitpunkt geben, zu dem die Bewegungsgeschwindigkeit des Roboters null erreicht, wenn die Merkmale in Bildern miteinander übereinstimmen. In diesem Fall kann es zu einer Verzögerung und Beschleunigung bei einer hohen Frequenz kommen; es ist jedoch möglich, solch eine Verzögerung und Beschleunigung durch Verwendung der Vorwärtssteuerung zu verhindern.
  • Es wird bevorzugt, wohlbekannte Filterung, Glättung oder dergleichen, wie beispielsweise ein gleitendes Mittel, auf Korrekturdaten, die der Vorwärtssteuerung unterzogen werden, anzuwenden. Wenn Änderungen der Position und der Ausrichtung des Gegenstands 100 aufgrund einer Störung, Wackeln des Gegenstands 100 aufgrund der geringen Genauigkeit der Förderervorrichtung 2, der Möglichkeit eines Überschwingens, elektrisches Rauschen usw. detektiert werden, kann die Steuereinheit 21 den Änderungen aufgrund einer Störung oder eines Wackelns aufgrund der geringen Genauigkeit der Fördererrichtung 2 begegnen, ein Überschwingen reduzieren, elektrisches Rauschen reduzieren usw.
  • Ein Eingangswert, wie zum Beispiel die Grundgeschwindigkeit, die der Vorwärtssteuerung vermittelt werden soll, kann von einem Benutzer basierend auf einem durch Verwendung eines externen Messinstruments gemessenen Wert willkürlich eingegeben werden.
  • Darüber hinaus kann ein Robotermodell geschaffen werden, in dem Verzögererdurchbiegung (Torsion) berücksichtigt wird, und Armschwingungen können durch Schätzen von Armschwingungen und Verwendung der Schätzung bei der Regelung reduziert werden.
  • Bei dieser Ausführungsform wird die Vorwärtssteuerung dadurch durchgeführt, dass ein Fall angenommen wird, in dem das Folgeziel 102 die bestimmte Bewegung durchführt, wobei es sich um einen Fall handelt, in dem es Tendenzen hinsichtlich der Änderungen der relativen Position und der relativen Ausrichtung gibt. In dem Fall, in dem das Erfassen eines Signals einer Zeit, zu der das Folgeziel 102 die bestimmte Bewegung beginnt, durchgeführt wird, wird der in dem Speicherabschnitt 23 gespeicherte Eingangswert in Assoziation mit dem Signal ausgelesen, und die Vorwärtssteuerung wird basierend auf dem Eingangswert durchgeführt.
  • Der Eingangswert für die Vorwärtssteuerung wird vorher mittels eines unten beschriebenen Verfahrens erlangt.
  • Wie in 5 gezeigt wird, wird zunächst der Sichtsensor 50, der bezüglich einer Bodenfläche fixiert ist, an der die Fördervorrichtung 2 fixiert ist, vorbereitet.
  • In diesem Zustand wird, wie in 6 gezeigt wird, das Folgeziel 102 in den Sichtwinkel des Sichtsensors 50 angeordnet, und der Sichtsensor 50 wird betrieben (Schritt S10). Als Nächstes wird die oben beschriebene bestimmte Bewegung ausgeführt (Schritt S11). Wenn zum Beispiel ein Notstopp der Fördervorrichtung 2 ausgeführt wird, erlangt die Steuerung 20 ein Notstoppsignal (bestimmtes Signal), mit dem der Notstopp identifiziert werden kann (Schritt S12).
  • Dementsprechend schwingt das Folgeziel 102 gemäß der in 5 gezeigten Trajektorie. Zum Aufzeichnen dieser Trajektorie erfasst der Sichtsensor 50 nacheinander, in kurzen Zeitintervallen, Bilddaten, die das Folgeziel 102 enthalten, und verarbeitet die erfassten Bilddaten, um die Position des Folgeziels 102 sequenziell zu detektieren (Schritt S13).
  • Somit werden Änderungen der detektierten Position des Folgeziels 102 bestimmt (Schritt S14), und in dem Fall, in dem die Positionsänderungen einen vorbestimmten Schwellenwert übersteigen, werden die Schritte von Schritt S13 wiederholt. In dem Fall, in dem die Positionsänderungen in Schritt S14 gleich dem vorbestimmten Schwellenwert oder kleiner als dieser sind, wird die Trajektorie des Folgeziels 102 anhand der auf Zeitreihenweise erlangten Positionsinformationen des Folgeziels 102 in einem Roboterkoordinatensystem berechnet (Schritt S15).
  • Basierend auf dieser Trajektorie des Folgeziels 102 werden Eingangswerte für die Vorwärtssteuerung berechnet (Schritt S16). Insbesondere werden die Eingangswerte für die Vorwärtssteuerung dahingehend berechnet, Anweisungssignale zum Abgleichen der Bewegungstrajektorie des Roboters 10 mit der Trajektorie des Folgeziels 102 zu sein, wie in 7 gezeigt.
  • Die berechneten Eingangswerte sind Anweisungssignale, die sich über eine endliche Zeitdauer ändern, und sind in Assoziation mit einem Signal, mit dem die erfasste bestimmte Bewegung identifiziert werden kann, gespeichert (Schritt S17). Ein Eingangswert für die Vorwärtssteuerung wird auf ähnliche Weise für jede der bestimmten Bewegungen, außer einem Notstopp, berechnet und in Assoziation mit einem Signal, mit dem jede der bestimmten Bewegungen identifiziert werden kann, in dem Speicherabschnitt 23 gespeichert.
  • Als Nächstes wird ein Eingangswertfeineinstellungsverfahren, das in einem Zustand durchgeführt wird, in dem der Eingangswert der Vorwärtssteuerung wie oben beschrieben gespeichert ist, beschrieben.
  • In dem Zustand, in dem der Roboter 10 betrieben wird, wie in 8 gezeigt, wird die bestimmte Bewegung des Folgeziels 102 gestartet (Schritt S20). Beim Starten der bestimmten Bewegung erlangt die Steuerung 20 das bestimmte Signal, mit dem die bestimmte Bewegung identifiziert werden kann (Schritt S21).
  • Die Steuerung 20 liest den in dem Speicherabschnitt 23 in Assoziation mit dem erlangten bestimmten Signal gespeicherten Eingangswert aus (Schritt S22) und startet die Vorwärtssteuerung, bei der dieser Eingangswert sequenziell dem Anweisungssignal in vorbestimmten feinen Zeitintervallen hinzugefügt wird (Schritt S23). Zu diesem Zeitpunkt erfasst der in dem Roboter 10 enthaltene Sichtsensor 50 ein Bild, das das Folgeziel 102 enthält (Schritt S24) und verarbeitet das erfasste Bild, um die Position des Folgeziels 102 in dem Bild zu detektieren (Schritt S25).
  • In diesem Zustand wird sequenziell bestimmt, ob sich die detektierte Position des Folgeziels 102 in einem vorbestimmten Bereich befindet (Schritt S26), und in dem Fall, in dem es eine Verschiebung über den vorbestimmten Bereich hinaus gibt, werden die Richtung der Positionsverschiebung des Folgeziels 102 und der Positionsverschiebungsbetrag in Assoziation mit der Zeit des Eingangswerts gespeichert (Schritt S27). In dem Fall, in dem die Positionsverschiebung des Folgeziels 102 innerhalb des vorbestimmten Bereichs fällt und nach dem Speichern der Positionsverschiebung wird bestimmt, ob der Eingangswert sein Ende erreicht hat (Schritt S28) und die Schritte von Schritt S25 werden wiederholt, bis der Eingangswert sein Ende erreicht hat.
  • Wenn der ausgelesene Eingangswert sein Ende erreicht hat, wird der in dem Speicherabschnitt 23 gespeicherte Eingangswert für die Vorwärtssteuerung basierend auf der gespeicherten Positionsverschiebung des Folgeziels 102 korrigiert (Schritt S29). Die Eingangswerte können durch Wiederholen der Schritte von Schritt S20 bis Schritt S29 feineingestellt werden, bis die Positionsverschiebung des Folgeziels 102 innerhalb des vorbestimmten Bereichs bezüglich der Eingangswerte über alle der Perioden fällt.
  • Wie oben beschrieben worden ist, besteht ein Vorteil darin, dass es möglich ist, zu bewirken, dass das Werkzeug 30 des Roboters 10 dem Gegenstand 100 auf präzise Weise folgt, selbst wenn eine nicht routinemäßige Bewegung der Fördervorrichtung 2 während der tatsächlichen Arbeit durch den Roboter 10 gemäß dieser Ausführungsform erfolgt. Darüber hinaus besteht ein Vorteil darin, dass in dem Fall, in dem der an dem Roboter 10 vorgesehene Sichtsensor 50 verwendet wird, beim Einstellen des Eingangswerts für die Vorwärtssteuerung die Einstellung leicht durchgeführt werden kann.
  • Darüber hinaus kann der Sichtsensor 50 getrennt von dem an dem Roboter 10 befestigten Sichtsensor 50 vorgesehen sein. In diesem Fall wird der Sichtsensor 50, der auf einer Bodenfläche installiert und daran fixiert ist, bezüglich des Koordinatensystems des Roboters 10 kalibriert. In dem Fall, in dem der an dem Roboter 10 befestigte Sichtsensor 50 verwendet wird, wird der Roboter 10 in einem ruhigen Zustand gehalten. In diesem Fall wird der Sichtsensor 50 bezüglich des Koordinatensystems des Roboters 10 kalibriert.
  • Darüber hinaus kann die Steuereinheit 21 die Detektionsergebnisse der zweiten Merkmalswerte durch Verwendung von Tendenzen bei den Änderungen der relativen Position und der relativen Ausrichtung oder dergleichen interpolieren. Selbst in dem Fall, in dem ein Erfassungszyklus der zweiten Merkmalswerte wie bei dem Bilderfassungszyklus des Sichtsensors 50 lang ist, ist es dementsprechend möglich, die zweiten Merkmalswerte zwischen Erfassungszyklen zu schätzen, um zukünftige zweite Merkmalswerte usw. als Ergebnis des Interpolierens der Detektionsergebnisse zu schätzen.
  • Bei der oben beschriebenen Steuerung bewirkt die Steuereinheit 21, dass die Hand 30 des Arms 10a dem Arbeitszielabschnitt 101 folgt. Dementsprechend werden die Position und die Ausrichtung der Welle 111a des Befestigungsabschnitts 111 der Komponente 110 und die Position und die Ausrichtung des Lochs 101a des Arbeitszielabschnitts 101 aufeinander ausgerichtet.
  • Wie oben beschrieben, werden hier die Änderungen der Position, der Ausrichtung und der Größe des Folgeziels 102 in den durch den Sichtsensor 50 erfassten Bilddaten und die Änderungen der Position und der Ausrichtung des Koordinatensystems des Roboters 10 in der Steuerung 20 miteinander assoziiert. Wenn der Sichtsensor 50 dem Folgeziel 102 folgt, bewegt sich deshalb das Koordinatensystem des Roboters 10 in der Förderrichtung der Fördervorrichtung 2, und es ist möglich, die Position und die Ausrichtung des Koordinatensystems mit der Bewegung des Gegenstands 100 aufgrund der Fördervorrichtung 2 abzugleichen.
  • In einem Zustand, in dem die Steuerung auf diese Weise durchgeführt wird, beginnt die Steuerung 21 Kraftsteuerung basierend auf dem Kraftsteuerprogramm 23d (Schritt S1-5) . Es ist möglich, wohlbekannte Kraftsteuerung als die Kraftsteuerung einzusetzen. Bei dieser Ausführungsform bewegt der Roboter 10 die Komponente 110 in einer Richtung zum Entgegenwirken der durch den Kraftsensor 32 detektierten Kraft. Die Steuereinheit 21 bestimmt das Bewegungsausmaß davon gemäß dem Detektionswert des Kraftsensors 32.
  • Zum Beispiel in einer Situation, in der die Welle 111a der von der Hand 30 ergriffenen Komponente 110 und das Loch 101a des Gegenstands 100 damit beginnen, ineinander eingepasst zu werden, bewirkt, wenn der Kraftsensor 32 eine Kraft in der der Förderrichtung der Fördervorrichtung 2 entgegengesetzten Richtung detektiert, die Steuereinheit 21, dass sich die Komponente 110 leicht in einer der Förderrichtung entgegengesetzten Richtung bewegt, um der detektierten Kraft entgegenzuwirken.
  • Wenn die zweiten Merkmalswerte, die basierend auf den durch den Sichtsensor 50 erfassten Bilddaten sequenziell detektiert werden, über einen vorbestimmten Bezugswert hinaus schwanken (Schritt S1-6), führt die Steuereinheit 21 als Nächstes eine erste Anomalitätsantwortoperation durch (Schritt S1-7). Eine Schwankung über den vorbestimmten Bezugswert hinaus bezieht sich auf eine große Bewegung des Folgeziels 102 in den Bilddaten, eine Bewegung des Folgeziels 102 in den Bilddaten, die schneller als eine vorbestimmte Geschwindigkeit ist, usw. In dem Fall, in dem die Leistungsversorgung nicht stabil ist, gibt es Fälle, in denen die Drehzahl des Motors 2a plötzlich abfällt oder dergleichen, und es gibt auch Fälle, in denen die Drehzahl des Motors 2a stark schwankt. In solchen Fällen schwankt die Position des Folgeziels 102 bezüglich des sich am distalen Ende befindenden Abschnitts des Arms 10a über den vorbestimmten Bezugswert hinaus.
  • Als die erste Anomalitätsantwortoperation führt die Steuereinheit 21 eine Operation zum Verringern des Steuerzyklus der Kraftsteuerung oder eine Operation zum Erhöhen der Empfindlichkeit der Kraftsteuerung, eine Operation zum Anhalten des weiteren Vorgangs des Einpassens, eine Operation zum Zurückziehen in einer der Einfallsrichtung entgegengesetzten Richtung, eine Operation zum Anhalten der Beförderung, eine Operation, in der diese Operationen kombiniert sind, oder dergleichen durch. Durch Verkleinern des Steuerzyklus der Kraftsteuerung oder Erhöhen der Empfindlichkeit davon wird ermöglicht, den Roboter 10 reaktionsfähiger bezüglich einer Kraft, die auf die Komponente 110 wirkt, zu bewegen. Bei dieser Ausführungsform führt die Steuereinheit 21 eine Operation zum Anhalten der Einpassarbeit, eine Operation zum Zurückziehen in einer der Einfallsrichtung entgegengesetzten Richtung, eine Operation zum Anhalten der Fördervorrichtung 2, eine Operation, bei der diese Operationen kombiniert sind, oder dergleichen durch.
  • Wenn in Schritt S1-6 die zweiten Merkmalswerte gleich dem vorbestimmten Bezugswert sind oder darunter liegen und der Detektionswert des Kraftsensors 32 einen vorbestimmten Bezugswert übersteigt (Schritt S1-8), führt die Steuereinheit 21 eine zweite Anomalitätsantwortoperation durch (Schritt S1-9). Wenn der Detektionswert des Kraftsensors 32 den vorbestimmten Bezugswert übersteigt, ist es sehr wahrscheinlich, dass eine anomale Kraft auf die Komponente 110, den Gegenstand 100 oder dergleichen wirkt. Deshalb führt die Steuereinheit 21 die Folgeoperation als die zweite Anomalitätsantwortoperation durch. Insbesondere führt die Steuereinheit 21 eine Operation zum Anhalten des Roboters 10, eine Operation zum Bewegen des Roboters 10 in einer Richtung zum Entgegenwirken der durch den Kraftsensor 32 detektierten Richtung der Kraft, eine Operation zum Anhalten der Fördervorrichtung 2, eine Operation zum Zurückziehen in einer der Einfallsrichtung entgegengesetzten Richtung, eine Operation zum Anhalten der Beförderung, eine Operation, bei der diese Operationen kombiniert sind, oder dergleichen durch. Bei dieser Ausführungsform führt die Steuereinheit 21 die Operation zum Anhalten des Roboters 10 durch.
  • Die Steuereinheit 21 bestimmt hingegen in dem Fall, in dem der Detektionswert des Kraftsensors 32 in Schritt S1-8 gleich dem vorbestimmten Bezugswert oder kleiner als dieser ist, ob die Einpassarbeit beendet worden ist (zum Beispiel wird bestimmt, ob die in der z-Richtung zurückgelegte Strecke einen vorbestimmten Wert überstiegen hat) (Schritt S1-10), und übermittelt eine vorbestimmte Bewegungsanweisung oder Operationsanweisung an den Arm 10a und die Hand 30 in dem Fall, in dem die Einpassarbeit beendet worden ist (Schritt S1-11). Dementsprechend gibt die Hand 30 die Komponente 110 frei und bewegt sich von der Komponente 110 weg, und der Arm 10a bewegt die Hand 30 zu einer Bereitschaftsstellung oder einem Ort, an dem die nächste Komponente 110 gelagert ist. In dem Fall, in dem die Einpassarbeit in Schritt S1-10 nicht beendet worden ist, werden darüber hinaus die Schritte von Schritt S1-6 wiederholt.
  • Es sei darauf hingewiesen, dass bei der oben beschriebenen Ausführungsform die Steuereinheit 21 basierend auf dem Merkmalswertdetektionsprogramm 23e die Verarbeitung einer großflächigen Detektion zum Detektieren der zweiten Merkmalswerte in einem ersten Bereich in den Bilddaten durchführen kann und die Verarbeitung einer kleinflächigen Detektion in einem zweiten Bereich in anschließend erlangten Bilddaten durchführen kann. Die Verarbeitung der kleinflächigen Detektion ist eine Verarbeitung zum Detektieren der zweiten Merkmalswerte in dem zweiten Bereich, der kleiner als der erste Bereich ist.
  • Die Verarbeitung der großflächigen Detektion wird zum Beispiel durchgeführt, wenn es große Differenzen zwischen den ersten Merkmalswerten und den zweiten Merkmalswerten gibt, und die Verarbeitung der kleinflächigen Detektion wird durchgeführt, wenn die Differenzen zwischen den ersten Merkmalswerten und den zweiten Merkmalswerten gleich einem vorbestimmten Wert oder kleiner als dieser sind. Dementsprechend ist es möglich, eine Verbesserung der Verarbeitungsgeschwindigkeit, eine Verbesserung der Verarbeitungsgenauigkeit usw. zu erlangen, wenn die Differenzen zwischen den ersten Merkmalswerten und den zweiten Merkmalswerten verringert sind.
  • Von der Verarbeitung getrennt oder zusammen mit der Verarbeitung kann die Steuereinheit 21 basierend auf dem Merkmalswertdetektionsprogramm 23e einen Bereich einstellen, der das detektierte Folgeziel 102 in den Bilddaten enthält, um als ein Detektionsbereich für die zweiten Merkmalswerte zu dienen. Ein Detektionsbereich kann zum Beispiel durch Einstellen eines Begrenzungsrechtecks, das tangential zu der Kontur des detektierten Folgeziels 102 ist, und durch Vergrößern des Begrenzungsrechtecks durch eine vorbestimmte Vergrößerung eingestellt werden.
  • Des Weiteren kann die Vergrößerung gemäß der Größe des Folgeziels 102, dem Abstand zwischen dem Sichtsensor 50 und dem Folgeziel 102 oder dergleichen in den Bilddaten geändert werden. Wenn der Abstand zwischen dem Sichtsensor 50 und dem Folgeziel 102 zum Beispiel abnimmt, nimmt das Bewegungsausmaß des Folgeziels 102 in dem Bild in den Bilddaten zu; daher nimmt die Vergrößerung zu. Dementsprechend werden die Detektion der Position oder Ausrichtung des Folgeziels 102 effizient und genau.
  • Wie in 9 gezeigt wird, kann die Hand 30, die als ein Werkzeug dient, an einem Arbeitsroboter 60 befestigt sein, der ein anderer Roboter ist. In diesem Fall werden ein Arm 60a und die Hand 30 des Arbeitsroboters 60 durch eine Steuerung 70 gesteuert. In einem Beispiel weist die Steuerung 70 die gleiche Konfiguration wie die Steuerung 20 auf, und der Arm 60a weist auch die gleiche Konfiguration wie der Arm 10a auf.
  • Die Position und die Richtung des Koordinatensystems des Sichtsensors 50 und die Position und die Richtung des Koordinatensystems des Roboters 60 sind in der Steuerung 70 miteinander assoziiert. In dem Zustand, in dem die Steuereinheit 21 bewirkt, dass der Sichtsensor 50 dem Folgeziel 102 folgt, bewirkt die Steuerung 70, dass der Roboter 60 eine Bewegung in dem Koordinatensystem des Roboters 60 durchführt. Die Position und die Ausrichtung des Koordinatensystems des Roboters 60 ändern sich gemäß der Position oder der Ausrichtung des Koordinatensystems des Sichtsensors 50; daher kann die Steuerung 70 Arbeit durch Verwendung des Bewegungsprogramms 23b durchführen, das basierend auf dem Koordinatensystem des Roboters 60 eingestellt ist.
  • Wenn die Steuerung 20 bewirkt, dass die Position und die Ausrichtung des Sichtsensors 50 dem Folgeziel 102 folgen, wie oben beschrieben, ist es auch in diesem Fall möglich, zu bewirken, dass die Position und die Ausrichtung des Koordinatensystems des Roboters 60 dem Arbeitszielabschnitt 101 basierend auf Informationen über die Bewegungsanweisung, Informationen über die Differenzen zwischen den zweiten Detektionsbeträgen und den ersten Detektionsbeträgen usw. folgen. Wenn der Roboter 60 die Arbeit zum Einpassen der Welle 111a der Komponente 110 in das Loch 101a des Gegenstands 100 basierend auf dem Bewegungsprogramm 23b durchführt, folgt daher die Hand 30 des Roboters 60 dem Gegenstand 100.
  • Die Steuerung 20 und die Steuerung 70 können mit einem Steuersystem höherer Ordnung, wie zum Beispiel einem Produktionsmanagementsystem, verbunden sein, und Informationstransfer zwischen der Steuerung 20 Untersteuerung 70 kann über das Steuersystem höherer Ordnung durchgeführt werden.
  • Statt des Roboters 60 ist es auch möglich, einen Roboter einzusetzen, der eine Schiene, die über der Fördervorrichtung 2 entlang der Fördervorrichtung 2 vorgesehen ist, und einen beweglich an der Schiene befestigten beweglichen Arm aufweist. In diesem Fall ist der Sichtsensor 50 an einem sich an einem distalen Ende befindenden Abschnitt des beweglichen Arms befestigt, und der bewegliche Arm kann die Ausrichtungen des sich an seinem distalen Ende befindenden Abschnitts und des Sichtsensors 50 zum Beispiel um die x-Achse und um die y-Achse ändern.
  • Obgleich bevorzugt wird, dass der bewegliche Arm die Positionen des sich an seinem distalen Ende befindenden Abschnitts und den Sichtsensor 50 in einer y-Achsen-Richtung bewegen kann, ist es zulässig, dass der bewegliche Arm die Positionen des sich an seinem distalen Ende befindenden Abschnitts und des Sichtsensors 50 in der y-Achsen-Richtung nicht frei bewegen kann.
  • Auch in diesem Fall ist es möglich, zu bewirken, dass die Position und die Ausrichtung des an dem beweglichen Arm befestigten Sichtsensors 50 dem Folgeziel 102 folgen.
  • Selbst in dem Fall, in dem der sich am distalen Ende befindende Abschnitt des beweglichen Arms in der y-Achsen-Richtung nicht frei bewegt wird, ist es basierend auf den Differenzen zwischen den zweiten Merkmalswerten und den ersten Merkmalswerten möglich zu bewirken, dass die x-Achsen-Richtungsposition des an dem beweglichen Arm befestigten Sichtsensors 50 und seine Ausrichtung um die x-Achse und die y-Achse dem Folgeziel 102 folgen. Solange das Folgen möglich ist, ist es selbst in dem Fall, in dem sich das Folgeziel 102 in der y-Achsen-Richtung in den Bilddaten bewegt, durch Detektieren des Bewegungsausmaßes davon möglich, die gleichen betrieblichen Wirkungen wie die oben beschriebenen zu erzielen.
  • Darüber hinaus können die Form oder dergleichen des Folgeziels 102 zusätzlich als ein zweiter Merkmalswert detektiert werden. In diesem Fall speichert der Speicherabschnitt 23 einen ersten Merkmalswert, der mit der Form oder dergleichen des Folgeziels 102 in Beziehung steht. Die Form des Folgeziels 102 ändert sich gemäß dem Abstand und dem Winkel zwischen dem Arm 10a und dem Folgeziel 102; daher wird die Folgesteuerung genauer durchgeführt.
  • Darüber hinaus ist es auch möglich, mehrere Sichtsensoren 50 einzusetzen und zu bewirken, dass die mehreren Sichtsensoren 50 jeweils mehreren Folgezielen 102 folgen. In diesem Fall ist es auch möglich, zu bestimmen, dass die an dem Arm 10a befestigte Hand 30 in einer vorbestimmten Position und Ausrichtung bezüglich des Arbeitszielabschnitts 101 des Gegenstands 100 angeordnet ist, wenn die Folgeziele 102 in jeweiligen vorbestimmten Positionen in mehreren durch die mehreren Sichtsensoren 50 erfassten Bilddaten angeordnet sind.
  • Wie oben beschrieben wurde, beinhaltet der Roboter 10 dieser Ausführungsform Folgendes: mindestens einen Sichtsensor 50, der an dem Arm 10a vorgesehen ist; und den Speicherabschnitt 23, der die ersten Merkmalswerte speichert, um als die Zieldaten zum Bewirken, dass der an dem Arm 10a vorgesehene Sichtsensor 50 dem Folgeziel 102 folgt, zu dienen. Des Weiteren werden bei dieser Ausführungsform die zweiten Merkmalswerte, die mit mindestens der Ist-Position und -Ausrichtung des Folgeziels 102 in Beziehung stehen, durch Einsetzen der durch den Sichtsensor 50 erhaltenen Bilder detektiert.
  • Ferner wird die Bewegungsanweisung für den Arm 10a basierend auf den Differenzen zwischen den zweiten Merkmalswerten und den ersten Merkmalswerten berechnet. Während bewirkt wird, dass der Sichtsensor 50 dem Folgeziel 102 folgt, werden darüber hinaus die Bewegungsanweisungsberechnung und die Armbewegung basierend auf der Bewegungsanweisung wiederholt. Deshalb ist es möglich zu bewirken, dass sich die relative Position und die relative Ausrichtung der Hand 30 bezüglich des von der Fördervorrichtung 2 beförderten Gegenstands 100 allmählich den Zieldaten annähern. Dieses Merkmal ist dazu nützlich, zu bewirken, dass die Bewegung des Arms 10a des Roboters 10 dem von der Fördervorrichtung 2 beförderten Gegenstand 100 genau folgt.
  • Bei dieser Ausführungsform wird darüber hinaus ein Modell des Folgeziels 102 als ein erster Merkmalswert eingesetzt. In dem Fall, in dem der Merkmalsabschnitt des Gegenstands 100 das Folgeziel 102 ist, führt die Steuereinheit 21 eine Abgleichsuche zwischen dem Merkmalsabschnitt in den durch den Sichtsensor 50 erfassten Bilddaten und dem Modell, das der projektiven Transformation unterzogen wurde, durch und kann dadurch die Position und die Ausrichtung (zweite Merkmalswerte) des Merkmalsabschnitts in den Bilddaten erhalten.
  • Die Konfiguration ist dazu nützlich, zu bewirken, dass sich die relative Position und die relative Ausrichtung des Sichtsensors 50 bezüglich des Folgeziels 102 des von der Fördervorrichtung 2 beförderten Gegenstands 100 den Zieldaten genau annähern. Der Merkmalsabschnitt kann eine auf einer Oberfläche des Gegenstands 100 vorgesehene Zahl sein.
  • Bei dieser Ausführungsform wird darüber hinaus die Bewegungsanweisung durch Einsetzen mindestens der Vorwärtssteuerung eingestellt. Bei der Konfiguration wird Steuerung mittels der Vorwärtssteuerung unter Berücksichtigung einer Tendenz bei der Bewegung des Gegenstands 100 aufgrund der Fördervorrichtung 2 oder dergleichen durchgeführt, und dieses Merkmal ist dazu nützlich, zu bewirken, dass sich die relative Position und die relative Ausrichtung des Sichtsensors 50 bezüglich des Folgeziels 102 des Gegenstands 100 schnell und genau den Zieldaten annähern.
  • Darüber hinaus berechnet die Steuereinheit 21 bei dieser Ausführungsform vor dem Detektieren der zweiten Merkmalswerte eine Bewegungsanweisung vor der Arbeit, um das Folgeziel 102 in den Detektionsbereich des Sichtsensors 50 zu bringen, indem die durch den Sichtsensor 50 oder einen anderen Sensor 40 erfassten Daten eingesetzt werden. Deshalb wird der Sichtsensor 50 über eine kurze Zeitspanne in einer Position angeordnet, die zum Durchführen des Folgens vor dem Durchführen der Folgesteuerung des Arms 10a erforderlich ist.
  • Darüber hinaus beinhaltet das Arbeitsrobotersystem dieser Ausführungsform die Fördervorrichtung 2 und den Roboter 10, und der Roboter 10 führt in einem Zustand, in dem der an dem Roboter vorgesehene Sichtsensor 50 dem Folgeziel 102 folgt, eine vorbestimmte Arbeit an dem Gegenstand 100 durch. Alternativ führt der Arbeitsroboter 60 bei dem Arbeitsrobotersystem dieser Ausführungsform durch Verwendung der Informationen über die Bewegungsanweisung zum Bewirken, dass der an dem Roboter 10 vorgesehene Sichtsensor 50 dem Folgeziel 102 folgt, oder der zum Berechnen der Bewegungsanweisung verwendeten Informationen eine vorbestimmte Arbeit an dem Gegenstand 100 durch.
  • In dem Fall, in dem der Arbeitsroboter 60 eingesetzt wird, ist es möglich, die vorbestimmte Arbeit an dem Gegenstand an einer von dem Sichtsensor 50 entfernten Stelle durchzuführen. Mehrere Arbeitsroboter 60 können die vorbestimmte Arbeit an dem Gegenstand 100 durch Verwendung der oben beschriebenen Informationen durchführen.
  • Darüber hinaus beinhaltet das Arbeitsrobotersystem dieser Ausführungsform zusätzlich den Kraftsensor 32. Der Kraftsensor 32 detektiert eine Kraft, die dadurch erzeugt wird, dass die Komponente 110 oder die Hand 30, die von dem Roboter 10 gestützt wird, mit dem Gegenstand 100 in Kontakt kommt, oder eine Kraft, die dadurch erzeugt wird, dass die Komponente 110 oder die Hand 30, die von dem Arbeitsroboter 60 gestützt wird, mit dem Gegenstand 100 in Kontakt kommt.
  • Wenn die vorbestimmte Arbeit durchgeführt wird, bewirkt die Steuerung 20 oder 70 des Roboters 10 oder des Arbeitsroboters 60 durch Verwendung des Detektionswerts des Kraftsensors 32 darüber hinaus, dass die an dem Roboter 10 oder dem Arbeitsroboter 60 vorgesehene Hand 30 dem Gegenstand 100 folgt.
  • Da der Detektionswert des Kraftsensors 32 auch in der Folgesteuerung eingesetzt wird, ist es möglich, die Genauigkeit der Folgesteuerung weiter zu verbessern. Hier gibt es Fälle, in denen es schwierig ist, die relative Ausrichtung der Hand 30 bezüglich des Gegenstands 100 mit dem Detektionswert des Kraftsensors 32 zu assoziieren; da aber die relative Ausrichtung bei dieser Ausführungsform korrigiert wird, wird die Genauigkeit der Folgesteuerung effektiv verbessert.
  • Bei dem Arbeitsrobotersystem dieser Ausführungsform wird darüber hinaus die Anomalitätsantwortoperation, wenn die zweiten Merkmalswerte über den vorbestimmten Bezugswert hinaus schwanken, durch mindestens eine von der Steuerung 20 oder 70 des Roboters 10 oder des Arbeitsroboter 60, der die vorbestimmte Arbeit durchführt, und der Fördervorrichtung 2 durchgeführt. Dementsprechend ist es möglich, eine Beschädigung der Roboter 10 und 60, des Gegenstands 100 und der Komponente 110, während die Folgesteuerung durchgeführt wird, effektiv zu verhindern.
  • Bei dem Arbeitsrobotersystem dieser Ausführungsform ist darüber hinaus das Folgeziel 102 Teil des Gegenstands 100. Bei der Konfiguration ist die Position des Folgeziels 102 in dem Gegenstand 100 festgelegt, und das Merkmal ist dazu nützlich, die Genauigkeit der Folgesteuerung weiter zu verbessern.
  • Darüber hinaus kann das Bearbeitungswerkzeug an dem sich am distalen Ende befindenden Abschnitts des Roboters 10 oder des Arbeitsroboter 60 gestützt werden, und der Roboter 10 oder der Arbeitsroboter 60 können als die vorbestimmte Arbeit eine maschinelle Bearbeitung des von der Fördervorrichtung 2 beförderten Gegenstands 100 durchführen. In diesem Fall ist das Verarbeitungswerkzeug ein Bohrer, ein Fräser, ein Gewindebohrer, ein Entgratwerkzeug oder andere Werkzeuge.
  • Auch in diesem Fall werden ähnliche oder die gleichen Wirkungen wie die oben beschriebenen erzielt, indem das Bearbeitungswerkzeug in Schritt S1-2 nahe an den Arbeitszielabschnitt 101 gebracht wird, die oben beschriebene Folgesteuerung durchgeführt wird, die Kraftsteuerung gemäß Kontakt zwischen dem Bearbeitungswerkzeug und dem Arbeitszielabschnitt 101 durchgeführt wird, usw. Darüber hinaus kann das Bearbeitungswerkzeug eine Schweißpistole, ein Schweißbrenner oder dergleichen sein.
  • Darüber hinaus ist es möglich, als die Fördervorrichtung 2 eine Fördervorrichtung einzusetzen, die den Gegenstand 100 entlang einer gekrümmten Bahn befördert, und es ist auch möglich eine Fördervorrichtung einzusetzen, die den Gegenstand 100 entlang einer kurvenreichen Bahn befördert. In diesen Fällen kann die Steuereinheit 21 auch bewirken, dass der sich am distalen Ende befindende Abschnitt des Roboters 10 oder des Arbeitsroboters 60 dem Arbeitszielabschnitt 101 folgt, indem das Detektionsergebnis des Sichtsensors 50 verwendet wird.
  • Darüber hinaus kann, wenn die Position des Arbeitszielabschnitts 101 bezüglich des Roboters 10 in Schritt S1-6 über den vorbestimmten Bezugswert hinaus schwankt, die Steuereinheit 21 in Schritt S1-7 die erste Anomalitätsantwortoperation durchführen. Deshalb werden selbst in den Fällen, in denen die oben beschriebenen Fördervorrichtung eingesetzt werden ähnliche oder die gleichen Wirkungen wie die oben beschriebenen erzielt werden.
  • Darüber hinaus kann statt der Fördervorrichtung 2 ein anderer Roboter oder ein fahrerloses Transportfahrzeug FTF den Gegenstand 100 bewegen. Auch in diesem Fall können ähnliche oder die gleichen Wirkungen wie die oben beschriebenen erzielt werden. In dem Fall, in dem der Gegenstand 100 ein Automobil, ein Automobilrahmen oder dergleichen ist, kann der Gegenstand 100, an dem eine vorbestimmte Arbeit durchgeführt werden soll, des Weiteren mittels eines Motors, Rädern oder dergleichen des Gegenstands 100 bewegt werden. In diesen Fällen dient bzw. dienen der andere Roboter, der Motor, die Räder oder dergleichen als die Fördervorrichtung.
  • Der Gegenstand 100 kann darüber hinaus statt von der Fördervorrichtung 2 mittels eines Shooters, von dem der Gegenstand 100 aufgrund der Schwerkraft herunterrutscht, herunterrollt oder herunterfällt, befördert werden. In diesem Fall ist es auch möglich mittels einer Vibrationsvorrichtung ein Vibrieren des geneigten Shooters zu bewirken, um folglich eine reibungslose Bewegung des Gegenstands 100 auf dem Shooter bereitzustellen. In diesen Fällen dienen der Shooter, die Vibrationsvorrichtung usw. als die Fördervorrichtung, und der mittels des Shooters bewegte Gegenstand 100 wird unter Verwendung eines an dem Roboter 10 befestigten Werkzeugs herausgenommen.
  • Bei dieser Ausführungsform ist der Kraftsensor 32 an dem sich am distalen Ende befindenden Abschnitt des Roboters 10 oder des Arbeitsroboters 60 befestigt. Es ist hingegen auch möglich, den Kraftsensor 32 zwischen der Fördervorrichtung 2 und dem Gegenstand 100, innerhalb des Gegenstands 100 oder dergleichen anzuordnen. In diesem Fall ist es auch möglich, die Kraftsteuerung basierend auf dem Detektionswert des Kraftsensors 32 durchzuführen, und es werden ähnliche oder die gleichen Wirkungen wie die oben beschriebenen erzielt.
  • Darüber hinaus kann der Sichtsensor 50 an einem anderen Abschnitt als dem Handgelenkflansch des Roboters 10 oder des Arbeitsroboters 60 befestigt sein.
  • Es sei darauf hingewiesen, dass der Sichtsensor 50 auch eine Stereokamera sein kann. In diesem Fall ist es auch möglich, Distanzbilddaten des Folgeziels 102 durch Verwendung eines Paars Kameras zu erfassen, und die Position und die Ausrichtung des Folgeziels 102 werden durch Verwendung der Bilddaten und eines entsprechenden 3D-Modells identifiziert.
  • Obgleich das Folgeziel des Sichtsensors 50 und das Arbeitsziel des Roboters 10 bei dieser Ausführungsform verschieden sind, können das Folgeziel des Sichtsensors 50 und das Arbeitsziel des Roboters 10 das gleiche sein. Es ist zum Beispiel in dem Fall, in dem eine leichte Positionsverschiebung zwischen der Hand 30, die das Werkzeug des Roboters 10 ist, und dem Arbeitsziel akzeptabel ist, in dem Fall, in dem das Folgeziel bei der Durchführung von Arbeit mittels der Hand 30, die das Werkzeug ist, immer von dem Sichtsensor 50 sichtbar ist, usw., möglich, das Folgeziel und das Arbeitsziel so einzustellen, das sie gleich sind.
  • Es sei darauf hingewiesen, dass bei der oben beschriebenen Ausführungsform die Position, die Ausrichtung und die Größe des Folgeziels 102 in den Zielpositionen in den durch den Sichtsensor 50 erfassten Bilddaten angeordnet sind, und die Position und die Ausrichtung der Hand 30, die das Werkzeug ist, sind folglich in der Position und der Ausrichtung angeordnet, die zum Durchführen der vorbestimmten Arbeit an dem Gegenstand 100 erforderlich sind. Die Position und die Ausrichtung des Folgeziels 102 können hingegen in den Zielpositionen in den durch den Sichtsensor 50 erfassten Bilddaten angeordnet sein, und die Position und die Ausrichtung des an dem Roboter 10 befestigten Werkzeugs können folglich in der Position und der Ausrichtung angeordnet sein, die zum Durchführen der vorbestimmten Arbeit erforderlich sind.
  • Im Fall von Arbeit, bei der sich der Abstand zwischen einem Werkzeug und dem Gegenstand 100 kaum ändert, wie zum Beispiel Laserschweißen, Laserbearbeitung oder Dichtungsmittelanwendung, in dem Fall, in dem Arbeit selbst dann durchgeführt werden kann, wenn sich der Abstand zwischen einem Werkzeug und dem Gegenstand 100 ändert, usw. ist es zum Beispiel zulässig, die Größeninformationen, die als ein erster Merkmalswert dienen, und die Informationen, die als ein zweiter Merkmalswert dienen, nicht zu verwenden.
  • Darüber hinaus ist bei dieser Ausführungsform ein Beispiel, in dem die Trajektorie des Folgeziels 102 in dem Roboterkoordinatensystem berechnet wird, beschrieben worden; jedoch wird möglicherweise nur die abgelaufene Zeit einer bestimmten Bewegung (zum Beispiel Anhaltebewegung oder Neustartbewegung aus einem Stillstand) des Folgeziels 102 in dem Roboterkoordinatensystem berechnet und kann als die Zeitkonstante der bestimmten Bewegung verwendet werden.
  • Wie in 10 gezeigt wird, wird in diesem Fall, nachdem die Steuerung 20 ein Notstoppsignal in Schritt S12 erlangt hat, die Zeit, zu der das Notstoppsignal erlangt wurde, in dem Speicherabschnitt 23 als eine Startzeit einer bestimmten Bewegung gespeichert (Schritt S31). In dem Fall, in dem in Schritt S14 die Positionsänderung gleich dem vorbestimmten Schwellenwert oder kleiner als dieser wird, wird dann die Zeit, zu der das Folgeziel 102 angehalten wird, als eine Anhaltezeit der bestimmten Bewegung in dem Speicherabschnitt 23 gespeichert (Schritt S32).
  • Als Nächstes wird eine abgelaufene Zeit in Form einer Differenz zwischen der gespeicherten Startzeit der bestimmten Bewegung und der Anhaltezeit der bestimmten Bewegung berechnet (Schritt S33), und die berechnete abgelaufene Zeit wird in dem Speicherabschnitt 23 als die Zeitkonstante in Assoziation mit den Signalen, mit denen die jeweiligen bestimmten Bewegungen des Folgeziels 102 identifiziert werden können, gespeichert (Schritt S34).
  • Darüber hinaus wird durch den Sichtsensor 50, der die Position und die Ausrichtung des Folgeziels 102 basierend auf den erfassten Bilddaten detektiert, bestimmt, dass eine bestimmte Bewegung geendet hat (zum Beispiel zu einem vollständigen Stillstand gekommen ist oder eine konstante Geschwindigkeit nach Neustart einer Bewegung aus einem angehaltenen Zustand erreicht hat); im Fall des Anhaltens einer bestimmten Bewegung kann ein Bediener jedoch visuell bestimmen, dass das Folgeziel 102 angehalten hat, ohne den Sichtsensor 50 einzusetzen, und kann durch Verwenden einer Messvorrichtung, wie zum Beispiel einer Stoppuhr, die abgelaufene Zeit messen.
  • In dem Fall, in dem es möglich ist, die Zeitkonstante aus der Invertereinstellung der Fördervorrichtung 2 anzugeben, kann darüber hinaus die aus der Einstellung angegebene Zeitkonstante ohne Modifikation verwendet werden.
  • Als Nächstes wird ein Zeitkonstantenfeineinstellungsverfahren, das in einem Zustand durchgeführt wird, in dem die auf diese Weise berechnete abgelaufene Zeit gespeichert wird, um als die Zeitkonstante zu dienen, beschrieben. In diesem Zustand, in dem der Roboter 10 betrieben wird, wird, wie in 11 gezeigt ist, die bestimmte Bewegung des Folgeziels 102 gestartet (Schritt S40). Bei Start der bestimmten Bewegung erlangt die Steuerung 20 das bestimmte Signal, mit dem die bestimmte Bewegung identifiziert werden kann (Schritt S41), die Zeit, zu der das bestimmte Signal erlangt wurde, wird anschließend in dem Speicherabschnitt 23 als die Startzeit der bestimmten Bewegung gespeichert (Schritt S42), die Steuerung 20 liest die eingestellte Zeitkonstante aus dem Speicherabschnitt 23 aus (Schritt S43), und die Vorwärtssteuerung wird gemäß der eingestellten Zeitkonstante gestartet (Schritt S44).
  • Der Anfangswert des maximalen Positionsverschiebungsbetrags des Folgeziels 102 wird ferner so eingestellt, dass er null ist (Schritt S45). Anschließend erfasst der an dem Arm 10a des Roboters 10 vorgesehene Sichtsensor 50 ein Bild, das das Folgeziel 102 enthält (Schritt S46) und verarbeitet das erfasste Bild, um die Position des Folgeziels 102 in dem Bild zu detektieren (Schritt S47).
  • In diesem Fall wird bestimmt, ob der Absolutwert des detektierten Positionsverschiebungsbetrags des Folgeziels 102 größer als der Absolutwert des gespeicherten maximalen Positionsverschiebungsbetrags ist Schritt S48), und in dem Fall, in dem der Absolutwert des Positionsverschiebungsbetrags des Folgeziels 102 größer als der Absolutwert des maximalen Positionsverschiebungsbetrags ist, wird in diesem Zustand der maximale Positionsverschiebungsbetrag aktualisiert und in dem Speicherabschnitt 23 gespeichert (Schritt S49) .
  • In dem Fall, in dem der Absolutwert des Positionsverschiebungsbetrags des Folgeziels 102 gleich dem Absolutwert des maximalen Positionsverschiebungsbetrags oder kleiner als dieser ist, und nach Aktualisierung des maximalen Positionsverschiebungsbetrags, wird bestimmt, ob eine längere Zeitdauer als die eingestellte Zeitkonstante vergangen ist und das Änderungsausmaß (eine Differenz zwischen einer vorherigen Detektionsposition und der Ist-Detektionsposition des Folgeziels 102 in dem Roboterkoordinatensystem) der Positionsverschiebung konstant geworden ist (Schritt S50). In dem Fall, in dem keine längere Zeitdauer als die eingestellte Zeitkonstante vergangen ist oder das Änderungsausmaß der Positionsverschiebung nicht konstant geworden ist, werden die Schritte von Schritt S47 wiederholt.
  • Zum Beispiel halten das Folgeziel 102 und der Roboter 10 im Fall des Anhaltens der bestimmten Bewegung an; daher wird das Änderungsausmaß der Positionsverschiebung null. Darüber hinaus erreichen das Folgeziel 102 und der Roboter 10 in dem Fall eine konstante Geschwindigkeit, in dem die bestimmte Bewegung nach dem Anhalten neu gestartet ist, das Änderungsausmaß der Positionsverschiebung wird null, wenn die Geschwindigkeit die gleiche ist, und das Änderungsausmaß der Positionsverschiebung über die Zeit wird zu einem konstanten Wert von ungleich null, wenn es eine Geschwindigkeitsdifferenz gibt.
  • Wenn eine längere Zeitdauer als die eingestellte Zeitkonstante vergangen ist und das Änderungsausmaß der Positionsverschiebung über die Zeit zu einem konstanten Wert geworden ist, wird bestimmt, ob der Absolutwert des maximalen Positionsverschiebungsbetrags größer als ein vorbestimmter Schwellenwert geworden ist (Schritt S51).
  • In dem Fall, in dem der Absolutwert des maximalen Positionsverschiebungsbetrags gleich dem vorbestimmten Schwellenwert oder kleiner als dieser ist, wird als Nächstes gemäß dem Vorzeichen des maximalen Positionsverschiebungsbetrags bestimmt, ob die Zeitkonstante erhöht oder verringert werden soll, und ein Betrag gemäß dem Absolutwert des maximalen Positionsverschiebungsbetrags wird der Zeitkonstante hinzuaddiert oder davon subtrahiert, um die in dem Speicherabschnitt 23 gespeicherte Vorwärtssteuerungszeitkonstante zu aktualisieren (Schritt S52). Hier kann ein Erhöhungs-/Verringerungsbetrag ΔT gemäß dem Absolutwert des maximalen Positionsverschiebungsbetrags beispielsweise durch Verwendung der nachfolgend angegebenen Gleichung (1) berechnet werden. Δ T = D/V
    Figure DE112021001603T5_0001
  • Hier ist D der maximale Positionsverschiebungsbetrag, und V ist die konstante Geschwindigkeit des Folgeziels 102.
  • Dann werden in Schritt S51 die Schritte von Schritt S40 wiederholt, bis der Absolutwert des maximalen Positionsverschiebungsbetrags gleich dem vorbestimmten Schwellenwert oder kleiner als dieser wird, und die Verarbeitung endet, wenn der Absolutwert des maximalen Positionsverschiebungsbetrags gleich dem vorbestimmten Schwellenwert oder kleiner als dieser wird.
  • Obgleich ein Beispiel beschrieben wurde, in dem die bestimmte Bewegung als Ergebnis einer Beschleunigung oder Verzögerung des Folgeziels 102 unmittelbar nach dem Zeitpunkt, zu dem das bestimmte Signal, mit dem die bestimmte Bewegung identifiziert werden kann, erlangt wird, ausgeführt wird, kann darüber hinaus das Folgeziel 102 alternativ gemäß dem bestimmten Signal nach einem vorbestimmten Zeitintervall von dem Zeitpunkt, zu dem das bestimmte Signal erlangt wird, beschleunigt oder verzögert werden.
  • Darüber hinaus kann bei dieser Ausführungsform der mittels des oben beschriebenen Verfahrens erlangte Vorwärtssteuerungseingangswert in einem anderen Roboter verwendet werden, der Arbeit bezüglich der gleichen Fördervorrichtung (einer Fördervorrichtung, die mit einer Vorrichtung identisch ist, oder einer anderen Fördervorrichtung, die die gleiche Spezifikation und Einstellung hat) wie die Fördervorrichtung 2, die den Gegenstand 100 befördert, ausführt.
  • Darüber hinaus können bei dieser Ausführungsform, wie in 12 gezeigt, mehrere Steuerungen 20 mit Steuersystemen 100 höherer Ordnung verbunden sein. Die Steuersysteme 100 höherer Ordnung sind zum Beispiel Rechner, die über verdrahtete Verbindungen mit den mehreren Steuerungen 20 verbunden sind, Rechner, die am gleichen Ort wie die mehreren Steuerungen 20 angeordnet sind, oder dergleichen. Die Steuersysteme 100 höherer Ordnung werden manchmal als Fog-Rechner bezeichnet. Die Steuersysteme 100 höherer Ordnung können Produktionsmanagementsysteme, Versandmanagementsysteme, Robotermanagementsysteme, Abteilungsmanagementsysteme oder dergleichen sein.
  • Die mehreren Steuersysteme 100 höherer Ordnung können mit einem anderen Steuersystem 200 höherer Ordnung oder dergleichen verbunden sein. Das andere Steuersystem 200 höherer Ordnung ist zum Beispiel ein Cloudserver, der über verdrahtete oder drahtlose Verbindungen mit den mehreren Steuersystemen 100 höherer Ordnung verbunden ist. Zum Beispiel wird durch die mehreren Steuerungen 20 und die Steuersysteme 100 höherer Ordnung ein Managementsystem gebildet.
  • Jedes der Steuersysteme 100 höherer Ordnung beinhaltet unter anderem eine Steuereinheit mit einem Prozessor usw., eine Displayvorrichtung, einen Speicherabschnitt mit einem nichtflüchtigen Speicher, einen ROM, einen RAM usw. und eine Eingabevorrichtung, die eine Tastatur, ein Touchscreen, eine Bedientafel oder dergleichen ist.
  • Solch ein System kann, wie in 13 gezeigt ist, mehrere Edge-Rechner 8, mehrere Steuersysteme 100 höherer Ordnung und ein einziges oder mehrere andere Steuersysteme 200 höherer Ordnung beinhalten. In solch einem System können die Steuerungen 20 und der Roboter 10 Edge-Rechner sein. Einige der Steuerungen 20 oder Roboter 10 können die Steuersysteme höherer Ordnung sein. Solch ein System beinhaltet ein verdrahtetes oder drahtloses Netz.
  • Bezugszeichenliste
  • 10
    Roboter [Folgeroboter]
    10a
    Arm
    23
    Speicherabschnitt (Merkmalswert Speicherabschnitt, Eingangswert Speicherabschnitt)
    23c
    Folgesteuerungsprogramm (Bewegungsanweisungsmittel)
    23e
    Merkmalswertdetektionsprogramm (Merkmalswertdetektionsmittel)
    23f
    Bewegungsausmaßberechnungsprogramm (Bewegungsausmaßberechnungsmittel)
    50
    Sichtsensor
    102
    Folgeziel

Claims (3)

  1. Folgeroboter, umfassend: einen beweglichen Arm; mindestens einen Sichtsensor, der an dem Arm vorgesehen ist; eine Merkmalswertspeichereinheit, die mindestens eine Position und eine Ausrichtung eines Folgeziels betreffende erste Merkmalswerte als Zieldaten zum Bewirken, dass der an dem Arm vorgesehene Sichtsensor dem Folgeziel folgt, speichert; eine Merkmalswertdetektionseinheit, die durch Verwendung eines durch den Sichtsensor erfassten Bilds mindestens eine Ist-Position und eine Ist-Ausrichtung des Folgeziels betreffende zweite Merkmalswerte detektiert; eine Bewegungsausmaßberechnungseinheit, die eine Bewegungsanweisung für den Arm basierend auf Differenzen zwischen den zweiten Merkmalswerten und den ersten Merkmalswerten berechnet und die die Bewegungsanweisung durch Verwendung mindestens einer Vorwärtssteuerung einstellt; eine Bewegungsanweisungseinheit, die den Arm basierend auf der Bewegungsanweisung bewegt; und eine Eingangswertspeichereinheit, die ein Signal, das erfasst wird, wenn eine bestimmte Bewegung des Folgeziels gestartet wird, und einen Eingangswert für die Vorwärtssteuerung zum Bewirken, dass der Arm einer Trajektorie des Folgeziels in der bestimmten Bewegung in Assoziation miteinander folgt, speichert, wobei die Bewegungsausmaßberechnungseinheit und die Bewegungsanweisungseinheit, während der Sichtsensor dem Folgeziel folgt, die Berechnung der Bewegungsanweisung wiederholen und den Arm basierend auf der Bewegungsanweisung bewegen, die Bewegungsanweisung Differenzen zwischen mindestens der Ist-Position und der Ist-Ausrichtung des Folgeziels, die als die zweiten Merkmalswerten dienen, und mindestens der Position und Ausrichtung des Folgeziels, die als die ersten Merkmalswerte dienen, reduzieren und eliminieren soll, und die Bewegungsausmaßberechnungseinheit die Vorwärtssteuerung basierend auf dem in der Eingangswertspeichereinheit in Assoziation mit dem Signal, das erfasst wird, wenn die bestimmte Bewegung gestartet hat, gespeicherten Eingangswert verwendet.
  2. Folgeroboter nach Anspruch 1, wobei der Eingangswert so berechnet wird, dass die Trajektorie des Arms einer Trajektorie des Folgeziels nahekommt, die durch den Sichtsensor in einem Zustand, in dem der Arm stillsteht, detektiert wird.
  3. Folgeroboter nach Anspruch 1, wobei der Eingangswert so berechnet wird, dass die Trajektorie des Arms einer Trajektorie des Folgeziels nahekommt, die durch einen anderen Sichtsensor, der fest installiert ist, detektiert wird.
DE112021001603.2T 2020-05-19 2021-05-14 Folgeroboter Pending DE112021001603T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020087367 2020-05-19
JP2020-087367 2020-05-19
PCT/JP2021/018348 WO2021235331A1 (ja) 2020-05-19 2021-05-14 追随ロボット

Publications (1)

Publication Number Publication Date
DE112021001603T5 true DE112021001603T5 (de) 2022-12-29

Family

ID=78708389

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021001603.2T Pending DE112021001603T5 (de) 2020-05-19 2021-05-14 Folgeroboter

Country Status (5)

Country Link
US (1) US20230138649A1 (de)
JP (1) JP7448648B2 (de)
CN (1) CN115605329A (de)
DE (1) DE112021001603T5 (de)
WO (1) WO2021235331A1 (de)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001252886A (ja) 2000-03-10 2001-09-18 Hitachi Zosen Corp 物体のハンドリングシステム
JP7314475B2 (ja) * 2016-11-11 2023-07-26 セイコーエプソン株式会社 ロボット制御装置、及び、ロボット制御方法
JP6748126B2 (ja) * 2018-02-08 2020-08-26 ファナック株式会社 作業ロボットシステム

Also Published As

Publication number Publication date
JP7448648B2 (ja) 2024-03-12
CN115605329A (zh) 2023-01-13
WO2021235331A1 (ja) 2021-11-25
US20230138649A1 (en) 2023-05-04
JPWO2021235331A1 (de) 2021-11-25

Similar Documents

Publication Publication Date Title
DE102018124712B4 (de) Arbeitssystem, Verfahren zum Durchführen von Arbeit an einem Objekt und Roboter
DE112016002797B4 (de) Kalibriervorrichtung und robotersystem mit einer solchen kalibriervorrichtung
DE102018000445B4 (de) Steuersystem mit Lernsteuerfunktionen und Steuerverfahren
DE102012104194B4 (de) Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
DE102020100803B4 (de) Folgeroboter und Roboterarbeitssystem
DE102016115987A1 (de) Koordinatensystemeinstellungsverfahren, koordinatensystemeinstellungsvorrichtung und robotersystem mit koordinatensystemeinstellungsvorrichtung
DE102010023736B4 (de) Robotersystem mit Problemerkennungsfunktion
DE102018101375B4 (de) Artikelbeförderungsvorrichtung, die mindestens einen Sensor nutzt
DE102019102859B4 (de) Arbeitsrobotersystem
DE102006055917B4 (de) Industrieroboter und Verfahren zum Erkennen eines ungenau parametrierten Robotermodells
DE102010017763A1 (de) Gerät zum Anzeigen des Werkzeugwegs für Werkzeugmaschinen
DE112017002639T5 (de) Robotersteuerungsvorrichtung
DE102017001298B4 (de) Robotersimulationsvorrichtung, die einen überstrichenen Raum berechnet
DE102020110252B4 (de) Vibrationsanzeigeeinrichtung, Betriebsprogrammerstellungseinrichtung und System
DE102019131284B4 (de) Robotersystem und Koordinatenumwandlungsverfahren
DE102019101005B4 (de) Objektfördersystem
DE102019103557B4 (de) Schwingungsanalysator und Schwingungsanalyseverfahren
DE102019109717A1 (de) Arbeitsrobotersystem und Arbeitsroboter
DE102018129166A1 (de) Roboter und Robotersystem
DE102019110173A1 (de) Verfahren, vorrichtung, und programm zur schätzung des gewichts und der schwerpunktposition einer last unter verwendung eines roboters
DE102020003517A1 (de) Überwachungsvorrichtung, die mit einer Kamera zum Erfassen eines bewegten Bildes einer Bewegung der Robotervorrichtung ausgestattet ist
DE102019109718B4 (de) Arbeitsrobotersystem und Arbeitsroboter
DE102018205443B4 (de) Steuerungssystem einer Werkzeugmaschine
EP1675709A2 (de) VERFAHREN ZUR EINRICHTUNG EINER BEWEGUNG EINES HANDHABUNGSGERÄTS UND BILDVERARBEITUNG
DE102019115379B4 (de) Robotersystem und Roboter

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: FANUC CORPORATION, JP

Free format text: FORMER OWNER: FANUC CORPORATION, OSHINO-MURA, YAMANASHI, JP

R012 Request for examination validly filed