DE102021128120A1 - Steuervorrichtung, Robotersteuersystem, Programm und Steuerverfahren - Google Patents

Steuervorrichtung, Robotersteuersystem, Programm und Steuerverfahren Download PDF

Info

Publication number
DE102021128120A1
DE102021128120A1 DE102021128120.2A DE102021128120A DE102021128120A1 DE 102021128120 A1 DE102021128120 A1 DE 102021128120A1 DE 102021128120 A DE102021128120 A DE 102021128120A DE 102021128120 A1 DE102021128120 A1 DE 102021128120A1
Authority
DE
Germany
Prior art keywords
end effector
force sensor
processor
teacher
robot
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
DE102021128120.2A
Other languages
English (en)
Inventor
Yoshikane Tanaami
Koji Ito
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.)
Sintokogio Ltd
Original Assignee
Sintokogio Ltd
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
Priority claimed from JP2021162931A external-priority patent/JP2022073993A/ja
Application filed by Sintokogio Ltd filed Critical Sintokogio Ltd
Publication of DE102021128120A1 publication Critical patent/DE102021128120A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or 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/39Robotics, robotics to robotics hand
    • G05B2219/39529Force, torque sensor in wrist, end effector

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

Um die Aufgabe zu erfüllen, es einem Lehrer zu ermöglichen, das Lehren mit erhöhter Sicherheit für den Lehrer, der einen Roboter eine Aktion lehren soll, einfach durchzuführen, weist ein Roboter einen Kraftsensor, einen Armteil und einen Endeffektor auf, der an dem Armteil über den Kraftsensor befestigt ist. Eine Steuervorrichtung weist einen oder mehrere Prozessoren auf, die Folgendes ausführen: einen Bewegungsprozess, um zu bewirken, dass sich der Endeffektor bewegt, und einen Erzeugungsprozess zum Erzeugen, mit Bezugnahme auf einen Detektionswert von dem Kraftsensor, von Lehrinformationen, die einer Bewegungsroute des Endeffektors entsprechen.

Description

  • Die vorliegende Erfindung betrifft eine Technik, um einen Roboter eine Aktion zu lehren.
  • Hintergrund
  • Eine Technik, um einen Roboter eine Aktion zu lehren, ist bekannt. Zum Beispiel offenbart die Veröffentlichung der japanischen Patentanmeldung Tokukaihei Nr. 02-9553 (1990) ein Beispiel einer Technik, die als direkte Lehrmethode bezeichnet wird. Gemäß der direkten Lehrmethode übt ein Lehrer eine Kraft auf einen Kraftsensor aus, der an einem Hauptkörper des Roboters angebracht ist. Auf der Basis eines Ausgabewerts von dem Kraftsensor erteilt eine Berechnungssektion einer Antriebssektion einen Bewegungsbefehl, die dafür ausgelegt ist, um einen Roboterhandteil anzutreiben. Damit führt die Berechnungssektion den Roboterhandteil, sodass der Roboterhandteil in eine Position und Haltung versetzt wird, die von dem Lehrer gewünscht wird. Die Berechnungssektion bewirkt, dass eine Speichersektion die Position und Haltung darin speichert. Um zu verhindern, dass der Roboter eine übermäßige Aktion entgegen der Absicht des Lehrers durchführt, wenn der Ausgabewert von dem Kraftsensor außerhalb eines bestimmten Bereichs liegt, erteilt die Berechnungssektion der Antriebssektion einen Bewegungsbefehl mit einem Betrag von Null.
  • Zusammenfassung
  • Technisches Problem
  • Mit der Technik, die in der Veröffentlichung der japanischen Patentanmeldung Tokukaihei Nr. 02-9553 (1990) offenbart ist, auch wenn der Ausgabewert von dem Kraftsensor innerhalb des bestimmten Bereichs liegt, kann der Roboterhandteil möglicherweise eine übermäßige Aktion entgegen der Absicht des Lehrers aufgrund eines unerwarteten Faktors oder dgl. durchführen. In diesem Fall ist es nachteilig unmöglich, eine ausreichende Sicherheit des Lehrers zu garantieren, der sich in der Nähe des Roboters befindet. Dabei ist mit einer entfernen Lernmethode oder dgl., welche die Sicherheit des Lehrers garantieren kann, ein intuitives Lehren unmöglich, wie es durch die direkte Lehrmethode vorgenommen wird. Wenn der Lehrer das Lehren nicht intuitiv durchführen kann, kann das Lehren in einigen Fällen hinsichtlich der Genauigkeit unzureichend sein.
  • Ein Aspekt der vorliegenden Erfindung wurde gemacht, um die Probleme im Vorstehenden zu lösen, und hat die Aufgabe, eine Technik bereitzustellen, um einen Roboter eine Aktion mit höherer Genauigkeit zu lehren.
  • Lösung für das Problem
  • Um die Aufgabe zu erfüllen, ist eine Steuervorrichtung gemäß einem Aspekt der vorliegenden Erfindung eine Steuervorrichtung zum Steuern eines Roboters, wobei die Steuervorrichtung einen oder mehrere Prozessoren aufweist. Der eine oder die mehreren Prozessoren führen einen Bewegungsprozess und einen Erzeugungsprozess aus. Ein Steuerverfahren gemäß einem Aspekt der vorliegenden Erfindung ist ein Steuerverfahren, um zu bewirken, dass ein oder mehrere Prozessoren einen Roboter steuern, wobei das Steuerverfahren einen Bewegungsschritt und einen Erzeugungsschritt aufweist.
  • Der Roboter weist einen Armteil, einen Kraftsensor und einen Endeffektor auf, der an dem Armteil über den Kraftsensor befestigt ist. In dem Bewegungsprozess (Bewegungsschritt) bewirken der eine oder die mehreren Prozessoren, dass sich der Endeffektor bewegt. In dem Erzeugungsprozess (Erzeugungsschritt) erzeugen der eine oder die mehreren Prozessoren Lehrinformationen, die einer Bewegungsroute des Endeffektors entsprechen, mit Bezugnahme auf einen Detektionswert von dem Kraftsensor.
  • Vorteilhafte Effekte der Erfindung
  • Gemäß einem Aspekt der vorliegenden Erfindung ist es möglich, einen Roboter eine Aktion mit höherer Genauigkeit zu lehren.
  • Figurenliste
    • 1 ist eine Ansicht, die schematisch die Auslegung eines Robotersteuersystems gemäß der Ausführungsform 1 der vorliegenden Erfindung veranschaulicht.
    • 2 ist ein Blockbild, das die Auslegung des Robotersteuersystems gemäß der Ausführungsform 1 der vorliegenden Erfindung veranschaulicht.
    • 3 ist eine Ansicht, die schematisch ein spezifisches Beispiel eines Detektionswerts von einem Kraftsensor und eines Verbindungsmodus davon in der Ausführungsform 1 der vorliegenden Erfindung veranschaulicht.
    • 4 ist ein Flussdiagramm, das einen Fluss eines Steuerverfahrens gemäß der Ausführungsform 1 der vorliegenden Erfindung veranschaulicht.
    • 5 ist eine Ansicht, die ein spezifisches Beispiel eines Bildschirms zeigt, der auf einer Anzeige in der Ausführungsform 1 der vorliegenden Erfindung angezeigt wird.
    • 6 ist ein Flussdiagramm, das einen Fluss eines weiteren Steuerverfahrens gemäß der Ausführungsform 1 der vorliegenden Erfindung veranschaulicht.
    • 7 ist eine Ansicht, die schematisch eine Auslegung eines Robotersteuersystems gemäß der Ausführungsform 2 der vorliegenden Erfindung veranschaulicht.
    • 8 ist ein Flussdiagramm, das einen Fluss eines Steuerverfahrens gemäß der Ausführungsform 2 der vorliegenden Erfindung veranschaulicht.
  • Beschreibung von Ausführungsbeispielen
  • Ausführungsform 1
  • Die folgende Beschreibung diskutiert Details eines Robotersteuersystems 1 gemäß der Ausführungsform 1.
  • <Zusammenfassung des Robotersteuersystems 1 >
  • Das Robotersteuersystem 1 ist ein System zum Steuern eines Roboters und ist dafür ausgelegt, um den Roboter gemäß einer Manipulation eines Lehrers zu steuern. Der Roboter, der zu steuern ist, weist einen Armteil, einen Kraftsensor und einen Endeffektor auf, der an dem Armteil über den Kraftsensor befestigt ist. Ein oder mehrere Prozessoren bewirken, dass sich der Endeffektor gemäß einer Manipulation des Lehrers in Bezug auf eine Manipulationsvorrichtung bewegt. Während sich der Endeffektor bewegt, geben der eine oder die mehreren Prozessoren, an eine Ausgabevorrichtung, Informationen aus, die einen Detektionswert von dem Kraftsensor auf einer Echtzeitbasis anzeigen.
  • Mit dem Robotersteuersystem 1, wie im Vorstehenden ausgelegt, kann der Lehrer die Manipulationsvorrichtung an einem Ort manipulieren, der von dem Roboter ausreichend entfernt ist (z.B. an einem Ort außerhalb eines Sicherheitszauns). Dies kann die Sicherheit des Lehrers erhöhen. Zusätzlich kann der Lehrer den Detektionswert von dem Kraftsensor auf einer Echtzeitbasis überprüfen. Somit kann der Lehrer eine Manipulation durchführen, um zu bewirken, dass sich der Endeffektor bewegt, während er eine externe Kraft überprüft, die auf den Endeffektor ausgeübt wird. Demgemäß kann der Lehrer eine Aktion des Endeffektors in einer sichereren Umgebung einfacher lehren.
  • Die folgende Beschreibung behandelt ein Beispiel, in dem ein Handteil als Endeffektor der Ausführungsform 1 verwendet wird.
  • <Auslegung des Robotersteuersystems 1 >
  • Mit Bezugnahme auf 1 und 2 beschreibt das Folgende eine Auslegung des Robotersteuersystems 1. 1 ist eine Ansicht, die schematisch die Auslegung des Robotersteuersystems 1 veranschaulicht. 2 ist ein Blockbild, das die Auslegung des Robotersteuersystems 1 veranschaulicht.
  • Wie in 1 und 2 gezeigt, weist das Robotersteuersystem 1 eine dedizierte Steuereinheit 10, eine Robotersteuereinheit 20, einen Roboter 30, eine Anzeige 40 und eine Manipulationsvorrichtung 50 auf. Hier ist die dedizierte Steuereinheit 10 ein Beispiel der Steuervorrichtung gemäß der vorliegenden Erfindung. Die Anzeige 40 ist ein Beispiel der Ausgabevorrichtung gemäß der vorliegenden Erfindung. Das Robotersteuersystem 1 ist ein System, das dafür ausgelegt ist, um den Roboter 30 eine Aktion des Einsetzens eines vorspringenden Werkstücks 91 in ein vertieftes Werkstück 92 zu lehren.
  • Hier ist die Anzeige 40 derart angeordnet, dass sie es einem Lehrer U gestattet, die Anzeige 40 visuell zu sehen. Die Manipulationsvorrichtung 50 ist an einem Ort um eine bestimmte Distanz oder mehr entfernt von dem Roboter 30 angeordnet (z.B. an einem Ort außerhalb eines Sicherheitszauns). Damit kann der Lehrer U den Roboter 30 entfernt eine Aktion lehren, während er visuell die Anzeige 40 beobachtet.
  • Das vorspringende Werkstück 91 hat einen Vorsprung, der in eine Vertiefung des vertieften Werkstücks 92 eingesetzt werden kann. In der Ausführungsform 1 hat der Vorsprung eine Form, die es gestattet, dass der Vorsprung in die Vertiefung eingesetzt wird. In einem Fall, wo zum Beispiel das vertiefte Werkstück 92 derart platziert wird, dass die Vertiefung nach oben gewandt ist, kann das vorspringende Werkstück 91 nach unten bewegt werden, wobei der Vorsprung nach unten gewandt ist. Demgemäß kann der Vorsprung in die Vertiefung eingepasst werden. Hier im Nachstehenden kann das Bewegen des vorspringenden Werkstücks 91, sodass der Vorsprung des vorspringenden Werkstücks 91 in die Vertiefung des vertieften Werkstücks 92 eingepasst wird, alternativ dazu als Einsetzen des vorspringenden Werkstücks 91 in das vertiefte Werkstück 92 beschrieben werden. Zusätzlich kann eine Richtung, in der das vorspringende Werkstück 91 bewegt wird, um so in das vertiefte Werkstück 92 eingesetzt zu werden, alternativ dazu als Einsetzrichtung beschrieben werden.
  • Der Roboter 30 weist eine Befestigung 31, den Armteil 32, den Handteil 33 und den Kraftsensor 34 auf.
  • Die Befestigung 31 ist auf einer Installationsfläche für den Roboter 30 angeordnet. Die Installationsfläche kann zum Beispiel ein Boden sein. Dies ist jedoch nicht einschränkend. Die Befestigung 31 kann dafür ausgelegt sein, um unter der Steuerung der Robotersteuereinheit 20 über die Installationsfläche bewegbar zu sein.
  • Der Armteil 32 weist vier Arme auf. Jeder der Arme hat einen Basisendteil, der mit einem distalen Endteil eines anderen der Arme oder mit der Befestigung 31 derart gekoppelt ist, dass sich der Arm um eine bestimmte Achse drehen kann. Die Arme werden von der Robotersteuereinheit 20 an den Kopplungsteilen derart gesteuert, dass die Arme gedreht werden. Auf diese Weise wird eine Bahn des distalen Endteils des gesamten Armteils 32 gesteuert.
  • Der Handteil 33 ist an dem Armteil 32 über den Kraftsensor 34 befestigt. Der Handteil 33 weist einen Basisteil 331 und ein Paar von Fingerteilen 332a und 332b auf, die mit dem Basisteil 331 verbunden sind. Unter der Steuerung der Robotersteuereinheit 20 führt der Handteil 33 eine Öffnungsaktion des Trennens der Fingerteile 332a und 332b voneinander und eine Schließaktion durch, um zu bewirken, dass die Fingerteile 332a und 332b einander nahekommen. Der Handteil 33 öffnet und schließt die Fingerteile 332a und 332b, um das vorspringende Werkstück 91 zu halten. Hier im Nachstehenden können das Öffnen und Schließen der Fingerteile 332a und 332b alternativ dazu als Öffnen und Schließen des Handteils 33 ausgedrückt werden.
  • Der Kraftsensor 34 ist dafür ausgelegt, um die Richtung und Größe einer Kraft und eines Drehmoments zu detektieren, die auf den Kraftsensor 34 ausgeübt werden. Ein Detektionswert von dem Kraftsensor 34 wird mit Bezugnahme auf 3 erläutert. 3 ist eine Ansicht, die schematisch ein spezifisches Beispiel eines Detektionswerts von dem Kraftsensor 34 und eines Verbindungsmodus davon veranschaulicht. Wie in 3 gezeigt, ist der Kraftsensor 34 ein sechsachsiger Kraftsensor, der dafür ausgelegt ist, um zu detektieren: (i) Größen (Fx, Fy, Fz) von Kräften, die in die Richtungen der drei Achsen (x-Achse, y-Achse, z-Achse) wirken, und (i) Größen (Mx, My, Mz) von Drehmomenten um diese Achsen. Hier im Nachstehenden werden Fx, Fy, Fz, Mx, My und Mz als Kraftkomponenten oder einfach als Detektionswerte bezeichnet.
  • Wie in 3 gezeigt, weist der Kraftsensor 34 eine Fläche 341 und eine Fläche 342 auf. Der Kraftsensor 34 weist ferner ein Dehnungselement (nicht veranschaulicht) auf, über das ein Element mit der Fläche 341 und ein Element mit der Fläche 342 miteinander gekoppelt sind. Der Kraftsensor 34 detektiert Verformungen des Dehnungselements, das innerhalb des Kraftsensors 34 angeordnet ist, um so Werte der Komponenten der Kraft zu berechnen, die auf den Kraftsensor 34 ausgeübt wird.
  • Mit Bezugnahme auf 3 beschreibt das Folgende ein Beispiel des Verbindungsmodus, in dem „der Handteil 33 an dem Armteil 32 über den Kraftsensor 34 befestigt ist“. Wie in 3 gezeigt, ist der distale Endteil 321 des gesamten Armteils 32 an der Fläche 342 des Kraftsensors 34 befestigt. Der Basisteil 331 des Handteils 33 ist an der Fläche 341 des Kraftsensors 34 befestigt. Wenn eine externe Kraft auf das vorspringende Werkstück 91 ausgeübt wird, während der Handteil 33 das vorspringende Werkstück 91 hält, wird damit die externe Kraft auch auf den Kraftsensor 34 ausgeübt. Wenn eine externe Kraft auf das vorspringende Werkstück 91 ausgeübt wird, detektiert somit der Kraftsensor 34 die Werte der Komponenten der Kraft, die auf den Kraftsensor 34 ausgeübt wird.
  • Die Robotersteuereinheit 20 ist eine Vorrichtung, die dafür ausgelegt ist, um eine Aktion des gesamten Roboters 30 zu steuern. Wie in 2 gezeigt, weist die Robotersteuereinheit 20 einen Prozessor 21, einen primären Speicher 22, einen sekundären Speicher 23, eine Kommunikationsschnittstelle (IF) 24 und einen Eingabe- Ausgabe-Schnittstelle (IF) 25 auf. Der Prozessor 21, der primäre Speicher 22, der sekundäre Speicher 23, die Kommunikationsschnittstelle 24 und die Eingabe- Ausgabe-Schnittstelle 25 sind über einen Bus miteinander verbunden.
  • Der sekundäre Speicher 23 speichert ein Programm P2 darin. Das Programm P2 ist ein Programm, das dafür ausgelegt ist, um zu bewirken, dass der Prozessor 21 einen Prozess zum Steuern einer Aktion des gesamten Roboters 30 ausführt. Gemäß einer Instruktion, die in dem Programm P2 enthalten ist, führt der Prozessor 21 einen Prozess zum Steuern einer Aktion des gesamten Roboters 30 aus. Der Prozess zum Steuern einer Aktion des gesamten Roboters 30 wird im Nachstehenden detailliert beschrieben.
  • Eine Vorrichtung, die als Prozessor 21 verwendet werden kann, kann zum Beispiel eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU) oder eine Kombination von diesen sein.
  • Eine Vorrichtung, die als primärer Speicher 22 verwendet werden kann, kann zum Beispiel ein Halbleiterspeicher mit wahlfreiem Zugriff (RAM) sein. Eine Vorrichtung, die als sekundärer Speicher 23 verwendet werden kann, kann zum Beispiel ein Flash Speicher, ein Festplattenlaufwerk (HDD), ein Solid State Drive (SSD) oder eine Kombination beliebiger davon sein.
  • Die Kommunikationsschnittstelle 24 ist eine Schnittstelle, die verwendet wird, um mit der dedizierten Steuereinheit 10 zu kommunizieren. Spezifische Beispiele der Kommunikationsschnittstelle 24 umfassen Schnittstellen, wie einen Universal Serial Bus (USB), Ethernet (eingetragenes Warenzeichen), Wi-Fi (eingetragenes Warenzeichen) und ein serielles Kommunikationssystem. Spezifische Beispiele eines Netzsystems, über das die Kommunikationsschnittstelle 24 und eine Kommunikationsschnittstelle 14 (im Nachstehenden beschrieben) miteinander verbunden sind, umfassen ein lokales Netz (LAN), ein Weitverkehrsnetz (WAN) und ein Internet, das beliebige dieser Netze umfasst. Die dedizierte Steuereinheit 10 kann mit der Eingabe-Ausgabe-Schnittstelle 25 verbunden sein.
  • Die Eingabe-Ausgabe-Schnittstelle 25 ist mit dem Armteil 32 und dem Handteil 33 über ihre jeweiligen Antriebssektionen (nicht veranschaulicht) verbunden. Beispiele der Eingabe-Ausgabe-Schnittstelle 25 umfassen Schnittstellen, wie serielle Kommunikation, Ethernet, DeviceNet, CC-Link, PROFIBUS, EtherNet/IP und Ethernet for Control Automation Technology (EtherCat). Einer oder beide von dem Armteil 32 und dem Handteil 33 kann oder können mit der Kommunikationsschnittstelle 24 über die Antriebssektion(en) verbunden sein.
  • Der Prozess, der von der Robotersteuereinheit 20 durchgeführt wird, um eine Aktion des gesamten Roboters 30 zu steuern, umfasst einen Bewegungssteuerprozess und einen Haltesteuerprozess. Der Bewegungssteuerprozess ist ein Prozess, um zu bewirken, dass sich der distale Endteil 321 des gesamten Armteils 32 bewegt. Wenn sich der distale Endteil 321 bewegt, bewegt sich auch der Handteil 33, der an dem distalen Endteil 321 über den Kraftsensor 34 befestigt ist. Hier im Nachstehenden kann das Bewegen des distalen Endteils 321 alternativ dazu als Bewegen des Handteils 33 ausgedrückt werden. Der Prozessor 21 überträgt Steuereinformationen an Antriebssektionen, die jeweils dafür ausgelegt sind, um die Kopplungsteile des Armteils 32 derart anzutreiben, dass bewirkt wird, dass sich der Handteil 33 bewegt. Der Prozessor 21 kann bewirken, dass sich der Handteil 33 in eine Position bewegt, die von extern empfangenen Informationen angezeigt wird. Alternativ dazu kann der Prozessor 21 bewirken, dass sich der Handteil 33 in eine Richtung bewegt, die von extern empfangenen Informationen angezeigt wird.
  • Der Haltesteuerprozess ist ein Prozess, um zu bewirken, dass der Handteil 33 das vorspringende Werkstück 91 hält. Um den Haltesteuerprozess durchzuführen, führt der Prozessor 21 einen Anhebe- und Absenkprozess zum Anheben und Absenken des distalen Endteils 321 des Armteils 32 und den Öffnungs- und Schließprozess zum Öffnen und Schließen des Handteils 33 in Kombination durch. Der Prozessor 21 überträgt Steuerinformationen an die Antriebssektionen, die jeweils dafür ausgelegt sind, um die Kopplungsteile des Armteils 32 derart anzutreiben, dass sie den Anhebe- und Absenkprozess durchführen. Der Prozessor 21 überträgt Steuerinformationen an die Antriebssektionen, die jeweils dafür ausgelegt sind, um die Fingerteile 332a und 332b derart anzutreiben, dass sie den Öffnungs- und Schließprozess durchführen.
  • Die dedizierte Steuereinheit 10 ist eine Vorrichtung zum Ausführen verschiedener Prozesse, um den Roboter 30 eine Aktion zu lehren. Die dedizierte Steuereinheit 10 bewirkt, dass sich der Handteil 33 gemäß einer Manipulation des Lehrers U in Bezug auf die Manipulationsvorrichtung 50 bewegt. Während sich der Handteil 33 bewegt, bewirkt die dedizierte Steuereinheit 10, dass die Anzeige 40 Informationen anzeigt, die Detektionswerte von dem Kraftsensor 34 auf einer Echtzeitbasis anzeigen.
  • Wie in 2 gezeigt, weist die dedizierte Steuereinheit 10 einen Prozessor 11, einen primären Speicher 12, einen sekundären Speicher 13, eine Kommunikationsschnittstelle 14 und eine Eingabe-Ausgabe-Schnittstelle 15 auf. Der Prozessor 11, der primäre Speicher 12, der sekundäre Speicher 13, die Kommunikationsschnittstelle 14 und die Eingabe-Ausgabe-Schnittstelle 15 sind über einen Bus miteinander verbunden.
  • In dem sekundären Speicher 13 werden ein Programm P1 und Lehrinformationen D gespeichert. Das Programm P1 ist ein Programm, das dafür ausgelegt ist, um zu bewirken, dass der Prozessor 11 ein Steuerverfahren S1 und ein Steuerverfahren S2 ausführt, von denen jedes im Nachstehenden beschrieben wird. Gemäß einer Instruktion, die in dem Programm P1 enthalten ist, führt der Prozessor 11 das Steuerverfahren S1 und das Steuerverfahren S2 aus. Die Lehrinformationen D sind Informationen, auf die der Prozessor 11 Bezug zu nehmen hat, der dafür ausgelegt ist, um das Steuerverfahren S1 und das Steuerverfahren S2 auszuführen. Die Lehrinformationen D werden im Nachstehenden detailliert beschrieben.
  • Eine Vorrichtung, die als Prozessor 11 verwendet werden kann, kann zum Beispiel eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU) oder eine Kombination von diesen sein.
  • Eine Vorrichtung, die als primärer Speicher 12 verwendet werden kann, kann zum Beispiel ein Halbleiterspeicher mit wahlfreiem Zugriff (RAM) sein. Eine Vorrichtung, die als sekundärer Speicher 13 verwendet werden kann, kann zum Beispiel ein Flash Speicher, ein Festplattenlaufwerk (HDD), ein Solid State Drive (SSD) oder eine Kombination beliebiger davon sein.
  • Die Kommunikationsschnittstelle 14 ist eine Schnittstelle, die verwendet wird, um mit der Robotersteuereinheit 20 zu kommunizieren. Spezifische Beispiele der Kommunikationsschnittstelle 14 umfassen Schnittstellen, wie einen Universal Serial Bus (USB), Ethernet (eingetragenes Warenzeichen), Wi-Fi (eingetragenes Warenzeichen) und ein serielles Kommunikationssystem. Spezifische Beispiele eines Netzsystems, über das die Kommunikationsschnittstelle 14 und eine Kommunikationsschnittstelle 24 miteinander verbunden sind, sind identisch mit den im Vorstehenden beschriebenen. Die Robotersteuereinheit 20 kann mit der Eingabe-Ausgabe-Schnittstelle 15 verbunden sein.
  • Die Eingabe-Ausgabe-Schnittstelle 15 ist mit dem Kraftsensor 34, der Anzeige 40 und der Manipulationsvorrichtung 50 verbunden. Beispiele der Eingabe-Ausgabe-Schnittstelle 15 umfassen Schnittstellen, wie serielle Kommunikation, Ethernet (eingetragenes Warenzeichen), USB, einen Analog-Digital-Wandler und Ethernet for Control Automation Technology (EtherCat). Der Kraftsensor 34 kann mit der Kommunikationsschnittstelle 14 oder der Eingabe-Ausgabe-Schnittstelle 15 verbunden sein.
  • Die Anzeige 40 hat einen Anzeigebereich zum Anzeigen eines Bilds. Die Anzeige 40 zeigt auf dem Anzeigebereich ein Bild an, das von dem Prozessor 11 erzeugt wird. Hier im Nachstehenden kann das Anzeigen eines Bilds auf dem Anzeigebereich der Anzeige 40 einfach als Anzeigen eines Bilds auf der Anzeige 40 bezeichnet werden. Das Bild, das auf dem Anzeigebereich angezeigt wird, kann alternativ dazu als Bildschirm bezeichnet werden. Beispiele der Anzeige 40 umfassen eine Flüssigkristallanzeige, eine Plasmaanzeige und eine organische Elektrolumineszenz- (EL) Anzeige.
  • Die Manipulationsvorrichtung 50 hat eine Manipulationssektion, die dafür ausgelegt ist, um eine Manipulation des Lehrers U anzunehmen. Die Manipulation des Lehrers U umfasst eine Manipulation, um eine Instruktion in Bezug auf eine Bewegungsrichtung des Handteils 33 zu erteilen. Die Manipulation des Lehrers U umfasst auch eine Manipulation, um eine Instruktion zu erteilen, um in verschiedenen Prozessen eine Bestätigung zu geben.
  • Zum Beispiel weist die Manipulationssektion Druckknöpfe auf, die zum Beispiel als Richtungsknöpfe für eine Aufwärtsrichtung, eine Abwärtsrichtung, eine rechte Richtung und eine linke Richtung dienen können. Jeder der Richtungsknöpfe kann eine Manipulation annehmen, um eine Instruktion ungeachtet einer Bewegungsrichtung zu erteilen. Wenn irgendeiner der Richtungsknöpfe gedrückt wird, überträgt die Manipulationsvorrichtung 50 an die dedizierte Steuereinheit 10 Richtungsinformationen, welche eine Richtung anzeigen, die dem so gedrückten Richtungsknopf entspricht. Die Manipulation, um die Instruktion in Bezug auf die Bewegungsrichtung zu erteilen, kann alternativ dazu über eine Vorrichtung wie einen Joystick angenommen werden. Wenn in diesem Fall der Joystick geneigt wird, überträgt die Manipulationsvorrichtung 50 an die dedizierte Steuereinheit 10 Richtungsinformationen, welche eine Richtung anzeigen, die der Richtung entspricht, in die der Joystick geneigt wird.
  • Die Manipulationssektion weit einen Druckknopf auf, der zum Beispiel als Bestätigungsknopf dienen kann. Der Bestätigungsknopf kann eine Manipulation annehmen, um eine Instruktion zu erteilen, um in den verschiedenen Prozessen eine Bestätigung zu geben. Wenn der Bestätigungsknopf gedrückt wird, überträgt die Manipulationsvorrichtung 50 an die dedizierte Steuereinheit 10 Bestätigungsinformationen, die eine Instruktion anzeigen, um eine Bestätigung zu geben.
  • Die Manipulationsvorrichtung 50 kann als Manipulationssektion ein Berührungsfeld aufweisen, anstelle oder zusätzlich zu der physischen Benutzerschnittstelle, wie die Druckknöpfe und/oder der Joystick, die im Vorstehenden beschrieben werden. In diesem Fall bewirkt die Manipulationsvorrichtung 50, dass das Berührungsfeld Benutzerschnittstellenobjekte anzeigt, die jeweils als die im Vorstehenden beschriebenen Knöpfe, der Joystick und der Bestätigungsknopf, dienen können. Bei der Annahme einer Manipulation durch Berühren irgendeines der Benutzerschnittstellenobjekte überträgt die Manipulationsvorrichtung 50 Richtungsinformationen oder Bestätigungsinformationen an die dedizierte Steuereinheit 10.
  • Die folgende Beschreibung erfolgt unter der Annahme, dass die Manipulationsvorrichtung 50 die Richtungsknöpfe und den Bestätigungsknopf aufweist.
  • <Steuerverfahren, das von dem Robotersteuersystem 1 auszuführen ist>
  • Das Robotersteuersystem 1 ist dafür ausgelegt, um das Steuerverfahren S1 und das Steuerverfahren S2 auszuführen. Das Steuerverfahren S1 ist ein Verfahren, um den Roboter 30 eine Aktion des Handteils 33 zu lehren. Das Steuerverfahren S2 ist ein Verfahren, um die Aktion zu modifizieren, die der Handteil 33 gelehrt wird, während versuchsweise bewirkt wird, dass der Roboter 30 die Aktion vornimmt.
  • <Fluss des Steuerverfahrens S1>
  • Das Steuerverfahren S1, das von dem Prozessor 11 auszuführen ist, wird mit Bezugnahme auf 4 beschrieben. 4 ist ein Flussdiagramm, das einen Fluss des Steuerverfahrens S1 anzeigt. Wie in 4 gezeigt, umfasst das Steuerverfahren S1 die Schritte S101 bis S112.
  • In dem Schritt S101 bewirkt der Prozessor 11, dass der Handteil 33 das vorspringende Werkstück 91 hält. Spezifisch fordert der Prozessor 11 von der Robotersteuereinheit 20 an zu bewirken, dass sich der Handteil 33 in eine Halteposition bewegt und dann das vorspringende Werkstück 91 hält.
  • Spezifischer überträgt der Prozessor 11, an die Robotersteuereinheit 20, Informationen, welche die Halteposition anzeigen, und fordert an, den Bewegungssteuerprozess durchzuführen, um zu bewirken, dass sich der Handteil 33 in die Halteposition bewegt. Die Halteposition wird im Voraus in einer Position über der Position eingestellt, wo das vorspringende Werkstück 91 liegt. Beim Empfang der Anforderung, den Bewegungssteuerprozess durchzuführen, bewirkt der Prozessor 21 der Robotersteuereinheit 20 zum Beispiel, dass sich der Handteil 33 in die Halteposition bewegt. Dann fordert der Prozessor 11 von der Robotersteuereinheit 20 an, den Haltesteuerprozess durchzuführen. Beim Empfang der Anforderung, den Haltesteuerprozess durchzuführen, öffnet der Prozessor 21 der Robotersteuereinheit 20 den Handteil 33 und senkt den Handteil 33 zu der Position ab, wo das vorspringende Werkstück 91 liegt. Dann schließt der Prozessor 21 den Handteil 33, sodass der Handteil 33 das vorspringende Werkstück 91 halten kann, und hebt dann den Handteil 33 auf die ursprüngliche Halteposition an.
  • In diesem Schritt hält der Handteil 33 das vorspringende Werkstück 91, wobei das vorspringende Werkstück 91 derart ausgerichtet ist, dass das vorspringende Werkstück 91 in das vertiefte Werkstück 92 eingesetzt werden kann. Wie in 1 gezeigt, in einem Fall, wo das vertiefte Werkstück 92 derart platziert wird, dass die Vertiefung des vertieften Werkstücks 92 nach oben gewandt ist, ist die Ausrichtung, mit der das vorspringende Werkstück 91 in das vertiefte Werkstück 92 eingesetzt werden kann, eine Ausrichtung, mit welcher der Vorsprung des vorspringenden Werkstücks 91 nach unten gewandt ist. Bevor das vorspringende Werkstück 91 gehalten wird, kann das vorspringende Werkstück 91 zum Beispiel derart platziert werden, dass sein Vorsprung nach unten gewandt ist. Dies macht es möglich, dass der Handteil 33 das vorspringende Werkstück 91 hält, wobei das vorspringende Werkstück 91 derart ausgerichtet ist, dass das vorspringende Werkstück 91 in das vertiefte Werkstück 92 eingesetzt werden kann.
  • In dem Schritt S102 bewirkt der Prozessor 11, dass sich der Handteil 33 in eine Startposition bewegt. Hier bezieht sich die Startposition auf eine Position, wo das Lehren beginnen soll. Die Startposition kann in einigen Fällen im Voraus definiert werden und kann in anderen Fällen von dem Lehrer U bezeichnet werden.
  • Das Folgende beschreibt den Fall, wo die Startposition im Voraus definiert wird. In diesem Fall wird als Startposition eine Position über dem vertieften Werkstück 92 im Voraus definiert. Der Prozessor 11 fordert von der Robotersteuereinheit 20 an zu bewirken, dass sich der Handteil 33 in die Startposition bewegt. Spezifischer überträgt der Prozessor 11, an die Robotersteuereinheit 20, Informationen, welche die Startposition anzeigen, und fordert an, den Bewegungssteuerprozess durchzuführen, um zu bewirken, dass sich der Handteil 33 in die Startposition bewegt. Beim Empfang der Anforderung, den Bewegungssteuerprozess durchzuführen, bewirkt der Prozessor 21 der Robotersteuereinheit 20, dass sich der Handteil 33 in die Startposition bewegt.
  • Das Folgende beschreibt den Fall, wo die Startposition von dem Lehrer U bezeichnet wird. In diesem Fall manipuliert der Lehrer U irgendeinen der Richtungsknöpfe der Manipulationsvorrichtung 50, um so zu bewirken, dass sich der Handteil 33 in eine gewünschte Startposition bewegt. Der Prozessor 11 überträgt, an die Robotersteuereinheit 20, Richtungsinformationen, die er von der Manipulationsvorrichtung 50 empfangen hat, und fordert den Bewegungssteuerprozess an. Beim Empfang der Anforderung, den Bewegungssteuerprozess durchzuführen, bewirkt der Prozessor 21 der Robotersteuereinheit 20, dass sich der Handteil 33 in eine Richtung bewegt, die von den Richtungsinformationen angezeigt wird. Wenn sich der Handteil 33 in die gewünschte Startposition bewegt, bedient der Lehrer U den Bestätigungsknopf der Manipulationsvorrichtung 50. Beim Empfang der Bestätigungsinformationen von der Manipulationsvorrichtung 50 definiert der Prozessor 11 als Startposition die Position des Handteils 33 zu dieser Zeit. Der Prozessor 11 bewirkt, dass der primäre Speicher 12 die Informationen, welche die Startposition anzeigen, als Informationen speichert, die den ersten Transitpunkt auf der Bewegungsroute anzeigen.
  • In dem Schritt S103 setzt der Prozessor 11 den Kraftsensor 34 zurück. Direkt nachdem der Kraftsensor 34 zurückgesetzt wurde, gibt der Kraftsensor 34 Null als jeden der Detektionswerte aus.
  • In dem Schritt S104 führt der Prozessor 11 einen Bewegungsprozess aus, um zu bewirken, dass sich der Handteil 33 bewegt. Spezifisch fordert der Prozessor 11, gemäß einer Manipulation des Lehrers U in Bezug auf die Manipulationsvorrichtung 50 (z.B. Drücken irgendeines der Richtungsknöpfe), von der Robotersteuereinheit 20 an zu bewirken, dass sich der Handteil 33 bewegt. Der Prozess, der in diesem Schritt durchgeführt wird, ist ein Beispiel des ersten Bewegungsprozesses gemäß der vorliegenden Erfindung. Spezifischer überträgt der Prozessor 11, an die Robotersteuereinheit 20, die Richtungsinformationen, die er von der Manipulationsvorrichtung 50 empfangen hat, und fordert an, den Bewegungssteuerprozess durchzuführen, um zu bewirken, dass sich der Handteil 33 in eine Bewegungsrichtung bewegt, die von den Richtungsinformationen angezeigt wird. Beim Empfang der Anforderung, den Bewegungssteuerprozess durchzuführen, bewirkt der Prozessor 21 der Robotersteuereinheit 20, dass sich der Handteil 33 in die Richtung bewegt, die von den Richtungsinformationen angezeigt wird. Dieser Schritt wird wiederholt durchgeführt, nachdem die Detektionswerte von dem Kraftsensor 34 auf der Anzeige 40 in dem Schritt 106 (im Nachstehenden beschrieben) angezeigt werden. Während die Detektionswerte, die auf der Anzeige 40 angezeigt werden, auf einer Echtzeitbasis visuell beobachtet werden, kann der Lehrer U damit die Manipulationsvorrichtung 50 manipulieren, um so zu bewirken, dass sich der Handteil 33 bewegt. Die Manipulation des Lehrers U wird im Nachstehenden detailliert beschrieben.
  • In dem Schritt S105 erhält der Prozessor 11 die Detektionswerte von dem Kraftsensor 34. Hier wird in einem Fall, wo sich das vorspringende Werkstück 91 in eine geeignete Einsetzrichtung in Bezug auf das vertiefte Werkstück 92 bewegt, keine externe Kraft auf das vorspringende Werkstück 91 ausgeübt. In diesem Fall ist jeder der Detektionswerte von dem Kraftsensor 34 Null. In einem Fall, wo sich das vorspringende Werkstück 91 in eine Richtung bewegt, die von der geeigneten Einsetzrichtung abweicht, wird eine externe Kraft von dem vertieften Werkstück 92 auf das vorspringende Werkstück 91 ausgeübt. In diesem Fall ist mindestens irgendeiner der Detektionswerte von dem Kraftsensor 34 größer als Null.
  • In dem Schritt S105 erhält der Prozessor 11 Informationen, welche die Position des Handteils 33 anzeigen. In einem Fall, wo die Ausrichtung des Handteils 33 variabel ist, kann der Prozessor 11 ferner Informationen erhalten, welche die Ausrichtung des Handteils 33 anzeigen.
  • In dem Schritt S106 bewirkt der Prozessor 11, dass die Anzeige 40, auf einer Echtzeitbasis, die Informationen anzeigt, welche die Position des Handteils 33 anzeigen, und die Informationen, welche die Detektionswerte von dem Kraftsensor 34 anzeigen. In einem Fall, wo die Ausrichtung des Handteils 33 variabel ist, kann der Prozessor 11 bewirken, dass die Anzeige 40 ferner, auf einer Echtzeitbasis, die Informationen anzeigt, welche die Ausrichtung des Handteils 33 anzeigen. Der Prozess, der in diesem Schritt durchgeführt wird, ist ein Beispiel des ersten Ausgabeprozesses gemäß der vorliegenden Erfindung.
  • Spezifisch bewirkt der Prozessor 11, dass die Anzeige 40, auf einer Echtzeitbasis, ein Bild, das einen virtuellen Raum anzeigt, in dem ein Objekt angeordnet ist, das dem Handteil 33 entspricht, die Informationen, welche die Position des Handteils 33 anzeigen, und die Informationen, welche die Detektionswerte anzeigen, anzeigt. In dem virtuellen Raum ist das Objekt, das dem Handteil 33 entspricht, in einer virtuellen Position angeordnet, die der realen Position des Handteils 33 entspricht. Die Informationen, welche die Detektionswerte anzeigen, zeigen Detektionswerte an, die erhalten werden, wenn sich der Handteil 33 in dieser realen Position befindet. Ein Beispiel eines Bildschirms, der auf der Anzeige 40 in diesem Schritt angezeigt wird, wird im Nachstehenden beschrieben.
  • In dem Schritt S107 bestimmt der Prozessor 11, ob die Detektionswerte von dem Kraftsensor 34 eine bestimmte Bedingung erfüllen oder nicht. Hier ist die bestimmte Bedingung, dass mindestens irgendeiner der Detektionswerte eine Schwelle überschreitet. Die Schwellen werden jeweils für die Detektionswerte Fx, Fy, Fz, Mx, My und Mz definiert, die von dem Kraftsensor 34 erhalten werden.
  • Unter den Schwellen der Detektionswerte wird die Schwelle des Detektionswerts Fz derart definiert, dass sie größer ist als irgendeine andere der Schwellen der Detektionswerte. Der Grund dafür ist wie folgt. Das heißt, wenn das vorspringende Werkstück 91 eingesetzt wird und eine geeignete Position erreicht, erreicht die Spitze des Vorsprungs das vertiefte Werkstück 92, und eine externe Kraft wird auf das vorspringende Werkstück 91 nur in der z-Achsenrichtung ausgeübt.
  • Wenn der Prozessor 11 Ja in dem Schritt S107 bestimmt, fordert der Prozessor 11 in dem Schritt S108 von der Robotersteuereinheit 20 an, den Handteil 33 zu stoppen. Der Prozess, der in diesem Schritt durchgeführt wird, ist ein Beispiel des ersten Stoppprozesses gemäß der vorliegenden Erfindung. Beim Empfang der Stoppanforderung bewirkt der Prozessor 21 der Robotersteuereinheit 20, dass der Handteil 33 stoppt, sich zu bewegen. Dann beendet der Prozessor 11 das Steuerverfahren S1.
  • Durch die Ausführung dieses Schritts kann die dedizierte Steuereinheit 10 die Möglichkeit reduzieren, dass während des Lehrens der Roboter 30 eine Aktion durchführen kann, mit der die Detektionswerte von dem Kraftsensor 34 die bestimmte Bedingung erfüllen (d.h. mindestens irgendeiner der Detektionswerte überschreitet die Schwelle). Zum Beispiel kann eine bestimmte Bedingung (Schwellen) eingestellt werden, mit der Detektionswerte bestimmt werden können, die erhalten werden, wenn der Roboter 30 eine übermäßige Aktion durchgeführt hat. Damit ist es möglich, das Risiko zu reduzieren, dass ein Subjekt, das von dem Roboter 30 zu bearbeiten ist, oder eine Einrichtung in der Nähe des Roboters 30 beschädigt wird.
  • Wenn der Prozessor 11 Nein in dem Schritt S107 bestimmt, bestimmt der Prozessor 11 in dem Schritt S109, ob die aktuelle Position des Handteils 33 als Transitpunkt in einer Bewegungsroute zu speichern ist. Zum Beispiel kann der Prozessor 11 diese Bestimmung gemäß einer Manipulation des Lehrers U in Bezug auf die Manipulationsvorrichtung 50 vornehmen (z.B. Drücken des Bestätigungsknopfs). Wenn in diesem Fall zum Beispiel der Prozessor 11 Bestätigungsinformationen von der Manipulationsvorrichtung 50 empfängt, bestimmt der Prozessor 11, die aktuelle Position des Handteils 33 als Transitpunkt zu speichern.
  • Wenn der Prozessor 11 Nein in dem Schritt S109 bestimmt, führt der Prozessor 11 die Prozesse ab dem Schritt S104 erneut durch.
  • Wenn der Prozessor 11 Ja in dem Schritt S109 bestimmt, erhält der Prozessor 11 in dem Schritt S110 Informationen, welche die aktuelle Position des Handteils 33 anzeigen. Die Position des Handteils 33 wird z.B. von Raumkoordinaten unter Verwendung der Startposition als Ursprung angezeigt. Zum Beispiel kann der Prozessor 11 die aktuelle Position des Handteils 33 auf der Basis der Bewegungsrichtung des Handteils 33 und eines Verlaufs einer bewegten Länge berechnen. Der Prozessor 11 bewirkt, dass der primäre Speicher 12 die Informationen, welche die aktuelle Position des Handteils 33 anzeigen, als Informationen speichert, die den Transitpunkt anzeigen.
  • In dem Schritt S111 bestimmt der Prozessor 11, ob das Lehren beendet wurde oder nicht. Zum Beispiel kann der Prozessor 11 diese Bestimmung gemäß einer Manipulation des Lehrers U in Bezug auf die Manipulationsvorrichtung 50 vornehmen (z.B. Drücken des Bestätigungsknopfs). Wenn in diesem Fall zum Beispiel der Prozessor 11 Bestätigungsinformationen von der Manipulationsvorrichtung 50 empfängt, bestimmt der Prozessor 11, dass das Lehren beendet wurde.
  • Alternativ dazu kann der Prozessor 11 zum Beispiel die Bestimmung, ob das Lehren beendet wurde oder nicht, auf der Basis der Detektionswerte von dem Kraftsensor 34 vornehmen. Wenn zum Beispiel das vorspringende Werkstück 91 eingesetzt wird und eine geeignete Position erreicht, wird eine externe Kraft auf das vorspringende Werkstück 91 nur in der z-Achsenrichtung ausgeübt, und nur der Detektionswert Fz wird größer, wie im Vorstehenden beschrieben. Somit kann der Prozessor 11, als Bedingung zum Beenden des Lehrens, die Bedingung verwenden, dass der Detektionswert Fz einen bestimmten Wert überschreitet, und die anderen Detektionswerte Null sind.
  • Wenn der Prozessor 11 Nein in dem Schritt S111 bestimmt, führt der Prozessor 11 die Prozesse ab dem Schritt S104 erneut durch.
  • Wenn der Prozessor 11 Ja in dem Schritt S111 bestimmt, bewirkt der Prozessor 11 in dem Schritt S112, dass der sekundäre Speicher 13 Lehrinformationen D speichert, welche die Bewegungsroute des Handteils 33 anzeigen. Dieser Schritt ist ein Beispiel des Speicherprozesses gemäß der vorliegenden Erfindung. Dann beendet der Prozessor 11 das Steuerverfahren S1.
  • Hier sind die Lehrinformationen D Informationen, welche die Bewegungsroute des Handteils 33 in dem ersten Bewegungsprozess anzeigen (Schritt S104). Zum Beispiel bewirkt der Prozessor 11, dass der primäre Speicher 12, als Informationen, die den letzten Transitpunkt auf der Bewegungsroute anzeigen, Informationen speichert, welche die Position des Handteils 33 zu der Zeit anzeigen, wenn bestimmt wird, dass das Lehren beendet wurde (hier im Nachstehenden kann eine solche Position aus als Endposition bezeichnet werden. Der Prozessor 11 behandelt, als Lehrinformationen D, ein Array von Informationselementen, welche die Transitpunkte anzeigen, die in dem primären Speicher 12 gespeichert sind, und die in der Reihenfolge angeordnet sind, in welcher der Handteil 33 diese durchlaufen hat. Mit anderen Worten, die Lehrinformationen D sind ein Array von Informationselementen, welche die Transitpunkte anzeigen, die der Reihe nach entlang der Bewegungsroute angeordnet sind. Wie im Vorstehenden angegeben, werden die Lehrinformationen D in einem Fall erzeugt, wo kein Ausgabewert die Schwelle überschreitet, wenn auf die Ausgabewerte von dem Kraftsensor 34 Bezug genommen wird (Nein in dem Schritt S107). Daher ist der Prozess zum Erzeugen solcher Lehrinformationen D ein Beispiel des „Erzeugungsprozesses zum Erzeugen, mit Bezugnahme auf einen Detektionswert von dem Kraftsensor, von Lehrinformationen, die einer Bewegungsroute des Endeffektors entsprechen“ der vorliegenden Erfindung.
  • <Beispiel eines Bildschirms>
  • Als Nächstes wird mit Bezugnahme auf 5 das Folgende ein spezifisches Beispiel eines Bildschirms erläutern, der in dem Steuerverfahren S1 verwendet wird. 5 zeigt ein Beispiel eines Bildschirms (Bildschirm G1), der auf der Anzeige 40 angezeigt wird. Hier ist der Bildschirm G1 ein Beispiel eines Bildschirms, der in einem n.ten Prozess (n ist eine ganze Zahl gleich oder größer als 2) unter den Prozessen auszugeben ist, die wiederholt in dem Steuerverfahren S1 durchgeführt werden. Hier im Nachstehenden kann ein Zeitpunkt, wenn ein i.ter Prozess (i = 1, 2, 3, ..., n) unter den Prozessen ausgeführt wird, die wiederholt durchgeführt werden, auch als Zeitpunkt i bezeichnet werden. Wie in 5 gezeigt, weist der Bildschirm G1 Bereiche G101, G102 und G103 auf.
  • Der Bereich G101 weist die Bereiche G101a und G101b auf. Der Bereich G101a ist ein Bereich zum Anzeigen, auf einer Echtzeitbasis, eines Verlaufs von Informationen in Bezug auf die Position des Handteils 33. Der Bereich G101b ist ein Bereich zum Anzeigen, auf einer Echtzeitbasis, der Informationen in Bezug auf die aktuelle Position des Handteils 33.
  • Spezifisch umfasst der Bereich G101a Informationselemente, welche die Positionen des Handteils 33 von der Startposition p1 zur neuesten Position p(n-1) anzeigen. Es ist zu beachten, dass sich die neueste Position p(n-1) auf die Position des Handteils 33 zu einem Zeitpunkt t(n-1) bezieht. In diesem Beispiel zeigt der Bereich G101a Informationen in Bezug auf eine Position pi des Handteils 33 und Informationen an, welche Detektionswerte anzeigen, die von dem Kraftsensor 34 zu einem Zeitpunkt ti (i = 1, 2, 3, ..., n-1) erhalten werden. Spezifisch werden, als Informationen in Bezug auf die Position pi, Werte angezeigt, die xi, yi, zi, Rxi, Ryi und Rzi anzeigen. (xi, yi, zi) zeigt die Position pi an. (Rxi, Ryi, Rzi) zeigt eine Ausrichtung des Handteils 33 in der Position pi an. Als Informationen, welche die Detektionswerte anzeigen, die von dem Kraftsensor 34 zum Zeitpunkt ti erhalten werden, werden Werte von Fxi, Fyi, Fzi, Mxi, Myi und Mzi angezeigt.
  • Der Bereich G101b weist Informationen in Bezug auf die aktuelle Position pn des Handteils 33 zum aktuellen Zeitpunkt tn auf. Spezifisch zeigt (x, y, z), das in dem Bereich G101a enthalten ist, die aktuelle Position pn an. (Rx, Ry, Rz), das in dem Bereich G101b enthalten ist, zeigt eine Ausrichtung des Handteils 33 in der aktuellen Position pn an.
  • Der Bereich G102 ist ein Bereich zum Anzeigen, auf einer Echtzeitbasis, von Informationselementen, die Detektionswerte von dem Kraftsensor 34 anzeigen. Spezifisch weist der Bereich G102 einen Bereich G102a und einen Bereich G102b auf. Der Bereich G102a zeigt einen Graphen an, der Änderungen mit der Zeit in Detektionswerten zeigt, die bis zum aktuellen Zeitpunkt tn beobachtet werden. Der Bereich G102b zeigt Detektionswerte an, die von dem Kraftsensor 34 zum aktuellen Zeitpunkt tn erhalten werden. Somit umfasst der Bereich G102 Informationen, welche die Detektionswerte anzeigen, die von dem Kraftsensor 34 zu der Zeit erhalten werden, wenn sich der Handteil 33 in der aktuellen Position pn befindet. In dem Schritt S106 aktualisiert der Prozessor 11 die Bereiche G102a und G102b unter Verwendung der Detektionswerte, die zum aktuellen Zeitpunkt tn erhalten werden.
  • Der Bereich G103 ist ein Bereich zum Anzeigen, auf einer Echtzeitbasis, eines Bilds, das einen virtuellen Raum anzeigt, in dem ein Objekt OBJ33 angeordnet ist. Das Objekt OBJ33 ist ein Objekt, das dem Handteil 33 entspricht. In dem virtuellen Raum ist das Objekt OBJ33 in einer virtuellen Position angeordnet, die der realen aktuellen Position pn des Handteils 33 entspricht. In dem virtuellen Raum sind Objekte OBJ91 und OBJ92, die jeweils dem vorspringenden Werkstück 91 und dem vertieften Werkstück 92 entsprechen, an virtuellen Positionen angeordnet, die den realen Positionen entsprechen. Das Objekt OBJ92 hat eine Vertiefung OBJ92a, die der Vertiefung des vertieften Werkstücks 92 entspricht. Die Vertiefung OBJ92a hat eine Form, mit der die Vertiefung OBJ92a in engem Kontakt mit der Spitze des Objekts OBJ91 steht, wenn das OBJ91 in die Vertiefung OBJ92a eindringt. Zum Beispiel erzeugt der Prozessor 11 ein Sichtfeldbild des Objekts OBJ33 (oder OBJ91 oder OBJ92), gesehen von einem virtuellen Standpunkt in dem virtuellen Raum, und zeigt das so erzeugte Sichtfeldbild auf dem Bereich G103 an. Wenn sich die realen Positionen des Handteils 33 und des vorspringenden Werkstücks 91 bewegen, bewirkt der Prozessor 11, dass sich die virtuellen Positionen der Objekte OBJ33 und OBJ91 in dem virtuellen Raum bewegen, um das Sichtfeldbild zu aktualisieren. Es ist zu beachten, dass sich der virtuelle Standpunkt auf die Position des Standpunkts in dem virtuellen Raum bezieht. Der virtuelle Standpunkt kann eine virtuelle Position sein, die im Voraus definiert wird, oder eine virtuelle Position, die der realen Position der Manipulationsvorrichtung 50 entspricht, oder dgl. Der virtuelle Standpunkt kann gemäß einer Manipulation des Lehrers U veränderbar sein.
  • <Fluss von Manipulationen durch den Lehrer U>
  • Mit der Verwendung des Robotersteuersystems 1, das dafür ausgelegt ist, um das Steuerverfahren S1 auszuführen, kann der Lehrer U eine Manipulation durchführen, um den Roboter 30 eine Aktion zu lehren, während er den Bildschirm G1 sieht, der auf der Anzeige 40 an einem Ort außerhalb des Sicherheitszauns angezeigt wird. Nachdem sich der Handteil 33, der das vorspringende Werkstück 91 hält, in die Startposition bewegt hat (d.h. nachdem der Prozessor 11 die Schritte S101 bis S103 durchgeführt hat), führt der Lehrer U Manipulationen in den folgenden Schritten A1 bis A5 durch.
  • Während er den Bildschirm G1 visuell beobachtet, manipuliert der Lehrer U in dem Schritt A1 irgendeinen der Richtungsknöpfe der Manipulationsvorrichtung 50, um zu bewirken, dass sich der Handteil 33 bewegt. Demgemäß führt der Prozessor 11 die Schritte S104 bis S107 durch.
  • Wenn die Bewegungsrichtung des vorspringenden Werkstücks 91 von einer geeigneten Einsetzrichtung in Bezug auf das vertiefte Werkstück 92 abweicht, wird hier eine externe Kraft auf das vorspringende Werkstück 91 ausgeübt. Demgemäß überschreitet mindestens irgendeiner der Detektionswerte von dem Kraftsensor 34 Null, und ein Detektionswert(e) größer als Null wird/werden auf dem Bereich G102 angezeigt. In diesem Fall kann durch Betrachten der Bereiche G101 und G103 der Lehrer U die Position des Handteils 33 erkennen, an welcher Position eine externe Kraft auf das vorspringende Werkstück 91 ausgeübt wird. Damit kann der Lehrer U eine Abweichung der Bewegungsrichtung des Handteils 33 von der geeigneten Einsetzrichtung erkennen. Dann führt der Lehrer U eine Manipulation durch, um zu bewirken, dass der Handteil 33 den Detektionswert auf Null setzt, sodass die Bewegungsrichtung mit der geeigneten Einsetzrichtung zusammenfällt.
  • In dem Schritt A2 manipuliert der Lehrer U den Bestätigungsknopf der Manipulationsvorrichtung 50 derart, dass die aktuelle Position des Handteils 33 als Transitpunkt eingestellt wird. Ansprechend darauf führt der Prozessor 11 die Prozesse der Schritte S109 und S110 aus und fügt Informationen, die den Transitpunkt anzeigen, zu dem primären Speicher 12 hinzu, sodass die Informationen darin gespeichert werden.
  • In dem Schritt A3 führt der Lehrer U die Schritte A1 und A2 wiederholt durch.
  • In dem Schritt A4 erkennt der Lehrer U in dem Bereich G101, dass nur der Detektionswert Fz Null überschritten hat und die anderen Detektionswerte Null sind. Wie im Vorstehenden beschrieben, bedeutet der Zustand, in dem nur der Detektionswert Fz größer als Null ist, den Zustand, in dem die Spitze des Vorsprungs des vorspringenden Werkstücks 91 das vertiefte Werkstück 92 erreicht hat, d.h. den Zustand, in dem die Spitze des Vorsprungs des vorspringenden Werkstücks 91 eine geeignete Einsetzposition erreicht hat.
  • In dem Schritt A5 manipuliert der Lehrer U den Bestätigungsknopf der Manipulationsvorrichtung 50, um das Lehren zu beenden. Ansprechend darauf führt der Prozessor 11 die Schritte S111 und S112 aus. Demgemäß wird ein Array von Informationselementen, die zwei oder mehr Transitpunkte von der Startposition bis zur Endposition anzeigen, in dem sekundären Speicher 13 als Lehrinformationen D gespeichert.
  • Es wird zum Beispiel angenommen, dass sich der Handteil 33 von einer Position p1 zu einer Position pN (N ist eine ganze Zahl gleich oder größer als n) während einer Periode von einem Startzeitpunkt t1 zu einem Endzeitpunkt tN bewegt hat, zu dem das Lehren beendet wird. Es wird auch angenommen, dass M unter N Positionen pi als Transitpunkte Pj gespeichert werden (j = 1, 2, ..., M; M ist eine ganze Zahl gleich oder größer als 2; P1 = p1; PM = pN). In diesem Fall sind die Lehrinformationen D ein Array, in dem Informationselemente, die Transitpunkte P1, P2, ..., und PM anzeigen, in dieser Reihenfolge angeordnet sind. Das heißt, die Lehrinformationen D zeigen die Bewegungsroute an, entlang welcher der Handteil 33 durch die Transitpunkte P1, P2, ..., und PM in dieser Reihenfolge hindurchgeht.
  • Somit kann der Lehrer U das Lehren leichter durchführen. Der Grund dafür ist wie folgt. Das heißt, der Lehrer U kann gleichzeitig visuell das im Vorstehenden beschriebene Bild in dem virtuellen Raum und die im Vorstehenden beschriebenen Informationen beobachten, welche die Detektionswerte anzeigen, und kann somit die Position des Handteils 33 und die Detektionswerte des Kraftsensors 34 in Assoziation miteinander erkennen. Damit kann der Lehrer U leicht die Position des Handteils 33 finden, an welcher Position geeignete Detektionswerte durch den Kraftsensor 34 erhalten werden können. Dies verbessert die Einfachheit des Lehrens.
  • Zusätzlich kann in dem Prozess, um den Roboter 30 entfernt eine Aktion unter Verwendung der Manipulationsvorrichtung 50 zu lehren, der Lehrer U auf dem Bildschirm G1 eine Beziehung zwischen der externen Kraft, die auf das vorspringende Werkstück 91 ausgeübt wird, und der Position des Handteils 33 bestätigen. Somit kann der Lehrer U eine Aktion sogar entfernt leicht lehren.
  • <Fluss des Steuerverfahrens S2>
  • Das Steuerverfahren S2, das von dem Prozessor 11 auszuführen ist, wird mit Bezugnahme auf 6 beschrieben. Wie im Vorstehenden beschrieben, ist das Steuerverfahren S2 ein Verfahren zum Modifizieren der Aktion, die der Handteil 33 gelehrt wird, während versuchsweise bewirkt wird, dass der Roboter 30 die Aktion vornimmt. 6 ist ein Flussdiagramm, das einen Fluss des Steuerverfahrens S2 anzeigt. Wie in 6 gezeigt, umfasst das Steuerverfahren S3 die Schritte S201 bis S212.
  • Der Betrieb des Prozessors 11 in den Schritten S201 bis S203 ist identisch mit dem Betrieb in den Schritten S101 bis S103. Somit bewirkt der Prozessor 11, dass der Handteil 33 das vorspringende Werkstück 91 hält und sich in die Startposition bewegt, und den Kraftsensor 34 zurücksetzt.
  • Als Nächstes liest der Prozessor 11 die Lehrinformationen D aus dem sekundären Speicher 13 und bewirkt, dass sich der Handteil 33 entlang einer Bewegungsroute bewegt, die von den so gelesenen Lehrinformationen D angezeigt wird (S204). Der Prozess, der in diesem Schritt durchgeführt wird, ist ein Beispiel des zweiten Bewegungsprozesses gemäß der vorliegenden Erfindung. Spezifischer erhält der Prozessor 11, mit Bezugnahme auf die Lehrinformationen D, Informationen, die den ersten Transitpunkt auf der Bewegungsroute anzeigen. Der Prozessor 11 überträgt die Informationen, die den Transitpunkt anzeigen, an die Robotersteuereinheit 20 und fordert einen Bewegungssteuerprozess an. Beim Empfang der Anforderung, den Bewegungssteuerprozess durchzuführen, bewirkt der Prozessor 21 der Robotersteuereinheit 20, dass sich der Handteil 33 zu dem Transitpunkt bewegt. Dann erhält der Prozessor 11 Informationen, die einen nächsten Transitpunkt auf der Bewegungsroute anzeigen, und überträgt die Informationen an die Robotersteuereinheit 20. Der Prozessor 11 wiederholt diesen Prozess. Demgemäß bewegt sich der Handteil 33 entlang der Bewegungsroute, die von den Lehrinformationen D angezeigt wird.
  • In dem Schritt S205 erhält der Prozessor 11 Detektionswerte von dem Kraftsensor 34. Hier wird in einem Fall, wo sich das vorspringende Werkstück 91 in einer geeigneten Einsetzrichtung in Bezug auf das vertiefte Werkstück 92 bewegt, keine externe Kraft auf das vorspringende Werkstück 91 ausgeübt. In diesem Fall ist jeder der Detektionswerte von dem Kraftsensor 34 Null. In einem Fall, wo sich das vorspringende Werkstück 91 in eine Richtung bewegt, die von der geeigneten Einsetzrichtung abweicht, wird eine externe Kraft von dem vertieften Werkstück 92 auf das vorspringende Werkstück 91 ausgeübt. In diesem Fall ist mindestens irgendeiner der Detektionswerte von dem Kraftsensor 34 größer als Null.
  • In dem Schritt S205 erhält der Prozessor 11 Informationen, welche die Position des Handteils 33 anzeigen. In einem Fall, wo die Ausrichtung des Handteils 33 variabel ist, kann der Prozessor 11 ferner Informationen erhalten, welche die Ausrichtung des Handteils 33 anzeigen.
  • In dem Schritt S206 bewirkt der Prozessor 11, dass die Anzeige 40, auf einer Echtzeitbasis, die Informationen anzeigt, welche die Position des Handteils 33 anzeigen, und die Informationen, welche die Detektionswerte von dem Kraftsensor 34 anzeigen. In einem Fall, wo die Ausrichtung des Handteils 33 variabel ist, kann der Prozessor 11 ferner, auf einer Echtzeitbasis, die Informationen anzeigen, welche die Ausrichtung des Handteils 33 anzeigen. Die Prozesse in den Schritten S205 und S206 werden wiederholt während eines Einstellprozesses ausgeführt, der in dem Schritt S209 (im Nachstehenden beschrieben) durchgeführt wird. Der Prozess, der in diesem Schritt durchgeführt wird, ist ein Beispiel des zweiten Ausgabeprozesses gemäß der vorliegenden Erfindung.
  • Spezifisch, in einer Weise ähnlich dem ersten Ausgabeprozess, bewirkt der Prozessor 11, dass die Anzeige 40, auf einer Echtzeitbasis, ein Bild, das einen virtuellen Raum anzeigt, in dem ein Objekt angeordnet ist, das dem Handteil 33 entspricht, die Informationen, welche die Position des Handteils 33 anzeigen, und die Informationen, welche die Detektionswerte anzeigen, anzeigt. In dem virtuellen Raum ist das Objekt in einer virtuellen Position angeordnet, die der realen Position des Handteils 33 entspricht. Die Informationen, welche die Detektionswerte anzeigen, zeigen Detektionswerte an, die erhalten werden, wenn sich der Handteil 33 in der realen aktuellen Position befindet. Ein Beispiel eines Bildschirms, der auf der Anzeige 40 in diesem Schritt angezeigt wird, ist identisch mit jenem, das mit Bezugnahme auf 5 beschrieben wird.
  • In dem Schritt S207 bestimmt der Prozessor 11, ob die Detektionswerte von dem Kraftsensor 34 eine bestimmte Bedingung erfüllen oder nicht. Hier ist die bestimmte Bedingung, dass mindestens irgendeiner der Detektionswerte gleich einer oder größer als eine Schwelle ist. Die Details des Prozesses, der in diesem Schritt durchgeführt wird, sind gleich wie jene, die für den Schritt S107 beschrieben werden.
  • Wenn der Prozessor 11 Nein in dem Schritt S207 bestimmt, führt der Prozessor 11 einen Prozess in dem Schritt S212 aus, der im Nachstehenden beschrieben wird.
  • Wenn der Prozessor 11 Ja in dem Schritt S207 bestimmt, fordert der Prozessor 11 in dem Schritt S208 von der Robotersteuereinheit 20 an, den Handteil 33 zu stoppen. Der Prozess, der in diesem Schritt durchgeführt wird, ist ein Beispiel des zweiten Stoppprozesses gemäß der vorliegenden Erfindung. Beim Empfang der Stoppanforderung bewirkt der Prozessor 21 der Robotersteuereinheit 20, dass der Handteil 33 stoppt, sich zu bewegen. In diesem Fall kann der Prozessor 11 zum Beispiel bewirken, dass die Anzeige 40 Informationen anzeigt, welche die aktuelle Position des Handteils 33 anzeigen, als zu modifizierender Teil.
  • In dem Schritt S210, gemäß einer Manipulation des Lehrers U in Bezug auf die Manipulationsvorrichtung 50 (z.B. Drücken irgendeines der Richtungsknöpfe), stellt der Prozessor 11 die Position des Handteils 33 ein, an welcher der Handteil 33 als Ergebnis des zweiten Stoppprozesses gestoppt hat, sich zu bewegen. Der Prozess, der in diesem Schritt durchgeführt wird, ist ein Beispiel des Einstellprozesses gemäß der vorliegenden Erfindung.
  • Spezifischer überträgt der Prozessor 11, an die Robotersteuereinheit 20, die Richtungsinformationen, die von der Manipulationsvorrichtung 50 erhalten werden, und fordert an, den Bewegungssteuerprozess durchzuführen, um zu bewirken, dass sich der Handteil 33 in eine Bewegungsrichtung bewegt, die von den Richtungsinformationen angezeigt wird. Beim Empfang der Anforderung, den Bewegungssteuerprozess durchzuführen, bewirkt der Prozessor 21 der Robotersteuereinheit 20, dass sich der Handteil 33 in der Bewegungsrichtung bewegt. Hier werden, wie im Vorstehenden beschrieben, während der Ausführung dieses Schritts die Prozesse in den Schritten S205 und S206 wiederholt ausgeführt. Das heißt, die Anzeige 40 zeigt, auf einer Echtzeitbasis, Informationen an, welche die Detektionswerte anzeigen, die durch den Einstellprozess geändert werden können. Damit kann der Lehrer U die Manipulation um Einstellen der Position des Handteils 33 durchführen, während er visuell die Detektionswerte beobachtet, die auf der Anzeige 40 auf einer Echtzeitbasis angezeigt werden. Die Manipulation des Lehrers U wird im Nachstehenden detailliert beschrieben.
  • In dem Schritt S210 bestimmt der Prozessor 11, ob das Einstellen beendet wurde oder nicht. Zum Beispiel kann der Prozessor 11 diese Bestimmung gemäß einer Manipulation des Lehrers U in Bezug auf die Manipulationsvorrichtung 50 vornehmen (z.B. Drücken des Bestätigungsknopfs). Wenn der Prozessor 11 in diesem Fall die Bestätigungsinformationen von der Manipulationsvorrichtung 50 empfängt, bestimmt der Prozessor 11, dass das Einstellen beendet wurde.
  • In dem Schritt S211 modifiziert der Prozessor 11 die Lehrinformationen D auf der Basis der Position, die von dem Einstellprozess eingestellt wurde. Der Prozess, der in diesem Schritt durchgeführt wird, ist ein Beispiel des Modifikationsprozesses gemäß der vorliegenden Erfindung.
  • Spezifisch erhält der Prozessor 11 zum Beispiel Informationen, welche die aktuelle Position des Handteils 33 anzeigen. Dann modifiziert der Prozessor 11 die Lehrinformationen D unter Verwendung der Informationen, welche die so erhaltene aktuelle Position anzeigen. Zum Beispiel wird angenommen, dass die Lehrinformationen D Informationselemente umfassen, die M Transitpunkte Pj anzeigen und die in dieser Reihenfolge angeordnet sind. Es wird auch angenommen, dass die aktuelle Position des Handteils 33 (d.h. des Teils, der zu modifizieren ist) zwischen dem Transitpunkt Pk und dem Transitpunkt Pk+1 liegt. In diesem Fall modifiziert der Prozessor 11 die Lehrinformationen D derart, dass die aktuelle Position als neuer Transitpunkt zwischen dem Transitpunkt Pk und dem Transitpunkt Pk+1 eingesetzt wird.
  • In dem Schritt S212 bestimmt der Prozessor 11, ob der Handteil 33 die Endposition der Bewegungsroute erreicht hat oder nicht, die von den Lehrinformationen D angezeigt wird.
  • Wenn der Prozessor 11 Nein in dem Schritt S212 bestimmt, führt der Prozessor 11 die Prozesse ab dem Schritt S204 erneut durch. Wenn der Prozessor 11 Ja in dem Schritt S212 bestimmt, beendet der Prozessor 11 das Steuerverfahren S2.
  • <Fluss von Manipulationen durch den Lehrer U>
  • Unter Verwendung des Robotersteuersystems 1, das dafür ausgelegt ist, um das Steuerverfahren S2 auszuführen, kann der Lehrer U eine Manipulation zum Modifizieren der Bewegungsroute, die gelehrt wurde, durchführen, während er den Bildschirm G1 sieht, der auf der Anzeige 40 an einem Ort außerhalb des Sicherheitszauns angezeigt wird. Nachdem sich der Handteil 33, der das vorspringende Werkstück 91 hält, in die Startposition bewegt hat (d.h. nachdem der Prozessor 11 die Schritte S201 bis S203 ausgeführt hat), führt der Lehrer U Manipulationen in den folgenden Schritten B1 bis B6 durch.
  • In dem Schritt B1 beobachtet der Lehrer U visuell den Bildschirm G1, während der Roboter 30 versuchsweise eine Aktion gemäß den Lehrinformationen D durchführt. Das heißt, der Prozessor 11 führt die Prozesse ab dem Schritt S204 bis S206 aus.
  • Wenn irgendeiner der Detektionswerte von dem Kraftsensor 34 die Schwelle überschreitet, stopp der Handteil 33 in dem Schritt B2. Das heißt, der Prozessor 11 führt die Prozesse der Schritte S207 und S208 aus. Dann erkennt der Lehrer U durch visuelles Beobachten des Bildschirms G1 den Teil, der auf der Bewegungsroute zu modifizieren ist.
  • In diesem Prozess wird in dem Bereich G101 des Bildschirms G1 die aktuelle Position des Handteils 33 in einem Modus angezeigt, in dem die aktuelle Position des Handteils 33 als zu modifizierender Teil angezeigt wird. Zum Beispiel wird angenommen, dass der in 5 gezeigte Bildschirm auf der Anzeige 40 in dem Schritt B2 angezeigt wird. Das heißt, es wird angenommen, dass mindestens irgendeiner der Detektionswerte von dem Kraftsensor 34 die Schwelle überschreitet, wenn sich der Handteil 33 in der Position pn befindet. In diesem Fall ist die Position pn der Teil, der in der Bewegungsroute zu modifizieren ist. Somit zeigt der Prozessor 11 die Reihe der Position pn in dem Bereich G101 in dem Modus an, in dem diese Reihe als zu modifizierender Teil angezeigt wird. Der Modus zum Anzeigen des zu modifizierenden Teils kann z.B. durch Ändern der Farbe eines Texts oder der Farbe des Hintergrunds des Texts, Anzeigen des Texts in Fettdruck oder Anzeigen des Texts durch Blinken erzielt werden. Dies ist jedoch nicht einschränkend.
  • Während er den Bereich G102 visuell beobachtet, manipuliert in dem Schritt B4 der Lehrer U irgendeinen der Richtungsknöpfe der Manipulationsvorrichtung 50, um zu bewirken, dass sich der Handteil 33 bewegt. Ansprechend darauf führt der Prozessor 11 den Prozess in dem Schritt S209 aus. Spezifisch stellt der Lehrer U die Position des Handteils 33 derart ein, dass die Detektionswerte, die auf dem Bereich G102 angezeigt werden, auf Null gesetzt werden.
  • Wenn die Detektionswerte, die auf dem Bereich G102 angezeigt werden, manipuliert in dem Schritt B5 der Lehrer U den Bestätigungsknopf der Manipulationsvorrichtung 50, um den Einstellprozess zu beenden. Ansprechend darauf führt der Prozessor 11 den Schritt S211 aus. Als Ergebnis wird die aktuelle Position des Handteils 33 zu der Zeit, wenn die Detektionswerte Null werden, in die Bewegungsroute als Transitpunkt eingesetzt.
  • Der Lehrer U führt die Schritte B1 bis B5 wiederholt durch. In einem Fall, wo eine externe Kraft auf das vorspringende Werkstück 91 in einem Teil der versuchsweisen Aktion ausgeübt wird, die von dem Roboter 30 durchgeführt wird, kann der Lehrer U somit die Lehrinformationen D modifizieren.
  • <Effekte der Ausführungsform 1 >
  • Mit der Technik, die in der Veröffentlichung der japanischen Patentanmeldung Tokukaihei Nr. 02-9553 (1990) offenbart ist, auch wenn der Ausgabewert von dem Kraftsensor innerhalb des bestimmten Bereichs liegt, kann der Roboterhandteil möglicherweise eine übermäßige Aktion entgegen der Absicht des Lehrers aufgrund eines unerwarteten Faktors oder dgl. durchführen. In diesem Fall ist es nachteilig unmöglich, eine ausreichende Sicherheit des Lehrers zu garantieren, der sich in der Nähe des Roboters befindet. Mit der entfernten Lehrmethode oder dgl., welche die Sicherheit des Lehrers garantieren kann, ist hingegen ein intuitives Lernen unmöglich, wie es durch die direkte Lehrmethode erfolgt. Somit hat die entfernte Lehrmethode oder dgl. ein Problem bezüglich einer Einfachheit des Lehrens.
  • Die Ausführungsform 1 kann die Technik bereitstellen, um es einem Lehrer zu gestatten, das Lehren einfacher durchzuführen, während die Sicherheit des Lehrers erhöht wird, der den Roboter eine Aktion lehrt, und kann somit das im Vorstehenden beschriebene Problem lösen. Da es die Ausführungsform 1 dem Lehrer ermöglicht, das Lehren einfacher durchzuführen, kann der Lehrer zusätzlich den Roboter eine Aktion mit höherer Genauigkeit lehren.
  • Spezifischer ermöglicht es die Ausführungsform 1 dem Lehrer, das Lehren einfacher durchzuführen, während die Sicherheit des Lehrers erhöht wird, der den Roboter eine Aktion lehrt. Einer der Gründe dafür ist wie folgt. Das heißt, der Ort, wo der Lehrer die Manipulationsvorrichtung manipuliert, kann von dem Roboter entfernt sein. Ein weiterer der Gründe dafür ist wie folgt. Das heißt, aufgrund der Auslegung, in der die Detektionswerte von dem Kraftsensor ausgegeben werden, kann der Lehrer den Roboter eine Aktion lehren, während er auf einer Echtzeitbasis eine externe Kraft erfasst, die auf die externe Kraft ausgeübt wird. Dies ermöglicht es dem Lehrer, das Lehren einfacher durchzuführen, auch wenn der Lehrer intuitiv nicht die externe Kraft verstehen kann, die auf den Endeffektor ausgeübt wird, wie beim direkten Lehren.
  • Spezifisch kann unter Verwendung des Robotersteuersystems 1 gemäß der im Vorstehenden beschriebenen Ausführungsform 1 der Lehrer U den Roboter 30 leicht eine Aktion lehren, auch während sich der Lehrer U in einer sichereren Umgebung befindet, spezifisch an einem Ort außerhalb des Sicherheitszauns. Der Grund dafür ist wie folgt. Das heißt, auf dem Bildschirm G1 kann der Lehrer U die Detektionswerte von dem Kraftsensor 34 auf einer Echtzeitbasis sehen. Daher kann der Lehrer U auf einer Echtzeitbasis eine externe Kraft erfassen, die auf das vorspringende Werkstück 91 ausgeübt wird. Als Ergebnis kann der Lehrer U das Lehren durchführen, während er die externe Kraft auf einer Echtzeitbasis erfasst, auch wenn der Lehrer U nicht intuitiv die externe Kraft verstehen kann, die auf das vorspringende Werkstück 91 ausgeübt wird, wie beim direkten Lehren.
  • Außerdem kann der Lehrer U unter Verwendung der Technik gemäß der Ausführungsform 1 eine Beziehung zwischen den Detektionswerten von dem Kraftsensor 34 und der Position des Handteils 33 erkennen, indem er den Bildschirm G1 sieht. Dies verstärkt die Einfachheit des Lehrens weiter. Zum Beispiel kann der Lehrer U, indem er eine Manipulation durchführt, während er den Bildschirm G1 beobachtet, leicht die Position des Handteils 33 finden, an welcher Position die Detektionswerte von dem Kraftsensor 34 Null werden. Als Ergebnis kann der Lehrer U das Lehren in Bezug auf den Roboter 30 leicht durchführen, sodass der Handteil 33 durch Positionen hindurchgehen kann, wo keine externe Kraft auf das vorspringende Werkstück 91 ausgeübt wird.
  • Ferner kann der Lehrer U unter Verwendung der Technik gemäß der Ausführungsform 1 zum Beispiel leicht eine geeignete Position verstehen, wo das Lehren beendet werden sollte. Wenn das Lehren einer Aktion des Einsetzens des vorspringenden Werkstücks 91 in das vertiefte Werkstück 92 nicht an der geeigneten Position beendet wird, kann hier das vorspringende Werkstück 91 oder das vertiefte Werkstück 92 möglicherweise beschädigt werden. In einem Fall, wo zum Beispiel ein Lehrer U, der weniger Erfahrung hat, entfernt das Lehren durch visuelle Beobachtung ohne die Verwendung der Technik gemäß der Ausführungsform 1 durchführt, ist es leicht möglich, dass eine solche Beschädigung auftreten kann oder das Lehren vor der geeigneten Position als Ergebnis des Vermeidens einer Beschädigung beendet werden kann. Die Verwendung der Technik gemäß der Ausführungsform 1 ermöglicht es sogar dem Lehrer U, der weniger Erfahrung hat, zu erkennen, dass das vorspringende Werkstück 91 die geeignete Position erreicht hat, an dem Punkt, wenn nur der Detektionswert Fz größer als Null auf dem Bildschirm G1 wird. Als Ergebnis kann sogar der Lehrer U, der weniger Erfahrung hat, leicht das Lehren an der geeigneten Position beenden.
  • Unter Verwendung des Robotersteuersystems 1 gemäß der Ausführungsform 1 kann der Lehrer U zusätzlich leichter die Aktion modifizieren, die der Roboter 30 gelehrt wurde. Der Grund dafür ist wie folgt. Das heißt, in einem Fall, wo irgendeiner der Detektionswerte von dem Kraftsensor 34 in einem Teil der Aktion, die gelehrt wurde, ungeeignet ist, kann der Lehrer U die Aktion, die gelehrt wurde, modifizieren, während er eine externe Kraft erfasst, die auf den Handteil 33 auf einer Echtzeitbasis ausgeübt wird. Auch wenn der Lehrer U intuitiv die externe Kraft nicht verstehen kann, die auf den Handteil 33 ausgeübt wird, wie beim direkten Lehren, kann damit der Lehrer U leicht die Aktion, die gelehrt wurde, modifizieren.
  • Spezifischer kann der Lehrer U die Bewegungsroute, die der Roboter 30 gelehrt wurde, leicht modifizieren, sogar wenn sich der Lehrer U in einer sichereren Umgebung befindet, spezifisch an einem Ort außerhalb des Sicherheitszauns. Der Grund dafür ist wie folgt. Das heißt, in einem Fall, wo eine externe Kraft auf das vorspringende Werkstück 91 in einem Teil der Bewegungsroute ausgeübt wird, kann der Lehrer U diesen Teil modifizieren, während er den Bildschirm G1 sieht. Zum Beispiel kann der Lehrer U, indem er eine Manipulation durchführt, während er den Bildschirm G1 beobachtet, leicht in der Nähe der Position, wo mindestens irgendeiner der Detektionswerte größer ist als Null, eine Position finden, wo die Detektionswerte Null sind. Als Ergebnis kann der Lehrer U die Bewegungsroute leicht modifizieren, sodass der Handteil 33 nicht durch den Teil hindurchgeht, wo eine externe Kraft auf das vorspringende Werkstück 91 ausgeübt wird.
  • Zum Beispiel ermöglicht es die Verwendung der Technik gemäß der Ausführungsform 1 auch für einen Lehrer U, der weniger Erfahrung hat, die Zeitperiode zu reduzieren, die für das Lehren aufgewendet wird. In einem Fall, wo ein Lehrer U, der weniger Erfahrung hat, entfernt das Lehren durch visuelle Beobachtung ohne die Verwendung der Technik gemäß der Ausführungsform 1 durchführt, ist es hier leicht möglich, dass die Anzahl von Malen, um die Bewegungsroute zu modifizieren, erhöht werden kann. In der Ausführungsform 1 kann sogar der Lehrer U, der weniger Erfahrung hat, die Bewegungsroute modifizieren, während er auf einer Echtzeitbasis eine externe Kraft auf dem Bildschirm G1 beobachtet, die auf das vorspringende Werkstück 91 ausgeübt wird. Somit ist es möglich, eine geeignetere Bewegungsroute mit einer geringeren Anzahl von Malen von Modifikationen zu erhalten. Als Ergebnis kann sogar der Lehrer U, der weniger Erfahrung hat, die Zeitperiode reduzieren, die insgesamt für das Lehren aufgewendet wird.
  • Wenn irgendeiner der Detektionswerte von dem Kraftsensor 34 gleich der oder größer als die Schwelle wird während des Lehrens, das von dem Lehrer U durchgeführt wird, oder während einer versuchsweisen Aktion, stoppt zusätzlich gemäß der Ausführungsform 1 der Handteil 33, sich zu bewegen. Dies kann die Möglichkeit verringern, dass der Roboter 30 eine unerwartete Aktion durchführen kann. Als Ergebnis ist es möglich, das Risiko zu reduzieren, dass das vorspringende Werkstück 91, das vertiefte Werkstück 92, Ausrüstung in der Nähe davon oder dgl. beschädigt werden.
  • Ausführungsform 2
  • Die folgende Beschreibung diskutiert Details eines Robotersteuersystems 1A gemäß der Ausführungsform 2.
  • <Zusammenfassung eines Robotersteuersystems 1A>
  • Das Robotersteuersystem 1 der Ausführungsform 1 modifiziert gemäß einer Manipulation durch den Lehrer U die Lehrinformationen D, die gemäß einer Manipulation des Lehrers U erzeugt werden. Das Robotersteuersystem 1A der Ausführungsform 2 modifiziert die Lehrinformationen D, die gemäß einer Manipulation des Lehrers U erzeugt werden, während Detektionswerte von dem Kraftsensor 34 ausgegeben werden, und führt die Modifikation der Lehrinformationen D nicht gemäß einer Manipulation des Lehrers U durch.
  • <Auslegung des Robotersteuersystems 1A>
  • Mit Bezugnahme auf 7 beschreibt das Folgende eine Auslegung des Robotersteuersystems 1A. 7 ist eine Ansicht, die schematisch die Auslegung des Robotersteuersystems 1A veranschaulicht. Das Robotersteuersystem 1A ist im Wesentlichen identisch in der Auslegung mit dem Robotersteuersystem 1 gemäß der Ausführungsform 1. Das Robotersteuersystem 1A unterscheidet sich jedoch von dem Robotersteuersystem 1 dadurch, dass das Robotersteuersystem 1A eine dedizierte Steuereinheit 10A anstelle der dedizierten Steuereinheit 10 aufweist. Hier ist die dedizierte Steuereinheit 10A ein Beispiel der Steuervorrichtung gemäß der vorliegenden Erfindung. Die Details der Robotersteuereinheit 20, des Roboters 30, der Anzeige 40, der Manipulationsvorrichtung 50, des vorspringenden Werkstücks 91 und des vertieften Werkstücks 92 sind identisch mit jenen, die in der Ausführungsform 1 beschrieben werden.
  • Die Details der Auslegung der dedizierten Steuereinheit 10A sind im Wesentlichen identisch mit jenen der dedizierten Steuereinheit 10, die mit Bezugnahme auf 2 beschrieben wurde. Die Details eines Programms P1, das in dem sekundären Speicher 13 der dedizierten Steuereinheit 10A gespeichert ist, unterscheiden sich jedoch von jenen der dedizierten Steuereinheit 10. Das Programm P1 ist ein Programm, das dafür ausgelegt ist, um zu bewirken, dass der Prozessor 11 das Steuerverfahren S1 und ein Steuerverfahren S3 ausführt.
  • <Steuerverfahren, das von dem Robotersteuersystem 1A auszuführen ist>
  • Das Robotersteuersystem 1A ist dafür ausgelegt, um das Steuerverfahren S1 und das Steuerverfahren S3 auszuführen. Das Steuerverfahren S1 ist identisch mit jenem, das in der Ausführungsform 1 beschrieben wird. Das Steuerverfahren S3 ist ein Verfahren, in dem eine Bewegungsroute, die in Lehrinformationen D enthalten ist, nicht gemäß einer Manipulation des Lehrers U modifiziert wird.
  • <Fluss des Steuerverfahrens S3>
  • Das Steuerverfahren S3, das von dem Prozessor 11 auszuführen ist, wird mit Bezugnahme auf 8 beschrieben. 8 ist ein Flussdiagramm, das einen Fluss des Steuerverfahrens S3 anzeigt. Wie in 8 gezeigt, umfasst das Steuerverfahren S3 die Schritte S301 bis S309.
  • Der Betrieb in den Schritten S301 bis S303 ist identisch mit dem Betrieb in den Schritten S201 bis S203 des Steuerverfahrens S2, das mit Bezugnahme auf 6 erläutert wurde. Mit diesem Betrieb bewegt sich der Handteil 33 in die Startposition, während er das vorspringende Werkstück 91 hält, wobei das vorspringende Werkstück 91 derart ausgerichtet ist, dass das vorspringende Werkstück 91 in das vertiefte Werkstück 92 eingesetzt werden kann (hier die Ausrichtung, in welcher der Vorsprung nach unten gewandt ist).
  • Der Betrieb in dem Schritt S304 ist identisch mit dem Betrieb in dem Schritt S204 in dem Steuerverfahren S2. Der Betrieb in diesem Schritt ist ein Beispiel des Bewegungsprozesses, der in den Ansprüchen angegeben wird. Mit diesem Betrieb bewegt sich der Handteil 33 zum ersten Transitpunkt oder einem anderen Transitpunkt nach dem ersten Transitpunkt, der in den Lehrinformationen D enthalten ist. Dieser Schritt wird wiederholt, wie im Nachstehenden beschrieben. Demgemäß bewegt sich der Handteil 33 vom Startpunkt zum Endpunkt der Bewegungsroute, die von den Lehrinformationen D angezeigt wird.
  • Der Betrieb in dem Schritt S305 ist identisch mit dem Betrieb in dem Schritt S205 in dem Steuerverfahren S2. Während sich der Handteil 33 in dem Schritt S304 bewegt, erhält mit diesem Betrieb der Prozessor 11 die Detektionswerte von dem Kraftsensor 34 und die Informationen, welche die Position des Handteils 33 anzeigen, und bewirkt, dass der primäre Speicher 12 diese in Assoziation miteinander speichert. Ähnlich dem Schritt S205, in einem Fall, wo die Ausrichtung des Handteils 33 variabel ist, kann der Prozessor 11 ferner Informationen erhalten, welche die Ausrichtung des Handteils 33 anzeigen, und kann bewirken, dass der primäre Speicher 12 die Informationen, welche die Ausrichtung des Handteils 33 anzeigen, und die Detektionswerte von dem Kraftsensor 24 in Assoziation miteinander speichert.
  • In dem Schritt S306 bestimmt der Prozessor 11, ob die Position des Handteils 33 mit dem Endpunkt der Bewegungsroute zusammenfällt, die von den Lehrinformationen D angezeigt wird, oder nicht.
  • Wenn der Prozessor 11 Nein in dem Schritt S306 bestimmt, führt der Prozessor 11 wiederholt den Betrieb in den Schritten S304 und S305 durch. Indem der Betrieb in den Schritten S304 und S305 wiederholt durchgeführt wird, werden die Detektionswerte von dem Kraftsensor 34, welche an verschiedenen Punkten erhalten werden, die in der Bewegungsroute enthalten sind, in dem primären Speicher 12 akkumuliert. Es ist zu beachten, dass die verschiedenen Punkte, die in der Bewegungsroute enthalten sind, Transitpunkte bedeuten, die in den Lehrinformationen D enthalten sind, oder Punkte auf einer Route, über die zwei benachbarte Transitpunkte miteinander verbunden sind. Wenn der Prozessor 11 Ja in dem Schritt S306 bestimmt, führt der Prozessor 11 den Betrieb in dem nächsten Schritt S307 durch.
  • In dem Schritt S307 bestimmt der Prozessor 11, ob ein Detektionswert gleich einer oder größer als eine Schwelle in den Detektionswerten von dem Kraftsensor 34 enthalten ist oder nicht, welche Detektionswerte in dem primären Speicher 12 gespeichert sind. Hier werden die Schwellen jeweils für die Detektionswerte Fx, Fy, Fz, Mx, My und Mz definiert, die durch den Kraftsensor 34 erhalten werden. Die Schwellen der Detektionswerte können identisch oder von jenen verschieden sein, die in dem Schritt S107 in dem Steuerverfahren S1 oder in dem Schritt S207 in dem Steuerverfahren S2 verwendet werden. Zum Beispiel sind die Schwellen der Detektionswerte kleiner als die Schwellen, die in dem Schritt S107 in dem Steuerverfahren S1 verwendet werden. Damit können die Lehrinformationen D, die gemäß einer Manipulation des Lehrers U erzeugt werden, präziser unter Verwendung der kleineren Schwellen, nicht gemäß einer Manipulation des Lehrers U, modifiziert werden.
  • Wenn der Prozessor 11 Ja in dem Schritt S307 bestimmt, modifiziert der Prozessor 11 die Bewegungsroute mit Bezugnahme auf die Detektionswerte von dem Kraftsensor 34 in dem Schritt S308. Spezifisch, mit Bezugnahme auf die Detektionswerte gleich der oder größer als die Schwelle, modifiziert der Prozessor 11 die Bewegungsroute, die von den Lehrinformationen D angezeigt wird. Spezifischer spezifiziert der Prozessor 11 zum Beispiel, unter den Transitpunkten, die in den Lehrinformationen D enthalten sind, mindestens einen Transitpunkt in der Nähe der Position, die mit dem Detektionswert gleich der oder größer als die Schwelle assoziiert ist. Dann modifiziert der Prozessor 11 die Position des so spezifizierten Transitpunkts gemäß dem Grad, in dem der Detektionswert größer als der Detektionswert ist. Demgemäß wird die Bewegungsroute modifiziert, die von den Lehrinformationen D angezeigt wird. Zum Beispiel modifiziert der Prozessor 11 die x-Koordinate der Position des Transitpunkts in der Nähe der Position, wo der Detektionswert Fx gleich der oder größer als die Schwelle ist. Zusätzlich modifiziert der Prozessor 11 zum Beispiel die Ausrichtung des Handteils 33 um die x-Achse an dem Transitpunkt in der Nähe der Position, wo Mx gleich der oder größer als die Schwelle ist. Auf diese Weise modifiziert der Prozessor 11 die Position(en) von einem Transitpunkt(en) in der Nähe jeder Position, wo mindestens irgendeiner der sechs Detektionswerte gleich der oder größer als die Schwelle ist. Die Position, wo der Detektionswert gleich der oder größer als die Schwelle ist, kann nicht in einer Eins-zu-Eins-Beziehung dem Transitpunkt entsprechen, der zu modifizieren ist. Zum Beispiel kann der Prozessor 11 die Positionen von zwei oder mehr Transitpunkten in Bezug auf eine Position modifizieren, wo ein Detektionswert gleich einer oder größer als eine Schwelle ist. Alternativ dazu kann der Prozessor 11 zum Beispiel einen Transitpunkt in Bezug auf eine Vielzahl von Positionen modifizieren, an jeder von welchen ein Detektionswert gleich einer oder größer als eine Schwelle ist (z.B. eine Region der Bewegungsroute, in der die Regionendetektionswerte gleich oder größer als Schwellen sind). Ferner kann der Prozessor 11 alternativ dazu zum Beispiel einen neuen Transitpunkt in der Nähe der Position hinzufügen, wo der Detektionswert gleich der oder größer als die Schwelle ist.
  • Der Prozessor 11 modifiziert die Bewegungsroute, die von den Lehrinformationen D angezeigt wird, auf diese Weise. Dann löscht der Prozessor 11 die Detektionswerte, die durch den Kraftsensor 34 erhalten werden, welche Detektionswerte in dem primären Speicher 12 gespeichert werden, und führt wiederholt die Prozesse ab dem Schritt S304 durch. Danach bewegt sich der Handteil 33 entlang der Bewegungsroute, die modifiziert wurde. Wenn irgendeiner der Detektionswerte von dem Kraftsensor 34 gleich der oder größer als die Schwelle wird, während sich der Handteil 33 bewegt, wird die Bewegungsroute erneut modifiziert.
  • Wenn der Prozessor 11 Nein in dem Schritt S307 bestimmt, erzeugt der Prozessor 11 in dem Schritt S309 Lehrinformationen D, welche der Bewegungsroute entsprechen, die modifiziert wurde. Spezifisch gibt der Prozessor 11 die Lehrinformationen D aus, welche die Bewegungsroute aufweisen, die modifiziert wurde.
  • <Effekte der Ausführungsform 2>
  • Gemäß der Ausführungsform 2 ist es möglich, Lehrinformationen D zu erzeugen, die verwendet werden, um einen Roboter eine Aktion mit hoher Genauigkeit zu lehren. Die Gründe dafür werden im Nachstehenden beschrieben.
  • Zum Beispiel fällt die Bewegungsroute, welche von den Lehrinformationen D angezeigt wird, die gemäß einer Manipulation des Lehrers U in dem Steuerverfahren S1 erzeugt werden, nicht immer mit der Bewegungsroute zusammen, entlang der sich der Handteil 33 während des Lehrens bewegt hat. Sogar zum Beispiel in einem Fall, wo die Bewegungsroute vom Transitpunkt Pk zum Transitpunkt Pk+1, welche Bewegungsroute gelehrt wurde, nicht in einer geraden Linie verläuft, verläuft die Bewegungsroute vom Transitpunkt Pk zum Transitpunkt Pk+1, welche Bewegungsroute von den Lehrinformationen D angezeigt wird, in einer geraden Linie. Somit fallen diese Bewegungsrouten nicht miteinander zusammen. Auch wenn irgendeiner der Detektionswerte von dem Kraftsensor 34 die Schwelle zu der Zeit des Lehrens nicht überschreitet, in der die Lehrinformationen D erzeugt werden, kann daher einer oder können einige der Detektionswerte gleich der (den) oder größer als die Schwelle(n) sein, wenn bewirkt wird, dass sich der Handteil 33 entlang der Bewegungsroute bewegt, die von den Lehrinformationen D angezeigt wird.
  • Um dies zu behandeln, wird gemäß der Ausführungsform 2 bewirkt, dass sich der Handteil 33 entlang der Bewegungsroute bewegt, welche von den Lehrinformationen D angezeigt wird, die gemäß einer Manipulation des Lehrers U erzeugt werden, und die Bewegungsroute wird mit Bezugnahme auf die Detektionswerte modifiziert, die von dem Kraftsensor 34 erhalten werden, während sich der Handteil 33 bewegt. Spezifischer wird gemäß der Ausführungsform 2 die Bewegungsroute modifiziert, wenn irgendeiner der Detektionswerte, die von dem Kraftsensor 34 erhalten werden, während sich der Handteil 33 bewegt, gleich der oder größer als die Schwelle ist. Die Lehrinformationen D, die der so modifizierten Bewegungsroute entsprechen, zeigen eine Bewegungsroute an, in der mehr geeignete Detektionswerte von dem Kraftsensor 34 erhalten werden können. Als Ergebnis ist es unter Verwendung der Lehrinformationen D, die in der Ausführungsform 2 erzeugt werden, möglich, den Roboter 30 eine Aktion mit höherer Genauigkeit zu lehren.
  • [Modifikationen]
  • In jeder von der Ausführungsform 1 und 2 kann der Prozessor 11 ferner einen Niveauaufzeichnungsprozess ausführen. Hier bezieht sich der Niveauaufzeichnungsprozess auf einen Prozess, gemäß dem Niveauinformationen, die ein Lehrniveau anzeigen, das von einem Lehrer U durchgeführt wird, auf der Basis eines Verlaufs eines Modifikationsprozesses aufgezeichnet werden. Zum Beispiel bewirkt der Prozessor 11, dass der sekundäre Speicher 13 die Niveauinformationen in Assoziation mit Identifikationsinformationen des Lehrers U speichert. Zum Beispiel können die Niveauinformationen ein höheres Niveau für eine geringere Anzahl von Malen der Ausführung des Einstellprozesses anzeigen. Gemäß jeder von der Ausführungsform 1 und 2 ist es durch eine Modifikation auf diese Weise möglich, das Lehrniveau zu verwalten, das von dem Lehrer U durchgeführt wird.
  • In jeder von der Ausführungsform 1 und 2 kann eine weitere Ausgabevorrichtung anstelle der Anzeige 40 verwendet werden. Beispiele der Ausgabevorrichtung umfassen einen Lautsprecher, eine lichtemittierende Dioden- (LED) Lampe und dgl. Zum Beispiel kann in dem ersten Ausgabeprozess und dem zweiten Ausgabeprozess der Prozessor 11 bewirken, dass der Lautsprecher Audio entsprechend den Detektionswerten ausgibt, die von dem Kraftsensor 34 erhalten werden. Wenn die Detektionswerte eine bestimmte Bedingung erfüllen (z.B. wenn irgendeiner der Detektionswerte gleich der oder größer als die Schwelle ist), bewirkt in einem Beispiel der Prozessor 11, dass der Lautsprecher einen Warnton emittiert. Alternativ dazu beleuchtet zum Beispiel in dem ersten Ausgabeprozess und dem zweiten Ausgabeprozess der Prozessor 11 die LED Lampe gemäß den Detektionswerten von dem Kraftsensor 34. Wenn die Detektionswerte eine bestimmte Bedingung erfüllen (z.B. wenn irgendeiner der Detektionswerte gleich der oder größer als die Schwelle ist), beleuchtet in einem Beispiel der Prozessor 11 die LED Lampe.
  • In jeder von der Ausführungsform 1 und 2 kann ein weiterer Endeffektor anstelle des Handteils 33 verwendet werden. Beispiele des Endeffektors umfassen einen Endeffektor, der verwendet wird, um eine Laserverarbeitung durchzuführen. Die Anzahl von Fingerteilen des Handteils 33 ist nicht auf zwei beschränkt, sondern kann drei oder mehr betragen.
  • In jeder von der Ausführungsform 1 und 2 ist die Anzahl von Gelenken des Armteils 32 nicht auf drei beschränkt. Zum Beispiel kann der Armteil 32 ein Gelenkarm sein, der aus zwei Armen besteht, die miteinander über ein Gelenk gekoppelt sind, oder ein Gelenkarm, der aus drei Armen oder fünf oder mehr Armen besteht, die über zwei Gelenke oder vier oder mehr Gelenke miteinander gekoppelt sind.
  • In den Beispielen, die in der Ausführungsform 1 und 2 beschrieben werden, ist die bestimmte Bedingung, die von dem Prozessor 11 verwendet wird, um zu bestimmen, ob der erste Stoppprozess oder der zweite Stoppprozess durchzuführen ist, die Bedingung, dass mindestens irgendeiner der Detektionswerte von dem Kraftsensor 34 die Schwelle überschreitet. Die bestimmte Bedingung, die in der Ausführungsform 1 und 2 verwendet wird, ist jedoch nicht auf die im Vorstehenden beschriebene Bedingung beschränkt, sondern kann eine Bedingung sein, die einen Zustand anzeigt, in dem eine ungeeignete externe Kraft auf den Endeffektor ausgeübt wird. Die bestimmte Bedingung wird im Voraus in Abhängigkeit von der Art des verwendeten Endeffektors, der Art der mit dem Endeffektor durchgeführten Arbeit, der Art des Werkstücks, das der mit dem Endeffektor durchgeführten Arbeit zu unterwerfen ist, oder dgl. definiert.
  • In den Beispielen der Ausführungsform 1 und 2 führt der Lehrer U das Lehren derart durch, dass die Detektionswerte von dem Kraftsensor 34 Null werden. Geeignete Werte der Detektionswerte von dem Kraftsensor 34 sind jedoch nicht auf Null beschränkt. Die geeigneten Werte sind Werte, die gemäß der Art des verwendeten Endeffektors, der Art der mit dem Endeffektor durchgeführten Arbeit, der Art des Werkstücks, das der mit dem Endeffektor durchgeführten Arbeit zu unterwerfen ist, oder dgl. definiert werden. Der Lehrer U kann ein Lehren derart durchführen, dass die Detektionswert von dem Kraftsensor den geeigneten Werten nahekommen.
  • In jeder von der Ausführungsform 1 und 2 kann der Kraftsensor 34 in den Armteil 32 oder den Handteil 33 eingebaut werden. Der Kraftsensor 34 kann mit dem Armteil 32 oder dem Handteil 33 integriert werden.
  • In jeder von der Ausführungsform 1 und 2 ist der Kraftsensor 34 nicht unbedingt jener, der Komponenten aller sechs Achsen detektieren kann.
  • In jeder von der Ausführungsform 1 und 2 ist die Manipulationsvorrichtung 50 nicht auf die Auslegung beschränkt, welche die Richtungsknöpfe und den Bestätigungsknopf aufweist. Die Manipulationsvorrichtung 50 muss nur eine Manipulationssektion zum Annehmen der Manipulation zum Bewegen des Handteils 33 aufweisen.
  • In jeder von der Ausführungsform 1 und 2 kann die dedizierte Steuereinheit 10 einen Teil der Prozesse ausführen, die von der Robotersteuereinheit 20 auszuführen sind. Die Robotersteuereinheit 20 kann einen Teil der Prozesse ausführen, die von der dedizierten Steuereinheit 10 auszuführen sind. In diesem Fall weist die Steuervorrichtung gemäß der vorliegenden Erfindung eine Vielzahl von Prozessoren auf, das heißt, einen Prozessor 11 und einen Prozessor 21. In diesem Fall wird das Steuerverfahren gemäß der vorliegenden Erfindung von der Vielzahl von Prozessoren ausgeführt, das heißt, dem Prozessor 11 und dem Prozessor 21. Die dedizierte Steuereinheit 10 und die Robotersteuereinheit 20 können miteinander integriert sein.
  • In der Ausführungsform 2 kann die dedizierte Steuereinheit 10A nicht das Steuerverfahren S1 ausführen, sondern kann das Steuerverfahren S2 ausführen. In diesem Fall führt zum Beispiel die dedizierte Steuereinheit 10A das Steuerverfahren S2 in Bezug auf die Lehrinformationen D aus, die extern erhalten werden, um so die Bewegungsroute zu modifizieren, die von den Lehrinformationen D angezeigt wird. In diesem Fall kann das Robotersteuersystem 1A die Anzeige 40 und die Manipulationsvorrichtung 50 nicht aufweisen.
  • Bezugszeichenliste
  • 1
    Robotersteuersystem
    10
    dedizierte Steuereinheit
    20
    Robotersteuereinheit
    11, 21
    Prozessor
    12, 22
    primärer Speicher
    13, 23
    sekundärer Speicher
    14, 24
    Kommunikationsschnittstelle
    15, 25:
    Eingabe-Ausgabe-Schnittstelle
    30
    Roboter
    31
    Befestigung
    32
    Armteil
    33
    Handteil
    34
    Kraftsensor
    40
    Anzeige
    50
    Manipulationsvorrichtung
    91
    vorspringendes Werkstück
    92
    vertieftes Werkstück
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 029553 [0002, 0003, 0110]

Claims (12)

  1. Steuervorrichtung zum Steuern eines Roboters, umfassend: - einen oder mehrere Prozessoren; und - den Roboter, welcher einen Armteil, einen Kraftsensor und einen Endeffektor aufweist, der an dem Armteil über den Kraftsensor befestigt ist, wobei der eine oder die mehreren Prozessoren dafür ausgelegt sind, Folgendes auszuführen: (a) einen Bewegungsprozess, um zu bewirken, dass sich der Endeffektor bewegt, und (b) einen Erzeugungsprozess zum Erzeugen, mit Bezugnahme auf einen Detektionswert von dem Kraftsensor, von Lehrinformationen, die einer Bewegungsroute des Endeffektors entsprechen.
  2. Steuervorrichtung nach Anspruch 1, wobei in dem Erzeugungsprozess die Bewegungsroute des Endeffektors mit Bezugnahme auf den Detektionswert von dem Kraftsensor derart modifiziert wird, dass die Lehrinformationen erzeugt werden, um der so modifizierten Bewegungsroute zu entsprechen.
  3. Steuervorrichtung nach Anspruch 1, wobei - der eine oder die mehreren Prozessoren ferner dafür ausgelegt sind, um einen ersten Ausgabeprozess zum Ausgeben, an eine Ausgabevorrichtung, von Informationen auszuführen, die den Detektionswert von dem Kraftsensor auf einer Echtzeitbasis anzeigen, während sich der Endeffektor bewegt, - der Bewegungsprozess einen ersten Bewegungsprozess umfasst, um zu bewirken, dass sich der Endeffektor gemäß einer Manipulation eines Lehrers in Bezug auf eine Manipulationsvorrichtung bewegt, und - in dem Erzeugungsprozess Informationen, welche die Bewegungsroute des Endeffektors in dem ersten Bewegungsprozess anzeigen, als Lehrinformationen erzeugt werden.
  4. Steuervorrichtung nach Anspruch 3, wobei - die Ausgabevorrichtung eine Anzeige ist, und - der eine oder die mehreren Prozessoren ferner dafür ausgelegt sind, um in dem ersten Ausgabeprozess anzuzeigen: (a) ein Bild eines virtuellen Raums, in dem ein Objekt, das dem Endeffektor entspricht, in einer virtuellen Position angeordnet ist, die einer realen Position des Endeffektors entspricht, und (b) Informationen, die den Detektionswert anzeigen, der erhalten wird, wenn sich der Endeffektor in der realen Position befindet.
  5. Steuervorrichtung nach Anspruch 3 oder 4, wobei der eine oder die mehreren Prozessoren ferner dafür ausgelegt sind, um einen ersten Stoppprozess auszuführen, um zu bewirken, dass der Endeffektor in einem Fall stoppt, sich zu bewegen, wo der eine oder die mehreren Prozessoren bestimmen, dass der Detektionswert eine bestimmte Bedingung erfüllt, während sich der Endeffektor in dem ersten Bewegungsprozess bewegt.
  6. Steuervorrichtung nach einem der Ansprüche 3 bis 5, wobei - der eine oder die mehreren Prozessoren ferner dafür ausgelegt sind, um Folgendes auszuführen: - einen Speicherprozess, um zu bewirken, dass ein Speicher die Lehrinformationen speichert, welche die Bewegungsroute des Endeffektors in dem ersten Bewegungsprozess anzeigen; - einen zweiten Bewegungsprozess, um zu bewirken, dass sich der Endeffektor entlang der Bewegungsroute bewegt, die von den Lehrinformationen angezeigt wird; - einen zweiten Stoppprozess, um zu bewirken, dass der Endeffektor in einem Fall stoppt, sich zu bewegen, wo der eine oder die mehreren Prozessoren bestimmen, dass der Detektionswert eine bestimmte Bedingung erfüllt, während sich der Endeffektor in dem zweiten Bewegungsprozess bewegt; - einen Einstellprozess zum Einstellen, gemäß einer Manipulation des Lehrers in Bezug auf die Manipulationsvorrichtung, einer Position des Endeffektors, an welcher Position der Endeffektor als Ergebnis des zweiten Stoppprozesses gestoppt hat, sich zu bewegen; - einen zweiten Ausgabeprozess zum Ausgeben, an die Ausgabevorrichtung, von Informationen, die den Detektionswert von dem Kraftsensor auf einer Echtzeitbasis anzeigen, während sich der Endeffektor in dem Einstellprozess bewegt; und - einen Modifikationsprozess zum Modifizieren der Lehrinformationen auf einer Basis der Position, die von dem Einstellprozess eingestellt wird.
  7. Steuervorrichtung nach Anspruch 6, wobei der eine oder die mehreren Prozessoren ferner dafür ausgelegt sind, um einen Niveauaufzeichnungsprozess auszuführen, um gemäß einem Verlauf des Modifikationsprozesses, der ausgeführt wurde, Niveauinformationen aufzuzeichnen, die ein Lehrniveau anzeigen, das von dem Lehrer durchgeführt wird.
  8. Robotersteuersystem, umfassend: - die Steuervorrichtung nach einem der Ansprüche 3 bis 7; - den Roboter; - die Manipulationsvorrichtung; und - die Ausgabevorrichtung.
  9. Programm, um zu bewirken, dass die Steuervorrichtung nach einem der Ansprüche 1 bis 7 betrieben wird, wobei das Programm bewirkt, dass der eine oder die mehreren Prozessoren jeden der Prozesse ausführen.
  10. Steuerverfahren, um zu bewirken, dass ein oder mehrere Prozessoren einen Roboter steuern, welcher einen Armteil, einen Kraftsensor und einen Endeffektor umfasst, der an dem Armteil über den Kraftsensor befestigt ist, wobei das Verfahren die folgende Schritte umfasst: (a) der eine oder die mehreren Prozessoren bewirken, dass sich der Endeffektor bewegt; und (b) der eine oder die mehreren Prozessoren erzeugen, mit Bezugnahme auf einen Detektionswert von dem Kraftsensor, Lehrinformationen, die einer Bewegungsroute des Endeffektors entsprechen.
  11. Steuerverfahren nach Anspruch 10, wobei in dem Schritt (b) der eine oder die mehreren Prozessoren die Bewegungsroute des Endeffektors mit Bezugnahme auf den Detektionswert von dem Kraftsensor derart modifizieren, dass die Lehrinformationen erzeugt werden, um der so modifizierten Bewegungsroute zu entsprechen.
  12. Steuerverfahren nach Anspruch 10, ferner umfassend den folgenden Schritt: (c) der eine oder die mehreren Prozessoren geben, an eine Ausgabevorrichtung, Informationen, die den Detektionswert von dem Kraftsensor anzeigen, auf einer Echtzeitbasis aus, während sich der Endeffektor bewegt, wobei - der Schritt (a) den Schritt (d) enthält, dass der eine oder die mehreren Prozessoren bewirken, dass sich der Endeffektor gemäß einer Manipulation des Lehrers in Bezug auf eine Manipulationsvorrichtung bewegt, und - in dem Schritt (b) der eine oder die mehreren Prozessoren als Lehrinformationen Informationen erzeugen, die eine Bewegungsroute des Endeffektors in dem Schritt (d) anzeigen.
DE102021128120.2A 2020-10-30 2021-10-28 Steuervorrichtung, Robotersteuersystem, Programm und Steuerverfahren Pending DE102021128120A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2020182413 2020-10-30
JP2020-182413 2020-10-30
JP2021-162931 2021-10-01
JP2021162931A JP2022073993A (ja) 2020-10-30 2021-10-01 制御装置、ロボット制御システム、プログラム、および制御方法

Publications (1)

Publication Number Publication Date
DE102021128120A1 true DE102021128120A1 (de) 2022-05-05

Family

ID=81184569

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021128120.2A Pending DE102021128120A1 (de) 2020-10-30 2021-10-28 Steuervorrichtung, Robotersteuersystem, Programm und Steuerverfahren

Country Status (3)

Country Link
US (1) US20220134557A1 (de)
CN (1) CN114434439A (de)
DE (1) DE102021128120A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH029553Y2 (de) 1984-12-28 1990-03-09

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090192523A1 (en) * 2006-06-29 2009-07-30 Intuitive Surgical, Inc. Synthetic representation of a surgical instrument
JP4759660B2 (ja) * 2009-08-21 2011-08-31 パナソニック株式会社 ロボットアーム制御用の装置、方法、プログラム及び集積電子回路、並びに、組立ロボット
JP4699572B2 (ja) * 2009-09-28 2011-06-15 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及び、ロボットアーム制御用集積電子回路
EP3342556A4 (de) * 2015-08-25 2019-05-29 Kawasaki Jukogyo Kabushiki Kaisha Robotersystem
US10537995B2 (en) * 2017-05-08 2020-01-21 Seiko Epson Corporation Controller and control method of robot, and robot system
US11872698B2 (en) * 2018-02-13 2024-01-16 Canon Kabushiki Kaisha Controller of robot and control method
JP7124439B2 (ja) * 2018-05-22 2022-08-24 セイコーエプソン株式会社 制御装置及びロボットシステム
WO2020149414A1 (ja) * 2019-01-18 2020-07-23 株式会社安川電機 ロボット制御システム及びロボット制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH029553Y2 (de) 1984-12-28 1990-03-09

Also Published As

Publication number Publication date
CN114434439A (zh) 2022-05-06
US20220134557A1 (en) 2022-05-05

Similar Documents

Publication Publication Date Title
DE102018116053B4 (de) Robotersystem und Roboterlernverfahren
DE112019002310B4 (de) Ausführen einer &#34;peg in hole&#34;-aufgabe mit unbekannter neigung
DE112017002498B4 (de) Robotervorgang-auswertungseinrichtung, robotervorgang-auswertungsverfahren und robotersystem
DE102015208584B4 (de) Greifvorrichtung und Greifverfahren
DE102015204641B4 (de) Verfahren und System zur Programmierung eines Roboters
DE102017108727B4 (de) Verfahren zur Erstellung einer Datenbank mit Greiferposen, Verfahren zum Steuern eines Roboters, computerlesbares Speichermedium und Handhabungssystem
DE102017222057B4 (de) Robotersystem
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102015001527A1 (de) Robotersystem, das visuelle Rückmeldung verwendet
DE102018112403B4 (de) Robotersystem, das informationen zur unterweisung eines roboters anzeigt
DE102015001579B4 (de) Robotersystem mit Vermeidung unbeabsichtigten Abwurfs geförderter Gegenstände
DE102014001168A1 (de) Robotersteuerung
EP2977148B1 (de) Verfahren und vorrichtung zum steuern eines roboters
WO2018193130A1 (de) Verfahren zur erstellung einer datenbank mit greiferposen, verfahren zum steuern eines roboters, computerlesbares speichermedium und handhabungssystem
DE102017108492B4 (de) Steuervorrichtung eines Roboters, die ein Betriebsprogramm, in dem der Zustand einer zusätzlichen Achse enthalten ist, anzeigt
DE102017124423B4 (de) Simulationsvorrichtung und simulationsverfahren zum simulieren einer operation eines roboters
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE102018004673A1 (de) Robotersystem, das eine Geschwindigkeit anzeigt
EP2208584B1 (de) Verfahren zur Steuerung von Industrierobotern
DE102015009892A1 (de) Verfahren und System zum Steuern eines Roboters
DE102021128120A1 (de) Steuervorrichtung, Robotersteuersystem, Programm und Steuerverfahren
EP3710900B1 (de) Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls
DE102017002354A1 (de) Transportieren von Objekten, insbesondere Kommissionieren von Waren, mithilfe eines Roboters
DE102018004326B4 (de) Robotereinlernvorrichtung zum Einstellen von Einlernpunkten basierend auf einem Bewegtbild eines Werkstücks
DE112017007903B4 (de) Haltepositions- und Orientierungslehreinrichtung, Haltepositions- und Orientierungslehrverfahren und Robotersystem