DE112020004852T5 - Steuerungsverfahren, steuerungsvorrichtung, robotersystem, programm und aufzeichnungsmedium - Google Patents

Steuerungsverfahren, steuerungsvorrichtung, robotersystem, programm und aufzeichnungsmedium Download PDF

Info

Publication number
DE112020004852T5
DE112020004852T5 DE112020004852.7T DE112020004852T DE112020004852T5 DE 112020004852 T5 DE112020004852 T5 DE 112020004852T5 DE 112020004852 T DE112020004852 T DE 112020004852T DE 112020004852 T5 DE112020004852 T5 DE 112020004852T5
Authority
DE
Germany
Prior art keywords
target point
return
end effector
information
path
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
DE112020004852.7T
Other languages
English (en)
Inventor
Jun Takebayashi
Toshihiko Miyazaki
Yusuke Fujimoto
Masaya Yoshida
Atsushi Kameyama
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.)
Kawasaki Heavy Industries Ltd
Kawasaki Motors Ltd
Original Assignee
Kawasaki Heavy Industries Ltd
Kawasaki Jukogyo KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawasaki Heavy Industries Ltd, Kawasaki Jukogyo KK filed Critical Kawasaki Heavy Industries Ltd
Publication of DE112020004852T5 publication Critical patent/DE112020004852T5/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/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • 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
    • 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
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50042Return to origin, reference point, zero point, homing

Landscapes

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

Abstract

Ein Steuerungsverfahren beinhaltet: Aufzeichnen von Informationen des Betriebszielpunkts, der ein Ziel ist, jedes Mal, wenn sich ein Endeffektor (11) eines Roboters (10) zu einem Betriebszielpunkt auf einem Betriebspfad bewegt; Erfassen einer gegenwärtigen Position des Endeffektors beim Empfang eines Ursprungsrückkehrbefehls, Erfassen von Informationen eines Rückkehrzielpunkts als Informationen eines Punkts auf einem Rückkehrpfad zur Rückführung des Endeffektors zu einem Ursprung des Betriebspfads; Erfassen von Informationen des Betriebszielpunktes, der bereits unmittelbar vor einem k-ten Rückkehrzielpunkt erreicht wurde oder der unter den Informationen der Betriebszielpunkte, die bereits vor dem k-ten Rückkehrzielpunkt erreicht wurden, den geringsten Abstand zu dem k-ten Rückkehrzielpunkt aufweist, als (k+1)-ter Rückkehrzielpunkt; Wiederholen der Erfassung der Informationen des Rückkehrzielpunktes, um die Informationen eines zweiten Rückkehrzielpunktes zu einem (n+1)-ten Rückkehrzielpunkt zu erfassen; und bewegen des Endeffektors entlang des Rückkehrpfades, der durch den ersten Rückkehrzielpunkt zu dem (n+1)-ten Rückkehrzielpunkt führt und zu dem Ursprung zurückkehrt.

Description

  • Querverweis zu verwandten Anwendungen
  • Diese Anmeldung beansprucht die Priorität und den Vorteil der JP 2021-058987 A , die am 9. Oktober 2019 eingereicht wurde und deren gesamte Offenbarung hier durch Bezugnahme aufgenommen ist.
  • Technischer Bereich
  • Die vorliegende Offenbarung bezieht sich auf ein Steuerungsverfahren, eine Steuervorrichtung, ein Robotersystem, ein Programm und ein Aufzeichnungsmedium.
  • Stand der Technik
  • Konventionell ist eine Technologie zur Rückführung eines Roboters in eine Ausgangsposition bekannt. Wenn beispielsweise ein betriebener Roboter aus irgendeinem Grund anhält, wird vor dem Neustart des Roboters ein beweglicher Teil des Roboters in eine Ausgangsposition zurückgeführt, bei der es sich um die Ausgangsposition handelt, d. h. der Roboter wird zu einem Ausgangspunkt zurückgeführt. In PTL 1 wird zum Beispiel ein Verfahren zur Steuerung der Rückführung eines Roboters in die Ausgangsposition beschrieben. Bei diesem Steuerungsverfahren wird der Roboter von einer Halteposition zu einem Betriebsursprung zurückgeführt, indem ein bereits ausgeführtes Steuerprogramm sequentiell und in umgekehrter Reihenfolge ausgeführt wird.
  • Zitierliste
  • Patentliteratur
  • PTL 1: Japanische offengelegte Patentveröffentlichung Nr. H7-28520
  • Zusammenfassung der Erfindung
  • Wenn beispielsweise der Pfad, auf der der Roboter arbeitet, einen hin- und hergehenden Pfad umfasst, auf der sich der Roboter zwischen zwei Punkten hin- und herbewegt, kann das Verfahren zur Ursprungsrückkehrsteuerung von PTL 1 bewirken, dass sich der Roboter bei der Rückkehr zum Betriebsursprung auf dem hin- und hergehenden Pfad hin- und herbewegt. Daher kann der Vorgang der Rückkehr des Roboters zum Betriebsursprung kompliziert sein.
  • Ein Ziel der vorliegenden Offenbarung ist es, ein Steuerungsverfahren, eine Steuervorrichtung, ein Robotersystem, ein Programm und ein Aufzeichnungsmedium bereitzustellen, die den Betrieb eines Roboters für die Ursprungsrückführung vereinfachen.
  • Um das obige Ziel zu erreichen, ist ein Steuerungsverfahren gemäß einem Aspekt der vorliegenden Offenbarung ein Steuerungsverfahren für einen Roboter, der einen Betrieb durchführt, bei der ein Endeffektor sequentiell zu Betriebszielpunkten auf einem Betriebspfad bewegt wird, wobei das Steuerungsverfahren Folgendes umfasst: Aufzeichnen von Informationen über den Betriebszielpunkt, der ein Ziel ist, jedes Mal, wenn sich der Endeffektor zu dem Betriebszielpunkt bewegt; Erfassen einer gegenwärtigen Position des Endeffektors beim Empfangen eines Ursprungsrückkehrbefehls, um den Endeffektor zu einem Ursprung des Betriebspfads zurückzubringen; Erfassen von Informationen über einen ersten Rückkehrzielpunkt, der der Betriebszielpunkt ist, der bereits unmittelbar vor der gegenwärtigen Position erreicht wurde, oder der der Betriebszielpunkt ist, der unter den Informationen über die Betriebszielpunkte, die von dem Endeffektor vor der gegenwärtigen Position bereits erreicht wurden die geringste Entfernung zu der gegenwärtigen Position aufweist, als Informationen über einen Punkt auf einem Rückkehrpfad zum Zurückbringen des Endeffektors zu dem Ursprung; Erfassen von Informationen eines (k+1)-ten Rückkehrzielpunktes (der der Betriebszielpunkt ist, der bereits unmittelbar vor einem k-ten Rückkehrzielpunkt erreicht wurde, oder der der Betriebszielpunkt ist, der unter den Daten zu den Betriebszielpunkten, die bereits durch den Endeffektor vor dem k-ten Rückkehrzielpunkt erreicht wurden, den geringsten Abstand zu dem k-ten Rückkehrzielpunkt aufweist) als Informationen eines Punktes auf dem Rückkehrpfad, wobei k eine natürliche Zahl von 1 bis n ist und n eine natürliche Zahl von 1 oder mehr ist; Wiederholen der Erfassung der Daten zu dem (k+1)-ten Rückkehrzielpunkt, um Informationen eines zweiten Rückkehrzielpunkt bis zu einem (n+1)-ten Rückkehrzielpunkt zu erfassen; Bestimmen des Rückkehrpfades, der durch den ersten Rückkehrzielpunkt zu dem (n+1)-ten Rückkehrzielpunkt in dieser Reihenfolge führt und zum Ursprung zurückkehrt; und Bewegen des Endeffektors entlang des Rückkehrpfades.
  • Des Weiteren ist eine Steuervorrichtung gemäß einem Aspekt der vorliegenden Offenbarung eine Steuervorrichtung, die das Steuerverfahrens gemäß dem Aspekt der vorliegenden Offenbarung durchführt.
  • Darüber hinaus umfasst ein Robotersystem gemäß einem Aspekt der vorliegenden Offenbarung die Steuervorrichtung gemäß dem Aspekt der vorliegenden Offenbarung und den Roboter, und die Steuervorrichtung steuert den Betrieb des Roboters.
  • Darüber hinaus ist ein Programm gemäß einem Aspekt der vorliegenden Offenbarung ein Programm, das von einem Computer ausgeführt wird, wobei das Programm den Computer veranlasst Informationen über den Betriebszielpunkt der ein Ziel ist, in einem Prozess, in dem, jedes Mal wenn sich der Endeffektor zu dem Betriebszielpunkt bewegt, ein Roboter einen Endeffektor sequentiell zu Betriebszielpunkten auf einem Betriebspfad bewegt aufzuzeichnen, eine aktuelle Position des Endeffektors, wenn ein Ursprungsrückkehrbefehl empfangen wird, um den Endeffektor zu einem Ursprung der Betriebszielpunkte zurückzubringen, zu erfassen, Informationen eines ersten Rückkehrzielpunktes zu erfassen, der der Betriebszielpunkt ist, der bereits unmittelbar vor der aktuellen Position erreicht wurde, oder der der Betriebszielpunkt ist, der unter den Informationen der Betriebszielpunkte, die von dem Endeffektor vor der gegenwärtigen Position bereits erreicht wurden, den geringsten Abstand zu der aktuellen Position aufweist, als Informationen eines Punktes auf einem Rückkehrpfad zur Rückkehr des Endeffektors zum Ursprung, Informationen eines (k+1)-ten Rückkehrzielpunktes zu erfassen, der der Betriebszielpunkt ist, der bereits unmittelbar vor einem k-ten Rückkehrzielpunkt erreicht wurde, oder der der Betriebszielpunkt ist, der unter den Informationen der Betriebszielpunktes, die bereits durch den Endeffektor vor dem k-ten Rückkehrzielpunkt erreicht wurden, den geringsten Abstand zum k-ten Rückkehrzielpunkt hat, als Informationen eines Punktes auf dem Rückkehrpfad, wobei k eine natürliche Zahl von 1 bis n ist und n eine natürliche Zahl von 1 oder mehr ist, die Erfassung der Informationen des (k+1)-ten Rückkehrzielpunktes zu wiederholen, um Informationen eines zweiten Rückkehrzielpunktes zu einem (n+1)-ten Rückkehrzielpunkt zu erfassen und Bestimmen des Rückkehrpfades, der durch den ersten Rückkehrzielpunkt zu dem (n+1)-ten Rückkehrzielpunkt in dieser Reihenfolge führt und zum Ursprung zurückkehrt.
  • Außerdem ist auf einem Aufzeichnungsmedium gemäß einem Aspekt der vorliegenden Offenbarung das Programm gemäß dem Aspekt der vorliegenden Offenbarung aufgezeichnet.
  • Gemäß der Technologie der vorliegenden Offenbarung ist es möglich, den Betrieb des Roboters für die Ursprungsrückführung zu vereinfachen.
  • Figurenliste
    • 1 ist ein schematisches Diagramm, das ein Beispiel für ein Robotersystem gemäß einer Ausführungsform zeigt.
    • 2 ist eine perspektivische Ansicht eines Roboters aus 1.
    • 3 ist eine Seitenansicht eines distalen Endteils eines Roboterarms in 2.
    • 4 ist eine Seitenansicht eines Endeffektors in 2.
    • 5 ist ein Blockdiagramm, das ein Beispiel für die Hardwarekonfiguration einer Steuervorrichtung gemäß der Ausführungsform zeigt.
    • 6 ist ein Blockdiagramm, das ein Beispiel für die funktionelle Konfiguration der Steuervorrichtung gemäß der Ausführungsform zeigt.
    • 7 ist ein Diagramm, das ein Beispiel für einen Betriebspfad gemäß den Lehrinformationen des Roboters gemäß der Ausführungsform zeigt.
    • 8 ist ein Diagramm, das ein Beispiel für einen Betriebspfad gemäß den Lehrinformationen des Roboters gemäß der Ausführungsform zeigt.
    • 9A ist ein Flussdiagramm, das ein Beispiel für den Betrieb des Robotersystems gemäß der Ausführungsform zeigt.
    • 9B ist ein Flussdiagramm, das ein Beispiel für den Betrieb des Robotersystems gemäß der Ausführungsform zeigt.
    • 9C ist ein Flussdiagramm, das ein Beispiel für den Betrieb des Robotersystems gemäß dieser Ausführungsform zeigt.
  • Beschreibung der Ausführungsformen
  • Zunächst werden Beispiele für Aspekte der vorliegenden Offenbarung beschrieben. Ein Steuerungsverfahren gemäß einem Aspekt der vorliegenden Offenbarung ist ein Steuerungsverfahren für einen Roboter, der einen Betrieb durchführt, bei der ein Endeffektor sequentiell zu Betriebszielpunkten auf einem Betriebspfad bewegt wird, wobei das Steuerungsverfahren Folgendes umfasst: Das Aufzeichnen von Informationen über den Betriebszielpunkt, der ein Zielpunkt ist, jedes Mal, wenn sich der Endeffektor zu dem Betriebszielpunkt bewegt; das Erfassen einer gegenwärtigen Position des Endeffektors beim Empfangen eines Ursprungsrückkehrbefehls, um den Endeffektor zu einem Ursprung des Betriebspfads zurückzubringen; Erfassen von Informationen über einen ersten Rückkehrzielpunkt, der der Betriebszielpunkt ist, der bereits unmittelbar vor der gegenwärtigen Position erreicht wurde, oder der der Betriebszielpunkt ist, der unter den Informationen über die Betriebszielpunkte, die von dem Endeffektor vor der gegenwärtigen Position bereits erreicht wurden, den geringsten Abstand zu der gegenwärtigen Position aufweist, als Informationen über einen Punkt auf einem Rückkehrpfad zum Zurückbringen des Endeffektors zu dem Ursprung; Erfassen von Informationen eines (k+1)-ten Rückkehrzielpunktes, der der Betriebszielpunkt ist, der bereits unmittelbar vor einem k-ten Rückkehrzielpunkt erreicht wurde, oder der Betriebszielpunkt, der unter den Informationen der Betriebszielpunkte, die bereits durch den Endeffektor vor dem k-ten Rückkehrzielpunkt erreicht wurden, den geringsten Abstand zu dem k-ten Rückkehrzielpunkt aufweist, als Information eines Punktes auf dem Rückkehrpfad, wobei k eine natürliche Zahl von 1 bis n ist und n eine natürliche Zahl von 1 oder mehr ist; Wiederholen der Erfassung der Information des (k+1)-ten Rückkehrzielpunktes, um Information eines zweiten Rückkehrzielpunktes zu einem (n+1)-ten Rückkehrzielpunkt zu erfassen; Bestimmen des Rückkehrpfades, der durch den ersten Rückkehrzielpunkt zu dem (n+1)-ten Rückkehrzielpunkt in dieser Reihenfolge führt und zum Ursprung zurückkehrt; und Bewegen des Endeffektors entlang des Rückkehrpfades.
  • Gemäß dem obigen Aspekt wird der Rückkehrzielpunkt auf dem Rückkehrpfad zur Rückführung des Endeffektors zum Ursprung anhand der während des Betriebs des Endeffektors erfassten Betriebszielpunkte ermittelt. Als Rückkehrzielpunkt wird der bereits unmittelbar zuvor erreichte Betriebszielpunkt oder der Betriebszielpunkt mit dem geringsten Abstand ermittelt. Dementsprechend ist es möglich, einen Rückkehrpfad festzulegen, der nicht durch einen Teil oder einige der aufgezeichneten Betriebszielpunkte führt, so dass es möglich ist, die Anzahl der im Rückkehrpfad enthaltenen Rückkehrzielpunkte zu reduzieren. Dadurch kann der Betrieb des Roboters für die Rückführung vereinfacht werden.
  • Bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung kann, wenn die Betriebszielpunkte als Kandidaten für den Rückkehrzielpunkt erkannt werden, der am frühesten erreichte Betriebszielpunkt als der Rückkehrzielpunkt bestimmt werden.
  • Gemäß dem obigen Aspekt wird der Betriebszielpunkt, der näher am Ursprung auf dem Betriebspfad liegt, als Rückkehrzielpunkt bestimmt. Dementsprechend ist es möglich, die Anzahl der im Rückkehrpfad enthaltenen Rückkehrzielpunkte zu reduzieren, so dass es möglich ist, den Rückkehrpfad zu vereinfachen.
  • Bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung kann ein Zielpunktabstand, der ein Abstand zwischen dem aufgezeichneten Betriebszielpunkt und der aktuellen Position ist, erfasst werden, und wenn der Zielpunktabstand innerhalb eines ersten Schwellenwerts liegt, kann die aktuelle Position als an dem Betriebszielpunkt befindlich angesehen werden, dessen Zielpunktabstand innerhalb des ersten Schwellenwerts liegt.
  • Gemäß dem obigen Aspekt werden ein Verfahren zur Bestimmung eines Rückkehrpfades von der aktuellen Position zum Betriebszielpunkt und ein Verfahren zur Bewegung des Endeffektors entlang des Rückkehrpfades unnötig. Daher ist es möglich, den Prozess und den Betrieb des Roboters für die Rückführung zu vereinfachen.
  • In dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung kann ein Trennungsabstand, der ein Abstand zwischen der aktuellen Position und dem Betriebspfad ist, erfasst werden und wenn der Trennungsabstand innerhalb eines zweiten Schwellenwerts liegt, kann die Erfassung des Rückkehrzielpunkts ausgeführt werden und wenn der Trennungsabstand den zweiten Schwellenwert überschreitet, kann die Erfassung des Rückkehrzielpunkts gestoppt werden.
  • Gemäß dem obigen Aspekt kann zum Beispiel, wenn der Trennungsabstand den zweiten Schwellenwert überschreitet, ein Teil des Roboters mit einem Objekt in der Umgebung des Roboters kollidieren, wenn der Endeffektor zum ersten Rückkehrzielpunkt zurückgeführt wird. Daher kann verhindert werden, dass der Roboter bei der Rückkehr zum Ausgangspunkt beschädigt wird.
  • Bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung kann ein Abstand zwischen der aktuellen Position oder dem Rückkehrzielpunkt und dem Betriebszielpunkt ein Abstand entlang des Betriebspfads sein.
  • Gemäß dem obigen Aspekt kann der Roboter entlang des Betriebspfads zum Ursprung zurückkehren. Dementsprechend wird eine Beeinflussung des Roboters durch ein umliegendes Objekt durch die Durchführung eines vom Betriebspfad abweichenden Betriebes verhindert.
  • Bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung können die Positionen der beiden Betriebszielpunkte als gleich angesehen werden , wenn ein Abstand zwischen den beiden Betriebszielpunkten gleich oder kleiner als ein dritter Schwellenwert ist.
  • Gemäß dem obigen Aspekt wird der Prozess der Erfassung des Abstands zwischen dem Betriebszielpunkt und der aktuellen Position des Roboters oder dem Rückkehrzielpunkt vereinfacht. Darüber hinaus ist es möglich, einen Rückkehrpfad festzulegen, der nicht durch einen Betriebspfad zwischen den beiden Betriebszielpunkten verläuft, zwischen denen der Abstand gleich oder kleiner als der dritte Schwellenwert ist. Ein solcher Rückkehrpfad kann den Betrieb des Roboters für die Rückführung zum Ausgangspunkt vereinfachen.
  • Bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung können die Informationen über den Betriebszielpunkt Informationen über eine Position des Betriebszielpunkts, einen Abschnittsbetriebspfad, der ein Pfad vom unmittelbar vorhergehenden Betriebszielpunkt zum Betriebszielpunkt ist, einen Zustand des Endeffektors und eine Position des Roboters umfassen.
  • Gemäß dem obigen Aspekt kann der Roboter, wenn der Endeffektor veranlasst wird, einen Betrieb zur Rückkehr zum Ursprung zwischen den Rückkehrzielpunkten durchzuführen, unter Berücksichtigung nicht nur einer Änderung der Position des Endeffektors, sondern auch des Betriebspfades des Endeffektors, einer Änderung des Zustands des Endeffektors und einer Änderung der Position des Roboters betrieben werden. Daher wird eine Beeinflussung des Roboters durch ein umliegendes Objekt bei der Rückkehr zum Ausgangspunkt verhindert.
  • Bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung kann die Position des Betriebszielpunkts eine dreidimensionale Position des Betriebszielpunkts und eine Stellung einer Referenzachse am Betriebszielpunkt umfassen.
  • Gemäß dem obigen Aspekt kann der Endeffektor, wenn er veranlasst wird, einen Betrieb zur Rückkehr zum Ursprung zwischen den Rückkehrzielpunkten durchzuführen, unter Berücksichtigung nicht nur einer Änderung der Position des Endeffektors, sondern auch einer Änderung der Haltung des Endeffektors betrieben werden. Daher wird eine Beeinflussung des Endeffektors oder dergleichen durch ein umliegendes Objekt bei der Rückkehr zum Ausgangspunkt verhindert.
  • Bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung kann der Abstand zwischen der aktuellen Position oder dem Rückkehrzielpunkt und dem Betriebszielpunkt einen Abstand zwischen einer dreidimensionalen Position der aktuellen Position oder des Rückkehrzielpunkts und der dreidimensionalen Position des Betriebszielpunkts und einen Abstand zwischen einer Stellung der Referenzachse an der aktuellen Position oder dem Rückkehrzielpunkt und der Stellung der Referenzachse am Betriebszielpunkt umfassen.
  • Gemäß dem obigen Aspekt umfasst der Abstand zwischen der aktuellen Position oder dem Rückkehrzielpunkt und dem Betriebszielpunkt nicht nur den Abstand zwischen deren dreidimensionalen Positionen, sondern auch den Abstand der Haltungsänderung dazwischen. Ein solcher Abstand kann die Bewegungsdistanz des Endeffektors zwischen der aktuellen Position oder dem Rückkehrzielpunkt und dem Betriebszielpunkt angeben. Daher ist es möglich, den nächsten Rückkehrzielpunkt zu erkennen, indem der genaue Abstand zwischen der gegenwärtigen Position oder dem Rückkehrzielpunkt und dem Betriebszielpunkt verwendet wird.
  • Bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung kann, wenn der Endeffektor vom k-ten Rückkehrzielpunkt zum (k+1)-ten Rückkehrzielpunkt bewegt wird, eine Position des (k+1)-ten Rückkehrzielpunkts als eine Zielposition für den Endeffektor bestimmt werden; ein Pfad, der umgekehrt zu dem Abschnittsbetriebspfad ist, der in der Information des k-ten Rückkehrzielpunkts enthalten ist, kann als ein Zielbetriebspfad für den Endeffektor bestimmt werden; der Zustand des Endeffektors, der in der Information des k-ten Rückkehrzielpunkts enthalten ist, kann als ein Zielzustand für den Endeffektor bestimmt werden; und die Position des Roboters, die in der Information des (k+1)-ten Rückkehrzielpunkts enthalten ist, kann als eine Zielposition für den Roboter bestimmt werden.
  • Gemäß dem obigen Aspekt wird, wenn der Endeffektor vom k-ten Rückkehrzielpunkt zum (k+1)-ten Rückkehrzielpunkt bewegt wird, verhindert, dass der Betriebsbereich des Roboters bei der Rückkehr zum Ursprung stark vom Betriebsbereich des Roboters abweicht, wenn sich der Endeffektor entlang des Betriebspfads bewegt. Daher wird eine Beeinflussung des Endeffektors oder dergleichen durch ein umliegendes Objekt bei der Rückkehr zum Ausgangspunkt verhindert.
  • Bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung kann, wenn der Endeffektor von seiner gegenwärtigen Position zu dem ersten Rückkehrzielpunkt bewegt wird, eine Position des ersten Rückkehrzielpunkts als eine Zielposition für den Endeffektor bestimmt werden, es kann ein Pfad, der umgekehrt zu dem Abschnittsbetriebspfad ist, der in den Informationen eines Endbetriebszielpunkts enthalten ist, der der Betriebszielpunkt ist, der das Ziel für die gegenwärtige Position ist, kann als ein Zielbetriebspfad für den Endeffektor bestimmt werden, der Zustand des Endeffektors, der in der Information des Endbetriebszielpunkts enthalten ist, kann als ein Zielzustand für den Endeffektor bestimmt werden, und die Position des Roboters, die in den Informationen des ersten Rückkehrzielpunkts enthalten ist, kann als eine Zielposition für den Roboter bestimmt werden.
  • Gemäß dem obigen Aspekt wird, wenn der Endeffektor von der gegenwärtigen Position zu dem ersten Rückkehrzielpunkt bewegt wird, der Betriebsbereich des Roboters bei der Rückkehr zum Ursprung daran gehindert, stark von dem Betriebsbereich des Roboters abzuweichen, wenn sich der Endeffektor entlang des Betriebspfades bewegt.
  • Bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung kann der Betriebszielpunkt ein Zielpunkt des Betriebs sein, der dem Roboter in einem Verfahren zum Anlernen des Betriebs des Roboters beigebracht wird.
  • Gemäß der obigen Konfiguration wird die Einstellung der Betriebszielpunkte vereinfacht, und die Erkennung des Rückkehrzielpunkts unter Verwendung der Betriebszielpunkte wird vereinfacht.
  • Eine Steuervorrichtung gemäß einem Aspekt der vorliegenden Offenbarung ist eine Steuervorrichtung, die das Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung durchführen. Gemäß dem obigen Aspekt werden die gleichen Wirkungen wie bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung erzielt.
  • Ein Robotersystem gemäß einem Aspekt der vorliegenden Offenbarung umfasst die Steuervorrichtung gemäß dem Aspekt der vorliegenden Offenbarung und den Roboter, und die Steuervorrichtung steuert den Betrieb des Roboters. Gemäß dem obigen Aspekt werden die gleichen Effekte wie bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung erzielt.
  • Ein Programm gemäß einem Aspekt der vorliegenden Offenbarung ist ein Programm, das von einem Computer ausgeführt wird, wobei das Programm den Computer veranlasst, Informationen über den Betriebszielpunkt der ein Ziel ist, in einem Prozess, in dem, jedes Mal wenn sich der Endeffektor zu dem Betriebszielpunkt bewegt, ein Roboter einen Endeffektor sequentiell zu Betriebszielpunkten auf einem Betriebspfad bewegt aufzuzeichnen, eine aktuelle Position des Endeffektors, wenn ein Ursprungsrückkehrbefehl empfangen wird, um den Endeffektor zu einem Ursprung der Betriebszielpunkte zurückzubringen, zu erfassen, Informationen eines ersten Rückkehrzielpunktes zu erfassen, der der Betriebszielpunkt ist, der bereits unmittelbar vor der aktuellen Position erreicht wurde, oder der der Betriebszielpunkt ist, der unter den Informationen der Betriebszielpunkte, die von dem Endeffektor vor der gegenwärtigen Position bereits erreicht wurden, den geringsten Abstand zu der aktuellen Position aufweist, als Informationen eines Punktes auf einem Rückkehrpfad zur Rückkehr des Endeffektors zum Ursprung, Informationen eines (k+1)-ten Rückkehrzielpunktes zu erfassen, der der Betriebszielpunkt ist, der bereits unmittelbar vor einem k-ten Rückkehrzielpunkt erreicht wurde, oder der der Betriebszielpunkt ist, der unter den Informationen der Betriebszielpunkte, die bereits durch den Endeffektor vor dem k-ten Rückkehrzielpunkt erreicht wurden, den geringsten Abstand zu dem k-ten Rückkehrzielpunkt aufweist, als Informationen eines Punktes auf dem Rückkehrpfad, wobei k eine natürliche Zahl von 1 bis n ist und n eine natürliche Zahl von 1 oder mehr ist; Wiederholte Erfassung der Informationen des (k+1)-ten Rückkehrzielpunktes, um Informationen eines zweiten Rückkehrzielpunktes zu einem (n+1)-ten Rückkehrzielpunkt zu erfassen; und Bestimmen des Rückkehrpfades, der durch den ersten Rückkehrzielpunkt zu dem (n+1)-ten Rückkehrzielpunkt in dieser Reihenfolge führt und zum Ursprung zurückkehrt. Gemäß dem obigen Aspekt werden die gleichen Effekte wie bei dem Steuerungsverfahren gemäß dem Aspekt der vorliegenden Offenbarung erzielt.
  • Das Programm gemäß dem Aspekt der vorliegenden Offenbarung kann ein Anwendungsprogramm sein, das auf einem Systemprogramm einer Steuervorrichtung läuft, das den Betrieb des Roboters steuert.
  • Gemäß dem obigen Aspekt ist das Anwendungsprogramm funktionsfähig, wenn es beispielsweise als Teil des Systemprogramms eingebunden oder im Systemprogramm installiert ist.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung kann das Anwendungsprogramm zur Ausführung zugelassen werden, wenn das Anwendungsprogramm installiert und in das Systemprogramm integriert ist.
  • Gemäß dem obigen Aspekt kann das Anwendungsprogramm so konfiguriert werden, dass es in verschiedenen Systemprogrammen installiert werden kann und vielseitig einsetzbar ist.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung kann, wenn die Betriebszielpunkte als Kandidaten für den Rückkehrzielpunkt erkannt werden, der am schnellsten erreichbare Betriebszielpunkt als Rückkehrzielpunkt bestimmt werden.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung kann ein Zielpunktabstand, der ein Abstand zwischen dem aufgezeichneten Betriebszielpunkt und der aktuellen Position ist, erfasst werden, und wenn der Zielpunktabstand innerhalb eines ersten Schwellenwerts liegt, kann die aktuelle Position als an dem Betriebszielpunkt gelegen angesehen werden, dessen Zielpunktabstand innerhalb des ersten Schwellenwerts liegt.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung kann ein Trennungsabstand, der ein Abstand zwischen der aktuellen Position und dem Betriebspfad ist, erfasst werden; wenn der Trennungsabstand innerhalb eines zweiten Schwellenwerts liegt, kann die Erfassung des Rückkehrzielpunkts ausgeführt werden; und wenn der Trennungsabstand den zweiten Schwellenwert überschreitet, kann die Erfassung des Rückkehrzielpunkts gestoppt werden.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung kann ein Abstand zwischen der aktuellen Position oder dem Rückkehrzielpunkt und dem Betriebszielpunkt ein Abstand entlang des Betriebspfads sein.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung können die Positionen der beiden Betriebszielpunkte als gleich angesehen werden, wenn der Abstand zwischen den beiden Betriebszielpunkten gleich oder kleiner als ein dritter Schwellenwert ist.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung können die Informationen des Betriebszielpunkts Informationen über eine Position des Betriebszielpunkts, einen Abschnittsbetriebspfad, der ein Pfad von dem unmittelbar vorhergehenden Betriebszielpunkt zu dem Betriebszielpunkt ist, einen Zustand des Endeffektors und eine Position des Roboters umfassen.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung kann die Position des Betriebszielpunkts eine dreidimensionale Position des Betriebszielpunkts und eine Stellung einer Referenzachse am Betriebszielpunkt umfassen.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung kann der Abstand zwischen der gegenwärtigen Position oder dem Rückkehrzielpunkt und dem Betriebszielpunkt einen Abstand zwischen einer dreidimensionalen Position der gegenwärtigen Position oder des Rückkehrzielpunkts und der dreidimensionalen Position des Betriebszielpunkts und einen Abstand zwischen einer Haltung der Referenzachse an der gegenwärtigen Position oder dem Rückkehrzielpunkt und der Haltung der Referenzachse am Betriebszielpunkt umfassen.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung kann in einem Abschnittsrückkehrpfad von dem k-ten Rückkehrzielpunkt zu dem (k+1)-ten Rückkehrzielpunkt in dem Rückkehrpfad eine Position des (k+1)-ten Rückkehrzielpunkts als eine Zielposition für den Endeffektor bestimmt werden, ein Pfad, der umgekehrt zu dem Abschnittsbetriebspfad ist, der in den Informationen des k-ten Rückkehrzielpunktes enthalten ist, kann als ein Zielbetriebspfad für den Endeffektor bestimmt werden, der Zustand des Endeffektors, der in den Daten des k-ten Rückkehrzielpunktes enthalten ist, kann als ein Zielzustand für den Endeffektor bestimmt werden, und die Position des Roboters, die in den Informationen des (k+1)-ten Rückkehrzielpunktes enthalten ist, kann als eine Zielposition für den Roboter bestimmt werden.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung kann in einem Abschnittsrückkehrpfad von der gegenwärtigen Position zu dem ersten Rückkehrzielpunkt in dem Rückkehrpfad eine Position des ersten Rückkehrzielpunkts als eine Zielposition für den Endeffektor festgelegt werden, ein Pfad, der umgekehrt zu dem Abschnittsbetriebspfad ist, der in der Information eines Endbetriebszielpunkts enthalten ist, der der Betriebszielpunkt ist, der das Ziel für die gegenwärtige Position ist, kann als ein Zielbetriebspfad für den Endeffektor festgelegt werden; der Zustand des Endeffektors, der in der Information des Endbetriebszielpunkts enthalten ist, kann als ein Zielzustand für den Endeffektor eingestellt werden; und die Position des Roboters, die in den Informationen des ersten Rückkehrzielpunkts enthalten ist, kann als eine Zielposition für den Roboter eingestellt werden.
  • In dem Programm gemäß dem Aspekt der vorliegenden Offenbarung kann der Betriebszielpunkt ein Zielpunkt des Betriebs sein, der dem Roboter in einem Prozess des Anlernens des Betriebs des Roboters beigebracht wird.
  • Auf einem Aufzeichnungsmedium gemäß einem Aspekt der vorliegenden Offenbarung ist das Programm gemäß dem Aspekt der vorliegenden Offenbarung aufgezeichnet. Gemäß dem obigen Aspekt werden die gleichen Effekte wie die des Programms gemäß dem Aspekt der vorliegenden Offenbarung erzielt.
  • (Ausführungsformen)
  • Nachfolgend werden Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen beschrieben. Die im Folgenden beschriebenen Ausführungsformen sind allesamt umfassende oder spezifische Beispiele. Darüber hinaus werden unter den Komponenten in den folgenden Ausführungsformen die Komponenten, die nicht in den unabhängigen Ansprüchen beschrieben werden, die weitestgehende Konzepte darstellen, als optionale Komponenten beschrieben. Darüber hinaus ist jede Abbildung in den beigefügten Zeichnungen eine schematische Ansicht und ist nicht notwendigerweise genau dargestellt. Darüber hinaus sind in jeder Abbildung im Wesentlichen die gleichen Komponenten durch die gleichen Bezugszeichen gekennzeichnet, und die sich wiederholende Beschreibung derselben kann weggelassen oder vereinfacht werden. Darüber hinaus kann in der vorliegenden Beschreibung und den Ansprüchen der Begriff „Gerät“ nicht nur ein Gerät, sondern auch ein System mit einer Vielzahl von Geräten bedeuten.
  • [Konfiguration des Robotersystems]
  • Im Folgenden wird die Konfiguration eines Robotersystems 1 gemäß einer Ausführungsform beschrieben. 1 ist ein schematisches Diagramm, das ein Beispiel des Robotersystems 1 gemäß der Ausführungsform zeigt. Wie in 1 dargestellt, umfasst das Robotersystem 1 gemäß der Ausführungsform einen Roboter 10, eine Steuervorrichtung 20, eine Bildgebungsvorrichtung 30, eine Eingabevorrichtung 40 und eine Präsentationsvorrichtung 50. Das Robotersystem 1 kann den Roboter 10 dazu veranlassen, automatisch gemäß einem eingelernten Betriebsverfahren zu arbeiten, um eine vorbestimmte Arbeit auszuführen. Das Robotersystem 1 kann den Roboter 10 veranlassen, manuell entsprechend der über die Eingabevorrichtung 40 eingegebenen Manipulationsinformationen zu arbeiten, um Arbeit auszuführen. Darüber hinaus kann das Robotersystem 1 den Roboter 10 automatisch so betreiben, dass er in die Ausgangsposition zurückkehrt, wenn beispielsweise ein Befehl zur Rückführung des Roboters 10 in eine Ausgangsposition über die Eingabevorrichtung 40 eingegeben wird.
  • In der vorliegenden Ausführungsform ist der Roboter 10 ein Industrieroboter, ist aber nicht darauf beschränkt. Der Roboter 10 umfasst einen Endeffektor 11, der eine Aktion auf jedes Bearbeitungsobjekt W anwendet, einen Roboterarm 12, der den Endeffektor 11 bewegt, um die Aktion auszuführen, und eine Transfervorrichtung 13, die den Roboter 10 bewegt, um die Position des Roboters 10 zu ändern.
  • Der Roboterarm 12 ist nicht besonders begrenzt, solange der Roboterarm 12 eine Konfiguration aufweist, die in der Lage ist, die Position und die Haltung des Endeffektors 11 an seinem distalen Ende zu verändern. In der vorliegenden Ausführungsform handelt es sich bei dem Roboterarm 12 um einen vertikal gelenkigen Roboterarm. Der Roboterarm 12 kann beispielsweise als horizontaler Gelenkroboterarm, als Roboterarm mit Polarkoordinaten, als Roboterarm mit zylindrischen Koordinaten, als kartesischer Koordinatenroboter oder als eine andere Art von Roboterarm konfiguriert sein.
  • Der Roboterarm 12 umfasst Verbindungsglieder 12a bis 12f, die aufeinanderfolgend von einem proximalen Teil davon zu seinem distalen Ende hin angeordnet sind, Gelenke JT1 bis JT6, die aufeinanderfolgend die Verbindungsglieder 12a bis 12f verbinden, und Armantriebe M1 bis M6, die die Gelenke JT1 bis JT6 jeweils in Drehung versetzen. Der Betrieb der Armantriebe M1 bis M6 wird von der Steuervorrichtung 20 gesteuert. Jeder der Armantriebe M1 bis M6 verwendet elektrische Energie als Energiequelle und hat einen Servomotor SMa (siehe 5) als Elektromotor, der den Armantrieb antreibt, ist aber nicht darauf beschränkt. Die Anzahl der Gelenke des Roboterarms 12 ist nicht auf sechs beschränkt und kann sieben oder mehr betragen, oder eins oder mehr und fünf oder weniger.
  • Das Verbindungsglied 12a ist an der Übertragungsvorrichtung 13 befestigt. Ein distaler Endabschnitt des Verbindungsglieds 12f bildet eine mechanische Schnittstelle und ist mit dem Endeffektor 11 verbunden. Das Gelenk JT1 koppelt die Transfervorrichtung 13 und einen proximalen Endabschnitt des Verbindungsglieds 12a so, dass die Transfervorrichtung 13 und der proximale Endabschnitt des Verbindungsglieds 12a um eine Achse drehbar sind, die sich in einer vertikalen Richtung senkrecht zu einer Bodenfläche erstreckt, auf der die Transfervorrichtung 13 aufliegt. Das Gelenk JT2 koppelt einen distalen Endabschnitt des Verbindungsgliedes 12a und einen proximalen Endabschnitt des Verbindungsgliedes 12b, so dass der distale Endabschnitt des Verbindungsgliedes 12a und der proximale Endabschnitt des Verbindungsgliedes 12b um eine Achse drehbar sind, die sich in einer horizontalen Richtung parallel zur Bodenfläche erstreckt. Das Gelenk JT3 koppelt einen distalen Endabschnitt des Verbindungsglieds 12b und einen proximalen Endabschnitt des Verbindungsglieds 12c, so dass der distale Endabschnitt des Verbindungsglieds 12b und der proximale Endabschnitt des Verbindungsglieds 12c um eine Achse drehbar sind, die sich in horizontaler Richtung erstreckt. Das Gelenk JT4 koppelt einen distalen Endabschnitt des Verbindungsglieds 12c und einen proximalen Endabschnitt des Verbindungsglieds 12d, so dass der distale Endabschnitt des Verbindungsglieds 12c und der proximale Endabschnitt des Verbindungsglieds 12d um eine Achse drehbar sind, die sich in Längsrichtung des Verbindungsglieds 12c erstreckt. Das Gelenk JT5 koppelt einen distalen Endabschnitt des Verbindungsgliedes 12d und einen proximalen Endabschnitt des Verbindungsgliedes 12e, so dass der distale Endabschnitt des Verbindungsgliedes 12d und der proximale Endabschnitt des Verbindungsgliedes 12e um eine Achse drehbar sind, die sich in einer Richtung orthogonal zur Längsrichtung des Verbindungsgliedes 12d erstreckt. Das Gelenk JT6 koppelt einen distalen Endabschnitt des Verbindungsglieds 12e und einen proximalen Endabschnitt des Verbindungsglieds 12f, so dass der proximale Endabschnitt des Verbindungsglieds 12f in Bezug auf das Verbindungsglied 12e drehbar und drehbar ist.
  • Der Endeffektor 11 ist abnehmbar an einem distalen Endabschnitt des Roboterarms 12 angebracht. Der Endeffektor 11 ist so konfiguriert, dass er in der Lage ist, den Bearbeitungsobjekten W verschiedene Handlungen hinzuzufügen, die den Bearbeitungsobjekten W entsprechen, wie z.B. Greifen, Saugen, Heben oder Aufschaufeln. Im Beispiel von 1 ist der Endeffektor 11 so konfiguriert, dass er in der Lage ist, die Bearbeitungsobjekte W zu greifen und die Bearbeitungsobjekte W in Löcher eines zu bearbeitenden Objekts T einzuschrauben, und der Roboter 10 führt eine Arbeit zum Zusammenbau der Bearbeitungsobjekte W mit dem zu bearbeitenden Objekt T aus. Der Endeffektor 11 umfasst einen Endeffektorantrieb 11a (siehe 5), der den Endeffektor 11 antreibt. Der Betrieb des Endeffektorantrieb 11a wird von der Steuervorrichtung 20 gesteuert. Der Endeffektorantrieb 11a verwendet elektrische Energie als Energiequelle und hat einen Servomotor SMb als Elektromotor, der den Endeffektorantrieb 11a antreibt (siehe 5), ist aber nicht darauf beschränkt. Der Betrieb des Roboters 10 ist nicht auf die oben beschriebene Anordnung beschränkt, sondern kann jeder beliebige Betrieb sein. Beispiele für die Betrieb des Roboters 10 sind Sortieren, Montieren, Lackieren, Schweißen, Fügen, Zerspanen, Polieren, Versiegeln, Halbleiterherstellung und medizinische Tätigkeiten wie Medikamentenrezeptur und Chirurgie.
  • Die Transfervorrichtung 13 kann den Roboter 10 auf dem Boden oder dergleichen bewegen und umfasst eine Basis 13a, auf der der Roboterarm 12 platziert wird und die den Roboterarm 12 trägt, Raupen (auch als „Caterpillars (eingetragenes Warenzeichen)“ bezeichnet) 13b als Fahrmittel für die Basis 13a und einen Transferantrieb 13c (siehe 5), der die Raupen 13b antreibt. Das Fahrmittel ist nicht auf die Raupen 13b beschränkt, sondern kann auch ein anderes Fahrmittel, wie z. B. Räder, sein. Der Transferantrieb 13c verwendet elektrische Energie als Energiequelle und hat einen Servomotor SMc (siehe 5) als Elektromotor, ist aber nicht darauf beschränkt. Die Transfervorrichtung 13 kann ein AGV (Automated Guided Vehicle (Automatisch gelenktes Fahrzeug)) oder ähnliches sein.
  • Die Bildgebungsvorrichtung 30 nimmt ein Bild des Roboters 10 auf, genauer gesagt, sie nimmt ein Bild des Bearbeitungszustands der Bearbeitungsobjekte W des Roboters 10 auf. Beispiele für die Bildaufnahmevorrichtung 30 sind eine Digitalkamera und eine digitale Videokamera. Die Bildgebungsvorrichtung 30 ist beispielsweise an einer vom Roboter 10 entfernten Position angeordnet, kann aber auch am Roboter 10 angeordnet sein. Die Bildgebungsvorrichtung 30 gibt ein Signal des aufgenommenen Bildes an die Präsentationsvorrichtung 50 aus, kann das Signal aber auch an die Steuervorrichtung 20 ausgeben. Ein Benutzer, der das Robotersystem 1 verwaltet, kann den Bearbeitungsstatus der Bearbeitungsobjekte W durch den Roboter 10 über die Präsentationsvorrichtung 50 überprüfen.
  • Der Betrieb der Bildgebungsvorrichtung 30 kann von der Steuervorrichtung 20 gesteuert werden.
  • Die Eingabevorrichtung 40 empfängt die Eingabe von Befehlen, Informationen, Daten usw. durch den Benutzer des Robotersystems 1 und gibt die Befehle, die Informationen, die Daten usw. an die Steuervorrichtung 20 aus. Die Eingabevorrichtung 40 ist über eine drahtgebundene oder drahtlose Kommunikation mit der Steuervorrichtung 20 verbunden. Die Arten der drahtgebundenen Kommunikation und der drahtlosen Kommunikation können beliebig sein. Die Eingabevorrichtung 40 empfängt beispielsweise die Eingabe eines Befehls zur Rückkehr des Roboters 10 zu einem Ausgangspunkt und gibt den Befehl an die Steuervorrichtung 20 aus. Die Eingabevorrichtung 40 kann eine Lehrvorrichtung, wie z. B. ein Lehrpendel, enthalten, um dem Roboter 10 ein Betriebsverfahren für eine bestimmte Arbeit beizubringen.
  • Die Präsentationsvorrichtung 50 präsentiert dem Benutzer des Robotersystems 1 verschiedene Bilder, Töne usw., die von der Steuervorrichtung 20 und der Bildgebungsvorrichtung 30 empfangen werden. Beispiele für die Präsentationsvorrichtung 50 sind unter anderem eine Flüssigkristallanzeige und eine organische oder anorganische EL-Anzeige (Electro-Luminescence Display). Die Präsentationsvorrichtung 50 kann einen Lautsprecher enthalten, der Ton abgibt.
  • Die Steuervorrichtung 20 steuert das gesamte Robotersystem 1. Die Steuervorrichtung 20 umfasst beispielsweise ein Computergerät. Für den Roboter 10 sind die folgenden vier Koordinatensysteme eingestellt. Die Steuervorrichtung 20 steuert die Position, die Haltung und den Betriebszustand jeder Komponente des Roboters 10 auf der Grundlage der vier Koordinatensysteme.
  • Ein erstes Koordinatensystem ist ein Koordinatensystem im Raum, in dem der Roboter 10 angeordnet ist, und wird als globales Koordinatensystem bezeichnet. Wie in 2 gezeigt, sind beispielsweise eine Xw-Achse, eine Yw-Achse und eine Zw-Achse in dem globalen Koordinatensystem definiert. Die Xw-Achse und die Yw-Achse erstrecken sich entlang der Bodenfläche, auf der der Roboter 10 angeordnet ist, und sind orthogonal zueinander. Die Zw-Achse erstreckt sich senkrecht zur Xw-Achse und zur Yw-Achse, d.h. senkrecht zur Bodenfläche, die Richtung nach oben von der Bodenfläche ist eine positive Richtung der Zw-Achse, und die entgegengesetzte Richtung ist eine negative Richtung der Zw-Achse. 2 ist eine perspektivische Ansicht des Roboters 10 in 1.
  • Ein zweites Koordinatensystem ist ein Koordinatensystem, das auf der Basis 13a der Transfervorrichtung 13 basiert, auf der der Roboterarm 12 installiert ist, und wird als Basiskoordinatensystem bezeichnet. Wie in 2 gezeigt, sind beispielsweise eine Xb-Achse, eine Yb-Achse und eine Zb-Achse im Basiskoordinatensystem definiert. Die Xb-Achse und die Yb-Achse erstrecken sich beispielsweise entlang einer Oberfläche 13aa der Basis 13a und stehen orthogonal zueinander. Die Zb-Achse erstreckt sich senkrecht zur Xb-Achse und zur Yb-Achse, d. h. senkrecht zur Oberfläche 13aa. Der Ursprung des Basiskoordinatensystems ist beispielsweise der Schnittpunkt S1a einer Rotationsmittelachse S1 des Gelenks JT1 und der Oberfläche 13aa. Die Richtung von der Oberfläche 13aa nach oben ist eine positive Richtung der Zb-Achse, und die dazu entgegengesetzte Richtung ist eine negative Richtung der Zb-Achse.
  • Ein drittes Koordinatensystem ist ein Koordinatensystem, das auf einer Verbindungsfläche 12fa des distalen Endabschnitts des Verbindungsglieds 12f des Roboterarms 12 basiert, der mit dem Endeffektor 11 verbunden ist, und wird als Handkoordinatensystem bezeichnet. Wie in 3 gezeigt, sind beispielsweise eine Xh-Achse, eine Yh-Achse und eine Zh-Achse im Handkoordinatensystem definiert. Die Xh-Achse und die Yh-Achse erstrecken sich beispielsweise entlang der Verbindungsfläche 12fa und sind orthogonal zueinander. Die Zh-Achse erstreckt sich senkrecht zur Xh-Achse und zur Yh-Achse, d. h. senkrecht zur Verbindungsfläche 12fa. Der Ursprung des Handkoordinatensystems ist beispielsweise der Schnittpunkt S6a einer Rotationsmittelachse S6 des Gelenks JT6 und der Verbindungsfläche 12fa, und die Achse Zh verläuft parallel zur Rotationsmittelachse S6. Die Richtung von dem Verbindungsglied 12f zum Endeffektor 11 ist eine positive Richtung der Zh-Achse, und die entgegengesetzte Richtung ist eine negative Richtung der Zh-Achse. Die Xh-Achse, die Yh-Achse und die Zh-Achse ändern ihre Ausrichtungen in Abhängigkeit von der Ausrichtung der Achse S6 und der Drehung des Verbindungsglieds 12f um die Achse S6. 3 ist eine Seitenansicht des distalen Endteils des Roboterarms 12 in 2.
  • Ein viertes Koordinatensystem ist ein Koordinatensystem, das auf einem bestimmten Punkt des Endeffektors 11 wie dem distalen Endabschnitt 11b des Endeffektors 11 basiert und als Werkzeugkoordinatensystem bezeichnet wird. Wie in 4 dargestellt, sind beispielsweise eine Xt-Achse, eine Yt-Achse und eine Zt-Achse im Werkzeugkoordinatensystem definiert. Die Zt-Achse ist zum Beispiel eine Achse entlang einer der Richtungen, in die sich der distale Endabschnitt 11b erstreckt. Die Xt-Achse und die Yt-Achse sind orthogonal zueinander und orthogonal zur Zt-Achse und verlaufen zum Beispiel parallel zur Verbindungsfläche 12fa. Der Ursprung des Werkzeugkoordinatensystems ist zum Beispiel der distale Endabschnitt 11b. Die Richtung vom distalen Endabschnitt 11b weg ist eine positive Richtung der Zt-Achse, und die dazu entgegengesetzte Richtung ist eine negative Richtung der Zt-Achse. Die Xt-Achse, die Yt-Achse und die Zt-Achse ändern ihre Ausrichtungen in Abhängigkeit von der Ausrichtung des distalen Endabschnitts 11b. 4 ist eine Seitenansicht des Endeffektors 11 in 2.
  • Die Steuervorrichtung 20 steuert beispielsweise die Position und die Haltung der Transfereinrichtung 13 auf der Grundlage der Koordinaten des Schnittpunkts S1a der Transfereinrichtung 13 und eines Richtungsvektors der Achse S1 im Weltkoordinatensystem. Die Steuervorrichtung 20 steuert die Position und die Haltung der Verbindungsfläche 12fa des Verbindungsglieds 12f anhand der Koordinaten des Schnittpunkts S6a des Verbindungsglieds 12f des Roboterarms 12 und eines Richtungsvektors der Achse S6 im Basiskoordinatensystem. Die Steuervorrichtung 20 steuert die Position und die Haltung des distalen Endteils 11b des Endeffektors 11 auf der Grundlage der Beziehung zwischen der Xh-Achse, der Yh-Achse und der Zh-Achse des Handkoordinatensystems und der Xt-Achse, der Yt-Achse und der Zt-Achse des Werkzeugkoordinatensystems.
  • [Hardwarekonfiguration der Steuervorrichtung]
  • Die Hardwarekonfiguration der Steuervorrichtung 20 wird beschrieben werden. 5 ist ein Blockdiagramm, das ein Beispiel für die Hardwarekonfiguration der Steuervorrichtung 20 gemäß der Ausführungsform zeigt. Wie in 5 gezeigt, umfasst die Steuervorrichtung 20 eine CPU (Zentrale Verarbeitungs Einheit, Central Processing Unit) 201, einen ROM (Festwertspeicher, Read Only Memory) 202, einen RAM (Direktzugriffsspeicher, Random Access Memory) 203, einen Speicher 204, Eingangs-/Ausgangs-I/Fs (Schnittstellen, Interfaces) 205 bis 207, eine Armantriebsschaltung 208, eine Endeffektorantriebsschaltung 209 und eine Transferantriebsschaltung 210 als Komponenten. Die oben genannten Komponenten sind über einen Bus, drahtgebundene Kommunikation oder drahtlose Kommunikation miteinander verbunden. Nicht alle der oben genannten Komponenten sind unbedingt erforderlich.
  • Die CPU 201 ist zum Beispiel ein Prozessor und steuert den Gesamtbetrieb der Steuervorrichtung 20. Der ROM 202 beinhaltet einen nichtflüchtigen Halbleiterspeicher oder dergleichen und speichert ein Programm, Daten usw., um die CPU 201 zu veranlassen, den Betrieb zu steuern. Der RAM 203 beinhaltet einen flüchtigen Halbleiterspeicher oder ähnlichem und speichert vorübergehend ein von der CPU 201 ausgeführtes Programm, Daten in der Mitte der Verarbeitung oder verarbeitete Daten, usw. Der Speicher 204 beinhaltet ein Speichergerät wie einen Halbleiterspeicher wie einen flüchtigen Speicher und einen nichtflüchtigen Speicher, eine Festplatte (HDD: Hard Disc Drive) und ein Festkörperspeicher (SSD : Solid State Drive) und der Speicher 204 speichert verschiedene Arten von Informationen. Bei dem Speicher 204 kann es sich um ein Gerät außerhalb der Steuervorrichtung 20 handeln.
  • Zum Beispiel wird ein Programm zum Betrieb der CPU 201 im ROM 202 oder im Speicher 204 vorab gespeichert. Die CPU 201 liest und expandiert das Programm aus dem ROM 202 oder dem Speicher 204 in den RAM 203. Die CPU 201 führt jede programmierte Anweisung in dem in den RAM 203 expandierten Programm aus.
  • Jede Funktion der Steuervorrichtung 20 kann durch ein Computersystem mit der CPU 201, dem ROM 202, dem RAM 203 usw. realisiert werden, kann durch eine spezielle Hardwareschaltung wie eine elektronische Schaltung oder eine integrierte Schaltung realisiert werden oder kann durch eine Kombination aus dem Computersystem und der Hardwareschaltung realisiert werden.
  • Eine solche Steuervorrichtung 20 kann beispielsweise einen Mikrocontroller, einen MPU (Mikroprozessor, Micro Processing Unit), eine LSI (Large Scale Integrated Circuit, LS integrierte Schaltung), eine System-LSI, eine SPS (Programmable Logic Controller, speicherprogrammierbare Steuerung), einer Logikschaltung usw. beinhalten. Die Funktionen der Steuervorrichtung 20 können einzeln in einen Chip integriert werden oder in einen Chip integriert werden, so dass ein Teil oder alle Funktionen enthalten sind. Darüber hinaus kann jede Schaltung eine Allzweckschaltung oder eine spezielle Schaltung sein. Als LSI kann ein FPGA (Field Programmable Gate Array), das nach der Herstellung des LSI programmiert werden kann, ein rekonfigurierbarer Prozessor, der die Verbindung und/oder Einstellung von Schaltkreiszellen innerhalb des LSI rekonfigurieren kann, ein ASIC (Application Specific Integrated Circuit), in dem Schaltkreise mit Funktionen für eine bestimmte Anwendung integriert sind, oder Ähnliches verwendet werden.
  • Die erste Eingangs-/Ausgangsschnittstelle 205 ist mit einem externen Gerät 60 verbunden und dient der Eingabe und Ausgabe von Informationen, Daten, Befehlen usw. in Bezug auf das externe Gerät 60. Die erste Eingangs-/Ausgangsschnittstelle 205 kann eine Schaltung enthalten, die ein Signal usw. umwandelt. Beispielsweise empfängt die erste Eingangs-/ Ausgangsschnittstelle 205 die Eingabe einer Programmdatei vom externen Gerät 60. Ein Beispiel für eine Programmdatei ist eine Programmdatei eines Anwendungsprogramms, das den Roboter zum Ausgangspunkt zurückbringt. Beispiele für das externe Gerät 60 sind ein Aufzeichnungsmedienlaufwerk, das das Lesen oder Schreiben verschiedener Arten von Daten von oder auf ein Aufzeichnungsmedium steuert, ein Speichergerät, Computergeräte wie ein Personal Computer, ein Informationsterminal (Informationskonsole) und intelligente Geräte wie ein Smartphone, eine intelligente Uhr und ein Tablet. Beispiele für das Aufzeichnungsmedium sind ein Flash-Speicher, eine Speicherkarte und Aufzeichnungsplatten wie eine CD (Compact Disc)-R (beschreibbar), eine CD-RW (wiederbeschreibbar), eine DVD (Digital Versatile Disc)-R, eine DVD-RW, eine BD (Blu-ray (eingetragene Marke) Disc))-R und eine BD-RE (wiederbeschreibbar). Das externe Gerät 60 kann in die Steuervorrichtung 20 integriert werden.
  • Die erste Eingangs-/ Ausgangsschnittstelle 205 kann eine Netzwerk-Eingangs-/Ausgangsschnittstelle bilden und über ein Kommunikationsnetz, das zur Datenkommunikation fähig ist, mit dem externen Gerät 60 verbunden sein. Das Kommunikationsnetz kann beispielsweise ein Intranet, ein drahtgebundenes oder drahtloses LAN (Local Area Network), ein WAN (Wide Area Network), ein mobiles Kommunikationsnetz, ein Telefonleitungs-Kommunikationsnetz oder ein anderes Kommunikationsnetz mit drahtgebundener oder drahtloser Kommunikation sein. In diesem Fall kann das externe Gerät 60 ein Servergerät, ein Cloud-Server oder ähnliches sein. Die Programmdatei kann über das Kommunikationsnetzwerk und den ersten Eingangs-/Ausgangsschnittstelle 205 in den Speicher 204 oder dergleichen heruntergeladen werden.
  • Die zweite Eingangs-/Ausgangsschnittstelle 206 ist mit der Eingabevorrichtung 40 verbunden und gibt Informationen, Daten, Befehle usw. in Bezug auf die Eingabevorrichtung 40 ein und aus. Die zweite Eingangs-/ Ausgangsschnittstelle 206 kann eine Schaltung enthalten, die ein Signal umwandelt, usw. Die dritte Eingangs-/ Ausgangsschnittstelle 207 ist mit der Präsentationsvorrichtung 50 verbunden und dient zur Eingabe und Ausgabe von Bildschirmdaten, Audiodaten, Informationen, Befehlen usw. in Bezug auf die Präsentationsvorrichtung 50. Die dritte Eingangs-/Ausgangsschnittstelle 207 kann eine GPU (Graphics Processing Unit) enthalten, die einen auf der Präsentationsvorrichtung 50 anzuzeigenden Bildschirm erzeugen kann, einen DSP (Digital Signal Processor), der einen von der Präsentationsvorrichtung 50 auszugebenden Ton erzeugen kann, eine Schaltung, die ein Signal umwandelt, usw.
  • Gemäß einem Befehl der CPU 201 versorgt die Armantriebsschaltung 208 die Servomotoren SMa der Armantriebe M1 bis M6 des Roboters 10 mit elektrischer Energie und steuert den Antrieb jedes Servomotors SMa. Entsprechend einem Befehl der CPU 201 versorgt die Endeffektorantriebsschaltung 209 den Servomotor SMb des Endeffektorantriebs 11a mit elektrischer Energie und steuert den Antrieb des Servomotors SMb. Gemäß einem Befehl der CPU 201 versorgt die Transferantriebsschaltung 210 den Servomotor SMc des Transferantriebs 13c der Transfervorrichtung 13 mit elektrischer Energie und steuert den Antrieb des Servomotors SMc.
  • [Funktionelle Konfiguration der Steuervorrichtung]
  • Im Folgenden wird die funktionelle Konfiguration der Steuervorrichtung 20 beschrieben. 6 ist ein Blockdiagramm, das ein Beispiel für die funktionelle Konfiguration der Steuervorrichtung 20 gemäß der Ausführungsform zeigt. Wie in 6 gezeigt, umfasst die Steuervorrichtung 20 eine Einheit zur manuellen Befehlserzeugung 20a, eine Einheit zur automatischen Befehlserzeugung 20b, eine Zielpunktaufzeichnungseinheit 20c, eine Betriebssteuerungseinheit 20d, eine Speichereinheit 20e, eine Ursprungsrückkehr-Starteinheit 21, eine Zielpunkt-Erfassungseinheit 22, eine Rückkehrzielpunkt-Bestimmungseinheit 23 und eine Pfadberechnungseinheit 24 als funktionale Komponenten. Die Betriebssteuerungseinheit 20d umfasst eine Antriebssteuerungseinheit 20da und eine Übertragungssteuerungseinheit 20db. Die manuelle Befehlserzeugungseinheit 20a, die automatische Befehlserzeugungseinheit 20b, die Zielpunktaufzeichnungseinheit 20c und die Betriebssteuerungseinheit 20d arbeiten mit einer Systemsoftware 26, die die Steuervorrichtung 20 betreibt. Die Ursprungsrückkehr-Starteinheit 21, die Zielpunkt-Erfassungseinheit 22, die Rückkehrkehrzielpunkt-Bestimmungseinheit 23 und die Pfadberechnungseinheit 24 funktionieren auf der Rückkehr-Anwendungssoftware (im Folgenden auch als „ Ursprungsrückkehranwendung “ bezeichnet) 25, die auf der Systemsoftware 26 läuft. Die Ursprungsrückkehranwendung 25 ist eine Software, die den Roboter 10 veranlasst, einen Ursprungsrückkehrbetrieb durchzuführen. Nicht alle der oben genannten Funktionskomponenten sind unbedingt erforderlich.
  • Die Funktionen der Funktionskomponenten außer der Speichereinheit 20e werden durch die CPU 201 oder dergleichen realisiert, und die Funktion der Speichereinheit 20e wird durch den Speicher 204, den ROM 202 und/oder den RAM 203 realisiert.
  • Die Speichereinheit 20e speichert verschiedene Arten von Informationen und ermöglicht das Auslesen der gespeicherten Informationen. Beispielsweise speichert die Speichereinheit 20e ein Systemprogramm 20ea der Systemsoftware 26, die die Steuervorrichtung 20 betreibt.
  • Darüber hinaus speichert die Speichereinheit 20e Lehrinformationen 20eb, die als Ergebnis des Lehrens gespeichert werden, um den Roboter 10 zu veranlassen, eine vorbestimmte Arbeit auszuführen. Das Lehrverfahren für den Roboter 10 ist beispielsweise das direkte Lehren durch einen Lehrer, der den Roboter 10 direkt kontaktiert und bedient, das Lehren durch Fernsteuerung mit Hilfe eines Programmiergeräts, das Lehren durch Programmierung und das Lehren durch Master/Slave oder ähnliches, kann aber jedes Lehrverfahren sein.
  • Die Lerninformationen 20eb enthalten Informationen über Betriebszielpunkte. Jeder Betriebszielpunkt ist ein eingelernter Punkt und ist ein Punkt, durch den ein vorbestimmter Punkt des Roboters 10, wie z.B. der Ursprung S6a des Handkoordinatensystems des Endeffektors 11, während des Betriebs des Roboters 10 zur Durchführung von Arbeiten verläuft. Betriebszielpunkte werden für eine vorbestimmte Arbeit festgelegt. Die Betriebszielpunkte sind entsprechend der Durchlaufreihenfolge des Roboters 10 angeordnet. Die Betriebszielpunkte bilden einen Betriebspfad, dem der vorbestimmte Punkt des Roboters 10 folgen muss, um die Arbeit auszuführen.
  • Die Lehrinformationen 20eb umfassen beispielsweise Betriebspfade mit Betriebszielpunkten, wie in 7 und 8 gezeigt. 7 und 8 sind jeweils ein Diagramm, das ein Beispiel für einen Betriebspfad gemäß den Lehrinformationen 20eb des Roboters 10 gemäß der Ausführungsform zeigt.
  • Zum Beispiel ist ein in 7 dargestellter Betriebspfad OR1 ein Pfad, der von einem Ursprung O, der eine Startposition ist, sequentiell durch einen ersten Betriebszielpunkt OTP1 zu einem fünften Betriebszielpunkt OTP5 führt, deren Positionen voneinander verschieden sind, und zum Ursprung O zurückkehrt. Der Ursprung O kann eine Startposition für alle Betriebspfade zur Ausführung einer vorbestimmten Arbeit sein oder kann eine Position sein, die in der Mitte des Betriebspfades durch einen Befehl oder dergleichen von der Eingabevorrichtung 40 während der Ausführung einer vorbestimmten Arbeit bestimmt wird.
  • Ein in 8 dargestellter Betriebspfad OR2 ist ein Pfad, der von einem Ursprung O führt, sequentiell einen ersten Betriebszielpunkt OTP1 bis zu einem neunten Betriebszielpunkt OTP9 durchläuft und zum Ursprung O zurückkehrt. Der erste Betriebszielpunkt OTP1 und der dritte Betriebszielpunkt OTP3 befinden sich jedoch am selben ersten Zielpunkt TP1. Der vierte Betriebszielpunkt OTP4 und der sechste Betriebszielpunkt OTP6 befinden sich am selben zweiten Zielpunkt TP2. Der siebte Betriebszielpunkt OTP7 und der neunte Betriebszielpunkt OTP9 befinden sich am selben dritten Zielpunkt TP3. Zwischen dem ersten Betriebszielpunkt OTP1 und dem dritten Betriebszielpunkt OTP3, zwischen dem vierten Betriebszielpunkt OTP4 und dem sechsten Betriebszielpunkt OTP6 und zwischen dem siebten Betriebszielpunkt OTP7 und dem neunten Betriebszielpunkt OTP9 können andere Informationen als die später beschriebenen Positionen der Betriebszielpunkte liegen.
  • Die Informationen jedes Betriebszielpunkts können Informationen über die Position des Betriebszielpunkts, einen Abschnittsbetriebspfad, der ein Pfad vom unmittelbar vorhergehenden Betriebszielpunkt zum Betriebszielpunkt ist, den Zustand des Endeffektors 11 am Betriebszielpunkt, die Position des Roboters am Betriebszielpunkt usw. umfassen. Die Position des Betriebszielpunkts kann die dreidimensionale Position des Betriebszielpunkts und die Stellung einer Referenzachse am Betriebszielpunkt umfassen. Die dreidimensionale Position ist eine Position in einem dreidimensionalen Raum.
  • Die dreidimensionale Position des Betriebszielpunktes kann die dreidimensionale Position des Betriebszielpunktes im globalen Koordinatensystem sein. Der Betriebszielpunkt ist zum Beispiel ein Zielpunkt für den Endeffektor 11. In der vorliegenden Ausführungsform ist der Betriebszielpunkt ein Zielpunkt für den Punkt S6a auf der Verbindungsfläche 12fa des Verbindungsglieds 12f des Roboterarms 12, ist aber nicht darauf beschränkt. Die Referenzachse kann die Zh-Achse des Handkoordinatensystems des Roboters 10 sein, d.h. die Rotationsmittelachse S6 des Gelenks JT6 des Roboterarms 12. Die Haltung der Zh-Achse, d. h. die Haltung der Achse S6, ist ein Beispiel für die Haltung der Bezugsachse.
  • Die dreidimensionale Position und die Haltung des Betriebszielpunktes werden durch die Verwendung einer Position und eines Eulerwinkels dargestellt, die auf der Beziehung zwischen der Xw-Achse, der Yw-Achse und der Zw-Achse des globalen Koordinatensystems und der Xh-Achse, der Yh-Achse und der Zh-Achse des Handkoordinatensystems mit dem globalen Koordinatensystem als Referenz basieren. Eine solche dreidimensionale Position und Haltung des Betriebszielpunktes umfasst ein Xw-Achsenelement „xw“, ein Yw-Achsenelement „yw“ und ein Zw-Achsenelement „zw“ sowie die Euler-Winkel-Elemente „Ow“, „Aw“ und „Tw“ im globalen Koordinatensystem.
  • Die Informationen des Abschnittsbetriebspfads sind Informationen eines Pfads vom Betriebszielpunkt (im Folgenden auch als „unmittelbar vorheriger Betriebszielpunkt“ bezeichnet) in der Reihenfolge unmittelbar vor dem Betriebszielpunkt zum Betriebszielpunkt und sind Interpolationsinformationen, die zwischen dem Betriebszielpunkt und dem unmittelbar vorhergehenden Betriebszielpunkt interpolieren. Solche Interpolationsinformationen umfassen die Form, die Größe und die Richtung des Abschnittsbetriebspfads sowie die Antriebsrichtungen und die Antriebsbeträge der Gelenke JT1 bis JT6 des Roboterarms 12 im Abschnittsbetriebspfad. Beispiele für die Form des Pfades sind eine lineare Form und gekrümmte Formen wie ein Bogen und eine Spline-Kurve. Die Größe des Pfades ist die Krümmung einer gekrümmten Form oder ähnliches. Die Richtung des Pfades ist eine gekrümmte Richtung einer gekrümmten Form oder ähnliches. Die Informationen über den Abschnittsbetriebspfad werden auch als „Interpolationsmodus“ bezeichnet.
  • Die Information über den Zustand des Endeffektors umfasst die Position und die Haltung eines bestimmten Teils des Endeffektors 11. Der spezifische Teil ist der distale Endabschnitt 11b des Endeffektors 11 in der vorliegenden Ausführungsform, ist aber nicht darauf beschränkt. Die Position und die Haltung des distalen Endabschnitts 11b kann eine Position und eine Haltung in Bezug auf die Verbindungsfläche 12fa des Verbindungsglieds 12f des Roboterarms 12 sein. Die Position und die Haltung des distalen Endabschnitts 11b werden unter Verwendung einer Position und eines Eulerwinkels auf der Grundlage der Beziehung zwischen der Xh-Achse, der Yh-Achse und der Zh-Achse des Handkoordinatensystems und der Xt-Achse, der Yt-Achse und der Zt-Achse des Werkzeugkoordinatensystems mit dem Handkoordinatensystem als Referenz dargestellt. Eine solche Position und Haltung des distalen Endabschnitts 11b umfasst ein Xh-Achsenelement „xht“, ein Yh-Achsenelement „yht“ und ein Zh-Achsenelement „zht“ sowie die Eulerschen Winkelelemente „Oht“, „Aht“ und „Tht“ im Handkoordinatensystem. Darüber hinaus kann die Information über den Zustand des Endeffektors den Zustand des Endeffektors 11 umfassen, der durch den Endeffektorantrieb 11a betrieben wird. Die Information über den Zustand des Endeffektors wird auch als „Werkzeugwert“ bezeichnet.
  • Die Information über die Position des Roboters 10 kann die dreidimensionale Position des Roboters 10 im globalen Koordinatensystem umfassen. In der vorliegenden Ausführungsform ist die dreidimensionale Position des Roboters 10 die dreidimensionale Position des Schnittpunkts S1a auf der Achse S1 des Roboters 10, ist aber nicht darauf beschränkt. Die Information über die Position des Roboters 10 kann die Haltung des Roboters 10 im globalen Koordinatensystem umfassen. In der vorliegenden Ausführungsform ist die Haltung des Roboters 10 die Haltung der Achse S1, ist aber nicht darauf beschränkt. Die Information über die Position des Roboters 10 wird auch als „Basiswert“ bezeichnet.
  • Die Speichereinheit 20e enthält ferner aufgezeichnete Zielpunktinformationen 20ec. Die aufgezeichneten Zielpunktinformationen 20ec sind Informationen über einen Betriebszielpunkt, der von der Zielpunktaufzeichnungseinheit 20c aufgezeichnet wurde. Die aufgezeichneten Zielpunktinformationen 20ec sind Informationen über einen Betriebszielpunkt, der ein Ziel ist und jedes Mal aufgezeichnet wird, wenn der Endeffektor 11 des Roboters 10, der gerade Arbeiten ausführt, sich zu dem Betriebszielpunkt bewegt. Die aufgezeichneten Zielpunktinformationen 20ec umfassen beispielsweise Informationen über Betriebszielpunkte, die von der Zielpunktaufzeichnungseinheit 20c aufgezeichnet werden, wenn der Roboter 10 gemäß den Lehrinformationen 20eb arbeitet.
  • Die Speichereinheit 20e speichert ferner ein Anwendungsprogramm 20ed der Ursprungsrückkehranwendung 25. In der vorliegenden Ausführungsform ist das Anwendungsprogramm 20ed ein einzelnes Programmpaket und kann laufen, wenn es auf dem Systemprogramm 20ea der Steuervorrichtung 20 installiert wird. Das Anwendungsprogramm 20ed läuft auf dem Systemprogramm 20ea. Das heißt, die Anwendung 25 für die Rücksendung läuft auf der Systemsoftware 26 der Steuervorrichtung 20. Das Anwendungsprogramm 20ed kann von dem externen Gerät 60 an die Speichereinheit 20e gesendet und in der Speichereinheit 20e gespeichert werden. Ein solches Anwendungsprogramm 20ed kann auf Steuervorrichtungen verschiedener Roboter angewendet werden und ist vielseitig einsetzbar. Das Programm für die Ursprungsrückführung kann im Voraus in das Systemprogramm 20ea aufgenommen werden.
  • Die manuelle Befehlserzeugungseinheit 20a erzeugt einen manuellen Betriebsbefehl, um den Roboter 10 zu veranlassen, einen Betrieb durchzuführen, der den von der Eingabevorrichtung 40 ausgegebenen Manipulationsinformationen entspricht, und gibt den manuellen Betriebsbefehl an die Betriebssteuerungseinheit 20d aus. Bei den Informationen, die in die Eingabevorrichtung 40 eingegeben werden, um den Roboter 10 zu manipulieren, handelt es sich um Informationen zur Steuerung des Betriebs und der Aktionskraft des Endeffektors 11, wie beispielsweise eine Position, eine Haltung, eine Bewegung, eine Bewegungsgeschwindigkeit, eine Kraft usw. des Endeffektors 11. Die Eingabevorrichtung 40 gibt Informationen über den Betrieb und die Aktionskraft des Endeffektors 11, die den eingegebenen Informationen entsprechen, als Manipulationsinformationen an die manuelle Befehlserzeugungseinheit 20a aus.
  • Hier umfasst der Betriebsbefehl einen Kraftbefehl, der eine durch den Endeffektor 11 auf ein Objekt auszuübende Kraft darstellt, d.h. eine Kraft, die auf die Arbeitsumgebung wirkt, und einen Positionsbefehl, der eine Position des Endeffektors 11 darstellt. Der Kraftbefehl enthält einen Befehl für die Größe einer Kraft und kann außerdem einen Befehl für die Richtung der Kraft enthalten. Darüber hinaus kann der Kraftbefehl einen Befehl für den Zeitpunkt enthalten, zu dem die Kraft erzeugt werden soll. Der Positionsbefehl umfasst einen Befehl für eine Position des Endeffektors 11 und kann darüber hinaus einen Befehl für eine Haltung des Endeffektors 11 umfassen. Darüber hinaus kann der Positionsbefehl einen Befehl für den Zeitpunkt enthalten, zu dem die Position und/oder die Haltung eintreten soll.
  • Darüber hinaus kann der Betriebsbefehl Befehle für den Antrieb und den Antriebsstopp des Endeffektorantriebs 11a des Endeffektors 11 und einen Positionsbefehl für die Transfervorrichtung 13 enthalten. Der Positionsbefehl der Transfereinrichtung 13 umfasst zumindest eine Position der Transfereinrichtung 13 aus einer Position und eine Haltung der Transfereinrichtung 13 im dreidimensionalen Raum.
  • Die automatische Befehlserzeugungseinheit 20b erzeugt einen automatischen Betriebsbefehl, um den Roboter 10 zu veranlassen, automatisch eine vorbestimmte Arbeit entsprechend der Lehrinformation 20eb durchzuführen, und gibt den automatischen Betriebsbefehl an die Betriebssteuerungseinheit 20d aus. Die automatische Befehlserzeugungseinheit 20b erhält über die Eingabevorrichtung 40 Informationen über die von dem Roboter 10 auszuführende vorbestimmte Arbeit, liest die der vorbestimmten Arbeit entsprechenden Lerninformationen 20eb und erzeugt einen automatischen Betriebsbefehl entsprechend den Lerninformationen 20eb. Zum Beispiel erzeugt die automatische Befehlserzeugungseinheit 20b einen automatischen Betriebsbefehl auf der Grundlage von Informationen über Betriebszielpunkte. Der automatische Betriebsbefehl ist ein Befehl, der den Roboter 10 veranlasst, automatisch entlang eines Betriebspfads zu arbeiten, und ähnlich wie der manuelle Betriebsbefehl umfasst der automatische Betriebsbefehl einen Positionsbefehl, einen Kraftbefehl usw.
  • Darüber hinaus erzeugt die automatische Befehlserzeugungseinheit 20b beim Empfang von Informationen über einen Rückkehrpfad für die Rückführung des Roboters 10 zum Ausgangspunkt von der Pfadberechnungseinheit 24 einen automatischen Rückkehrbefehl, um den Roboter 10 zu veranlassen, automatisch so zu arbeiten, dass er entlang des Rückkehrpfades zum Ausgangspunkt zurückkehrt, und gibt den automatischen Rückkehrbefehl an die Betriebssteuerungseinheit 20d aus. Der Roboter 10, der gemäß dem Befehl für die automatische Rückkehr arbeitet, führt eigentlich keine Arbeit an irgendeinem Objekt aus, und daher muss der Befehl für die automatische Rückkehr keinen Kraftbefehl enthalten.
  • Die Betriebssteuerungseinheit 20d steuert den Betrieb des Roboters 10 gemäß dem manuellen Betriebsbefehl, dem automatischen Betriebsbefehl oder dem Befehl für den automatischen Rückkehrbetrieb. Die Betriebssteuerungseinheit 20d erzeugt einen Befehl, um jede Komponente des Roboters 10 zu veranlassen, gemäß jedem Betriebsbefehl zu arbeiten, und gibt den Befehl an den Roboter 10 aus. Darüber hinaus erhält die Betriebssteuerungseinheit 20d Informationen über den Betriebszustand jeder Komponente des Roboters 10 vom Roboter 10 und erzeugt den obigen Befehl unter Verwendung dieser Informationen als Rückkopplungsinformationen. Darüber hinaus kann die Betriebssteuerungseinheit 20d die Position jeder Komponente des Roboters 10 aus den Informationen über den Betriebszustand jeder Komponente des Roboters 10 erfassen und das Erfassungsergebnis an die Zielpunktaufzeichnungseinheit 20c ausgeben.
  • Die Antriebssteuerungseinheit 20da der Betriebssteuerungseinheit 20d erzeugt einen Befehl zum Betreiben der Servomotoren SMa der Armantriebe M1 bis M6 des Roboterarms 12 und des Servomotors SMb des Endeffektorantriebs 11a des Endeffektors 11. Die Armantriebe M1 bis M6 und der Endeffektorantrieb 11a enthalten jeweils einen Rotationssensor (nicht gezeigt), wie z.B. einen Drehgeber zur Erfassung des Rotationsbetrags des Rotors des Servomotors SMa oder SMb, und einen Stromsensor (nicht gezeigt) zur Erfassung des Antriebsstroms des Servomotors SMa oder SMb. Darüber hinaus umfasst der Endeffektor 11 einen Kraftsensor (nicht dargestellt) zur Erfassung der Größe und der Richtung einer auf den Endeffektor 11 wirkenden Kraft. Jeder Rotationssensor, jeder Stromsensor und der Kraftsensor geben den Rotationsbetrag und den Antriebsstromwert jedes Servomotors sowie den Erfassungswert des Kraftsensors als Rückkopplungsinformation an die Antriebssteuerungseinheit 20da aus. Die Antriebssteuerungseinheit 20da steuert den Rotationsstart, den Rotationsstopp, die Rotationsgeschwindigkeit und das Rotationsdrehmoment jedes Servomotors unter Verwendung des Rotationsbetrags und des Antriebsstromwerts jedes Servomotors und des Erfassungswerts des Kraftsensors.
  • Weiterhin berechnet die Antriebssteuerungseinheit 20da eine dreidimensionale Position und eine dreidimensionale Haltung des Endeffektors 11 durch Integration der Drehbeträge aller Servomotoren SMa der Armantriebe M1 bis M6. Die Antriebssteuerungseinheit 20da erzeugt einen Befehl zum Antrieb der Servomotoren SMa und SMb der Armantriebe M1 bis M6 und des Endeffektorantriebs 11a, so dass die dreidimensionale Position und die dreidimensionale Haltung des Endeffektors 11 und der Erfassungswert des Kraftsensors dem Positionsbefehl und dem Kraftbefehl im Betriebsbefehl entsprechen.
  • Darüber hinaus erzeugt die Transfersteuerungseinheit 20db der Betriebssteuerungseinheit 20d einen Befehl zum Betreiben des Servomotors SMc des Transferantriebs 13c der Transfervorrichtung 13. Der Transferantrieb 13c umfasst einen Rotationssensor (nicht dargestellt) zur Erfassung des Rotationsbetrags des Rotors des Servomotors SMc und einen Stromsensor (nicht dargestellt) zur Erfassung des Antriebsstroms des Servomotors SMc. Der Transferantrieb 13c gibt den Drehbetrag und den Antriebsstromwert des Servomotors SMc als Rückkopplungsinformation an die Transfersteuerungseinheit 20db aus. Die Übertragungssteuerungseinheit 20db steuert den Servomotor SMc unter Verwendung des Drehbetrags und des Antriebsstromwerts des Servomotors SMc. Die Übertragungssteuerungseinheit 20db erzeugt einen Befehl zum Antrieb des Servomotors SMc, so dass die Position des Roboters 10 dem Positionsbefehl im Betriebsbefehl entspricht.
  • Die Transfervorrichtung 13 kann eine Positionsmesseinrichtung wie einen GPS-Empfänger (Global Positioning System) und eine IMU (Inertial Measurement Unit) enthalten. Die Transfersteuerungseinheit 20db kann die Position und die Haltung der Transfervorrichtung 13 unter Verwendung eines Empfangssignals des GPS-Empfängers, einer Beschleunigung und einer von der IMU gemessenen Winkelgeschwindigkeit oder Ähnlichem erfassen. Darüber hinaus kann die Transfervorrichtung 13 beispielsweise eine Erfassungsvorrichtung zum Erfassen eines schwachen induzierten Stroms von einem in die Bodenoberfläche eingebetteten elektrischen Draht enthalten, und die Transfersteuerungseinheit 20db kann die Position und die Haltung der Transfervorrichtung 13 auf der Grundlage eines Erfassungswerts der Erfassungsvorrichtung erfassen.
  • In der vorliegenden Ausführungsform ist die Zielpunktaufzeichnungseinheit 20c eine funktionale Komponente, die erzeugt wird und funktioniert, wenn die Ursprungsrückkehranwendung 25 in der Systemsoftware 26 installiert wird. Die Zielpunktaufzeichnungseinheit 20c kann jedoch auch im Voraus in die Systemsoftware 26 integriert werden. Während der Roboter 10 Arbeiten ausführt, zeichnet die Zielpunktaufzeichnungseinheit 20c jedes Mal, wenn sich der Endeffektor 11 zu einem Betriebszielpunkt bewegt, Informationen über den Betriebszielpunkt auf, der ein Ziel ist, als aufgezeichnete Zielpunktinformationen 20ec, und speichert die Informationen in der Speichereinheit 20e. Daher veranlasst das Anwendungsprogramm 20ed der Ursprungsrückkehranwendung 25 die Zielpunktaufzeichnungseinheit 20c, die Informationen des Betriebszielpunkts aufzuzeichnen. Die Bewegung zu einem Betriebszielpunkt bedeutet die Bewegung von einem anderen Betriebszielpunkt zu diesem Betriebszielpunkt. In diesem Fall ist es ausreichend, dass sich zumindest Teile der Informationen der beiden Betriebszielpunkte voneinander unterscheiden. Beispielsweise können die dreidimensionalen Positionen der beiden Betriebszielpunkte gleich sein, die Haltungen der beiden Betriebszielpunkte können gleich sein, und die dreidimensionalen Positionen und die Haltungen der beiden Betriebszielpunkte können gleich sein.
  • Darüber hinaus kann die Aufzeichnung von Informationen über einen Betriebszielpunkt, der ein Ziel ist, jedes Mal, wenn sich der Endeffektor 11 zu dem Betriebszielpunkt bewegt, die Aufzeichnung der Informationen über den Betriebszielpunkt, der ein Ziel ist, zu jedem Zeitpunkt zwischen dem Zeitpunkt, an dem der Endeffektor 11 beginnt, sich zu dem Betriebszielpunkt, der ein Ziel ist, zu bewegen, und dem Zeitpunkt, an dem der Endeffektor 11 den Betriebszielpunkt, der ein Ziel ist, erreicht, bedeuten. Daher kann der Fall, dass Informationen über einen Betriebszielpunkt, der vom Endeffektor 11 noch nicht erreicht wurde, aufgezeichnet werden, und der Fall, dass Informationen über einen Betriebszielpunkt, der bereits vom Endeffektor 11 erreicht wurde, aufgezeichnet werden, eingeschlossen werden. In der vorliegenden Ausführungsform zeichnet die Zielpunktaufzeichnungseinheit 20c Informationen über einen Betriebszielpunkt auf, der ein Ziel ist, und zwar zu dem Zeitpunkt, zu dem der Endeffektor 11 beginnt, sich zu dem Betriebszielpunkt zu bewegen, der ein Ziel ist.
  • In der vorliegenden Ausführungsform beginnt die Zielpunktaufzeichnungseinheit 20c nach dem Empfang eines Aufzeichnungsbefehls über die Eingabevorrichtung 40, um die Aufzeichnung eines Betriebszielpunkts zu befehlen, mit der Aufzeichnung von Informationen über den Betriebszielpunkt. Zu diesem Zeitpunkt bestimmt die Zielpunktaufzeichnungseinheit 20c einen Aufzeichnungsursprung, der den Startpunkt der Aufzeichnung darstellt. Beispielsweise kann die Zielpunktaufzeichnungseinheit 20c die Position des Endeffektors 11 zu dem Zeitpunkt, zu dem die Zielpunktaufzeichnungseinheit 20c den Aufzeichnungsbefehl empfängt, als Aufzeichnungsursprung bestimmen, oder sie kann einen Betriebszielpunkt unmittelbar vor oder nach dieser Position als Aufzeichnungsursprung bestimmen. Die Zielpunktaufzeichnungseinheit 20c speichert Informationen über den Aufzeichnungsursprung in der Speichereinheit 20e.
  • Nachdem der Aufzeichnungsursprung bestimmt wurde, speichert die Zielpunktaufzeichnungseinheit 20c jedes Mal, wenn sich der Endeffektor 11 zu einem Betriebszielpunkt bewegt, Informationen über den Betriebszielpunkt, der ein Ziel ist, in der Speichereinheit 20e. Die Zielpunktaufzeichnungseinheit 20c fügt den Informationen des Betriebszielpunkts Informationen hinzu, die eine Erreichungsreihenfolge angeben, und speichert die Informationen des Betriebszielpunkts in der Speichereinheit 20e. Beispielsweise kann die Zielpunktaufzeichnungseinheit 20c eine Reichweitenordnungsnummer wie „m“ eines m-ten Betriebszielpunkts (m ist eine natürliche Zahl) zu dem Betriebszielpunkt hinzufügen.
  • Während des Betriebs des Roboters 10 kann die Zielpunktaufzeichnungseinheit 20c Informationen über die Position jeder Komponente des Roboters 10 von der Betriebssteuerungseinheit 20d erhalten. Die Positionsinformationen umfassen Informationen über die dreidimensionale Position und die Haltung des Endeffektors 11. Die Zielpunktaufzeichnungseinheit 20c kann die Bewegung des Endeffektors 11 zu einem Betriebszielpunkt auf der Grundlage der Informationen über die dreidimensionale Position und die Haltung des Endeffektors 11 erfassen. Alternativ kann die Zielpunktaufzeichnungseinheit 20c einen Befehl zum Bewegen des Endeffektors 11 zu einem Betriebszielpunkt von der automatischen Befehlserzeugungseinheit 20b erhalten und die Bewegung des Endeffektors 11 zu dem Betriebszielpunkt auf der Grundlage des Befehls erfassen.
  • Nach dem Empfang eines Rückkehrbefehls über die Eingabevorrichtung 40, um dem Roboter 10 die Rückkehr zum Ursprung zu befehlen, lädt die Ursprungsrückkehr-Starteinheit 21 für die Rückkehr zum Ursprung das Anwendungsprogramm 20ed der Speichereinheit 20e und startet die Anwendung 25 für die Rückkehr zum Ursprung. Wenn der Roboter 10 zu einem Zeitpunkt in Betrieb ist, zu dem die Ursprungsrückkehr-Starteinheit 21 den Rückkehrbefehl empfängt, kann die Ursprungsrückkehr-Starteinheit 21 einen Stoppbefehl an die automatische Befehlserzeugungseinheit 20b ausgeben, um den Betrieb des Roboters 10 anzuhalten.
  • Nach dem Start der Ursprungsrückkehranwendung 25 erfasst die Zielpunkt-Erfassungseinheit 22 die aktuelle Position des Endeffektors 11. Zum Beispiel kann die aktuelle Position des Endeffektors 11 die Position des Endeffektors 11 zum Zeitpunkt des Empfangs des Rückkehrbefehls sein oder die Position des Endeffektors 11 zu einem vorbestimmten Zeitpunkt, nachdem die Ursprungsrückkehranwendung 25 gestartet wurde. Zum Beispiel kann die Zielpunkt-Erfassungseinheit 22 die Informationen über die Position jeder Komponente des Roboters 10 von der Betriebssteuerungseinheit 20d erfassen und die aktuelle Position des Endeffektors 11 auf der Grundlage dieser Informationen erfassen, oder die aktuelle Position des Endeffektors 11 von der Zielpunktaufzeichnungseinheit 20c erfassen.
  • Darüber hinaus sucht die Zielpunkt-Erfassungseinheit 22 die aufgezeichneten Zielpunktinformationen 20ec in der Speichereinheit 20e und erfasst die Informationen des Aufzeichnungsursprungs und die Informationen der Betriebszielpunkte, die als die aufgezeichneten Zielpunktinformationen 20ec gespeichert sind, von der Startzeit des Aufzeichnungsursprungs bis zur Empfangszeit des Rückkehrbefehls. Die Informationen über die Betriebszielpunkte umfassen Informationen über jeden Betriebszielpunkt, der vom Endeffektor 11 bereits vor der gegenwärtigen Position des Endeffektors 11 erreicht wurde, und Informationen über einen Endbetriebszielpunkt, der ein Betriebszielpunkt ist, der ein Ziel des Endeffektors 11 zum Zeitpunkt des Empfangs des Rückkehrbefehls ist. Der Endbetriebszielpunkt ist ein Betriebszielpunkt, der vom Endeffektor 11 von der aktuellen Position aus zuerst erreicht werden sollte.
  • Die Rückkehrzielpunkt-Bestimmungseinheit 23 bestimmt Rückkehrzielpunkte, die Zielpunkte sind, durch die der Endeffektor 11 zur Rückführung des Roboters 10 zum Ursprung fährt. Die Rückkehrzielpunkt-Bestimmungseinheit 23 bestimmt die Rückkehrzielpunkte als Punkte auf einem Rückkehrpfad zur Rückführung des Endeffektors zum Aufzeichnungsursprung.
  • Zunächst bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23, ob die aktuelle Position des Endeffektors 11 ein Betriebszielpunkt ist oder nicht. Die Rückkehrzielpunkt-Bestimmungseinheit 23 erfasst einen ersten Zielpunktabstand, der der Abstand zwischen jedem von der Zielpunkt-Erfassungseinheit 22 erfassten Betriebszielpunkt und der aktuellen Position ist. Wenn es einen Betriebszielpunkt gibt, dessen erster Zielpunktabstand innerhalb eines ersten Schwellenwerts liegt, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23, dass die gegenwärtige Position der Betriebszielpunkt ist, und bestimmt die Erfassung des Rückpfads des Endeffektors 11. Wenn die ersten Zielpunktabstände aller Betriebszielpunkte den ersten Schwellenwert überschreiten, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23, dass die gegenwärtige Position keiner der Betriebszielpunkte ist.
  • Der erste Zielpunktabstand kann der Abstand zwischen den dreidimensionalen Positionen der aktuellen Position und dem Betriebszielpunkt sein, oder er kann ein Abstand sein, der den Abstand zwischen den dreidimensionalen Positionen davon und den Abstand zwischen den Haltungen der Referenzachse davon einschließt. Der erste Schwellenwert kann beispielsweise entsprechend den Konfigurationen des Endeffektors 11 und des Roboterarms 12 und dergleichen im Voraus eingestellt und in der Speichereinheit 20e im Voraus gespeichert werden.
  • Wenn die aktuelle Position des Endeffektors 11 kein Betriebszielpunkt ist, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23, ob sich die aktuelle Position auf dem Betriebspfad des Endeffektors 11 befindet oder nicht. Eine Positionierung auf dem Betriebspfad kann nicht nur eine Positionierung direkt auf dem Betriebspfad bedeuten, sondern auch in der Nähe des Betriebspfades . Die Einheit 23 zur Bestimmung des Rückkehrzielpunkts erfasst beispielsweise einen Abstand, der der Entfernung zwischen der aktuellen Position und dem Betriebspfad entspricht. Konkret erfasst die Rückkehrzielpunkt-Bestimmungseinheit 23 den Trennungsabstand zwischen der aktuellen Position und einem Abschnittsbetriebspfad, der zum Endbetriebszielpunkt führt. Der Abschnittsbetriebspfad ist ein Abschnittsbetriebspfad, der in den Informationen über den Endbetriebszielpunkt für die aktuelle Position enthalten ist.
  • Wenn der Trennungsabstand innerhalb eines zweiten Schwellenwerts liegt, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23, dass sich die aktuelle Position auf dem Betriebspfad befindet, und bestimmt die Erfassung des Rückkehrpfads. Wenn der Trennungsabstand den zweiten Schwellenwert überschreitet, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23, dass sich die gegenwärtige Position nicht auf dem Betriebspfad befindet, und stoppt die Erfassung des Rückkehrpfads. Wenn der Trennungsabstand den zweiten Schwellenwert überschreitet, kann sich beispielsweise ein Hindernis auf dem erfassten Rückkehrpfad befinden, so dass die Erfassung des Rückpfads gestoppt wird. In diesem Fall kann die Rückkehrzielpunkt-Bestimmungseinheit 23 den Benutzer des Robotersystems 1 über die Präsentationsvorrichtung 50 oder ähnliches auffordern, einen Bereich um den Endeffektor 11 zu untersuchen. Der Trennungsabstand kann der Abstand zwischen der dreidimensionalen Position der aktuellen Position und der dreidimensionalen Position des Betriebspfads sein. Der zweite Schwellenwert kann in Abhängigkeit von der Betriebsumgebung des Roboters 10 und dergleichen im Voraus festgelegt und in der Speichereinheit 20e im Voraus gespeichert werden.
  • Wenn die Erkennung des Rückkehrpfades festgestellt wird, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23 einen ersten Rückkehrzielpunkt, zu dem der Endeffektor 11 zuerst von der aktuellen Position zurückgeführt wird. Die Rückkehrzielpunkt-Bestimmungseinheit 23 bestimmt den Betriebszielpunkt, der bereits unmittelbar vor der gegenwärtigen Position erreicht wurde, oder den Betriebszielpunkt, der den geringsten Abstand zur gegenwärtigen Position aufweist, unter den Informationen jedes Betriebszielpunktes, der vom Endeffektor 11 bereits vor der gegenwärtigen Position erreicht wurde, als den ersten Rückkehrzielpunkt. Zu diesem Zeitpunkt erfasst die Rückkehrzielpunkt-Bestimmungseinheit 23 die Informationen des Endbetriebszielpunkts an der aktuellen Position. Zum Beispiel erfasst die Rückkehrzielpunkt-Bestimmungseinheit 23 die Information eines (i+1)-ten Betriebszielpunktes (i ist eine natürliche Zahl) als Endbetriebszielpunkt.
  • Wenn der bereits unmittelbar vor der aktuellen Position erreichte Betriebszielpunkt als erster Rückkehrzielpunkt bestimmt wird, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23 einen i-ten Betriebszielpunkt, der bereits unmittelbar vor dem (i+1)-ten Betriebszielpunkt erreicht wurde, als ersten Rückkehrzielpunkt.
  • Wenn der Betriebszielpunkt, der der aktuellen Position am nächsten liegt, als erster Rückkehrzielpunkt bestimmt wird, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23 den Betriebszielpunkt, der der aktuellen Position am nächsten liegt, zwischen dem ersten Betriebszielpunkt und dem i-ten Betriebszielpunkt, als ersten Rückkehrzielpunkt. In der vorliegenden Ausführungsform umfassen die Entfernungen zwischen der aktuellen Position und dem ersten bis zum i-ten Betriebszielpunkt jeweils die Entfernung zwischen den dreidimensionalen Positionen davon und die Entfernung zwischen den Haltungen davon. Wie oben beschrieben, umfassen die Positionen der Betriebszielpunkte und des Endeffektors 11 jeweils das Xw-Achsenelement „xw“, das Yw-Achsenelement „yw“ und das Zw-Achsenelement „zw“, sowie die Eulerschen Winkelelemente „Ow“, „Aw“ und „Tw“, die im globalen Koordinatensystem dargestellt sind. Der Abstand zwischen den dreidimensionalen Positionen ist ein Abstand, der durch das Xw-Achsenelement „xw“, das Yw-Achsenelement „yw“, das Zw-Achsenelement „zw“ dargestellt wird, und der Abstand zwischen den Haltungen ist ein Abstand, der durch die Euler-Winkel-Elemente „Ow“, „Aw“ und „Tw“ dargestellt wird. Beispielsweise können die Abstände zwischen der aktuellen Position und den ersten bis zum i-ten Betriebszielpunkten jeweils nur den Abstand zwischen ihren dreidimensionalen Positionen umfassen.
  • Wenn der Abstand zwischen zwei Betriebszielpunkten gleich oder kleiner als ein dritter Schwellenwert ist, betrachtet die Rückkehrzielpunkt-Bestimmungseinheit 23 die Positionen der beiden Betriebszielpunkte als gleich. Der Abstand zwischen den beiden Betriebszielpunkten kann ein Abstand zwischen den dreidimensionalen Positionen der beiden Betriebszielpunkte sein, oder ein Abstand, der den Abstand zwischen den dreidimensionalen Positionen der beiden Betriebszielpunkte und den Abstand zwischen den Positionen der Referenzachse umfasst. Der dritte Schwellenwert kann beispielsweise entsprechend den Konfigurationen des Endeffektors 11 und des Roboterarms 12 und dergleichen im Voraus eingestellt und in der Speichereinheit 20e im Voraus gespeichert werden. Der dritte Schwellenwert kann derselbe wie der erste Schwellenwert sein. Darüber hinaus können Informationen über Betriebszielpunkte, deren Positionen gleich sind, im Voraus in der Speichereinheit 20e gespeichert werden, und die Rückkehrzielpunkt-Bestimmungseinheit 23 kann die Informationen aus der Speichereinheit 20e erfassen. Die Rückkehrzielpunkt-Bestimmungseinheit 23 kann so konfiguriert sein, dass selbst wenn der Abstand zwischen zwei Betriebszielpunkten gleich oder kleiner als der dritte Schwellenwert ist, die Positionen der beiden Betriebszielpunkte nicht als gleich angesehen werden.
  • Darüber hinaus ist in der vorliegenden Ausführungsform der Abstand zwischen der aktuellen Position und jedem der ersten bis i-ten Betriebszielpunkte der Abstand, der die aktuelle Position und jeden der ersten bis i-ten Betriebszielpunkte entlang des Betriebspfads verbindet, kann aber auch der Abstand eines Pfades sein, der die aktuelle Position und jeden der ersten bis i-ten Betriebszielpunkte direkt verbindet. Beispielsweise kann der Abstand zwischen der aktuellen Position und dem i-ten Betriebszielpunkt entlang des Betriebspfads der Abstand eines Pfads sein, der durch alle Abschnittsbetriebspfade zwischen der aktuellen Position und dem i-ten Betriebszielpunkt verläuft, oder er kann der Abstand eines Pfads sein, den man erhält, wenn man einen Teil oder einige der Abschnittsbetriebspfade pfadlässt. Wenn zum Beispiel Betriebszielpunkte, deren Positionen gleich sind, wie in der vorliegenden Ausführungsform enthalten sind, kann ein Abschnittsbetriebspfad zwischen diesen Betriebszielpunkten vom Abstandserkennungsziel ausgeschlossen werden. Zum Beispiel kann in 8 der Abstand der Abschnittsbetriebspfade zwischen den Betriebszielpunkten OTP4 bis OTP6 vom Abstand zwischen dem vierten Betriebszielpunkt OTP4 und der aktuellen Position zwischen den Betriebszielpunkten OTP7 und OTP8 ausgeschlossen werden.
  • Eine Auswahlregel, ob die Rückkehrzielpunkt-Bestimmungseinheit 23 den bereits unmittelbar vor der aktuellen Position erreichten Betriebszielpunkt oder den Betriebszielpunkt mit dem geringsten Abstand zur aktuellen Position als ersten Rückkehrzielpunkt auswählt, kann im Voraus festgelegt werden. Die Auswahlregel ist nicht besonders begrenzt. Beispielsweise kann die Auswahlregel für den gesamten Betriebspfad eingestellt werden, sie kann individuell für jeden Abschnittsbetriebspfad eingestellt werden, sie kann entsprechend der Position des Endeffektors 11 auf dem Abschnittsbetriebspfad eingestellt werden, sie kann entsprechend dem Endbetriebszielpunkt eingestellt werden, oder sie kann für jeden Betriebszielpunkt eingestellt werden.
  • Wenn Betriebszielpunkte als Kandidaten für den ersten Rückkehrzielpunkt erkannt werden, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23 den am frühesten erreichten Betriebszielpunkt als den ersten Rückkehrzielpunkt. Zum Beispiel bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23 den Betriebszielpunkt mit der kleinsten Reichweitenordnungsnummer unter den erkannten Betriebszielpunkten als ersten Rückkehrzielpunkt.
  • Als nächstes bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23 einen (k+1)-ten Rückkehrzielpunkt, der der nächste Rückkehrzielpunkt ist, zu dem der Endeffektor 11 von einem k-ten Rückkehrzielpunkt zurückgeführt wird (k ist eine natürliche Zahl von 1 oder mehr). Der k-te Rückkehrzielpunkt und der (k+1)-te Rückkehrzielpunkt sind Betriebszielpunkte. Die Rückkehrzielpunkt-Bestimmungseinheit 23 bestimmt den Betriebszielpunkt, der bereits unmittelbar vor dem k-ten Rückkehrzielpunkt erreicht wurde, oder den Betriebszielpunkt, der den geringsten Abstand zum k-ten Rückkehrzielpunkt hat, unter den Informationen jedes Betriebszielpunktes, der vom Endeffektor 11 vor dem k-ten Rückkehrzielpunkt bereits erreicht wurde, als den (k+1)-ten Rückkehrzielpunkt. Zu diesem Zeitpunkt erfasst die Rückkehrzielpunkt-Bestimmungseinheit 23 Informationen über einen (j+1)-ten Betriebszielpunkt (j ist eine natürliche Zahl kleiner als i), der dem k-ten Rückkehrzielpunkt entspricht.
  • Wenn der Betriebszielpunkt, der bereits unmittelbar vor dem (j+1)-ten Betriebszielpunkt erreicht wurde, der der k-te Rückkehrzielpunkt ist, als der (k+1)-te Rückkehrzielpunkt bestimmt wird, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23 einen j-ten Betriebszielpunkt, der bereits unmittelbar vor dem (j+1)-ten Betriebszielpunkt erreicht wurde, als den (k+1)-ten Rückkehrzielpunkt.
  • Wenn der Betriebszielpunkt, der dem (j+1)-ten Betriebszielpunkt, der dem k-ten Rückkehrzielpunkt entspricht, am nächsten liegt, als der (k+1)-te Rückkehrzielpunkt bestimmt wird, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23 den Betriebszielpunkt, der dem (j+1)-ten Betriebszielpunkt von dem ersten Betriebszielpunkt bis zum j-ten Betriebszielpunkt am nächsten liegt, als den (k+1)-ten Rückkehrzielpunkt. In der vorliegenden Ausführungsform schließt ein zweiter Zielpunktabstand, der der Abstand zwischen dem (j+1)-ten Betriebszielpunkt und jedem der ersten bis j-ten Betriebszielpunkte ist, den Abstand zwischen den dreidimensionalen Positionen davon und den Abstand zwischen Haltungen davon ein, kann aber auch nur den Abstand zwischen den dreidimensionalen Positionen davon einschließen. Darüber hinaus kann für jeden Betriebszielpunkt im Voraus festgelegt werden, ob der Abstand des zweiten Zielpunkts den Abstand zwischen den dreidimensionalen Positionen und den Abstand zwischen den Haltungen umfasst.
  • In der vorliegenden Ausführungsform ist der zweite Zielpunktabstand auch der Abstand eines Pfades, der den (j+1)-ten Betriebszielpunkt und jeden der ersten bis j-ten Betriebszielpunkte durch den Betriebspfad verbindet, kann aber auch der Abstand eines Pfades sein, der den (j+1)-ten Betriebszielpunkt und jeden der ersten bis j-ten Betriebszielpunkte direkt verbindet. Ähnlich wie im Fall des ersten Rückkehrzielpunkts kann der Abstand des zweiten Zielpunkts entlang des Betriebspfads der Abstand eines Pfads sein, den man erhält, indem man einen Teil oder einige der Abschnittsbetriebspfade zwischen zwei Betriebszielpunkten pfadlässt, kann aber auch der Abstand eines Pfads sein, der durch alle Abschnittsbetriebspfade verläuft. Wenn der Abstand zwischen zwei Betriebszielpunkten gleich oder kleiner als der dritte Schwellenwert ist, betrachtet die Rückkehrzielpunkt-Bestimmungseinheit 23 die Positionen der beiden Betriebszielpunkte als gleich.
  • Ähnlich wie im Fall des ersten Rückkehrzielpunkts kann eine Auswahlregel, ob die Rückkehrzielpunkt-Bestimmungseinheit 23 den bereits unmittelbar vor dem k-ten Rückkehrzielpunkt erreichten Betriebszielpunkt oder den Betriebszielpunkt mit dem geringsten Abstand zum k-ten Rückkehrzielpunkt als (k+1)-ten Rückkehrzielpunkt auswählt, im Voraus festgelegt werden.
  • Wenn außerdem Betriebszielpunkte als Kandidaten für den (k+1)-ten Rückkehrzielpunkt erkannt werden, bestimmt die Rückkehrzielpunkt-Bestimmungseinheit 23 den frühesten erreichten Betriebszielpunkt als den (k+1)-ten Rückkehrzielpunkt.
  • Bis der (k+1)-te Rückkehrzielpunkt den Aufzeichnungsursprung erreicht, wiederholt die Rückkehrzielpunkt-Bestimmungseinheit 23 den Prozess der Erfassung des (k+1)-ten Rückkehrzielpunkts ab dem k-ten Rückkehrzielpunkt. Dementsprechend werden alle Rückkehrzielpunkte, die der Endeffektor 11 passieren sollte, um den Endeffektor 11 zum Aufzeichnungsursprung zurückzubringen, z.B. der erste Rückkehrzielpunkt bis zu einem (n+1)-ten Rückkehrzielpunkt (n ist eine natürliche Zahl von 1 oder mehr), erfasst.
  • Die Pfadberechnungseinheit 24 berechnet einen Rückkehrpfad unter Verwendung der Informationen aller von der Rückkehrzielpunkt-Bestimmungseinheit 23 erfassten Rückkehrzielpunkte. Die Pfadberechnungseinheit 24 berechnet Informationen für die Rückführung des Endeffektors 11 von seiner gegenwärtigen Position sequenziell über den ersten Rückkehrzielpunkt zum (n+1)-ten Rückkehrzielpunkt zum Aufzeichnungsursprung.
  • Beispielsweise berechnet die Pfadberechnungseinheit 24 Informationen für die Bewegung des Endeffektors 11 vom k-ten Rückkehrzielpunkt zum (k+1)-ten Rückkehrzielpunkt. In diesem Fall legt die Pfadberechnungseinheit 24 die Position des (k+1)-ten Rückkehrzielpunkts als Zielposition für den Endeffektor 11 fest. In der vorliegenden Ausführungsform umfasst die Position des (k+1)-ten Rückkehrzielpunkts eine dreidimensionale Position und eine Haltung.
  • Darüber hinaus legt die Pfadberechnungseinheit 24 einen Pfad, der umgekehrt zu dem Abschnittsbetriebspfad ist, der in den Informationen des (j+1)-ten Betriebszielpunkts enthalten ist, der dem k-ten Rückkehrzielpunkt entspricht, als einen Zielbetriebspfad für den Endeffektor 11 fest, der zum (k+1)-ten Rückkehrzielpunkt führt. Beispielsweise ist der Abschnittsbetriebspfad ein Abschnittsbetriebspfad von dem j-ten Betriebszielpunkt zu dem (j+1)-ten Betriebszielpunkt. Die Pfadberechnungseinheit 24 bestimmt einen Interpolationsmodus, der umgekehrt zum Interpolationsmodus des (j+1)-ten Betriebszielpunktes ist, als Interpolationsmodus vom k-ten Rückkehrzielpunkt zum (k+1)-ten Rückkehrzielpunkt.
  • Weiterhin setzt die Pfadberechnungseinheit 24 den Zustand des Endeffektors 11, der in den Informationen des dem k-ten Rückkehrzielpunkt entsprechenden Betriebszielpunkts enthalten ist, als einen Zielzustand für den Endeffektor 11 am (k+1)-ten Rückkehrzielpunkt. Die Pfadberechnungseinheit 24 bestimmt den Werkzeugwert des Betriebszielpunktes, der dem k-ten Rückkehrzielpunkt entspricht, als einen Zielwerkzeugwert für den Endeffektor 11 am (k+1)-ten Rückkehrzielpunkt.
  • Des Weiteren legt die Pfadberechnungseinheit 24 die Position des Roboters 10, die in den Informationen des Betriebszielpunkts enthalten ist, der dem (k+1)-ten Rückkehrzielpunkt entspricht, als eine Zielposition für den Roboter 10 fest. Die Pfadberechnungseinheit 24 bestimmt den Basiswert des Betriebszielpunkts, der dem (k+1)-ten Rückkehrzielpunkt entspricht, als einen Zielbasiswert für den Roboter 10 am (k+1)-ten Rückkehrzielpunkt.
  • Bis der (k+1)-te Rückkehrzielpunkt den Aufzeichnungsursprung erreicht, wiederholt die Pfadberechnungseinheit 24 den Prozess der Berechnung der Informationen zur Bewegung des Endeffektors 11 vom k-ten Rückkehrzielpunkt zum (k+1)-ten Rückkehrzielpunkt.
  • In der gleichen Weise wie oben berechnet die Pfadberechnungseinheit 24 auch Informationen, um den Endeffektor 11 von seiner gegenwärtigen Position zu dem ersten Rückkehrzielpunkt zu bewegen. In diesem Fall legt die Pfadberechnungseinheit 24 die Position des ersten Rückkehrzielpunkts als Zielposition für den Endeffektor 11 fest. Die Pfadberechnungseinheit 24 setzt einen Pfad, der umgekehrt zu dem Abschnittsbetriebspfad ist, der in den Informationen über den Endbetriebszielpunkt des Endeffektors 11 zum Zeitpunkt des Empfangs des Rückkehrbefehls enthalten ist, als einen Zielbetriebspfad für den Endeffektor 11, der zu dem ersten Rückkehrzielpunkt führt. Das heißt, die Pfadberechnungseinheit 24 bestimmt einen Interpolationsmodus, der umgekehrt zu dem Interpolationsmodus des Endbetriebszielpunkts ist, als einen Interpolationsmodus von der gegenwärtigen Position zu dem ersten Rückkehrzielpunkt.
  • Darüber hinaus setzt die Pfadberechnungseinheit 24 den Zustand des Endeffektors 11, der in den Informationen des Endbetriebszielpunkts zum Zeitpunkt des Empfangs des Rückkehrbefehls enthalten ist, als einen Zielzustand für den Endeffektor 11 am ersten Rückkehrzielpunkt. Das heißt, die Pfadberechnungseinheit 24 bestimmt den Werkzeugwert des Endbetriebszielpunkts als einen Zielwerkzeugwert am ersten Rückkehrzielpunkt. Darüber hinaus setzt die Pfadberechnungseinheit 24 die Position des Roboters 10, die in den Informationen des Betriebszielpunktes enthalten ist, der dem ersten Rückkehrzielpunkt entspricht, als eine Zielposition für den Roboter 10, das heißt, sie bestimmt den Basiswert des Betriebszielpunktes, der dem ersten Rückkehrzielpunkt entspricht, als einen Zielbasiswert für den Roboter 10 am ersten Rückkehrzielpunkt.
  • Wie oben beschrieben, berechnet die Pfadberechnungseinheit 24 die Informationen des Rückkehrpfades, die Informationen für die Rückführung des Endeffektors 11 von seiner gegenwärtigen Position sequentiell über den ersten Rückkehrzielpunkt zum (n+1)-ten Rückkehrzielpunkt zum Aufzeichnungsursprung sind.
  • [Betrieb des Robotersystems]
  • Der Betrieb des Robotersystems 1 gemäß der Ausführungsform wird anhand von 8 als Beispiel beschrieben. 9Abis 9C sind jeweils ein Flussdiagramm, das ein Beispiel für den Betrieb des Robotersystems 1 gemäß der Ausführungsform zeigt. Wie in 9A bis 9C gezeigt, empfängt die Systemsoftware 26 der Steuervorrichtung 20 zunächst in Schritt S101 einen Arbeitsausführungsbefehl, der ein Befehl zur Ausführung einer gelehrten vorbestimmten Arbeit ist, über eine Eingabe in die Eingabevorrichtung 40 durch den Benutzer.
  • Als Nächstes, in Schritt S102, sucht die Systemsoftware 26 die in der Speichereinheit 20e gespeicherten Lehrinformationen 20eb, liest die Lehrinformationen der vorbestimmten Arbeit und veranlasst den Roboter 10, die Arbeit gemäß den Lehrinformationen auszuführen, d.h. die gelehrte Arbeit. Der Roboter 10 führt die Arbeit aus, während er den Endeffektor 11 sequentiell zu Betriebszielpunkten bewegt.
  • In Schritt S103 empfängt die Systemsoftware 26 einen Aufzeichnungsbefehl über eine Eingabe des Benutzers in die Eingabevorrichtung 40. Der Aufzeichnungsbefehl ist ein Befehl, einen Betriebszielpunkt aufzuzeichnen, der jedes Mal ein Ziel ist, wenn sich der Endeffektor 11 zum Betriebszielpunkt bewegt. Als nächstes bestimmt die Systemsoftware 26 in Schritt S104 einen Aufzeichnungsursprung, der den Startpunkt der Aufzeichnung darstellt. Darüber hinaus zeichnet die Systemsoftware 26 in Schritt S105 Informationen über jeden Endbetriebszielpunkt nach dem Aufzeichnungsursprung in der Speichereinheit 20e auf.
  • In Schritt S106 empfängt die Systemsoftware 26 einen Befehl zur Rückkehr zum Ursprung über die Eingabe in die Eingabevorrichtung 40 durch den Benutzer. Wenn beispielsweise eine Unregelmäßigkeit im Betrieb der Roboters vorkommt, wie z.B., dass der Roboter 10 anhält oder die Position des Roboters 10 sich hauptsächlich aufgrund eines Kontakts mit einem Hindernis oder ähnlichem verändert, gibt der Benutzer einen Befehl zur Rückkehr zum Ausgangspunkt in die Eingabevorrichtung 40 ein.
  • Als nächstes startet die Systemsoftware 26 in Schritt S107 die Ursprungsrückkehranwendung 25. Wenn der Roboter 10 in Betrieb ist, kann die Systemsoftware 26 den Roboter 10 zu diesem Zeitpunkt anhalten. In Schritt S108 erfasst die Ursprungsrückkehranwendung 25 die aktuelle Position des Endeffektors 11. Im Beispiel von 8 befindet sich der Endeffektor 11 zwischen dem siebten Betriebszielpunkt OTP7 und dem achten Betriebszielpunkt OTP8.
  • In Schritt S109 durchsucht die Ursprungsrückkehranwendung 25 die aufgezeichneten Zielpunktinformationen 20ec in der Speichereinheit 20e und erfasst die Informationen des Aufzeichnungsursprungs und die Informationen jedes Betriebszielpunkts, die von der Startzeit des Aufzeichnungsursprungs bis zur Empfangszeit des Rückkehrbefehls aufgezeichnet wurden. Im Beispiel von 8 erfasst die Ursprungsrückkehranwendung 25 die Informationen des ersten Betriebszielpunkts OTP1 bis zum achten Betriebszielpunkt OTP8.
  • Als Nächstes, in Schritt S110, erfasst die Ursprungsrückkehranwendung 25 den ersten Zielpunktabstand zwischen jedem erfassten Betriebszielpunkt und der erfassten aktuellen Position des Endeffektors 11 und bestimmt, ob es einen Betriebszielpunkt gibt, dessen erster Zielpunktabstand gleich oder kleiner als der erste Schwellenwert ist. Wenn es einen solchen Betriebszielpunkt gibt (Ja in Schritt S110), fährt die Ursprungsrückkehranwendung 25 mit Schritt S 111 fort. Wenn es keinen solchen Betriebszielpunkt gibt (Nein in Schritt S110), geht die Ursprungsrückkehranwendung 25 zu Schritt S115 über.
  • In Schritt S111 bestimmt die Ursprungsrückkehranwendung 25, dass die gegenwärtige Position des Endeffektors 11 der Betriebszielpunkt ist, und bestimmt die Ausführung der Erfassung eines Rückkehrpfads.
  • Als Nächstes bestimmt die Ursprungsrückkehranwendung 25 in Schritt S112, ob ein rückkehrzielpunkt, der als Betriebszielpunkt für die aktuelle Position des Endeffektors 11 festgelegt wurde, der bereits unmittelbar zuvor erreichte Betriebszielpunkt ist oder nicht. Wenn der Rückkehrzielpunkt der bereits unmittelbar zuvor erreichte Betriebszielpunkt ist (Ja in Schritt S112), fährt die Ursprungsrückkehranwendung 25 mit Schritt S113 fort. Wenn der Rückkehrzielpunkt nicht der bereits unmittelbar zuvor erreichte Betriebszielpunkt ist (Nein in Schritt S112), fährt die Ursprungsrückkehranwendung 25 mit Schritt S114 fort.
  • In Schritt S113 erfasst die Ursprungsrückkehranwendung 25 Informationen über den Betriebszielpunkt, der bereits unmittelbar vor dem Betriebszielpunkt der aktuellen Position erreicht wurde, bestimmt diesen erfassten Betriebszielpunkt als ersten Rückkehrzielpunkt für den Endeffektor 11 und geht zu Schritt S121 über.
  • In Schritt S114 erkennt die Ursprungsrückkehranwendung 25 Informationen über den Betriebszielpunkt, der unter den Informationen über die Betriebszielpunkte, die bereits vor dem Betriebszielpunkt der aktuellen Position erreicht wurden, den geringsten Abstand zum Betriebszielpunkt der aktuellen Position aufweist, und bestimmt diesen erfassten Betriebszielpunkt als ersten Rückkehrzielpunkt. Wenn Betriebszielpunkte erkannt werden, bestimmt die Ursprungsrückkehranwendung 25 den Betriebszielpunkt, den der Endeffektor 11 unter den Betriebszielpunkten am frühesten erreicht hat, als den ersten Rückkehrzielpunkt. Das heißt, die Ursprungsrückkehranwendung 25 bestimmt den Betriebszielpunkt mit der kleinsten Reichweitenordnungsnummer unter den Betriebszielpunkten als den ersten Rückkehrzielpunkt und fährt mit Schritt S121 fort.
  • In Schritt S115 bestimmt die Ursprungsrückkehranwendung 25, ob der Abstand zwischen der aktuellen Position des Endeffektors 11 und dem Betriebspfad des Endeffektors 11 innerhalb des zweiten Schwellenwerts liegt oder nicht. Die Ursprungsrückkehranwendung 25 bestimmt den Abstand zwischen der aktuellen Position und dem Abschnittsbetriebspfad, der zum Zielbetriebszielpunkt führt. Im Beispiel von 8 wird der Abstand zwischen der aktuellen Position des Endeffektors 11 und einem Abschnittsbetriebspfad zwischen dem siebten Betriebszielpunkt OTP7 und dem achten Betriebszielpunkt OTP8 bestimmt.
  • Wenn der Trennungsabstand innerhalb des zweiten Schwellenwerts liegt (Ja in Schritt S115), bestimmt die Ursprungsrückkehranwendung 2520 die Ausführung der Erkennung des Rückkehrpfads und fährt mit Schritt S118 (Schritt S116) fort. Wenn der Trennungsabstand den zweiten Schwellenwert überschreitet (Nein in Schritt S115), bestimmt die Ursprungsrückkehranwendung 25, dass die Erfassung des Rückkehrpfades gestoppt wird, und präsentiert dem Benutzer über die Präsentationsvorrichtung 50 eine Benachrichtigung oder ähnliches, die ihn auffordert, einen Bereich um den Endeffektor 11 zu inspizieren (Schritt S117). Im Beispiel von 8 liegt der Trennungsabstand innerhalb der zweiten Schwelle.
  • In Schritt S118 bestimmt die Ursprungsrückkehranwendung 25, ob ein für den Endbetriebszielpunkt für die aktuelle Position festgelegter Rückkehrzielpunkt der bereits unmittelbar zuvor erreichte Zielpunkt ist oder nicht. Wenn der Rückkehrzielpunkt der bereits unmittelbar zuvor erreichte Betriebszielpunkt ist (Ja in Schritt S118), fährt die Ursprungsrückkehranwendung 25 mit Schritt S119 fort. Wenn der Rückkehrzielpunkt nicht der bereits unmittelbar zuvor erreichte Betriebszielpunkt ist (Nein in Schritt S118), geht die Ursprungsrückkehranwendung 25 zu Schritt S120 über.
  • In Schritt S119 erkennt die Ursprungsrückkehranwendung 25 Informationen über den Betriebszielpunkt, der bereits unmittelbar vor der aktuellen Position erreicht wurde, bestimmt diesen erfassten Betriebszielpunkt als den ersten Rückkehrzielpunkt und geht zu Schritt S121 über.
  • In Schritt S120 erkennt die Ursprungsrückkehranwendung 25 Informationen über den Betriebszielpunkt, der unter den Informationen über die Betriebszielpunkte, die vom Endeffektor 11 vor der gegenwärtigen Position bereits erreicht wurden, den geringsten Abstand zur gegenwärtigen Position aufweist, und bestimmt diesen erfassten Betriebszielpunkt als den ersten Rückkehrzielpunkt. Wenn Betriebszielpunkte detektiert werden, bestimmt die Ursprungsrückkehranwendung 25 den Betriebszielpunkt, der vom Endeffektor 11 unter den Betriebszielpunkten am frühesten erreicht wurde, als den ersten Rückkehrzielpunkt und fährt mit Schritt S121 fort. Im Beispiel von 8 bestimmt die Ursprungsrückkehranwendung 25 den siebten Betriebszielpunkt OTP7, der den geringsten Abstand zur aktuellen Position aufweist, als ersten Rückkehrzielpunkt.
  • Als Nächstes bestimmt die Ursprungsrückkehranwendung 25 in Schritt S121, ob ein für den Betriebszielpunkt festgelegter Rückkehrzielpunkt, der einem k-ten Rückkehrzielpunkt entspricht (k ist eine natürliche Zahl von 1 oder mehr), der bereits unmittelbar zuvor erreichte Betriebszielpunkt ist oder nicht. Wenn der Rückkehrzielpunkt der bereits unmittelbar zuvor erreichte Betriebszielpunkt ist (Ja in Schritt S121), fährt die Ursprungsrückkehranwendung 25 mit Schritt S122 fort. Wenn der Rückkehrzielpunkt nicht der bereits unmittelbar zuvor erreichte Betriebszielpunkt ist (Nein in Schritt S121), fährt die Ursprungsrückkehranwendung 25 mit Schritt S123 fort.
  • In Schritt S122 erkennt die Ursprungsrückkehranwendung 25 Informationen über den Betriebszielpunkt, der bereits unmittelbar vor dem k-ten Rückkehrzielpunkt erreicht wurde, bestimmt diesen erfassten Zielpunkt als (k+1)-ten Rückkehrzielpunkt und fährt mit Schritt S124 fort.
  • In Schritt S123 erkennt die Ursprungsrückkehranwendung 25 Informationen über den Betriebszielpunkt, der unter den Informationen über die Betriebszielpunkte, die bereits vor dem k-ten Rückkehrzielpunkt erreicht wurden, den geringsten Abstand zum k-ten Rückkehrzielpunkt aufweist, und bestimmt diesen erfassten Betriebszielpunkt als (k+1)-ten Rückkehrzielpunkt. Wenn Betriebszielpunkte erkannt werden, bestimmt die Ursprungsrückkehranwendung 25 den Betriebszielpunkt, den der Endeffektor 11 unter den Betriebszielpunkten am frühesten erreicht hat, als den (k+1)-ten Rückkehrzielpunkt, und fährt mit Schritt S124 fort. Im Beispiel von 8 bestimmt die Ursprungsrückkehranwendung 25 beispielsweise den vierten Betriebszielpunkt OTP4 aus dem vierten Betriebszielpunkt OTP4 und dem sechsten Betriebszielpunkt OTP6, der den geringsten Abstand zum siebten Betriebszielpunkt OTP7 aufweist, der der erste Rückkehrzielpunkt ist, als zweiten Rückkehrzielpunkt.
  • In Schritt S124 bestimmt die Ursprungsrückkehranwendung 25, ob der (k+1)-te Rückkehrzielpunkt den Aufzeichnungsursprung erreicht hat oder nicht. Das Erreichen des Aufzeichnungsursprungs umfasst den Fall, dass der (k+1)-te Rückkehrzielpunkt mit dem Aufzeichnungsursprung zusammenfällt, den Fall, dass ein Abschnittsrückkehrpfad zwischen dem (k+1)-ten rückkehrzielpunkt und dem k-ten Rückkehrzielpunkt durch den Aufzeichnungsursprung verläuft, den Fall, dass der (k+1)-te Rückkehrzielpunkt mit einem Betriebszielpunkt zusammenfällt, den der Endeffektor 11 vor dem Aufzeichnungsursprung durchlaufen hat, usw. Wenn der Aufzeichnungsursprung bereits erreicht wurde (Ja in Schritt S124), geht die Ursprungsrückkehranwendung 25 zu Schritt S125 über. Wenn der Aufzeichnungsursprung noch nicht erreicht wurde (Nein in Schritt S124), geht die Ursprungsrückkehranwendung 25 zu Schritt S121 über, um den nächsten Rückkehrzielpunkt zu ermitteln.
  • In Schritt S125 berechnet die Ursprungsrückkehranwendung 25 Informationen über einen Rückkehrpfad, d. h. Informationen für die Rückführung des Endeffektors 11 von seiner derzeitigen Position durch alle Rückkehrzielpunkte zum Aufzeichnungsursprung.
  • Als nächstes, in Schritt S126, bringt die Systemsoftware 26 den Roboter 10 zum Ausgangspunkt zurück, indem sie den Roboter 10 gemäß den Informationen des Rückkehrpfads steuert.
  • Wie oben beschrieben, veranlasst die Steuervorrichtung 20 den Roboter 10, automatisch zum Ausgangspunkt zurückzukehren, indem sie die Vorgänge in den Schritten S101 bis S126 ausführt, während die Vorgänge in den Schritten S121 bis S124 durch die Ursprungsrückkehranwendung 25 wiederholt werden.
  • Die Ursprungsrückkehranwendung 25 kann so konfiguriert sein, dass sie den Prozess in Schritt S110 nicht einschließt und die Bestimmung, ob die aktuelle Position des Endeffektors 11 ein Betriebszielpunkt ist oder nicht, nicht ausführt. In diesem Fall kann die Ursprungsrückkehranwendung 25 so konfiguriert werden, dass sie den Prozess in Schritt S115 nach Schritt S109 ausführt, ohne die Erfassung und Bestimmung eines ersten Zielpunktabstands auszuführen.
  • (Andere Ausführungsformen)
  • Obwohl die Ausführungsbeispiele der vorliegenden Offenbarung oben beschrieben wurden, ist die vorliegende Offenbarung nicht auf die obige Ausführungsform beschränkt. Das heißt, verschiedene Änderungen und Verbesserungen können innerhalb des Anwendungsbereichs der vorliegenden Offenbarung vorgenommen werden. Zum Beispiel, Modi, in denen verschiedene Änderungen an der Ausführungsform und Modi, die durch die Kombination der Komponenten in verschiedenen Ausführungsformen konstruiert sind, sind auch in den Anwendungsbereich der vorliegenden Offenbarung enthalten.
  • Beispielsweise erfasst die Steuervorrichtung 20 gemäß der Ausführungsform alle Rückkehrzielpunkte und alle Abschnittsrückkehrpfade, bestimmt den gesamten Rückkehrpfad und steuert dann den Roboter 10, um den Endeffektor 11 zum Ausgangspunkt zurückzubringen, ist aber nicht darauf beschränkt. Beispielsweise kann die Steuervorrichtung 20 den Roboter 10 so steuern, dass jedes Mal, wenn ein Rückkehrzielpunkt erkannt wird, der Endeffektor 11 entlang eines Abschnittsrückkehrpfades bewegt wird, der zu diesem Rückkehrzielpunkt führt.
  • Darüber hinaus kann die Technologie der vorliegenden Offenbarung ein Steuerungsverfahren sein. Zum Beispiel ist ein Steuerungsverfahren gemäß einem Aspekt der vorliegenden Offenbarung ein Steuerungsverfahren für einen Roboter, der einen Betrieb durchführt, bei der ein Endeffektor sequentiell zu Betriebszielpunkten auf einem Betriebspfad bewegt wird, wobei das Steuerungsverfahren Folgendes umfasst: Aufzeichnen von Informationen über den Betriebszielpunkt, der ein Zielpunkt ist, jedes Mal, wenn sich der Endeffektor zu dem Betriebszielpunkt bewegt; Erfassen einer gegenwärtigen Position des Endeffektors beim Empfangen eines Ursprungsrückkehrbefehls, um den Endeffektor zu einem Ursprung des Betriebspfads zurückzubringen; Erfassen von Informationen über einen ersten Rückkehrzielpunkt, der der Betriebszielpunkt ist, der bereits unmittelbar vor der gegenwärtigen Position erreicht wurde, oder der Betriebszielpunkt, der unter den Informationen über die Betriebszielpunkte, die von dem Endeffektor vor der gegenwärtigen Position bereits erreicht wurden, den geringsten Abstand zu der gegenwärtigen Position aufweist, als Informationen über einen Punkt auf einem Rückkehrpfad zum Zurückbringen des Endeffektors zu dem Ursprung; Erfassen von Informationen eines (k+1)-ten Rückkehrzielpunktes, der der Betriebszielpunkt ist, der bereits unmittelbar vor einem k-ten Rückkehrzielpunkt erreicht wurde, oder der Betriebszielpunkt, der unter den Informationen der Betriebszielpunkte, die bereits durch den Endeffektor vor dem k-ten Rückkehrzielpunkt erreicht wurden, den geringsten Abstand zum k-ten Rückkehrzielpunkt aufweist, als Informationen eines Punktes auf dem Rückkehrpfad, wobei k eine natürliche Zahl von 1 bis n ist und n eine natürliche Zahl von 1 oder mehr ist; Wiederholen der Erfassung der Information des (k+1)-ten Rückkehrzielpunktes, um die Information eines zweiten Rückkehrzielpunktes zu einem (n+1)-ten Rückkehrzielpunkt zu erfassen; Bestimmen des Rückkehrpfades, der durch den ersten Rückkehrzielpunkt zu dem (n+1)-ten Rückkehrzielpunkt in dieser Reihenfolge führt und zum Ursprung zurückkehrt; und Bewegen des Endeffektors entlang des Rückkehrpfades. Ein solches Steuerungsverfahren kann durch eine Schaltung wie eine CPU oder LSI, eine IC-Karte, ein einzelnes Modul oder ähnliches realisiert werden.
  • Darüber hinaus kann die Technologie der vorliegenden Offenbarung ein Programm oder ein nicht-transitorisches, computerlesbares Aufzeichnungsmedium sein, auf dem das Programm aufgezeichnet ist. Das Aufzeichnungsmedium ist nicht besonders beschränkt, solange das Aufzeichnungsmedium eine Konfiguration aufweist, die zur Aufzeichnung eines Programms geeignet ist, und kann beispielsweise ein Medium zur optischen, elektrischen oder magnetischen Aufzeichnung von Informationen sein, wie eine CD-ROM (Compact Disc-Festwertspeicher/Nur-Lese-Speicher), eine DVD-ROM (Digital Versatile Disc-ROM), eine BD-ROM (Blu-ray Disc ROM), eine flexible Platte und eine magnetooptische Platte, oder kann ein Medium wie ein Halbleiterspeicher und eine Festplatte zur elektrischen Aufzeichnung von Informationen in einem ROM, ein Flash-Speicher, eine Speicherkarte usw. sein.
  • Ein Programm gemäß einem Aspekt der vorliegenden Offenbarung ist beispielsweise ein Programm, das von einem Computer ausgeführt wird, wobei das Programm den Computer veranlasst,: in einem Prozess, in dem ein Roboter einen Endeffektor sequentiell zu Betriebszielpunkten auf einem Betriebspfad bewegt, jedes Mal, wenn sich der Endeffektor zu dem Betriebszielpunkt bewegt, Informationen über den Betriebszielpunkt, der ein Ziel ist, aufzuzeichnen; eine gegenwärtige Position des Endeffektors zu erfassen, wenn ein Ursprungsrückkehrbefehl empfangen wird, um den Endeffektor zu einem Ursprung der Betriebszielpunkte zurückzubringen; Erfassen von Informationen eines ersten Rückkehrzielpunktes, der der Betriebszielpunkt ist, der bereits unmittelbar vor der gegenwärtigen Position erreicht wurde, oder der Betriebszielpunkt, der unter den Informationen der Betriebszielpunkte, die von dem Endeffektor vor der gegenwärtigen Position bereits erreicht wurden, den geringsten Abstand zu der gegenwärtigen Position aufweist, als Information eines Punktes auf einem Rückkehrpfad zur Rückkehr des Endeffektors zum Ursprung; Erfassen von Informationen eines (k+1)-ten Rückkehrzielpunktes, der der Betriebszielpunkt ist, der bereits unmittelbar vor einem k-ten Rückkehrzielpunkt erreicht wurde, oder der Betriebszielpunkt, der unter den Informationen der Betriebszielpunkte, die bereits durch den Endeffektor vor dem k-ten Rückkehrzielpunkt erreicht wurden, den geringsten Abstand zu dem k-ten Rückkehrzielpunkt aufweist, als Information eines Punktes auf dem Rückkehrpfad, wobei k eine natürliche Zahl von 1 bis n ist und n eine natürliche Zahl von 1 oder mehr ist; Wiederholen der Erfassung der Information des (k+1)-ten Rückkehrzielpunktes, um Information eines zweiten Rückkehrzielpunktes zu einem (n+1)-ten Rückkehrzielpunkt zu erfassen; und Bestimmen des Rückkehrpfades, der durch den ersten Rückkehrzielpunkt zu dem (n+1)-ten Rückkehrzielpunkt in dieser Reihenfolge führt und zum Ursprung zurückkehrt. Auf dem Aufzeichnungsmedium gemäß dem Aspekt der vorliegenden Offenbarung ist zum Beispiel das obige Programm aufgezeichnet. Es versteht sich von selbst, dass das obige Programm auch über ein Übertragungsmedium wie das Internet verbreitet werden kann.
  • Darüber hinaus sind die Zahlen wie die Reichweitenordnungsnummer und die oben verwendeten Größen alle Beispiele für die spezifische Beschreibung der Technologie der vorliegenden Offenbarung, und die vorliegende Offenbarung ist nicht auf die beispielhaften Zahlen beschränkt. Darüber hinaus ist die Verbindungsbeziehung zwischen den Komponenten beispielhaft für die spezifische Beschreibung der Technologie der vorliegenden Offenbarung, und die Verbindungsbeziehung, die die Funktion der vorliegenden Offenbarung realisiert, ist nicht darauf beschränkt.
  • Darüber hinaus ist die Aufteilung der Blöcke im Funktionsblockdiagramm ein Beispiel, und Blöcke können als ein Block realisiert werden, ein Block kann in Blöcke aufgeteilt werden, und/oder einige Funktionen können auf einen anderen Block übertragen werden. Darüber hinaus können die Funktionen von Blöcken mit ähnlichen Funktionen von einer einzigen Hardware oder Software parallel oder zeitlich geteilt verarbeitet werden.
  • Bezugszeichenliste
  • 1
    Robotersystem
    10
    Roboter
    11
    Endeffektor
    12
    Roboterarm
    20
    Steuervorrichtung
  • 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 2021058987 A [0001]

Claims (29)

  1. Steuerungsverfahren für einen Roboter, der einen Betrieb durchführt, bei dem ein Endeffektor sequentiell zu Betriebszielpunkten auf einem Betriebspfad bewegt wird, wobei das Steuerungsverfahren umfasst: Aufzeichnen von Informationen über den Betriebszielpunkt, der ein Ziel ist, jedes Mal, dass der Endeffektor sich zum Betriebszielpunkt bewegt; Erfassen einer aktuellen Position des Endeffektors bei Empfang eines Ursprungsrückkehrbefehls, um den Endeffektor zu einem Ursprung des Betriebspfads zurückzuführen; Erfassen von Informationen eines ersten Rückkehrzielpunkts, der der Betriebszielpunkt ist, der bereits unmittelbar vor der gegenwärtigen Position erreicht wurde, oder der der Betriebszielpunkt ist, der unter den Informationen der Betriebszielpunkte, die bereits vom Endeffektor vor der gegenwärtigen Position erreicht wurden, den geringsten Abstand zur gegenwärtigen Position aufweist, als Informationen eines Punkts auf einem Rückkehrpfad zur Rückkehr des Endeffektors zum Ursprung; Erfassen von Informationen eines (k+1)-ten Rückkehrzielpunktes, der der Betriebszielpunkt ist, der bereits unmittelbar vor einem k-ten Rückkehrzielpunkt erreicht wurde, oder der Betriebszielpunkt, der unter den Informationen der Betriebszielpunktes, die bereits vom Endeffektor vor dem k-ten Rückkehrzielpunkt erreicht wurden, den geringsten Abstand zum k-ten Rückkehrzielpunkt aufweist, als Informationen eines Punktes auf dem Rückkehrpfad, wobei k eine natürliche Zahl von 1 bis n ist und n eine natürliche Zahl von 1 oder mehr ist; Wiederholen der Erfassung der Informationen des (k+1)-ten Rückkehrzielpunktes, um die Informationen eines zweiten Rückkehrzielpunktes zu einem (n+1)-ten Rückkehrzielpunkt zu erfassen; Bestimmen des Rückkehrpfades, der durch den ersten Rückkehrzielpunkt zum (n+1)-ten Rückkehrzielpunkt in dieser Reihenfolge führt und zum Ursprung zurückkehrt; und Bewegen des Endeffektors entlang des Rückkehrpfads.
  2. Steuerungsverfahren nach Anspruch 1, beinhaltend: Bestimmen des am frühesten erreichten Betriebszielpunktes als Rückkehrzielpunkt, wenn die Betriebszielpunkte als Kandidaten für den Rückkehrzielpunkt erfasst werden.
  3. Steuerungsverfahren nach Anspruch 1 oder 2, beinhaltend: Erfassen eines Zielpunktabstands, der ein Abstand zwischen dem aufgezeichneten Betriebszielpunkt und der aktuellen Position ist, und wenn der Zielpunktabstand innerhalb eines ersten Schwellenwerts liegt, Betrachten der aktuellen Position als an dem Betriebszielpunkt gelegen, dessen Zielpunktabstand innerhalb des ersten Schwellenwerts liegt.
  4. Steuerungsverfahren nach einem der Ansprüche 1 bis 3, beinhaltend: Erfassen eines Trennungsabstandes, der ein Abstand zwischen der aktuellen Position und dem Betriebspfad ist, Durchführen einer Erfassung des Rückkehrzielpunkts, wenn der Trennungsabstand innerhalb eines zweiten Schwellenwerts liegt und Anhalten der Erfassung des Rückkehrzielpunktes, wenn der Trennungsabstand den zweiten Schwellenwert überschreitet.
  5. Steuerungsverfahren nach einem der Ansprüche 1 bis 4, wobei ein Abstand zwischen der aktuellen Position oder dem Rückkehrzielpunkt und dem Betriebszielpunkt ein Abstand entlang des Betriebspfads ist.
  6. Steuerungsverfahren nach einem der Ansprüche 1 bis 5, beinhaltend: Ansehen der Positionen der beiden Betriebszielpunkte als gleich, wenn der Abstand zwischen den beiden Betriebszielpunkten gleich oder kleiner als ein dritter Schwellenwert ist.
  7. Steuerungsverfahren nach einem der Ansprüche 1 bis 6, wobei die Informationen über den Betriebszielpunkt Informationen über eine Position des Betriebszielpunkts, einen Abschnittsbetriebspfad, der ein Pfad vom unmittelbar vorhergehenden Betriebszielpunkt zum Betriebszielpunkt ist, einen Zustand des Endeffektors und eine Position des Roboters umfassen.
  8. Steuerungsverfahren nach Anspruch 7, wobei die Position des Betriebszielpunkts eine dreidimensionale Position des Betriebszielpunkts und eine Stellung einer Referenzachse am Betriebszielpunkt umfasst.
  9. Steuerungsverfahren nach Anspruch 8, wobei der Abstand zwischen der aktuellen Position oder dem Rückkehrzielpunkt und dem Betriebszielpunkt einen Abstand zwischen einer dreidimensionalen Position der aktuellen Position oder des Rückkehrzielpunkts und der dreidimensionalen Position des Betriebszielpunkts und einen Abstand zwischen einer Stellung der Referenzachse an der aktuellen Position oder dem Rückkehrzielpunkt und der Stellung der Referenzachse am Betriebszielpunkt umfasst.
  10. Steuerungsverfahren nach einem der Ansprüche 7 bis 9, wenn der Endeffektor vom k-ten Rückkehrzielpunkt zum (k+1)-ten Rückkehrzielpunkt bewegt wird, beinhaltend: Bestimmen einer Position des (k+1)-ten Rückkehrpunktes als Zielposition für den Endeffektor, Bestimmen eines Pfades, der umgekehrt zu dem in den Informationen des k-ten Rückkehrzielpunkts enthaltenen Abschnittsbetriebspfad ist, als ein Zielbetriebspfad für den Endeffektor, Bestimmen des Zustandes des Endeffektors, der in der Information des k-ten Rückkehrzielpunktes enthalten ist, als Zielzustand für den Endeffektor, und Bestimmen der Position des Roboters, die in den Informationen des (k+1)-ten Rückkehrzielpunkts enthalten ist, als Zielposition für den Roboter.
  11. Steuerungsverfahren nach einem der Ansprüche 7 bis 10, bei dem, Bestimmen einer Position des ersten Rückkehrzielpunkts als Zielposition für den Endeffektor, Bestimmen eines Pfades, der umgekehrt zu dem Abschnittsbetriebspfad ist, der in der Information eines Endbetriebszielpunkts enthalten ist, der der Betriebszielpunkt ist, der das Ziel für die gegenwärtige Position ist, als ein Zielbetriebspfad für den Endeffektor, Bestimmen des Zustands des Endeffektors, der in der Information des Endbetriebszielpunkts enthalten ist, als Zielzustand für den Endeffektor; und Bestimmen der Position des Roboters, die in der Information über den ersten Rückkehrzielpunkt enthalten ist, als Zielposition für den Roboter festgelegt wird, wenn der Endeffektor von seiner gegenwärtigen Position zu dem ersten Rückkehrzielpunkt.
  12. Steuerungsverfahren nach einem der Ansprüche 1 bis 11, wobei der Betriebszielpunkt ein Betriebszielpunkt ist, der dem Roboter in einem Prozess des Anlernens des Betriebs des Roboters beigebracht wird.
  13. Steuervorrichtung nach einem der Ansprüche 1 bis 12, die das Steuerverfahren durchführt.
  14. Robotersystem, bestehend aus: der Steuervorrichtung nach Anspruch 13; und dem Roboter, wobei die Steuervorrichtung den Betrieb des Roboters steuert.
  15. Ein Programm, das von einem Computer ausgeführt wird, wobei das Programm den Computer zu Folgendem veranlasst: in einem Prozess, in dem ein Roboter einen Endeffektor sequentiell zu Betriebszielpunkten auf einem Betriebspfad bewegt, jedes Mal, dass der Endeffektor sich zu dem Betriebszielpunkt bewegt, Informationen über den Betriebszielpunkt, der ein Ziel ist, aufzuzeichnen; Erfassen einer aktuellen Position des Endeffektors beim Empfang eines Befehls zur Rückkehr zum Ursprung, um den Endeffektor zu einem Ursprung der Betriebszielpunkte zurückzuführen; Erfassen von Informationen über einen ersten Rückkehrzielpunkt, der der Betriebszielpunkt ist, der bereits unmittelbar vor der gegenwärtigen Position erreicht wurde, oder der Betriebszielpunkt, der unter den Informationen über die Betriebszielpunkte, die vom Endeffektor vor der gegenwärtigen Position bereits erreicht wurden, den geringsten Abstand zur gegenwärtigen Position aufweist, als Informationen über einen Punkt auf einem Rückkehrpfad zur Rückkehr des Endeffektors zum Ursprung; Erfassen von Informationen eines (k+1)-ten Rückkehrzielpunktes, der der Betriebszielpunkt ist, der bereits unmittelbar vor einem k-ten Rückkehrzielpunkt erreicht wurde, oder der Betriebszielpunkt, der unter den Informationen der Betriebszielpunkte, die bereits vom Endeffektor vor dem k-ten Rückkehrzielpunkt erreicht wurden, den geringsten Abstand zum k-ten Rückkehrzielpunkt aufweist, als Information eines Punktes auf dem Rückkehrpfad, wobei k eine natürliche Zahl von 1 bis n ist und n eine natürliche Zahl von 1 oder mehr ist; Wiederholung der Erfassung der Informationen des (k+1)-ten Rückkehrzielpunktes, um Information eines zweiten Rückkehrzielpunktes zu einem (n+1)-ten Rückkehrzielpunkt zu erfassen; und Bestimmen des Rückkehrpfads, der über den ersten Rückreisezielpunkt zum (n+1)-ten Rückreisezielpunkt in dieser Reihenfolge führt und zum Ursprung zurückkehrt.
  16. Programm nach Anspruch 15, wobei das Programm ein Anwendungsprogramm ist, das auf einem Systemprogramm einer Steuervorrichtung läuft, die den Betrieb des Roboters steuert.
  17. Programm nach Anspruch 16, wobei das Anwendungsprogramm ausgeführt werden kann, wenn das Anwendungsprogramm installiert und in das Systemprogramm integriert ist.
  18. Programm nach einem der Ansprüche 15 bis 17, beinhaltend: die Bestimmung des frühesten erreichten Betriebszielpunkts als Rückkehrzielpunkt, wenn die Betriebszielpunkte als Kandidaten für den Rückkehrzielpunkt erkannt werden.
  19. Programm nach einem der Ansprüche 15 bis 18, beinhaltend: Erfassen eines Zielpunktabstands, der ein Abstand zwischen dem aufgezeichneten Betriebszielpunkt und der aktuellen Position ist und wenn der Zielpunktabstand innerhalb eines ersten Schwellenwerts liegt, Betrachten der aktuellen Position als an dem Betriebszielpunkt gelegen, dessen Zielpunktabstand innerhalb des ersten Schwellenwerts liegt.
  20. Programm nach einem der Ansprüche 15 bis 19, beinhaltend: Ermitteln eines Trennungsabstands zwischen der aktuellen Position und dem Betriebspfad; Ausführen einer Erfassung des Rückkehrzielpunkts, wenn der Trennungsabstand innerhalb eines zweiten Schwellenwerts liegt, und Anhalten der Erkennung des zurückkehrenden Zielpunkts, wenn der Trennungsabstand den zweiten Schwellenwert überschreitet.
  21. Programm nach einem der Ansprüche 15 bis 20, wobei ein Abstand zwischen der aktuellen Position oder dem Rückkehrzielpunkt und dem Betriebszielpunkt ein Abstand entlang des Betriebspfads ist.
  22. Programm nach einem der Ansprüche 15 bis 21, beinhaltend: Ansehen der Positionen der beiden Betriebszielpunkte als gleich, wenn ein Abstand zwischen den beiden Betriebszielpunkten gleich oder kleiner als ein dritter Schwellenwert ist.
  23. Programm nach einem der Ansprüche 15 bis 22, wobei die Informationen des Betriebszielpunktes Informationen über eine Position des Betriebszielpunktes, einen Abschnittsbetriebspfad, der ein Pfad von dem unmittelbar vorhergehenden Betriebszielpunkt zu dem Betriebszielpunkt ist, einen Zustand des Endeffektors und eine Position des Roboters umfassen.
  24. Programm nach Anspruch 23, wobei die Position des Betriebszielpunkts eine dreidimensionale Position des Betriebszielpunkts und eine Stellung einer Referenzachse am Betriebszielpunkt umfasst.
  25. Programm nach Anspruch 24, wobei der Abstand zwischen der aktuellen Position oder dem Rückkehrzielpunkt und dem Betriebszielpunkt einen Abstand zwischen einer dreidimensionalen Position der aktuellen Position oder des Rückkehrzielpunkts und der dreidimensionalen Position des Betriebszielpunkts und einen Abstand zwischen einer Stellung der Referenzachse an der aktuellen Position oder dem Rückkehrzielpunkt und der Stellung der Referenzachse am Betriebszielpunkt umfasst.
  26. Programm nach einem der Ansprüche 23 bis 25, in einem Abschnittsrückkehrpfad vom k-ten Rückkehrzielpunkt zum (k+1)-ten Rückkehrzielpunkt im Rückkehrpfad beinhaltend: Bestimmen einer Position des (k+1)-ten Rückkehrzielpunktes als Zielposition für den Endeffektor, Bestimmen eines Pfades, der umgekehrt zu dem in den Informationen des k-ten Rückkehrzielpunkts enthaltenen Abschnittsbetriebspfad ist, als Zielbetriebspfad für den Endeffektor, Bestimmen des Zustands des Endeffektors, der in der Information des k-ten Rückkehrzielpunktes enthalten ist, als Zielzustand für den Endeffektor, und Bestimmen der Position des Roboters, die in den Informationen des (k+1)-ten Rückkehrzielpunkts enthalten ist, als Zielposition für den Roboter.
  27. Programm nach einem der Ansprüche 23 bis 26, in einem Abschnitt des Rückpfads von der aktuellen Position zum ersten Rückkehrzielpunkt im Rückkehrpfad, beinhaltend: Bestimmen einer Position des ersten Rückkehrzielpunkts als Zielposition für den Endeffektor festgelegt, Bestimmen eines Pfades, der umgekehrt zu dem Abschnittsbetriebspfad ist, der in der Information eines Endbetriebszielpunkts enthalten ist, der der Betriebszielpunkt ist, der das Ziel für die gegenwärtige Position ist, als ein Zielbetriebspfad für den Endeffektor, Bestimmen des Zustands des Endeffektors, der in der Information des Betriebszielpunkts enthalten ist, als Zielzustand für den Endeffektor, und Bestimmen der Position des Roboters, die in der Information über den ersten Rückkehrzielpunkt enthalten ist, als Zielposition für den Roboter.
  28. Programm nach einem der Ansprüche 15 bis 27, wobei der Betriebszielpunkt ein Betriebszielpunkt ist, der dem Roboter in einem Verfahren zum Anlernen des Betriebs des Roboters beigebracht wird.
  29. Aufzeichnungsmedium, auf dem das Programm nach einem der Ansprüche 15 bis 28 aufgezeichnet ist.
DE112020004852.7T 2019-10-09 2020-10-07 Steuerungsverfahren, steuerungsvorrichtung, robotersystem, programm und aufzeichnungsmedium Pending DE112020004852T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019186009A JP7393178B2 (ja) 2019-10-09 2019-10-09 制御方法、制御装置、ロボットシステム及びプログラム
JP2019-186009 2019-10-09
PCT/JP2020/037981 WO2021070859A1 (ja) 2019-10-09 2020-10-07 制御方法、制御装置、ロボットシステム、プログラム及び記録媒体

Publications (1)

Publication Number Publication Date
DE112020004852T5 true DE112020004852T5 (de) 2022-08-11

Family

ID=75379486

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020004852.7T Pending DE112020004852T5 (de) 2019-10-09 2020-10-07 Steuerungsverfahren, steuerungsvorrichtung, robotersystem, programm und aufzeichnungsmedium

Country Status (7)

Country Link
US (1) US11992951B2 (de)
JP (1) JP7393178B2 (de)
KR (1) KR20220100865A (de)
CN (1) CN114845841B (de)
DE (1) DE112020004852T5 (de)
TW (1) TWI767350B (de)
WO (1) WO2021070859A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7393178B2 (ja) 2019-10-09 2023-12-06 川崎重工業株式会社 制御方法、制御装置、ロボットシステム及びプログラム
US11967063B2 (en) * 2020-03-30 2024-04-23 Industrial Technology Research Institute Automatic bio-specimen inspection system and inspection method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021058987A (ja) 2019-10-09 2021-04-15 川崎重工業株式会社 制御方法、制御装置、ロボットシステム及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728520A (ja) * 1993-07-14 1995-01-31 Toyota Motor Corp ロボットの原点復帰制御方法
JP2000061870A (ja) * 1998-08-24 2000-02-29 Daihatsu Motor Co Ltd ロボットの原点復帰方法
US8829460B2 (en) * 2005-04-27 2014-09-09 Lawrence Livermore National Security, Llc Three-dimensional boron particle loaded thermal neutron detector
US7689320B2 (en) * 2005-12-20 2010-03-30 Intuitive Surgical Operations, Inc. Robotic surgical system with joint motion controller adapted to reduce instrument tip vibrations
JP5060619B2 (ja) * 2007-06-08 2012-10-31 本田技研工業株式会社 モーション計画方法、モーション計画システム及び記録媒体
JP2009090383A (ja) * 2007-10-04 2009-04-30 Nidec Sankyo Corp ロボットの原点復帰方法
JP5228783B2 (ja) * 2008-10-15 2013-07-03 株式会社デンソーウェーブ ロボットの原点復帰装置
CN102802884B (zh) * 2010-11-12 2015-04-08 松下电器产业株式会社 移动路径搜索装置及移动路径搜索方法
JP5468058B2 (ja) * 2011-12-21 2014-04-09 富士フイルム株式会社 画像形成装置及び画像形成方法
JP5998816B2 (ja) * 2012-10-04 2016-09-28 セイコーエプソン株式会社 経路探索方法、経路探索装置、ロボット制御装置、ロボット及びプログラム
JP6659238B2 (ja) * 2015-05-28 2020-03-04 ライフロボティクス株式会社 ロボット装置及びステッピングモータ制御装置
CN105096662B (zh) * 2015-07-24 2017-07-04 陶文英 一种合作驾驶航空器系统的设计方法及系统
JP2018144171A (ja) * 2017-03-06 2018-09-20 三菱電機株式会社 ロボット制御方法
CN107030695B (zh) * 2017-04-19 2019-07-09 广州视源电子科技股份有限公司 机器人返回原点运动控制方法和系统
JP6962784B2 (ja) * 2017-11-07 2021-11-05 日本電産サンキョー株式会社 水平多関節型ロボットの原点復帰方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021058987A (ja) 2019-10-09 2021-04-15 川崎重工業株式会社 制御方法、制御装置、ロボットシステム及びプログラム

Also Published As

Publication number Publication date
US20220379472A1 (en) 2022-12-01
CN114845841B (zh) 2024-02-06
KR20220100865A (ko) 2022-07-18
JP7393178B2 (ja) 2023-12-06
CN114845841A (zh) 2022-08-02
TW202130475A (zh) 2021-08-16
TWI767350B (zh) 2022-06-11
US11992951B2 (en) 2024-05-28
WO2021070859A1 (ja) 2021-04-15
JP2021058987A (ja) 2021-04-15

Similar Documents

Publication Publication Date Title
EP2837985B1 (de) Fahrerloses Transportfahrzeug und Verfahren zum Betreiben eines fahrerlosen Transportfahrzeugs
DE60205300T2 (de) Vorrichtung zur Vermeidung von Kollisionen
DE102015208584B4 (de) Greifvorrichtung und Greifverfahren
EP3709853B1 (de) Bodenbearbeitung mittels eines autonomen mobilen roboters
DE102017128543B4 (de) Störbereich-einstellvorrichtung für einen mobilen roboter
DE102006055359B4 (de) Roboter und Verfahren zur Vermeidung einer Interferenz bei vielen Robotern
DE102015000587B4 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
DE112011105151B4 (de) Roboterkontrollvorrichtung
DE112019000097B4 (de) Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
DE102019006800A1 (de) Robotersteuerung und Anzeigevorrichtung unter Verwendung von erweiterter Realität und gemischter Realität
DE102016122678A1 (de) Werkstückpositions-/-Stellungsberechnungssystem und Handhabungssystem
DE102018001026A1 (de) Robotersystem mit einer lernenden steuerungsfunktion und lernendes steuerungsverfahren
DE112020004852T5 (de) Steuerungsverfahren, steuerungsvorrichtung, robotersystem, programm und aufzeichnungsmedium
DE202008014481U1 (de) Tragbares Roboterkontrollgerät zum Kontrollieren einer Bewegung eines Roboters
CN111438687A (zh) 判定装置
DE102020110252B4 (de) Vibrationsanzeigeeinrichtung, Betriebsprogrammerstellungseinrichtung und System
DE102018009169A1 (de) Steuervorrichtung zum Begrenzen der Geschwindigkeit eines Roboters
EP3725472A1 (de) Verfahren zum ermitteln einer trajektorie eines roboters
DE102020129967A1 (de) Simulationsvorrichtung und Robotersystem mit erweiterter Realität
DE102020130520A1 (de) Verfahren zum steuern eines roboters in gegenwart menschlicher bediener
DE102019007186A1 (de) Robotersystem und Robotersteuerungsverfahren für kooperatives Arbeiten mit Menschen
DE102020114583A1 (de) Rechenvorrichtung, Maschinenlernverfahren und Speichermedium
DE102018114445B4 (de) Vorrichtung und Verfahren zur Einschätzung einer Position des Schwerpunkts eines Roboters
WO2017016641A2 (de) Verfahren und system zum steuern eines roboters
DE112020003605T5 (de) Bildverarbeitungseinrichtung, abbildungsvorrichtung, roboter und robotersystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE