DE102015004481B4 - Robotersteuervorrichtung zum Steuern eines gemäß einer ausgeübten Kraft bewegten Roboters - Google Patents

Robotersteuervorrichtung zum Steuern eines gemäß einer ausgeübten Kraft bewegten Roboters Download PDF

Info

Publication number
DE102015004481B4
DE102015004481B4 DE102015004481.8A DE102015004481A DE102015004481B4 DE 102015004481 B4 DE102015004481 B4 DE 102015004481B4 DE 102015004481 A DE102015004481 A DE 102015004481A DE 102015004481 B4 DE102015004481 B4 DE 102015004481B4
Authority
DE
Germany
Prior art keywords
force
axis
robot
tip
unit
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.)
Active
Application number
DE102015004481.8A
Other languages
English (en)
Other versions
DE102015004481A1 (de
Inventor
Takahiro IWATAKE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102015004481A1 publication Critical patent/DE102015004481A1/de
Application granted granted Critical
Publication of DE102015004481B4 publication Critical patent/DE102015004481B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • 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/37Measurements
    • G05B2219/37357Force, pressure, weight or deflection

Abstract

Robotersteuervorrichtung (10) eines Robotersystems (11), das einen Roboter (50) auf der Grundlage einer Kraft bewegt, die auf den Roboter ausgeübt wird, der eine Vielzahl von Achsen umfasst, die mindestens eine Drehachse beinhalten, wobei die Robotersteuervorrichtung Folgendes umfasst:
eine Kraftmesseinheit (21), welche die Kraft misst, die auf eine Spitze des Roboters ausgeübt wird;
eine Einheit zum Einstellen einer Betätigungsachse (25), die eine Achse, die gemäß der Kraft rotatorisch bewegt wird, als eine Betätigungsachse unter der mindestens einen Drehachse einstellt, und eine Drehbewegungsrichtung der Betätigungsachse einstellt, die gemäß einer Richtung der Kraft bestimmt wird;
eine Einheit zum Erfassen einer ersten Betätigungskraft (22), die, wenn eine Kraft, die eine Translationskomponente der Kraft umfasst, die von der Kraftmesseinheit gemessen wird, als erste auf die Spitze ausgeübte Kraft angenommen wird, auf der Grundlage der ersten auf die Spitze ausgeübten Kraft eine Kraft ermittelt, welche die Translationskomponente der Kraft umfasst, die in einer Ebene vorliegt, die zu einer Drehmittellinie der Betätigungsachse orthogonal ist und um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, und auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, eine erste virtuelle Kraft ermittelt, die virtuell auf die Betätigungsachse ausgeübt wird, um davon auszugehen, dass die erste virtuelle Kraft eine erste Betätigungskraft ist; und
eine Betätigungsbefehlseinheit (24), die auf der Grundlage einer Betätigungskraft, die aus der ersten Betätigungskraft bestimmt wird, einen Betätigungsbefehl zum Bewegen der Betätigungsachse, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, ausgibt,
wobei die Betätigungsbefehlseinheit eine Zielbewegungsrichtung und eine Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der ersten Betätigungskraft und der Drehbewegungsrichtung ermittelt, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, um die Betätigungsachse zu bewegen.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Robotersteuervorrichtung zum Steuern eines Roboters, der gemäß einer Kraft bewegt wird, die auf den Roboter ausgeübt wird. Genauer gesagt betrifft die Erfindung eine Robotersteuervorrichtung eines Robotersystems, die einen Roboter auf der Grundlage einer Kraft bewegt, die auf den Roboter ausgeübt wird, der eine Vielzahl von Achsen umfasst, die mindestens eine Drehachse umfassen.
  • Beschreibung der verwandten Technik
  • Direktes Einlernen (engl. direct teaching) ist als Roboterbedienungsverfahren bekannt, um einen Roboter zu bewegen, indem eine Kraft auf den Roboter ausgeübt wird, oder als Verfahren zum Lehren einer Position, indem der Roboter bewegt wird. In diesem Fall wird eine Kraft in einer Richtung ausgeübt, in die der Roboter bewegt werden soll, um den Roboter direkt anzuleiten, wodurch der Roboter bis zu einer gewünschten Position und/oder einer gewünschten Stellung in einem orthogonalen Koordinatensystem bewegt werden kann.
  • Die JP S56- 85 106 A offenbart ein Verfahren zum Bewegen einer Position und einer Stellung einer Spitze eines Roboterarms auf der Grundlage eines Signals, das von einem Kraftdetektor generiert wird, wenn eine manuelle Betätigungseinheit des Kraftdetektors betätigt wird, die an der Spitze des Roboterarms angebracht ist.
  • Die JP H06- 250 728 A offenbart eine direkte Lehrvorrichtung. Bei dieser Vorrichtung ermittelt ein Kraftsensor, der an einem Roboter angebracht ist, eine künstlich ausgeübte Kraft, und mit der Verwendung eines Signals der Kraft werden eine Position und eine Stellung des Roboters bewegt, während ein Roboterarm nur in einer spezifischen Richtung in einem kartesischen Koordinatensystem bewegt wird.
  • In der JP S56- 85 106 A wird bzw. werden die Position und/oder die Stellung der Spitze des Roboterarms in dem orthogonalen Koordinatensystem gemäß der Kraft bewegt. Dadurch kann bei dem Verfahren der JP S56- 85 106 A die Position jeder gewünschten Achse während des direkten Einlernens nicht bewegt werden.
  • In der JP H06- 250 728 A, wenn der Roboter durch direktes Einlernen bewegt wird, ist die Bewegungsrichtung des Roboters auf die spezifische Richtung eingeschränkt, um die Bedienbarkeit zu verbessern. Die spezifische Richtung ist eine Richtung, die mit der Position und/oder der Stellung der Spitze des Roboterarms in dem kartesischen Koordinatensystem verknüpft ist. Entsprechend schlägt die JP H06- 250 728 A nicht vor, eine anzusteuernde Achse und dergleichen einzuschränken, wie etwa durch Umschalten, um jede Achse zu steuern, und Ansteuern nur einer gewissen gewünschten Achse bei dem direkten Einlernen.
  • Das Dokument DE 10 2009 018 403 A1 lehrt ein Verfahren zur Regelung eines mehrachsigen Manipulators, bei der eine Führungsachse nachgiebig und eine weitere Achse steif geregelt wird und ein Soll-Wert der weiteren Achse auf Basis eines IstWertes der Führungsachse bestimmt wird.
  • Das Dokument DE 10 2012 009 010 A1 offenbart ein Verfahren zum Erzeugen einer Bewegung eines Roboters, bei dem der Roboter entlang einer Bewegungsbahn geführt und auszuübende Kräfte oder Drehmomente Referenzpunkten entlang der Bewegungsbahn zugeordnet werden.
  • Das Dokument DE 10 2007 062 108 A1 offenbart ein Verfahren zum Programmieren eines Industrieroboters, der zu einer virtuellen Fläche im Raum manuell geführt wird und sich bei Erreichen dieser Fläche nicht weiter manuell führen lässt. Die Kräfte und/oder Drehmomente, die entstehen, wenn ein manuelles Weiterführen des Roboters an dieser Fläche versucht wird, werden anschließend gespeichert.
  • Das Dokument DE 10 2010 029 745 A1 lehrt ferner ein Werkstück-Handhabungssystem mit zwei Manipulatoren, wobei ein Manipulator manuell führbar ist und der zweite Manipulator angesteuert wird, um die Bewegungen des ersten Manipulators zu spiegeln.
  • Das Dokument DE 10 2010 019 640 A1 lehrt ein tragbares Handgerät zum Steuern und/oder Programmieren eines Manipulators, umfassend eine Krafterfassungseinrichtung, die wahlweise Vorgabe von Positions- oder Kraftkomponenten als Sollgrößen und/oder die Detektion eines Kontaktes des Handgerätes mit der Umgebung ermöglicht.
  • Die vorliegende Erfindung wurde in Anbetracht dieser Bedingungen erreicht. Es ist eine Aufgabe der Erfindung, eine Robotersteuervorrichtung bereitzustellen, die, wenn sie eine Position und/oder eine Stellung einer Spitze eines Roboters in einem orthogonalen Koordinatensystem bewegt, indem sie den Roboter unter Ausübung einer Kraft auf die Spitze des Roboterarms bewegt, es seiner Spitze erlaubt, in eine Position bewegt zu werden, in der es schwierig oder gar unmöglich ist, seine Spitze zu bewegen. Die Erfindung verbessert ferner auch die Bedienbarkeit einer derartigen Robotersteuervorrichtung.
  • Kurzdarstellung Der Erfindung
  • Die erfindungsgemäße Aufgabe wird durch eine Robotersteuervorrichtung nach Anspruch 1 gelöst. Ferner wird die erfindungsgemäße Aufgabe durch eine Robotersteuervorrichtung nach Anspruch 2 gelöst. Darüber hinaus wird die erfindungsgemäße Aufgabe durch eine Robotersteuervorrichtung nach Anspruch 3 gelöst.
  • Um die zuvor erwähnte Aufgabe zu erreichen, wird gemäß einem ersten Aspekt der Erfindung eine Robotersteuervorrichtung eines Robotersystems bereitgestellt, die einen Roboter auf der Grundlage einer Kraft bewegt, die auf den Roboter ausgeübt wird, der eine Vielzahl von Achsen umfasst, die mindestens eine Drehachse umfassen, wobei die Robotersteuervorrichtung Folgendes umfasst: eine Kraftmesseinheit, welche die Kraft misst, die auf eine Spitze des Roboters ausgeübt wird; eine Einheit zum Einstellen einer Betätigungsachse, die eine Achse einstellt, die gemäß der Kraft als Betätigungsachse unter der mindestens einen Drehachse rotatorisch bewegt wird, und eine Drehbewegungsrichtung der Betätigungsachse einstellt, die gemäß einer Richtung der Kraft bestimmt wird; eine Einheit zum Erfassen einer ersten Betätigungskraft, die, wenn eine Kraft, die eine Translationskomponente der Kraft umfasst, die von der Kraftmesseinheit gemessen wird, als erste auf die Spitze ausgeübte Kraft angenommen wird, auf der Grundlage der ersten auf die Spitze ausgeübten Kraft eine Kraftermittelt, welche die Translationskomponente der Kraft umfasst, die in einer Ebene vorliegt, die zu einer Drehmittellinie der Betätigungsachse orthogonal ist und um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, und auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, eine erste virtuelle Kraftermittelt, die virtuell auf die Betätigungsachse ausgeübt wird, um davon auszugehen, dass die erste virtuelle Kraft eine erste Betätigungskraft ist; und eine Betätigungsbefehlseinheit die auf der Grundlage einer Betätigungskraft, die aus der ersten Betätigungskraft bestimmt wird, einen Betätigungsbefehl zum Bewegen der Betätigungsachse ausgibt, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, wobei die Betätigungsbefehlseinheit eine Zielbewegungsrichtung und eine Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der ersten Betätigungskraft und der Bewegungsrichtung, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, ermittelt, um die Betätigungsachse zu bewegen.
  • Gemäß einem zweiten Aspekt der Erfindung wird eine Robotersteuervorrichtung eines Robotersystems bereitgestellt, die einen Roboter auf der Grundlage einer Kraft bewegt, die auf den Roboter ausgeübt wird, der eine Vielzahl von Achsen umfasst, die mindestens eine Drehachse umfassen, wobei die Robotersteuervorrichtung Folgendes umfasst: eine Kraftmesseinheit, welche die Kraft misst, die auf eine Spitze des Roboters ausgeübt wird; eine Einheit zum Einstellen einer Betätigungsachse, die eine Achse einstellt, die gemäß der Kraft als Betätigungsachse unter der mindestens einen Drehachse rotatorisch bewegt wird, und eine Drehbewegungsrichtung der Betätigungsachse einstellt, die gemäß einer Richtung der Kraft bestimmt wird; eine Einheit zum Erfassen einer zweiten Betätigungskraft, die, wenn eine Kraft, die eine Momentenkomponente der Kraft umfasst, die von der Kraftmesseinheit gemessen wird, als eine zweite auf die Spitze ausgeübte Kraft angenommen wird, auf der Grundlage der zweiten auf die Spitze ausgeübten Kraft eine zweite virtuelle Kraft ermittelt, die virtuell auf die Betätigungsachse ausgeübt wird, um davon auszugehen, dass die zweite virtuelle Kraft eine zweite Betätigungskraft ist; und eine Betätigungsbefehlseinheit, die auf der Grundlage einer Betätigungskraft, die aus der zweiten Betätigungskraft bestimmt wird, einen Betätigungsbefehl zum Bewegen der Betätigungsachse ausgibt, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, wobei die Betätigungsbefehlseinheit eine Zielbewegungsrichtung und eine Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der zweiten Betätigungskraft und der Bewegungsrichtung, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, ermittelt, um die Betätigungsachse zu bewegen.
  • Gemäß einem dritten Aspekt der Erfindung wird eine Robotersteuervorrichtung eines Robotersystems bereitgestellt, die einen Roboter auf der Grundlage einer Kraft bewegt, die auf den Roboter ausgeübt wird, der eine Vielzahl von Achsen umfasst, die mindestens eine Drehachse umfassen, wobei die Robotersteuervorrichtung Folgendes umfasst: eine Kraftmesseinheit, welche die Kraft misst, die auf eine Spitze des Roboters ausgeübt wird; eine Einheit zum Einstellen einer Betätigungsachse, die eine Achse einstellt, die gemäß der Kraft als Betätigungsachse unter der mindestens einen Drehachse rotatorisch bewegt wird, und eine Drehbewegungsrichtung der Betätigungsachse einstellt, die gemäß einer Richtung der Kraft bestimmt wird; eine Einheit zum Erfassen einer ersten Betätigungskraft, die, wenn eine Kraft, die eine Translationskomponente der Kraft umfasst, die von der Kraftmesseinheit gemessen wird, als erste auf die Spitze ausgeübte Kraft angenommen wird, auf der Grundlage der ersten auf die Spitze ausgeübten Kraft eine Kraft ermittelt, welche die Translationskomponente der Kraft umfasst, die in einer Ebene vorliegt, die zu einer Drehmittellinie der Betätigungsachse orthogonal ist und um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, und auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, eine erste virtuelle Kraft ermittelt, die virtuell auf die Betätigungsachse ausgeübt wird, um davon auszugehen, dass die erste virtuelle Kraft eine erste Betätigungskraft ist; eine Einheit zum Erfassen einer zweiten Betätigungskraft, die, wenn eine Kraft die eine Momentenkomponente der Kraft umfasst, die von der Kraftmesseinheit gemessen wird, als eine zweite auf die Spitze ausgeübte Kraft angenommen wird, auf der Grundlage der zweiten auf die Spitze ausgeübten Kraft eine zweite virtuelle Kraft ermittelt, die virtuell auf die Betätigungsachse ausgeübt wird, um davon auszugehen, dass die zweite virtuelle Kraft eine zweite Betätigungskraft ist; und eine Betätigungsbefehlseinheit, die auf der Grundlage einer Betätigungskraft, die aus der ersten Betätigungskraft und der zweiten Betätigungskraft bestimmt wird, einen Betätigungsbefehl zum Bewegen der Betätigungsachse ausgibt, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, wobei die Betätigungsbefehlseinheit eine Zielbewegungsrichtung und eine Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der ersten Betätigungskraft, der zweiten Betätigungskraft und der Bewegungsrichtung, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, ermittelt, um die Betätigungsachse zu bewegen.
  • Gemäß einem vierten Aspekt der Erfindung, wenn in dem ersten Aspekt oder dem dritten Aspekt die Befehlsbetätigungseinheit die Zielbewegungsrichtung und die Zielbewegungsgeschwindigkeit der Betätigungsachse ermittelt, ermittelt die Befehlsbetätigungseinheit eine Zielbewegungsrichtung und eine Zieltangentialgeschwindigkeit der Spitze des Roboters um die Drehmittellinie der Betätigungsachse herum und ermittelt die Zielbewegungsrichtung und die Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der Zielbewegungsrichtung und der Zieltangentialgeschwindigkeit der Spitze des Roboters, um die Betätigungsachse zu bewegen.
  • Gemäß einem fünften Aspekt der Erfindung, wenn in dem zweiten Aspekt oder dem dritten Aspekt die Befehlsbetätigungseinheit die Zielbewegungsrichtung und die Zielbewegungsgeschwindigkeit der Betätigungsachse ermittelt, ermittelt die Befehlsbetätigungseinheit eine Zielbewegungsrichtung und eine Zieltangentialgeschwindigkeit der Spitze des Roboters um eine oder die Drehmittellinie der Betätigungsachse herum und ermittelt die Zielbewegungsrichtung und die Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der Zielbewegungsrichtung und der Zieltangentialgeschwindigkeit der Spitze des Roboters, um die Betätigungsachse zu bewegen.
  • Gemäß einem sechsten Aspekt der Erfindung ermittelt in einem von dem ersten Aspekt, dem dritten Aspekt und dem vierten Aspekt die Einheit zum Erfassen einer ersten Betätigungskraft die Kraft, welche die Translationskomponente der Kraft umfasst, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ersten auf die Spitze ausgeübten Kraft und berechnet eine Momentenkomponente der Kraft, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelte Kraft ausgeübt wird, welche die Translationskomponente der Kraft umfasst, um eine Richtung und eine Größe der ersten Betätigungskraft zu ermitteln.
  • Gemäß einem siebten Aspekt der Erfindung ermittelt in einem von dem ersten Aspekt, dem dritten Aspekt und dem vierten Aspekt die Einheit zum Erfassen einer ersten Betätigungskraft die Kraft, welche die Translationskomponente der Kraft umfasst, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ersten auf die Spitze ausgeübten Kraft und berechnet eine Momentenkomponente der Kraft, die um Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, wobei auf der Grundlage eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, eine Größe des Positionsvektors auf einen vorbestimmten Wert eingestellt wird, um eine Richtung und eine Größe der ersten Betätigungskraft zu ermitteln.
  • Gemäß einem achten Aspekt der Erfindung ermittelt in einem von dem ersten Aspekt, dem dritten Aspekt und dem vierten Aspekt die Einheit zum Erfassen einer ersten Betätigungskraft die Kraft, welche die Translationskomponente der Kraft umfasst, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage einer Richtung, in der die erste auf die Spitze ausgeübte Kraft ausgeübt wird, und einer Drehbetätigungsrichtung in eine vorbestimmte Richtung und berechnet eine Momentenkomponente der Kraft, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, um eine Richtung und eine Größe der ersten Betätigungskraft zu ermitteln.
  • Gemäß einem neunten Aspekt der Erfindung ermittelt in einem von dem ersten Aspekt, dem dritten Aspekt und dem vierten Aspekt die Einheit zum Erfassen einer ersten Betätigungskraft die Kraft, welche die Translationskomponente der Kraft umfasst, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, die auf der Grundlage einer Richtung, in der die erste auf die Spitze ausgeübte Kraft ausgeübt wird, und einer Drehbetätigungsrichtung in eine vorbestimmte Richtung berechnet wird, und berechnet eine Momentenkomponente der Kraft, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, wobei auf der Grundlage eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, eine Größe des Positionsvektors auf einen vorbestimmten Wert eingestellt wird, um eine Richtung und eine Größe der ersten Betätigungskraft zu ermitteln.
  • Gemäß einem zehnten Aspekt der Erfindung ermittelt in einem von dem ersten Aspekt, dem dritten Aspekt und dem vierten Aspekt die Einheit zum Erfassen einer ersten Betätigungskraft die Kraft, welche die Translationskomponente der Kraft umfasst, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ersten auf die Spitze ausgeübten Kraft, ermittelt eine Richtung der ersten Betätigungskraft auf der Grundlage einer Richtung der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, und ermittelt eine Größe der ersten Betätigungskraft auf der Grundlage einer Größe der ermittelten Kraft, welche die Translationskomponente der Kraft oder eine Größe der ersten auf die Spitze ausgeübten Kraft umfasst.
  • Gemäß einem elften Aspekt der Erfindung berechnet in einem von dem zweiten Aspekt, dem dritten Aspekt und dem fünften Aspekt die Einheit zum Erfassen einer zweiten Betätigungskraft eine Momentenkomponente der Kraft, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, durch die zweite auf die Spitze ausgeübte Kraft, um eine Richtung und eine Größe der zweiten Betätigungskraft zu ermitteln.
  • Gemäß einem zwölften Aspekt der Erfindung wird in dem siebten Aspekt oder dem neunten Aspekt der vorbestimmte Wert in dem Maße verringert, wie eine kürzeste Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze des Roboters zunimmt.
  • Gemäß einem dreizehnten Aspekt der Erfindung wird in dem achten Aspekt die vorbestimmte Richtung auf eine Richtung geändert, in der ein Winkel, der von der vorbestimmten Richtung und dem Positionsvektor gebildet wird, in dem Maße abnimmt, wie eine kürzeste Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze des Roboters zunimmt.
  • Gemäß einem vierzehnten Aspekt der Erfindung ermittelt in einem von den ersten bis dreizehnten Aspekten die Betätigungsbefehlseinheit eine Bewegungsgeschwindigkeit der Betätigungsachse durch eine Kraftsteuerung basierend auf einer Kraftsteuerungsverstärkung und verringert die Kraftsteuerungsverstärkung in dem Maße, wie die kürzeste Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze des Roboters zunimmt.
  • Die vorstehenden und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der nachstehenden ausführlichen Beschreibung typischer Ausführungsformen der Erfindung, die in den beiliegenden Zeichnungen abgebildet sind, besser hervorgehen.
  • Figurenliste
  • Es zeigen:
    • 1 ein Diagramm, das eine schematische Struktur eines Robotersystems mit einem Roboter, der von einer Robotersteuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung gesteuert wird, abbildet;
    • 2 ein Diagramm, das funktionsmäßig eine Struktur der Robotersteuervorrichtung gemäß einer Ausführungsform der Erfindung abbildet;
    • 3 ein Ablaufschema, das einen Prozess zum Verarbeiten durch die Robotersteuervorrichtung gemäß einer Ausführungsform der Erfindung abbildet;
    • 4 ein Diagramm, das einen Zustand abbildet, in dem eine Kraft Fs auf eine Spitze des Roboterarms ausgeübt wird;
    • 5 ein Diagramm zum Erläutern eines Verfahrens zum Berechnen einer Betätigungskraft im Verhältnis zu einer Betätigungsachse, die in 4 abgebildet ist;
    • 6 ein Diagramm, das ein Beispiel eines Verfahrens zum Berechnen einer Kraft Fp abbildet;
    • 7 ein Diagramm, das ein anderes Beispiel des Verfahrens zum Berechnen der Kraft Fp abbildet;
    • 8 ein Diagramm zum Erläutern eines anderen Verfahrens zum Berechnen einer Betätigungskraft im Verhältnis zur Betätigungsachse;
    • 9 ein Diagramm zum Erläutern eines anderen Verfahrens zum Berechnen einer Betätigungskraft im Verhältnis zur Betätigungsachse;
    • 10 ein Diagramm, das ein Beispiel eines Verfahrens zum Drehen einer Richtung der Kraft Fp abbildet;
    • 11 ein Diagramm zum Erläutern eines anderen Verfahrens zum Berechnen einer Betätigungskraft im Verhältnis zur Betätigungsachse; und
    • 12 ein Diagramm zum Erläutern eines anderen Verfahrens zum Berechnen einer Betätigungskraft im Verhältnis zur Betätigungsachse.
  • Ausführliche Beschreibung
  • Nachstehend werden Ausführungsbeispiele der vorliegenden Erfindung mit Bezug auf die beiliegenden Zeichnungen beschrieben. In den nachstehenden Zeichnungen sind die gleichen Elemente mit den gleichen Bezugszeichen bezeichnet. Zum einfacheren Verständnis wird der Maßstab der Zeichnungen je nach Bedarf geändert.
  • Nachstehend geht man davon aus, dass der Begriff „Kraft“ eine Translationskomponente einer Kraft und eine Momentenkomponente der Kraft umfasst. Zusätzlich geht man davon aus, dass der Ausdruck „Position und/oder Stellung“ eine Position oder eine Stellung oder aber eine Position und eine Stellung bedeutet.
  • Zusätzlich stellt nachstehend der Begriff „Achse“ einen Gelenkabschnitt dar, der Glieder, die einen Roboter bilden, miteinander verbindet, und man geht davon aus, dass es sich um einen Abschnitt handelt, der eine Positionsbeziehung und eine Winkelbeziehung zwischen den Gliedern ändert. Das Ändern einer Position einer Achse (d.h. das Ändern eines Winkels einer Drehachse) ermöglicht das Ändern der Positionsbeziehung zwischen den Gliedern, woraufhin die Position und/oder die Stellung einer Spitze des Roboterarms geändert werden kann bzw. können. Es kann ein Stellglied zum Bewegen einer Achsenposition an einem anderen Abschnitt als einem Achsenabschnitt angeordnet sein.
  • Zusätzlich geht man davon aus, dass eine Kraft, die um eine Drehmittellinie einer Achse des Roboters herum ausgeübt wird, oder eine Kraft, die um die Drehmittellinie der Achse des Roboters herum einwirkt, wenn die Achse des Roboters eine Drehachse ist und ein Koordinatensystem im Verhältnis zu der Achse des Roboters derart eingestellt wird, dass eine Achse des Koordinatensystems mit der Drehmittellinie der Achse des Roboters zusammenfällt, eine Kraft in einer Translationsrichtung oder ein Moment einer Kraft ist, die um die Drehmittellinie der Achse des Roboters herum ausgeübt wird, die in einer Ebene vorliegt, die orthogonal zur Drehmittellinie der Achse des Roboters in dem Koordinatensystem ist, dessen Ursprung ein Schnittpunkt der Drehmittellinie der Achse des Roboters und der Ebene ist.
  • In der vorliegenden Erfindung bedeutet eine Kraftsteuerungsverstärkung einen Koeffizienten zum Erzielen einer Bewegungsmenge der Position und/oder der Stellung der Spitze des Roboterarms, einer Position jeder Achse des Roboters und dergleichen in einem orthogonalen Koordinatensystem in jedem Steuerzyklus auf der Grundlage einer Größe einer ausgeübten Kraft bei einer Kraftsteuerung zum Bewegen des Roboters gemäß der ausgeübten Kraft.
  • 1 ist ein schematisches Diagramm, das ein Strukturbeispiel eines Robotersystems 11, das mit einem Roboter 50 versehen ist, der von einer Robotersteuervorrichtung 10 gesteuert wird, gemäß einer Ausführungsform der vorliegenden Erfindung abbildet. Das Robotersystem 11 ist mit der Robotersteuervorrichtung 10 und dem Roboter 50 versehen, wobei eine Position jeder Achse in jedem Steuerzyklus von der Robotersteuervorrichtung 10 gesteuert wird.
  • Wenn in dem Robotersystem 11 ein Bediener 60 eine Kraft auf eine Spitze 58 des Roboters 50 ausübt, steuert die Robotersteuervorrichtung 10 ein Stellglied, um jede Achse des Roboters 50 auf der Grundlage der Kraft, auf die Spitze 58 des Roboters 50 ausgeübt wird, die von einer Kraftmesseinheit gemessen wird, von Einstelldaten, von Positionsdaten des Roboters 50 und dergleichen zu bewegen. Auf diese Art und Weise werden die Positionen der Achsen, die den Roboter 50 bilden, geändert, wodurch der Roboter 50 bewegt werden kann.
  • Die Robotersteuervorrichtung 10 weist eine Hardware-Struktur auf, die eine Rechenverarbeitungseinheit, einen ROM und einen RAM umfasst, und führt diverse Funktionen aus, die noch beschrieben werden.
  • Der Roboter 50, der von der Robotersteuervorrichtung 10 gemäß einer Ausführungsform der vorliegenden Erfindung gesteuert wird, umfasst Achsen, die mindestens eine Drehachse umfassen.
  • Der in 1 abgebildete Roboter 50 umfasst sechs Achsen. Man geht davon aus, dass diese sechs Achsen der Reihe nach von einer Seite des Roboters 50 aus, die näher an einer Basis desselben ist, wie folgt eingestellt sind: eine erste Achse ist die J1-Achse 51; eine zweite Achse ist die J2-Achse 52; eine dritte Achse ist die J3-Achse 53; eine vierte Achse ist die J4-Achse 54; eine fünfte Achse ist die J5-Achse 55; und eine sechste Achse ist die J6-Achse 56.
  • Wie auf der rechten Seite von 1 angegeben, sind die J1-Achse 51, die J4-Achse 54 und die J6-Achse 56 als Drehachsen R1 gebildet, die sich um die Glieder herum drehen, welche die Achsen miteinander verbinden. Zusätzlich sind die J2-Achse 52, die J3-Achse 53 und die J5-Achse 55 als Drehachsen R2 gebildet, die sich um eine Richtung herum drehen, die zu den Gliedern, welche die Achsen miteinander verbinden, orthogonal ist.
  • 1 ist eine einfache erläuternde Ansicht, um eine Struktur der Achsen des Roboters 50 darzustellen. Wenn man zusätzlich davon ausgeht, dass ein Ursprung jeder Achse ein Ursprung eines Koordinatensystems, das an jeder Achse eingestellt ist, und ebenfalls ein Punkt, an dem die Glieder miteinander verbunden sind, ist, geht man davon aus, dass eine Position des Ursprungs jeder Achse als eine Position derselben in einem Koordinatensystem dargestellt wird, das in einem Raum eingestellt ist. Nachstehend geht man davon aus, dass das Koordinatensystem, das im Raum eingestellt ist, ein Referenzkoordinatensystem ist. Die Achsenursprünge der J1-Achse 51 und der J2-Achse 52 werden als in der gleichen Position befindlich angenommen; die Ursprünge der J3-Achse 53 und der J4-Achse 54 werden als in der gleichen Position befindlich angenommen; und die Ursprünge der J5-Achse 55 und der J6-Achse 56 werden als in der gleichen Position befindlich angenommen.
  • Wenn bei dem vorliegenden praktischen Beispiel mit Bezug auf eine Achse, die als Drehachse eingestellt ist, beschrieben wird, dass die Position der Achse bewegt wird, geht man davon aus, dass die Position der Achse einen Winkel der Drehachse bedeutet, und man geht davon aus, dass das Bewegen der Position der Achse ein Drehen der Drehachse bedeutet, um ihre Position zu ändern. Wenn zusätzlich auf die Position des Ursprungs einer Achse Bezug genommen wird, geht man davon aus, dass dies eine Position des Ursprungs des Koordinatensystems darstellt, das an jeder Achse in dem Koordinatensystem eingestellt ist, das im Verhältnis zum Raum eingestellt ist. Ferner geht man davon aus, dass das Koordinatensystem, das im Verhältnis zum Raum eingestellt ist, ein Koordinatensystem zum Darstellen von Positionen und/oder Stellungen der Spitze 58 des Roboters 50, eines Flansches 57, der verwendet wird, um die Spitze 58 an dem Roboter 50 anzubringen, des Koordinatensystems, das an jeder Achse eingestellt ist, und dergleichen in einem orthogonalen Koordinatensystem, das im Verhältnis zum Raum festgelegt ist, ist.
  • Zusätzlich geht man davon aus, dass ein Koordinatensystem, das im Verhältnis zum Roboter 50 eingestellt ist, um eine Position und/oder eine Stellung des Roboters 50 in dem Referenzkoordinatensystem darzustellen, das im Verhältnis zum Raum eingestellt ist, ein Werkzeugkoordinatensystem ist. Man geht davon aus, dass der Ursprung des Werkzeugkoordinatensystems, bei dem es sich um einen Punkt handelt, der translationsmäßig bewegt wird, oder um einem Mittelpunkt der Drehbewegung, ein Steuerpunkt ist. Man geht davon aus, dass ein Koordinatensystem, bei dem ein Koordinatensystem parallel zum Referenzkoordinatensystem eingestellt ist, ein Steuerkoordinatensystem ist. Die Position des Steuerpunktes kann eine beliebige Position sein, solange es sich um eine Position handelt, die im Verhältnis zum Roboter 50 eingestellt ist.
  • Bei dem vorliegenden praktischen Beispiel geht man davon aus, dass alle sechs Achsen des Roboters 50 Drehachsen sind. Der Roboter 50 kann jedoch eine lineare Bewegungsachse umfassen. Zusätzlich ist der Roboter 50 ein senkrechter mehrgelenkiger Roboter mit sechs Achsen. Der Roboter 50 kann jedoch ein beliebiger bekannter Roboter sein, der eine beliebige andere Konfiguration aufweist, solange es ein Roboter ist, der eine oder mehrere Drehachsen umfasst und die Steuerung der Position jeder Achse und die Steuerung der orthogonalen Position erlaubt.
  • Die Spitze 58 des Roboters 50 ist ein Abschnitt mit einem Objekt, das an dem Flansch 57 des Roboters 50 angebracht ist. Ein sechsachsiger Kraftsensor ist an der Spitze 58 des Roboters 50 angebracht, obwohl dies in der Zeichnung nicht abgebildet ist. Die Robotersteuervorrichtung 10 bewirkt, dass eine Kraftmesseinheit 21, die noch beschrieben wird, eine Kraft, die auf die Spitze 58 des Roboters 50 von dem Bediener 60 ausgeübt wird, auf der Grundlage einer Ausgabe des Kraftsensors, die in jedem vorbestimmten Zeitintervall ermittelt wird, misst.
  • Die Kraftmesseinheit 21 stellt ein Koordinatensystem ein, dessen Ursprung sich in einem Punkt befindet, an dem die Kraft an der Spitze 58 des Roboters 50 gemessen wird. Dann misst die Kraftmesseinheit 21 als Kraft, die auf die Spitze 58 des Roboters 50 ausgeübt wird, eine Translationskomponente F der Kraft und eine Momentenkomponente M der Kraft in dem Koordinatensystem. Nachstehend geht man davon aus, dass das Koordinatensystem ein Kraftmess-Koordinatensystem ist, und man geht davon aus, dass der Ursprung des Koordinatensystems ein Kraftmesspunkt ist. In diesem Fall werden die Translationskomponenten der Kraft jeweils auf einer X-Achse, einer Y-Achse und einer Z-Achse des Koordinatensystems, das an der Spitze 58 des Roboters 50 eingestellt ist, jeweils als Fx, Fy und Fz dargestellt, und die Momentenkomponenten der Kraft, die jeweils um die X-Achse, die Y-Achse und die Z-Achse herum ermittelt werden, werden jeweils als Mx, My und Mz dargestellt.
  • Der Kraftmesspunkt kann ein Punkt sein, an dem eine Kraft ausgeübt wird, an dem der Bediener eine Kraft ausübt, ein Ursprung eines Sensorkoordinatensystems, das am Kraftsensor eingestellt ist, ein Axialpunkt des Sensorkoordinatensystems oder dergleichen.
  • Bei dem vorliegenden praktischen Beispiel werden sechs Komponenten der Kraft gemessen. Es kann jedoch nur die Translationskomponente F der Kraft oder nur die Momentenkomponente M der Kraft gemessen werden. Zusätzlich kann eine Kraftsensor-Anbringungsposition eine beliebige Position sein, solange eine Kraft, die auf die Spitze 58 des Roboters 50 ausgeübt wird, gemessen werden kann. Zusätzlich kann die Kraftmesseinheit zum Messen einer Kraft, die auf die Spitze 58 des Roboters 50 ausgeübt wird, ein Kraftsensor mit drei Achsen anstelle eines Kraftsensors mit sechs Achsen sein.
  • Zusätzlich kann die Kraftmesseinheit 21 die Kraft, die auf die Spitze 58 des Roboters 50 ausgeübt wird, auf der Grundlage eines elektrischen Stromwerts, wobei das Stellglied zum Bewegen der Achsen, die den Roboter 50 bilden, ein Motor ist, eine Abweichung zwischen einer befohlenen Position jeder Achse und einer tatsächlichen Position derselben, eine Ausgabe eines Drehmomentsensors, der an jeder Achse angebracht ist, oder dergleichen schätzen.
  • An der Spitze 58 des Roboters 50 ist ein Werkzeug angebracht, um Aufgaben auszuführen, die eine Verarbeitung eines Werkstücks und das Tragen des Werkstücks umfassen, eine Manövriervorrichtung zum Ausführen eines Bewegungsvorgangs gemäß der Kraft, und dergleichen.
  • Das Werkzeug und die Manövriervorrichtung können an dem Kraftsensor angebracht sein, der an dem Roboter 50 angebracht ist. Alternativ kann der Kraftsensor an dem Werkzeug angebracht sein, das an dem Roboter 50 angebracht ist, und die Manövriervorrichtung kann auf einer Spitzenseite des Kraftsensors angebracht sein.
  • Wenn eine Kraft auf die Spitze 58 des Roboters 50 ausgeübt wird, kann die Kraft auf das Werkzeug ausgeübt werden, das an dem Kraftsensor angebracht ist, ohne die Manövriervorrichtung zu verwenden. Alternativ kann die Kraft auf die Manövriervorrichtung ausgeübt werden, die an dem Kraftsensor angebracht ist.
  • Wenn ein Bediener eine Kraft auf das Werkzeug oder die Manövriervorrichtung, das bzw. die an dem Kraftsensor angebracht ist, ausübt, um den Roboter 50 zu bewegen, gleicht die Kraftmesseinheit 21 je nach Bedarf den Einfluss des Werkzeugs oder der Manövriervorrichtung, das bzw. die an dem Kraftsensor angebracht ist, oder eines ergriffenen Objekts, wie etwa eines Werkstücks an der Kraft aus, die von dem Kraftsensor dank der Schwerkraft, der Trägheitskraft (einschließlich der Coriolis-Kraft und der Kreiselpräzession) und dergleichen ermittelt wird. Auf diese Art und Weise kann die Kraftmesseinheit 21 eine resultierende Kraft messen, die auf die Spitze 58 des Roboters 50 durch den Bediener ausgeübt wird.
  • Wenn eine Vorrichtung als eine Kombination aus Kraftsensor und Manövriervorrichtung an dem Werkzeug angebracht ist, das an der Spitze 58 des Roboters 50 angebracht ist, verringert sich der Einfluss des Objekts, das an dem Kraftsensor angebracht ist, auf den Kraftsensor auf Grund der Schwerkraft und der Trägheitskraft. Entsprechend verringert sich in diesem Fall ein Fehler beim Ermitteln der resultierenden Kraft ebenfalls.
  • Zusätzlich kann die Vorrichtung als Kombination aus Kraftsensor und Manövriervorrichtung unter Verwendung eines Magneten, einer Feder oder dergleichen an dem Werkzeug angebracht werden. In diesem Fall ist eine derartige Vorrichtung einfach abzunehmen. Zusätzlich ist es auch möglich, eine derartige Vorrichtung nur anzubringen, wenn der Roboter 50 durch Ausübung einer Kraft bewegt wird. Somit kann die Vorrichtung abgenommen werden, wenn ein Lehrvorgang nicht notwendig ist, oder eine derartige Vorrichtung kann je nach Bedarf in einem anderen Robotersystem verwendet werden.
  • 2 ist ein Diagramm, das funktionsmäßig eine Struktur der Robotersteuervorrichtung 10 gemäß einer Ausführungsform der Erfindung abbildet. Wie in 2 abgebildet, umfasst die Robotersteuervorrichtung 10 die zuvor beschriebene Kraftmesseinheit 21, eine Einheit zum Erfassen einer ersten Betätigungskraft 22, eine Einheit zum Erfassen einer zweiten Betätigungskraft 23, eine Betätigungsbefehlseinheit 24, eine Einheit zum Einstellen einer Betätigungsachse 25 und eine Speichereinheit 26.
  • Die Einheit zum Einstellen einer Betätigungsachse 25 stellt als Betätigungsachse eine Achse ein, die gemäß der Kraft von mindestens einer Drehachse, die den Roboter 50 bildet, rotatorisch bewegt wird, und stellt auch eine Drehbewegungsrichtung der Betätigungsachse ein, die gemäß einer Richtung der Kraft bestimmt wird. Die Einstellung der Betätigungsachse und die Drehbewegungsrichtung der Betätigungsachse, die gemäß der Richtung der Kraft bestimmt wird, werden auf der Grundlage von Einstellungen eingestellt, die in der Speichereinheit 26 der Robotersteuervorrichtung 10 gespeichert sind.
  • Zusätzlich kann gemäß einer Eingabe durch eine (nicht gezeigte) Eingabevorrichtung, die an die Robotersteuervorrichtung 10 angeschlossen ist, die Betätigungsachse geändert werden, oder die Drehbewegungsrichtung der Betätigungsachse, die gemäß der Richtung der Kraft bestimmt wird, kann geändert werden. Zusätzlich kann gemäß den Situationen des Bewegungsvorgangs, wie etwa die Position jeder Achse des Roboters 50 und der Kraft, die auf die Spitze des Roboters 50 ausgeübt wird, eine Achse, die als Betätigungsachse eingestellt wird, geändert werden, oder die Drehbewegungsrichtung der Betätigungsachse, die gemäß der Richtung der Kraft bestimmt wird, kann geändert werden.
  • Die Kraftmesseinheit 21 misst eine resultierende Kraft, die auf die Spitze 58 des Roboters 50 durch den Bediener 60 ausgeübt wird. Wie zuvor beschrieben, gleicht die Kraftmesseinheit 21 je nach Bedarf einen Einfluss aus, den das Werkzeug oder die Manövriervorrichtung, das bzw. die an der Spitze 58 des Roboters 50 angebracht ist, oder ein ergriffenes Objekt, wie etwa ein Werkstück, auf Grund von Schwerkraft, Trägheitskraft (einschließlich der Coriolis-Kraft oder der Kreiselpräzession) und dergleichen aufweist.
  • Der Ausgleich für den Einfluss der Schwerkraft und der Trägheitskraft, der durch das Objekt verursacht wird, das an dem Kraftsensor angebracht ist, erfolgt durch ein bekanntes Verfahren wie folgt. Bevor der Bediener eine Kraft auf das Objekt ausübt, das an dem Kraftsensor angebracht ist, werden Masse und Schwerpunkt des Objekts im Voraus berechnet. Dann wird auf die berechnete Masse und den Schwerpunkt und eine Bewegung des Roboters Bezug genommen, und ein bekanntes Verfahren, wie etwa eine Technik, die in dem japanischen Patent Nr. 4267027 offenbart wird, wird zur Berechnung verwendet.
  • Eine Kraft, die eine Translationskomponente einer Kraft umfasst, die auf die Spitze 58 des Roboters 50 ausgeübt und von der Kraftmesseinheit 21 gemessen wird, wird als erste auf die Spitze ausgeübte Kraft angenommen. Zusätzlich wird eine Kraft, die eine Momentenkomponente der Kraft umfasst, die auf die Spitze 58 des Roboters 50 ausgeübt wird, als zweite auf die Spitze ausgeübte Kraft angenommen.
  • Die Einheit zum Erfassen einer ersten Betätigungskraft 22 erfasst auf der Grundlage der Kraft, die von der Kraftmesseinheit 21 gemessen wird, eine Betätigungskraft, die verwendet wird, wenn die später beschriebene Betätigungsbefehlseinheit 24 einen Betätigungsbefehl einer Position jeder Achse des Roboters 50 in jedem Steuerzyklus erzeugt.
  • Zu diesem Zeitpunkt ermittelt die Einheit zum Erfassen einer ersten Betätigungskraft 22 auf der Grundlage der ersten auf die Spitze ausgeübten Kraft, die von der Kraftmesseinheit 21 gemessen wird, die Kraft, welche die Translationskomponente der Kraft umfasst, die in einer Ebene vorliegt, die orthogonal zu einer Drehmittellinie einer Betätigungsachse ist, und die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, und ermittelt eine erste virtuelle Kraft, die virtuell auf die Betätigungsachse ausgeübt wird, auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird. Dann erfasst die Einheit zum Erfassen einer ersten Betätigungskraft 22 eine erste Betätigungskraft, indem die erste virtuelle Kraft als erste Betätigungskraft angenommen wird.
  • Die Einheit zum Erfassen einer zweiten Betätigungskraft 23 erfasst auf der Grundlage der Kraft, die von der Kraftmesseinheit 21 gemessen wird, eine Betätigungskraft, die verwendet wird, wenn die später beschriebene Betätigungsbefehlseinheit 24 einen Betätigungsbefehl einer Position jeder Achse des Roboters 50 in jedem Steuerzyklus erzeugt.
  • Nun ermittelt die Einheit zum Erfassen einer zweiten Betätigungskraft 23 eine zweite virtuelle Kraft, die virtuell auf die Betätigungsachse ausgeübt wird, auf der Grundlage der zweiten auf die Spitze ausgeübten Kraft. Dann erfasst die Einheit zum Erfassen einer zweiten Betätigungskraft 23 eine zweite Betätigungskraft, indem die zweite virtuelle Kraft als zweite Betätigungskraft angenommen wird.
  • In diesem Fall ermittelt die Einheit zum Erfassen einer zweiten Betätigungskraft 23 bevorzugt eine Richtung und eine Größe der zweiten Betätigungskraft durch Berechnen einer Momentenkomponente einer Kraft, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, durch die zweite auf die Spitze ausgeübte Kraft. Jede der ersten und der zweiten Betätigungskräfte, die von der Einheit zum Erfassen einer ersten Betätigungskraft 22 und der Einheit zum Erfassen einer zweiten Betätigungskraft 23 erfasst werden, wird wie folgt ermittelt.
  • Die Betätigungskraft wird auf der Grundlage einer tatsächlichen Kraft berechnet, die auf die Spitze 58 des Roboters 50 ausgeübt und von der Kraftmesseinheit 21 gemessen wird. Alternativ wird auf der Grundlage der Kraft, die auf die Spitze 58 des Roboters 50 ausgeübt wird, eine virtuelle Kraft, bei der es sich um eine Kraft handelt, die als virtuell auf eine zu bewegende Achse ausgeübt angesehen wird, als Betätigungskraft berechnet.
  • Insbesondere wird die Betätigungskraft wie folgt berechnet.
  • Wenn eine Translationskraft, die auf die Spitze 58 des Roboters 50 ausgeübt wird, im Verhältnis zu einer zu bewegenden Achse auf eine Ebene projiziert wird, die zur Drehmittellinie der Achse orthogonal ist, wird eine Richtung der Betätigungskraft zum Bewegen der Achse auf der Grundlage davon ermittelt, ob die Kraft in einer positiven Drehrichtung oder einer negativen Drehrichtung im Verhältnis zur Achse orientiert ist, d.h. auf der Grundlage einer Richtung der Translationskraft, die um die Drehmittellinie der Achse herum wirkt. Dann wird eine Größe der Betätigungskraft auf der Grundlage einer Größe der Translationskraft, die von der Kraftmesseinheit 21 gemessen wird, einer Größe der projizierten Kraft oder einer Größe einer Komponente der projizierten Kraft, die zu einem Positionsvektor von der Drehmittellinie zu einem Punkt, an dem die projizierte Kraft ausgeübt wird, orthogonal ist, ermittelt.
  • Zusätzlich kann auf der Grundlage der Kraft, die auf die Spitze 58 des Roboters 50 ausgeübt wird, die von der Kraftmesseinheit 21 gemessen wird, ein Moment der Kraft um die Drehmittellinie herum im Verhältnis zu der zu bewegenden Achse berechnet werden, um die Betätigungskraft zu ermitteln.
  • Wenn zusätzlich das Moment der Kraft um die Drehmittellinie herum im Verhältnis zu der zu bewegenden Achse auf der Grundlage der Kraft, die auf die Spitze 58 des Roboters 50 ausgeübt wird, die von der Kraftmesseinheit 21 gemessen wird, berechnet wird, kann das Moment berechnet werden, indem ein Verfahren zum Berechnen eines Kraftvektors oder eines Positionsvektors erdacht wird, wie jeweils anwendbar, damit sich die Bedienbarkeit verbessert, wodurch die Betätigungskraft ermittelt wird.
  • Zusätzlich kann die Richtung der Betätigungskraft zum Bewegen der Achse auf der Grundlage eines positiven/negativen Vorzeichens des Moments der ausgeübten Kraft im Verhältnis zu der zu bewegenden Achse um die Drehmittellinie der Achse herum bestimmt werden. Zusätzlich kann eine Größe der Betätigungskraft, die gemäß der Betätigung geeignet ist, auf der Grundlage der Größe der Kraft ermittelt werden, die von der Kraftmesseinheit 21 gemessen wird.
  • Das Verfahren zum Bestimmen der Richtung der Betätigungskraft kann ein beliebiges Verfahren sein, solange es ein Verfahren ist, um eine Vorwärtsrichtung oder eine Rückwärtsrichtung zu bestimmen, wie etwa eine Richtung oder ein positives/negatives Vorzeichen, das eine Bewegungsrichtung einer zu bewegenden Achse bestimmen kann.
  • Um zusätzlich die Bedienbarkeit des Roboters zu verbessern, wenn eine Achse gemäß der Kraft bewegt wird, wird die Betätigungskraft bevorzugt unter Berücksichtigung einer Bewegungsrichtung, einer Bewegungsgeschwindigkeit und dergleichen des Roboters während des Betriebs je nach Bedarf angepasst.
  • Das vorliegende praktische Beispiel hat den Fall der Betätigungsachse als Drehachse beschrieben. Wenn die Betätigungsachse eine lineare Bewegungsachse ist, wird eine Translationskomponente der Kraft in der Richtung der Achse berechnet.
  • Auf der Grundlage einer Betätigungsachse und einer Bewegungsrichtung der Betätigungsachse, die von der Einheit zum Einstellen einer Betätigungsachse 25 eingestellt wird, um den Roboter 50 auf der Grundlage einer Kraft, die auf die Spitze 58 des Roboters 50 ausgeübt wird, und von Betätigungskräften (einer ersten Betätigungskraft und/oder einer zweiten Betätigungskraft), die von der Einheit zum Erfassen einer ersten Betätigungskraft 22 und/oder der Einheit zum Erfassen einer zweiten Betätigungskraft 23 berechnet werden, zu bewegen, ermittelt die Betätigungsbefehlseinheit 24 eine Zielbewegungsrichtung und eine Zielbewegungsgeschwindigkeit der Betätigungsachse und gibt einen Betätigungsbefehl zum Bewegen der Betätigungsachse in jedem Steuerzyklus aus. Wenn der Betätigungsbefehl auf der Grundlage der Betätigungskraft erzeugt wird, kann eine Kraftsteuerungsverstärkung verwendet werden, um eine Bewegungsgeschwindigkeit im Verhältnis zu der Betätigungskraft zu ermitteln. Zusätzlich wird in Abhängigkeit von der Situation während der Betätigung die Bewegungsgeschwindigkeit bevorzugt je nach Bedarf angepasst durch Reduzieren der Ansprechempfindlichkeit auf die Betätigungskraft, Beschleunigen oder Abbremsen.
  • Die Speichereinheit 26 speichert Parameter, die für diverse Berechnungen und Berechnungsergebnisse notwendig sind, wie etwa einen Parameter, den die Kraftmesseinheit 21 benötigt, um eine Kraft zu berechnen, einen Parameter, den jede von der Einheit zum Erfassen einer ersten Betätigungskraft 22 und der Einheit zum Erfassen einer zweiten Betätigungskraft 23 benötigt, um eine Betätigungskraft zu berechnen, einen Parameter, den die Einheit zum Einstellen einer Betätigungsachse 25 benötigt, um eine Betätigungsachse einzustellen, und Einstellungsergebnisse.
  • Obwohl dies in der Zeichnung nicht abgebildet ist, umfasst die Robotersteuervorrichtung 10 ferner eine Recheneinheit oder dergleichen, die eine Position jeder Achse des Roboters 50, eine Position und/oder eine Stellung seiner Spitze, die Geschwindigkeit und Beschleunigung auf der Grundlage von Informationen von einem Positionsdetektor, wie etwa eines Codierers, der an jeder Achse des Roboters 50 angebracht ist, berechnet.
  • Obwohl dies in der Zeichnung nicht abgebildet ist, umfasst die Robotersteuervorrichtung 10 ferner eine Eingabeeinheit, die Eingabedaten empfängt und verarbeitet, wie etwa Daten, die durch das Anschließen einer Eingabevorrichtung, die in der Lage ist, diverse Einstellungen in die Robotersteuervorrichtung 10 einzugeben, und Daten einer Einstellung, die von einer anderen Steuervorrichtung oder einem Computer eingegeben wird und an die Robotersteuervorrichtung 10 über ein Netzwerk übertragen wird.
  • Es folgt mit Bezug auf 3 eine Beschreibung eines Beispiels eines Prozesses zum Verarbeiten durch die Robotersteuervorrichtung 10 gemäß einer Ausführungsform der Erfindung, wenn der Bediener 60 eine Kraft auf die Spitze 58 des Roboters 50 ausübt, um den Roboter 50 zu bewegen. 3 ist ein Ablaufschema, das ein Beispiel des Prozesses zum Verarbeiten durch die Robotersteuervorrichtung 10 abbildet. Es folgt eine Beschreibung der Verarbeitung, die von Robotersteuervorrichtung 10 ausgeführt wird, wenn der Roboter 50 bewegt wird, indem eine Kraft auf die Spitze 58 des Roboters 50 ausgeübt wird, mit Bezug auf das Ablaufschema von 3 und die betreffenden Zeichnungen. Die nachstehend abgebildete Verarbeitungsfolge ist rein beispielhaft, und es sei zu beachten, dass die vorliegende Erfindung nicht auf das spezifische Beispiel eingeschränkt ist.
  • Zunächst misst die Kraftmesseinheit 21 eine Kraft, die auf die Spitze 58 des Roboters 50 durch den Bediener 60 ausgeübt wird (Schritt S1).
  • Dann stellt die Einheit zum Einstellen einer Betätigungsachse 25 eine zu bewegende Betätigungsachse gemäß der Kraft ein und stellt auch eine Bewegungsrichtung der Betätigungsachse ein, die gemäß einer Richtung der Kraft bestimmt wird (Schritt S2).
  • Anschließend berechnet bzw. berechnen auf der Grundlage der Kraft, die auf die Spitze 58 des Roboters 50 ausgeübt wird, die von der Kraftmesseinheit 21 gemessen wird, die Einheit zum Erfassen einer ersten Betätigungskraft 22 und/oder die Einheit zum Erfassen einer zweiten Betätigungskraft 23 eine Betätigungskraft (eine erste Betätigungskraft und/oder eine zweite Betätigungskraft) zum Bewegen einer Position der Betätigungsachse, die von der Einheit zum Einstellen einer Betätigungsachse 25 eingestellt wird (Schritt S3).
  • Anschließend erzeugt die Betätigungsbefehlseinheit 24 einen Betätigungsbefehl zum Bewegen der Position der Betätigungsachse auf der Grundlage der Betätigungskraft bzw. Betätigungskräfte, die von der Einheit zum Erfassen einer ersten Betätigungskraft 22 und/oder der Einheit zum Erfassen einer zweiten Betätigungskraft 23 berechnet wird bzw. werden, und der Einstellung der Einheit zum Einstellen einer Betätigungsachse 25, und gibt den Betätigungsbefehl aus (Schritt S4).
  • Ein praktisches Beispiel der Verarbeitung zum Bewegen der Position der Betätigungsachse wird näher beschrieben.
  • In Schritt S2 geht man davon aus, dass die Einheit zum Einstellen einer Betätigungsachse 25 eine zu bewegende Betätigungsachse einstellt und die Bewegungsrichtung der Betätigungsachse, die gemäß einer Richtung der Kraft bestimmt wird, auf die gleiche Richtung wie die der Kraft einstellt.
  • Dieser Fall wird mit Bezug auf ein Verfahren zum Berechnen einer Betätigungskraft zum Bewegen der Position der Betätigungsachse durch die Einheit zum Erfassen einer ersten Betätigungskraft 22 und/oder die Einheit zum Erfassen einer zweiten Betätigungskraft 23 in Schritt S3 und ein Verfahren zum Erzeugen eines Betätigungsbefehls für die Bewegung durch eine Betätigungsbefehlseinheit in Schritt S4 ausführlich beschrieben. Wenn die Achse, die als Betätigungsachse eingestellt ist, anders ist oder in Abhängigkeit von der Situation des Bewegungsvorgangs kann ein anderes Rechenverfahren verwendet werden.
  • 4 ist ein Diagramm, das angibt, dass eine Kraft Fs, die auf die Spitze 58 des Roboters 50 ausgeübt wird, von der Kraftmesseinheit 21 gemessen wird. Man geht davon aus, dass die Kraft Fs eine Translationskomponente F der Kraft und eine Momentenkomponente M der Kraft umfasst, und eine Kraft, welche die Translationskomponenten Fx, Fy und Fz der Kraft und die Momentenkomponenten Mx, My und Mz der Kraft umfasst.
  • Nachstehend entspricht eine Verarbeitung, bei der die Einheit zum Erfassen einer ersten Betätigungskraft 22 die erste Betätigungskraft erfasst, einer Verarbeitung zum Berechnen einer Betätigungskraft auf der Grundlage der Translationskomponenten F der Kraft (Fx, Fy und Fz) der Kraft Fs. Zusätzlich entspricht eine Verarbeitung, bei der die Einheit zum Erfassen einer zweiten Betätigungskraft 23 die zweite Betätigungskraft erfasst, einer Verarbeitung zum Berechnen einer Betätigungskraft auf der Grundlage der Momentenkomponenten M der Kraft (Mx, My und Mz) der Kraft Fs.
  • Die Einheit zum Erfassen einer ersten Betätigungskraft 22 und/oder die Einheit zum Erfassen einer zweiten Betätigungskraft 23 ermittelt bzw. ermitteln eine erste Betätigungskraft und/oder eine zweite Betätigungskraft auf der Grundlage der Kraft Fs. Jede von den ersten und den zweiten Betätigungskräften wird als Betätigungskraft verwendet. Alternativ kann die Betätigungskraft auf der Grundlage jeder der ersten und der zweiten Betätigungskräfte berechnet werden. In diesem Fall ist es möglich, jede der ersten und der zweiten Betätigungskräfte mit einem vorbestimmten Koeffizienten oder verschiedenen Koeffizienten zu multiplizieren.
  • Wenn ein Koordinatensystem im Verhältnis zu einer Betätigungsachse eingestellt wird, wird das Koordinatensystem derart eingestellt, dass eine Drehmittellinie der Betätigungsachse mit einer Z-Achse des Koordinatensystems zusammenfällt. Die Betätigungskraft kann ein Moment einer Kraft um die Z-Achse herum sein, in einer Kraft, die berechnet wird durch Koordinatenumwandlung von Fs, die von der Kraftmesseinheit 21 gemessen wird, in eine Kraft in dem Koordinatensystem, das an der Betätigungsachse eingestellt ist.
  • Alternativ kann die Betätigungskraft wie folgt ermittelt werden.
  • 5 ist ein Diagramm zum Erläutern eines Verfahrens zum Berechnen einer Betätigungskraft im Verhältnis zu einer Betätigungsachse 31 auf der Grundlage der Betätigungsachse 31 und der Kraft Fs, die von der Kraftmesseinheit 21 gemessen wird, wie in 4 abgebildet.
  • Ein Koordinatensystem, das einen Punkt P1, eine X-Achse Ax, eine Y-Achse Ay und eine Z-Achse Az umfasst, wird im Verhältnis zur Betätigungsachse 31 eingestellt, so dass P1, der eine Position der Betätigungsachse 31 in einem Referenzkoordinatensystem darstellt, der Ursprung des Koordinatensystems ist; die Z-Achse Az fällt mit einer Drehmittellinie der Betätigungsachse 31 zusammen; und eine Ebene, die durch die X-Achse Ax und die Y-Achse Ay gebildet wird, ist eine Ebene, die zur Drehmittellinie der Betätigungsachse 31 orthogonal ist. Eine Ebene C ist die Ebene, die von der X-Achse und der Y-Achse Ay in dem Koordinatensystem gebildet wird, das im Verhältnis zur Betätigungsachse 31 eingestellt ist, und wird als X-Y-Ebene angenommen. Zusätzlich kann die Ebene C eine Ebene sein, die zur Drehmittellinie der Betätigungsachse 31 orthogonal ist. In diesem Fall ist der Punkt P1 ein Schnittpunkt der Ebene und der Drehmittellinie. Zusätzlich wird ein Punkt P2 als ein Punkt angenommen, an dem ein Kraftmesspunkt als Ursprung eines Kraftmess-Koordinatensystems, das verwendet wird, wenn eine Kraft gemessen wird, die auf die Spitze 58 des Roboters 50 ausgeübt wird, auf die Ebene C projiziert wird.
  • Ein Moment der Kraft, das durch Koordinatenumwandlung der Momentenkomponentenkraft M (Mx, My, Mz) der Kraft Fs, die von der Kraftmesseinheit 21 gemessen wird, in ein Moment der Kraft in der Ebene C ermittelt wird, wird als Moment M21 der Kraft angenommen. Alternativ kann das Moment M21 der Kraft ein Moment der Kraft um die Z-Achse Az herum sein, das durch Koordinatenumwandlung der Momentenkomponentenkraft M derselben in ein Moment der Kraft in dem Koordinatensystem, das an der Betätigungsachse 31 eingestellt wird, ermittelt wird.
  • Ein Positionsvektor Pv ist ein Positionsvektor von P1 zum Punkt P2 in der Ebene C. Eine Größe des Positionsvektors Pv in diesem Fall ist eine kürzeste Entfernung zwischen der Drehmittellinie der Betätigungsachse 31 und dem Kraftmesspunkt.
  • Eine Kraft Fp ist eine Translationskraft, die als eine Kraft, die um die Drehmittellinie der Betätigungsachse 31 herum in der Ebene C ausgeübt wird, auf der Grundlage der Translationskomponentenkraft F (Fx, Fy, Fz) der Kraft Fs, die von der Kraftmesseinheit 21 gemessen wird, ermittelt wird. Die Translationskraft, die durch Projizieren der Translationskomponentenkraft F auf die Ebene C ermittelt wird, kann als Kraft Fp angenommen werden. Wenn zusätzlich die Kraft Fp auf der Grundlage der Translationskomponentenkraft F der Kraft Fs ermittelt wird, kann die Kraft Fp auf der Grundlage einer Richtung, in der die Translationskomponentenkraft F der Kraft Fs ausgeübt wird, und einer Drehbetätigungsrichtung in eine vorbestimmte Richtung berechnet werden.
  • Mit Bezug auf 6 erfolgt eine Beschreibung eines Beispiels eines Verfahrens zum Berechnen der Kraft Fp zum Reduzieren der Schwankung der Größe der Kraft Fp, die durch die Kraft F ermittelt wird, auf Grund der Schwankung der Richtung der Kraft F der Translationskomponente der Kraft Fs. In dem Koordinatensystem an der Betätigungsachse 31 wird eine Kraft, die durch paralleles Bewegen einer Kraft F ermittelt wird, die an einem Kraftmesspunkt P3 ausgeübt wird, um an dem Punkt P2 in der Ebene C ausgeübt zu werden, wobei ein Wert des Kraftmesspunkts P3 in der Richtung der Z-Achse Az auf 0 eingestellt wird, als Kraft Fsp angenommen. Wenn ein Winkel, der durch die Kraft Fsp und die Ebene C gebildet wird, kleiner als ein vorbestimmter Schwellenwert ist, wird die Kraft Fsp um den Punkt P2 herum als Drehmittelpunkt in einer Richtung gedreht, die der Ebene C am nächsten ist, um als eine Kraft in der Ebene C verwendet zu werden, wodurch die Kraft Fp ermittelt wird.
  • Wenn der Winkel, der durch die Kraft Fsp und die Ebene C gebildet wird, groß ist, und die Richtung der Kraft Fsp nahe an einer Richtung liegt, die orthogonal zur Ebene C ist, vergrößert das obige Verfahren die Kraft auf unangemessene Art und Weise und wird deshalb nicht ausgeführt. Wenn der Winkel, der durch die Kraft Fsp und die Ebene C gebildet wird, gleich oder größer als der vorbestimmte Schwellenwert ist, wird die Kraft F der Übergangskomponente der Kraft Fs oder der Kraft Fsp auf die Ebene C projiziert, um die Kraft Fp zu ermitteln, oder alternativ geht man davon aus, dass die Größe der Kraft Fp gleich 0 ist und eine Betätigungskraft durch die Kraft F der Übergangskomponente der Kraft Fs nicht ausgeübt wird.
  • Wenn zusätzlich ein Winkel, der durch die Kraft F der Übergangskomponente der Kraft Fs und eine Ebene parallel zur Ebene C gebildet wird, kleiner als ein vorbestimmter Schwellenwert ist, kann ein Vektor, der durch Projizieren der Kraft F auf die Ebene C und zusätzliches Ausführen einer Expansions-/Kontraktionsanpassung eines Vektors der Projektion, so dass eine Größe des Vektors eine Größe der Kraft F wird, ermittelt wird, als Kraft Fp angenommen werden.
  • Wenn ferner der Winkel, der durch die Kraft F der Übergangskomponente der Kraft Fs und die Ebene parallel zur Ebene C gebildet wird, gleich oder größer als der vorbestimmte Schwellenwert ist, kann die Kraft F auf die Ebene C projiziert werden, um die Kraft Fp zu ermitteln, oder alternativ kann man davon ausgehen, dass die Größe der Kraft Fp gleich 0 ist und keine Betätigungskraft durch die Kraft F der Übergangskomponente der Kraft Fs ausgeübt wird.
  • Wie zuvor beschrieben, ist es möglich, die Schwankung der Größe der Kraft Fp auf Grund der Schwankung der Richtung der Kraft F zu reduzieren oder die Größe der Kraft Fp anzupassen, indem die Kraft Fp in der Ebene C auf der Grundlage der Richtung, in welche die Kraft F der Translationskomponente der Kraft Fs ausgeübt wird, und der Drehbetätigungsrichtung in eine vorbestimmte Richtung ermittelt wird, im Vergleich dazu, wenn nur die Kraft F auf die Ebene C projiziert wird.
  • Zusätzlich mit Bezug auf 7 erfolgt eine Beschreibung eines anderen Beispiels des Verfahrens zum Berechnen der Kraft Fp zum Reduzieren der Schwankung der Größe der Kraft Fp, die durch die Kraft F ermittelt wird, auf Grund der Schwankung der Richtung der Kraft F der Translationsrichtungskomponente der Kraft Fs.
  • Eine in 7 abgebildete Ebene gibt eine Ebene an, die einen Vektor umfasst, der ermittelt wird, wenn eine Kraft F einer Translationsrichtungskomponente von Fs auf die Ebene C, orthogonal zur Ebene C und einschließlich einer Achse Az2 projiziert wird. Die Achse Az2 wird als eine Achse parallel zur Z-Achse Az angenommen. Die Kraft Fsp wird als eine Kraft angenommen, die in dem Koordinatensystem parallel bewegt wird, das im Verhältnis zur Betätigungsachse 31 eingestellt ist, so dass die Kraft F, die an dem Kraftmesspunkt P3 ausgeübt wird, an dem Punkt P2 in der Ebene C ausgeübt wird, wobei der Wert des Kraftmesspunkts P3 in der Richtung der Z-Achse Az gleich 0 ist. Ein Winkel, der durch die Kraft Fsp und die Ebene C gebildet wird, wird mit vorbestimmten Bereichen Rp1, Rp2 und Rp3 verglichen, die bestimmt werden, um durch einen vorbestimmten Winkel zu ermitteln, welcher der vorbestimmten Bereiche die Richtung der Kraft Fsp umfasst. Basierend auf dem Bereich, der die Richtung der Kraft Fsp umfasst, wird ein vorbestimmter Winkel, der in jedem vorbestimmten Bereich eingestellt ist, ermittelt, um eine Richtung zu ermitteln, die den Winkel im Verhältnis zur Ebene C bildet. Mit anderen Worten wird eine repräsentative Richtung ermittelt, die gemäß der Richtung der Kraft bestimmt wird. Dann wird Fsp um den Punkt P2 als Drehmittelpunkt herum gedreht, so dass die Richtung der Kraft die ermittelte Richtung wird. Die somit ermittelte Kraft wird auf die Ebene C projiziert, und der berechnete Vektor wird als eine Kraft Fp angenommen.
  • Wenn beispielsweise die Richtung der Kraft Fsp innerhalb des Bereichs Rp1 liegt, wird eine Richtung, in der die Kraft Fsp rotatorisch bewegt wird, als eine Richtung angenommen, in welcher der Winkel, der von der Kraft Fsp und der Ebene C gebildet wird, gleich 0 Grad ist. Wenn die Richtung der Kraft Fsp innerhalb des Bereichs Rp3 liegt, ist die Richtung der Kraft Fsp nahe an einer Richtung, die zur Ebene C orthogonal ist. In einem solchen Fall geht man davon aus, dass die Richtung, in welcher die Kraft Fsp rotatorisch bewegt wird, eine Richtung ist, die zur Ebene C orthogonal ist. Alternativ geht man davon aus, dass die Größe der Kraft Fp gleich 0 ist und keine Betätigungskraft durch die Kraft F der Translationsrichtungskomponente der Kraft Fs ausgeübt wird.
  • Wenn die Richtung der Kraft Fsp in Abhängigkeit von dem zuvor erwähnten vorbestimmten Bereich umgeschaltet wird, wird es bevorzugt, die Richtung der Kraft Fsp oder die Größe der Kraft Fp, die durch Projizieren der Kraft FSP ermittelt wird, gleichmäßig zu ändern, so dass sich die Betätigungskraft nicht erheblich ändert.
  • Im Verhältnis zu der somit ermittelten Kraft Fp in der Ebene C, kann eine Kraft Fn, wie es noch beschrieben wird, die auf der Grundlage einer Drehbetätigungsrichtung in eine vorbestimmte Richtung, eines parallelen Bewegungsvorgangs, eines Vorgangs des Änderns der Größe der Kraft Fp und dergleichen ermittelt wird, als eine neue Kraft Fp angenommen werden.
  • Dann wird eine Betätigungskraft auf der Grundlage eines Moments M11 der Kraft ermittelt, die durch eine äußere Produktberechnung der Kraft Fp in der Ebene C und des Positionsvektors Pv und eines Moments M21 der Kraft ermittelt wird.
  • Wenn die Größe des Positionsvektors Pv kleiner als ein vorbestimmter Wert ist, wird das Moment der Kraft M21 als Betätigungskraft angenommen. Dies hat die folgende Wirkung. Wenn der Punkt P2 nahe an dem Punkt P1 liegt, und in Abhängigkeit von einem Fehler des Punktes P2 sich der Punkt P2 in einer anderen Position gegenüber seiner tatsächlichen Position befindet, oder seine Position schwankt, kann das Vorzeichen des Moments der Kraft entgegengesetzt sein. Wenn in einem solchen Fall der Wert einer Kraftsteuerungsverstärkung im Verhältnis zu der Betätigungskraft groß ist, oder wenn ein Moment der Kraft berechnet wird, indem jedes von dem Moment der Kraft M11 und dem Moment der Kraft M21 mit einem Koeffizienten multipliziert wird und diese addiert werden, und wenn der Koeffizient, mit dem das Moment der Kraft M11 multipliziert wird, groß ist, kann verhindert werden, dass die Betätigungsachse in eine unbeabsichtigte Richtung bewegt wird.
  • Wenn die Größe des Positionsvektors Pv gleich oder größer als der vorbestimmte Wert ist, wird ein Moment der Kraft aus der äußeren Produktberechnung des Positionsvektors Pv und der Kraft Fp berechnet, und das berechnete Moment der Kraft M11 wird als Betätigungskraft angenommen. Alternativ wird ein Moment der Kraft, das durch Addieren des berechneten Moments der Kraft M11 und des Moments der Kraft M21 ermittelt wird, als Betätigungskraft angenommen. Ferner können Werte, die durch Multiplizieren jedes von den Momenten der Kraft M11 und M21 mit einem Koeffizienten ermittelt werden, um ihre Größe zu ändern, um einen Einfluss jedes Moments der Kraft zu ändern, addiert werden. In diesem Fall kann der Koeffizient auf der Grundlage der Größe des Positionsvektors Pv, der Größe der Kraft Fp und dergleichen angepasst werden.
  • Wenn es wünschenswert ist, den Einfluss der Kraft M der Momentenkomponente der Kraft der Kraft Fs, die von der Kraftmesseinheit 21 gemessen wird, zu entfernen, oder es wünschenswert ist, die Betätigungsachse nur durch die Translationskraft der Kraft Fs zu bewegen, wird bevorzugt nur das Moment der Kraft M11 als Betätigungskraft angenommen, ohne Berücksichtigung des Moments der Kraft M21.
  • Selbst wenn die Größe der Kraft Fp die gleiche ist, variiert die Größe des berechneten Moments der Kraft M11 zusätzlich in Abhängigkeit von der Größe des Positionsvektors Pv. Aus diesem Grund variiert, anders als das Moment der Kraft M21, die Größe des Moments der Kraft M11 in Abhängigkeit von der Positionsbewegung der Spitze 58 des Roboters 50, und somit schwankt die Betätigungskraft.
  • Wenn entsprechend die Größe des Positionsvektors Pv gleich oder größer als der vorbestimmte Schwellenwert ist und die Größe der Kraft Fp kleiner als eine vorbestimmte Schwelle ist, kann bevorzugt nur das Moment der Kraft M21 als Betätigungskraft angenommen werden. Die obige Beschreibung bezüglich des Moments der Kraft M21 ist ähnlich auf andere Fälle anwendbar, wenn das Moment der Kraft M21 berücksichtigt wird.
  • Wenn ein Moment der Kraft berechnet wird, wie zuvor beschrieben, selbst wenn die Größe der Kraft Fp die gleiche ist, besteht ein Problem, das sich aus der Änderung der Größe des berechneten Moments der Kraft M11 ergibt, die in Abhängigkeit von der Größe des Positionsvektors Pv verursacht wird. Ein Verfahren zum Lösen des Problems wird mit Bezug auf 8 beschrieben.
  • 8 ist ein Diagramm zum Erläutern eines anderen Verfahrens zum Berechnen einer Betätigungskraft im Verhältnis zur Betätigungsachse 31 auf der Grundlage der Kraft Fs, die von der Kraftmesseinheit 21 gemessen wird, wie zuvor beschrieben. Eine Gerade Lw wird als eine Gerade angenommen, die in der Ebene C vorliegt und den Punkt P1 und den Punkt P2 umfasst. Ein Positionsvektor Pn wird durch eine Expansions-/Kontraktionsanpassung der Größe des Positionsvektors Pv an einen vorbestimmten Wert Cpn auf der Grundlage des Positionsvektors Pv berechnet, wobei die Kraft Fp, die eine Translationskraft in der Ebene C umfasst, ausgeübt wird. Eine Kraft, die ermittelt wird, indem die Kraft Fp parallel bewegt wird, um an einer Position P4 als Endpunkt des Positionsvektors Pn ausgeübt zu werden, wird als Kraft Fn angenommen.
  • Ein Moment der Kraft wird aus einer äußeren Produktberechnung des Positionsvektors Pn und der somit ermittelten Kraft Fn berechnet, und das berechnete Moment der Kraft M12 wird als Betätigungskraft angenommen.
  • Wenn, wie zuvor beschrieben, ein Moment der Kraft ermittelt wird, ermöglicht die Expansions-/Kontraktionsanpassung des Positionsvektors die Reduzierung der Schwankung des Moments der Kraft auf Grund der Schwankung der Position des Punktes P2, so dass man eine geringe Schwankung, eine drastische Änderung und dergleichen der Betätigungskraft verhindern kann. Somit kann der Roboter 50 stetig bewegt werden, und dadurch kann die Bedienbarkeit verbessert werden.
  • Wenn zusätzlich eine Bewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage einer Betätigungskraft und einer Kraftsteuerungsverstärkung ermittelt wird, kann verhindert werden, selbst wenn die gleiche Kraft ausgeübt wird, dass die Bewegungsgeschwindigkeit der Betätigungsachse in Abhängigkeit von der Position der Spitze 58 des Roboters 50 unabsichtlich variiert.
  • Zusätzlich kann in 8 der vorbestimmte Wert Cpn, der zum Einstellen der Größe des Positionsvektors Pv auf eine vorbestimmte Größe verwendet wird, auf der Grundlage der Größe des Positionsvektors Pv geändert werden. Insbesondere wird der vorbestimmte Wert Cpn im Verhältnis zur Größe des Positionsvektors Pv stufenweise in einem vorbestimmten Bereich geändert. Wenn in diesem Fall der Wert stufenweise umgeschaltet wird, wird es bevorzugt, den vorbestimmten Wert Cpn regelmäßig zu ändern, oder das berechnete Moment der Kraft M12 regelmäßig derart zu ändern, dass sich die Betätigungskraft nicht erheblich ändert.
  • Da, wie zuvor beschrieben, der vorbestimmte Wert Cpn stufenweise in jedem vorbestimmten Bereich geändert wird, kann verhindert werden, dass das Moment der Kraft auf Grund einer geringen Positionsschwankung innerhalb des vorbestimmten Bereichs schwankt. Dadurch kann sich das Moment der Kraft M12 gemäß der Größe des Positionsvektors Pv ändern, selbst wenn die Größe der Kraft Fn die gleiche ist. Ferner kann die Schwankung der Betätigungskraft reduziert werden, wodurch der Roboter 50 stetiger und sicherer bewegt werden kann, wodurch sich die Bedienbarkeit verbessert.
  • In dem Maße wie die Größe des Positionsvektors Pv zunimmt, kann alternativ der vorbestimmte Wert Cpn verringert werden. In diesem Fall wird, in dem Maße wie die Größe des Positionsvektors Pv zunimmt, der vorbestimmte Wert Cpn stufenweise in jedem vorbestimmten Bereich oder stufenweise gemäß einer vorbestimmten Funktion reduziert. Wenn nun der vorbestimmte Wert Cpn stufenweise umgeschaltet wird, wird es bevorzugt, den Wert des vorbestimmten Wertes Cpn derart gleichmäßig zu ändern, dass sich die Betätigungskraft nicht erheblich ändert.
  • Wie zuvor beschrieben, ermöglicht das Verringern des vorbestimmten Wertes Cpn zusammen mit der Erhöhung der Größe des Positionsvektors Pv das Verringern der Größe des Moments der Kraft M12, selbst wenn die Größe der Kraft Fn die gleiche ist, wodurch die Betätigungskraft verringert werden kann. Wenn auf diese Art und Weise die Bewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der Betätigungskraft und der Kraftsteuerungsverstärkung ermittelt wird, kann die Bewegungsgeschwindigkeit der Betätigungsachse verringert werden, wenn die Größe der Kraft Fp die gleiche ist, aber die Spitze 58 des Roboters 50 zur Betätigungsachse distal ist. Der Bediener kann den Roboter 50 sicherer bewegen, indem er die Spitze 58 des Roboters 50 in einem Zustand bewegt, in dem die Bewegungsgeschwindigkeit, d.h. eine Drehgeschwindigkeit der Achse, verringert ist.
  • Ferner, wie bei der obigen Beschreibung, die mit Bezug auf 5 erfolgte, kann das Moment der Kraft M21 zur Verwendung berechnet werden. Wenn mit anderen Worten die Größe des Positionsvektors Pv kleiner als der vorbestimmte Wert ist, geht man davon aus, dass das Moment der Kraft M21 die Betätigungskraft ist. Wenn zusätzlich die Größe des Positionsvektors Pv gleich oder größer als der vorbestimmte Wert ist, geht man davon aus, dass das Moment der Kraft M12 oder ein Moment der Kraft, das durch Addieren des Moments der Kraft M12 und des Moments der Kraft M21 ermittelt wird, als Betätigungskraft angenommen wird. Ferner kann ein Einfluss jedes der Momente der Kraft M12 und M21 angepasst werden, indem jedes von dem Moment der Kraft M12 und dem Moment der Kraft M21 mit einem Koeffizienten multipliziert wird, um seine Größe zu ändern, und dann können die Werte, die durch die Anpassung des Einflusses ermittelt werden, addiert werden. In diesem Fall kann der Koeffizient auf der Grundlage der Größe des Positionsvektors Pv, der Größe der Kraft Fp und dergleichen angepasst werden.
  • Wenn zusätzlich ein Moment der Kraft wie zuvor beschrieben berechnet wird, entsteht ein Problem, das sich aus der Änderung der Größe des berechneten Moments der Kraft ergibt, die in Abhängigkeit von der Richtung der Kraft Fp verursacht wird, selbst wenn die Größe der Kraft Fp die gleiche ist. Ein Verfahren zum Lösen des Problems wird mit Bezug auf 9 beschrieben.
  • 9 ist ein Diagramm zum Erläutern eines anderen Verfahrens zum Berechnen einer Betätigungskraft im Verhältnis zur Betätigungsachse 31 auf der Grundlage der Kraft Fs, die wie zuvor beschrieben von der Kraftmesseinheit 21 gemessen wird. In 9 wird eine Kraft, die eine Translationskraft umfasst, die um die Drehmittellinie der Betätigungsachse herum 31 ausgeübt wird, auf der Grundlage einer Richtung, in der eine Kraft F einer Translationskomponente einer Kraft Fs ausgeübt wird, und einer Drehbetätigungsrichtung in eine vorbestimmte Richtung ermittelt.
  • Zunächst wird, wie zuvor beschrieben, auf der Grundlage der Kraft F der Translationskomponente der Kraft Fs eine Kraft Fp, die eine Translationskraft in der Ebene C umfasst, berechnet. Auf der Grundlage einer Richtung der berechneten Kraft Fp wird ein Winkel ermittelt, der durch die Kraft Fp und die Gerade Lw gebildet wird. Der berechnete Winkel wird mit einem vorbestimmten Winkelbereich Rp verglichen. Wenn bestimmt wird, dass die Richtung der Kraft Fp innerhalb des vorbestimmten Winkelbereichs Rp liegt, wird die Kraft Fp um den Punkt P2 als Drehmittelpunkt herum gedreht, so dass die Richtung der Kraft Fp eine vorbestimmte Richtung Dn (in der Zeichnung nicht abgebildet) als repräsentative Richtung ist, wodurch eine Kraft Fn berechnet wird. Die Richtung der Kraft Fn wird bevorzugt auf eine Richtung orthogonal zum Positionsvektor Pv eingestellt. Ein Moment der Kraft wird aus einer äußeren Produktberechnung des Positionsvektors Pn und der somit ermittelten Kraft Fn berechnet, und das berechnete Moment der Kraft M13 wird als Betätigungskraft angenommen.
  • Wenn, wie zuvor beschrieben, ein Moment der Kraft ermittelt wird, kann das Einstellen der Richtung der Kraft Fp, die um die Drehmittellinie der Betätigungsachse herum 31 ausgeübt wird, auf eine repräsentative Richtung, die gemäß der Richtung bestimmt wird, die Schwankung des Moments der Kraft auf Grund der Schwankung der Richtung der Kraft Fp reduzieren, so dass eine Schwankung und eine drastische Änderung der Betätigungskraft und dergleichen verhindert werden können. Somit kann der Roboter 50 stetig bewegt werden, wodurch eine Verbesserung der Bedienbarkeit ermöglicht wird.
  • Wenn zusätzlich die Bewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der Betätigungskraft und der Kraftsteuerungsverstärkung ermittelt wird, kann verhindert werden, dass selbst wenn die gleiche Kraft ausgeübt wird, die Bewegungsgeschwindigkeit der Betätigungsachse unabsichtlich in Abhängigkeit von der Richtung der Kraft Fp variiert.
  • Zusätzlich kann die vorbestimmte Richtung Dn, die verwendet wird, um die Richtung der Kraft Fp zu drehen, gemäß der Richtung der Kraft Fp geändert werden. Es folgt eine Beschreibung eines Beispiels eines Verfahrens zum Drehen der Richtung der Kraft Fp durch Ändern der vorbestimmten Richtung Dn gemäß der Richtung der Kraft Fp, mit Bezug auf 10.
  • Wie in 10 abgebildet, werden Bereiche unterschiedlicher Größenordnung, wie etwa die Bereiche Rp1, Rp2 und Rp3, als vorbestimmte Winkelbereiche eingestellt. Auf der Grundlage eines Winkels, der durch die Kraft Fp und die Gerade Lw gebildet wird, wird bestimmt, welcher der Winkelbereiche Rp1, Rp2 und Rp3 die Richtung der Kraft Fp umfasst. Auf der Grundlage der vorbestimmten Richtung Dn, die im Voraus in jedem Bereich eingestellt wird, wird die Richtung der Kraft Fp um den Punkt P2 als Drehmittelpunkt herum gedreht.
  • Wenn beispielsweise die Richtung der Kraft Fp innerhalb des Bereichs Rp1 liegt, wird eine Kraft Fn1, die durch Drehen der Kraft Fp in die vorbestimmte Richtung Dn ermittelt wird, als Kraft Fn angenommen. Wenn die Richtung der Kraft Fp innerhalb des Bereichs Rp2 liegt, wird eine Kraft Fn2, die durch Drehen der Kraft Fp in eine andere vorbestimmte Richtung Dn ermittelt wird, als Kraft Fn angenommen. Wenn ferner die Richtung der Kraft Fp innerhalb des Bereichs Rp3 liegt, wird eine Kraft Fn3, die durch Drehen der Kraft Fp in noch eine andere vorbestimmte Richtung Dn ermittelt wird, als Kraft Fn angenommen. Wenn die vorbestimmte Richtung Dn stufenweise in jedem Bereich umgeschaltet wird, wie zuvor beschrieben, wird es bevorzugt, die Richtung der Kraft Fp regelmäßig zu ändern oder das berechnete Moment der Kraft M13 regelmäßig zu ändern, so dass sich die Betätigungskraft nicht wesentlich ändert.
  • Auf diese Art und Weise ermöglicht das Ändern der vorbestimmten Richtung Dn, die verwendet wird, um die Richtung der Kraft Fp stufenweise in jedem vorbestimmten Bereich auf der Grundlage der Richtung der Kraft Fp zu drehen, eine Änderung des Moments der Kraft M13, wobei die Richtung der Kraft Fp so weit wie möglich berücksichtigt wird. Ferner ist es in diesem Fall möglich, eine geringe Schwankung des Moments der Kraft M13 auf Grund der Schwankung der Richtung der Kraft Fp, die vorkommt, wenn die Richtung der Kraft Fp in einem der vorbestimmten Bereiche liegt, zu verhindern. Dies kann die Schwankung der Betätigungskraft reduzieren, so dass der Roboter 50 stetiger und sicherer bewegt werden kann, um eine Verbesserung der Bedienbarkeit zu ermöglichen.
  • In dem Maße wie die Größe des Positionsvektors Pv zunimmt, kann zusätzlich die vorbestimmte Richtung Dn auf eine Richtung geändert werden, in welcher der Winkel, der von der vorbestimmten Richtung Dn und dem Positionsvektor Pv gebildet wird, abnimmt. In diesem Fall wird zusammen mit der Zunahme der Größe des Positionsvektors Pv die vorbestimmte Richtung Dn auf die Richtung geändert, in welcher der Winkel, der von der vorbestimmten Richtung Dn und dem Positionsvektor Pv gebildet wird, im Verhältnis zur Größe des Positionsvektors Pv stufenweise in jedem vorbestimmten Bereich oder stufenweise gemäß einer vorbestimmten Funktion abnimmt.
  • Wenn die vorbestimmte Richtung Dn stufenweise in jedem Bereich umgeschaltet wird, wird es bevorzugt, die Richtung der Kraft Fp regelmäßig zu ändern oder das berechnete Moment der Kraft M13 regelmäßig zu ändern, so dass sich die Betätigungskraft nicht erheblich ändert.
  • Somit kann die Betätigungskraft verringert werden, indem die Größe des Moments der Kraft M13 reduziert wird, selbst wenn die Größe der Kraft Fn die gleiche ist, in dem die vorbestimmte Richtung Dn auf die Richtung geändert wird, in welcher der Winkel, der von der vorbestimmten Richtung Dn und dem Positionsvektor Pv gebildet wird, abnimmt, wenn die Größe des Positionsvektors Pv zunimmt.
  • Wenn entsprechend die Bewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der Betätigungskraft und der Kraftsteuerungsverstärkung ermittelt wird, kann die Bewegungsgeschwindigkeit der Betätigungsachse verringert werden, wenn die Spitze 58 des Roboters 50 zur Betätigungsachse distal ist, selbst wenn die Größe der Kraft Fp die gleiche ist. Durch das Bewegen der Spitze 58 des Roboters 50 in dem Zustand, in dem die Bewegungsgeschwindigkeit, d.h. die Drehgeschwindigkeit der Achse verringert wird, kann der Bediener den Roboter 50 sicherer bewegen.
  • Wie in der obigen Beschreibung mit Bezug auf 5 kann ferner das Moment der Kraft M21 zur Verwendung berechnet werden. Wenn mit anderen Worten die Größe des Positionsvektors Pv kleiner als ein vorbestimmter Wert ist, wird das Moment der Kraft M21 als Betätigungskraft angenommen. Wenn zusätzlich die Größe des Positionsvektors Pv gleich oder größer als der vorbestimmte Wert ist, wird das Moment der Kraft M13 oder ein Moment der Kraft, das durch Addieren des Moments der Kraft M13 und des Moments der Kraft M21 ermittelt wird, als Betätigungskraft angenommen. Ferner kann ein Einfluss jedes von dem Moment der Kraft M13 und dem Moment der Kraft M21 angepasst werden, indem jedes Moments der Kraft mit einem Koeffizienten multipliziert wird, um jeweils seine Größe zu ändern, und die Werte, die durch die Anpassung des Einflusses ermittelt werden, können addiert werden. In diesem Fall kann der Koeffizient auf der Grundlage der Größe des Positionsvektors Pv, der Größe der Kraft Fp und dergleichen angepasst werden.
  • Zusätzlich kann ein Moment der Kraft auf der Grundlage des Vorgangs der Expansions-/Kontraktionsanpassung des Positionsvektors, wobei die Kraft Fp in der Ebene C ausgeübt wird und der beim Berechnen des Moments der Kraft M12 ausgeführt wird, und der Drehvorgänge in die Richtung der Kraft F der Translationskomponente der Kraft Fs und die vorbestimmte Richtung, die beim Berechnen des Moments der Kraft M12 ausgeführt werden, berechnet werden.
  • Es folgt eine Beschreibung eines praktischen Beispiels des Rechenverfahrens mit Bezug auf 11.
  • 11 ist ein Diagramm zum Erläutern eines Verfahrens zum Berechnen einer Betätigungskraft im Verhältnis zur Betätigungsachse 31 auf der Grundlage der Kraft Fs, die von der Kraftmesseinheit 21 gemessen wird, wie in 5, 8, 9, 10 und dergleichen.
  • Ähnlich wie bei der obigen Beschreibung ist der Punkt P1 der Ursprung, der die Position der Betätigungsachse 31 in dem Referenzkoordinatensystem darstellt. Die Ebene C wird als X-Y-Ebene angenommen, wobei es sich um eine Ebene handelt, die durch die X-Achse Ax und die Y-Achse Ay in einem Koordinatensystem gebildet wird, das an der Betätigungsachse 31 eingestellt ist, so dass der Ursprung an dem Punkt P1 positioniert ist, die Z-Achse Az mit der Drehmittellinie der Betätigungsachse 31 zusammenfällt, und die Ebene, die durch die X-Achse Ax und die Y-Achse Ay gebildet wird, eine Ebene ist, die zur Drehmittellinie der Betätigungsachse 31 orthogonal ist. Der Punkt P2 wird als ein Punkt angenommen, an dem ein Kraftmesspunkt als Ursprung eines Kraftmess-Koordinatensystems, wenn eine Kraft gemessen wird, die auf die Spitze 58 des Roboters 50 ausgeübt wird, auf die Ebene C projiziert wird. Der Positionsvektor Pv wird als Positionsvektor von dem Punkt P1 zu dem Punkt p2 in der Ebene C angenommen. Die Kraft Fp wird als eine Translationskraft angenommen, die als eine Kraft, die um die Drehmittellinie der Betätigungsachse 31 herum in der Ebene C ausgeübt wird, wie zuvor beschrieben, auf der Grundlage der Kraft F der Translationskomponente der Kraft Fs ermittelt wird. Das Bezugszeichen Lw wird als eine Gerade angenommen, die in der Ebene C vorliegt und die Punkte P1 und P2 umfasst.
  • In diesem Fall wird auf der Grundlage des Positionsvektors Pv, an dem die Kraft Fp, welche die Translationskraft umfasst, ausgeübt wird, ein Positionsvektor Pn durch eine Expansions-/Kontraktionsanpassung der Größe des Positionsvektors Pv an einen vorbestimmten Wert Cpn berechnet. Eine Kraft, die durch paralleles Bewegen der Kraft Fp ermittelt wird, so dass ein Punkt, an dem die Kraft Fp, welche die Translationskraft umfasst, ausgeübt wird, in die Position P4 als Endpunkt des Positionsvektors Pn bewegt wird, wird als eine Kraft Fnp angenommen.
  • Auf der Grundlage der Richtung der Kraft Fnp, die durch paralleles Bewegen der Kraft Fp in der Ebene C ermittelt wird, wird ein Winkel, der durch die Kraft Fnp und die Gerade Lw gebildet wird, berechnet. Der berechnete Winkel wird mit dem vorbestimmten Winkelbereich Rp verglichen, der durch einen vorbestimmten Winkel gegeben ist. Wenn bestimmt wird, dass die Richtung der Kraft Fp innerhalb des vorbestimmten Winkelbereichs Rp liegt, wird die Kraft Fn, die durch Drehen der Richtung der Kraft Fp in eine vorbestimmte Richtung ermittelt wird, berechnet.
  • Ein Moment der Kraft wird aus einer äußeren Produktberechnung des Positionsvektors Pn und der somit ermittelten Kraft Fn berechnet, und das berechnete Moment der Kraft M14 wird als Betätigungskraft angenommen. Wenn jedoch die Größe des Positionsvektors Pv kleiner als ein vorbestimmter Wert ist, wird das Moment der Kraft M21 als Betätigungskraft angenommen, wie bei der obigen Beschreibung.
  • Wie zuvor beschrieben, wird die Richtung der Kraft Fp, die um die Drehmittellinie der Betätigungsachse 31 herum ausgeübt wird, auf eine repräsentative Richtung eingestellt, die gemäß der Richtung bestimmt wird. Zusätzlich wird die Größe des Positionsvektors, an dem die Kraft ausgeübt wird, auf eine vorbestimmte Größe eingestellt. Dies kann eine Schwankung des Moments der Kraft reduzieren, die auf die Schwankung der Position des Punktes P2 und die Schwankung der Richtung der Kraft Fp zurückzuführen ist, wenn ein Moment der Kraft ermittelt wird. Somit kann man eine geringe Schwankung, eine drastische Änderung und dergleichen der Betätigungskraft verhindern. Entsprechend kann der Roboter 50 stetig bewegt werden, wodurch eine Verbesserung der Bedienbarkeit ermöglicht wird.
  • Wenn zusätzlich die Bewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der Betätigungskraft und der Kraftsteuerungsverstärkung ermittelt wird, kann man verhindern, dass sich selbst bei der Ausübung einer Kraft mit der gleichen Größe die Bewegungsgeschwindigkeit der Betätigungsachse in Abhängigkeit von der Richtung der Kraft Fp unabsichtlich ändert.
  • Zusätzlich sind die Änderung der Richtung der Kraft Fp, ein anderes praktisches Beispiel des Verfahrens zum Einstellen der Größe des Positionsvektors, an dem die Kraft Fp ausgeübt wird, auf einen vorbestimmten Wert, ein Verfahren zum Berücksichtigen des Moments der Kraft M21 und dergleichen die gleichen wie die der obigen Beschreibung. Die Verwendung derartiger Verfahren ermöglicht eine Verbesserung der Bedienbarkeit zum Bewegen des Roboters 50 durch Ausüben einer Kraft und ermöglicht eine sicherere Bewegung des Roboters 50.
  • Nachstehend wird ein anderes praktisches Beispiel des Verfahrens zum Berechnen der Betätigungskraft beschrieben.
  • Auf der Grundlage der Kraft F der Translationskomponente der Kraft Fs, die von der Kraftmesseinheit 21 gemessen wird, wird die Kraft Fp ermittelt, die eine Translationskraft umfasst, die um die Drehmittellinie der Betätigungsachse 31 herum ausgeübt wird, und auf der Grundlage einer Richtung der Kraft Fp, welche die Translationskraft umfasst, wird die Richtung der Betätigungskraft ermittelt. Alternativ kann die Größe der Betätigungskraft auf der Grundlage der Größe der Kraft F der Translationskomponente der Kraft Fs, die von der Kraftmesseinheit 21 gemessen wird, oder der Größe der Kraft Fp, die um die Drehmittellinie der Betätigungsachse 31 herum ausgeübt wird, ermittelt werden.
  • Das obige praktische Beispiel wird ferner mit Bezug auf 12 beschrieben.
  • Ähnlich wie das zuvor beschriebene praktische Beispiel wird der Punkt P1 als der Ursprung angenommen, der die Position der Betätigungsachse 31 in dem Referenzkoordinatensystem darstellt. Die Ebene C wird als eine X-Y-Ebene angenommen, wobei es sich um eine Ebene handelt, die durch die X-Achse Ax und die Y-Achse Ay in dem Koordinatensystem gebildet wird, das an der Betätigungsachse 31 eingestellt ist, so dass der Ursprung an dem Punkt P1 positioniert ist, die Z-Achse Az mit der Drehmittellinie der Betätigungsachse 31 zusammenfällt, und die Ebene, die durch die X-Achse Ax und die Y-Achse Ay gebildet wird, eine Ebene ist, die zur Drehmittellinie der Betätigungsachse 31 orthogonal ist. Der Punkt P2 wird als ein Punkt angenommen, an dem ein Kraftmesspunkt als Ursprung eines Kraftmess-Koordinatensystems, wenn eine Kraft gemessen wird, die auf die Spitze 58 des Roboters 50 ausgeübt wird, auf die Ebene C projiziert wird. Der Positionsvektor Pv wird als Positionsvektor von dem Punkt P1 zu dem Punkt P2 in der Ebene C angenommen. Die Kraft Fp wird als eine Translationskraft angenommen, die als eine Kraft, die um die Drehmittellinie der Betätigungsachse 31 herum in der Ebene C ausgeübt wird, wie zuvor beschrieben, auf der Grundlage der Kraft F der Translationskomponente der Kraft Fs ermittelt wird. Das Bezugszeichen Lw wird als eine Gerade angenommen, die in der Ebene C vorliegt und die Punkte P1 und P2 umfasst.
  • Wenn die Größe des Positionsvektors Pv kleiner als ein vorbestimmter Wert ist, wird die Betätigungskraft als nicht ausgeübt angenommen. Wenn dann die Größe des Positionsvektors Pv gleich oder größer als der vorbestimmte Wert ist, erfolgt die Verarbeitung wie folgt.
  • Zunächst wird auf der Grundlage der Kraft Fp eine virtuelle Kraft, von der angenommen wird, dass sie virtuell auf die Betätigungsachse 31 ausgeübt wird, wie folgt ermittelt. Beispielsweise durch Ermitteln eines inneren Produkts eines Vektors der Kraft Fp und des Positionsvektors Pv wird eine Richtung der virtuellen Kraft ermittelt, um ein Vorzeichen der virtuellen Kraft in Abhängigkeit davon zu bestimmen, ob die Richtung der Kraft Fp eine positive Richtung orthogonal zu der Geraden Lw (eine Richtung +Rq) oder eine negative Richtung orthogonal zu der Geraden Lw (eine Richtung -Rq) ist. Für den in 12 abgebildeten Fall wird ermittelt, dass die Richtung der Kraft Fp die positive Richtung orthogonal zu der Geraden Lw ist (Richtung +Rq). Entsprechend wird auf der Grundlage der ermittelten Richtung die Richtung der virtuellen Kraft als positive Richtung angenommen, und das Vorzeichen der virtuellen Kraft wird als positiv angenommen.
  • Ferner wird auf der Grundlage der Größe der Kraft Fp oder der Größe der Kraft F der Translationskomponente der Kraft Fs die Größe der virtuellen Kraft angenommen. Alternativ kann eine Größe einer Komponente orthogonal zu dem Positionsvektor Pv der Kraft Fp als Größe der virtuellen Kraft angenommen werden. Eine somit ermittelte virtuelle Kraft Fk wird als Betätigungskraft angenommen.
  • Ferner kann das Moment der Kraft M21, das auf der Grundlage der Kraft M der Momentenkomponente der Kraft Fs, die von der Kraftmesseinheit 21 gemessen wird, ermittelt wird, zur Verwendung berechnet werden. Wenn die Größe des Positionsvektors Pv kleiner als der vorbestimmte Wert ist, wird das Moment der Kraft M21 als Betätigungskraft angenommen.
  • Wenn zusätzlich die Größe des Positionsvektors Pv gleich oder größer als der vorbestimmte Wert ist, wird ein Wert, der durch Multiplizieren der virtuellen Kraft Fk mit einem vorbestimmten Wert oder einem Moment der Kraft ermittelt wird, das durch Addieren des Wertes ermittelt wird, der durch Multiplizieren der virtuellen Kraft Fk mit dem vorbestimmten Wert und dem Moment der Kraft M21 ermittelt wird, als Betätigungskraft angenommen. Ferner kann jeder Wert, der durch Multiplizieren der virtuellen Kraft Fk mit dem vorbestimmten Wert und dem Moment der Kraft M21 ermittelt wird, mit einem Koeffizienten multipliziert werden, um seine Größe zu ändern, um jeweils den Einfluss anzupassen. Dann können die Werte, die durch die Anpassung ermittelt werden, addiert werden. In diesem Fall kann der Koeffizient auf der Grundlage der Größe des Positionsvektors Pv, der Größe der Kraft Fp und dergleichen angepasst werden.
  • Wie bei der obigen Beschreibung, wenn es wünschenswert ist, den Einfluss der Kraft M einer Momentenkomponente der Kraft Fs, die von der Kraftmesseinheit 21 gemessen wird, zu entfernen, oder es wünschenswert ist, die Betätigungsachse nur um die Translationskraft der Kraft Fs zu bewegen, wird bevorzugt eine Kraft basierend auf der virtuellen Kraft Fk als Betätigungskraft angenommen, ohne Berücksichtigung des Moments der Kraft M21.
  • Die Betätigungsbefehlseinheit 24 bewegt die Betätigungsachse auf der Grundlage der Betätigungskraft, die wie zuvor beschrieben ermittelt wird, und der Bewegungsrichtung, die gemäß der Richtung der Kraft bestimmt wird, die durch die Einheit zum Einstellen einer Betätigungsachse 25 eingestellt wird. Nun bestimmt die Betätigungsbefehlseinheit 24 eine Zielbewegungsrichtung der Betätigungsachse (eine Drehrichtung, wenn die Betätigungsachse eine Drehachse ist), auf der Grundlage einer Bewegungsrichtung der Betätigungskraft, die gemäß dem Vorzeichen der Betätigungskraft und der Richtung der Kraft, die von der Einheit zum Einstellen einer Betätigungsachse 25 eingestellt wird, bestimmt wird, die hier gemäß dem Vorzeichen der Betätigungskraft bestimmt wird, und berechnet eine Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der Größe der Betätigungskraft.
  • In diesem Fall wird es bevorzugt, die Zielbewegungsgeschwindigkeit der Betätigungsachse zu berechnen, indem eine Kraftsteuerung ausgeführt wird, die ermittelt wird, indem die Größe der Betätigungskraft mit einer Kraftsteuerungsverstärkung multipliziert wird, um eine Bewegungsansprechempfindlichkeit auf die Kraft zu bestimmen. Zusätzlich kann die Kraftsteuerungsverstärkung gemäß einer kürzesten Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze 58 des Roboters 50 geändert werden.
  • Nun wird die Kraftsteuerungsverstärkung auf der Grundlage der kürzesten Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze 58 des Roboters 50 stufenweise in jedem vorbestimmten Bereich, stufenweise gemäß einer vorbestimmten Funktion oder durchgehend gemäß der vorbestimmten Funktion geändert. Wenn die Kraftsteuerungsverstärkung stufenweise umgeschaltet wird, wird es bevorzugt, die Geschwindigkeit der Bewegung regelmäßig zu ändern, so dass sich die Bewegungsgeschwindigkeit des Roboters 50 nicht plötzlich und wesentlich ändert.
  • Somit kann die Ansprechempfindlichkeit auf die Betätigungskraft in Abhängigkeit von der Position der Spitze 58 des Roboters 50 geändert werden, wodurch die Bewegungsgeschwindigkeit des Roboters 50 in jedem Bereich im Raum angepasst werden kann.
  • Nun wird die Bewegung der Betätigungsachse auf der gleichen Winkelgeschwindigkeit im Verhältnis zu der gleichen Betätigungskraft in Situationen berücksichtigt, in denen die kürzeste Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze 58 des Roboters 50 groß ist, und in denen sie klein ist. Wenn die kürzeste Entfernung groß ist, wird die Translationsgeschwindigkeit der Spitze 58 des Roboters 50 größer als wenn die kürzeste Entfernung klein ist.
  • Wenn dann die Position der Spitze 58 des Roboters 50 zur Betätigungsachse distal ist, ist es im Betrieb sicherer und einfacher, die Winkelgeschwindigkeit der Betätigungsachse im Verhältnis zu der Betätigungskraft kleiner zu machen, als wenn die Position seiner Spitze 58 nahe an der Betätigungsachse liegt. In dem Maße wie die kürzeste Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze 58 des Roboters 50 zunimmt, kann die Kraftsteuerungsverstärkung entsprechend verringert werden.
  • Auf diese Art und Weise, selbst wenn die Größe der Betätigungskraft die gleiche ist, kann die Geschwindigkeit der Spitze 58 des Roboters 50 verringert werden, wenn sich die Position der Spitze 58 des Roboters 50 von der Betätigungsachse entfernt. Daraufhin kann die Sicherheit des Roboters 50 erhöht und die Bedienbarkeit verbessert werden.
  • Wenn zusätzlich die Zielbewegungsgeschwindigkeit der Betätigungsachse gemäß der Größe der Betätigungskraft geändert wird, selbst wenn die Größe der Betätigungskraft die gleiche ist, nimmt eine tangentiale Geschwindigkeit der Spitze 58 des Roboters 50 in dem Maße zu, wie sich die Spitze 58 des Roboters 50 von der Betätigungsachse entfernt.
  • Wenn dann die Betätigungsbefehlseinheit 24 die Betätigungsachse auf der Grundlage der Betätigungskraft, die wie zuvor beschrieben ermittelt wird, und der Bewegungsrichtung, die gemäß der Richtung der Kraft bestimmt wird, die von der Einheit zum Einstellen einer Betätigungsachse 25 eingestellt wird, bewegt, ermittelt die Betätigungsbefehlseinheit 24 auf der Grundlage der Betätigungskraft eine Zielbewegungsrichtung und eine Zieltangentialgeschwindigkeit der Spitze 58 des Roboters 50 um die Drehmittellinie der Betätigungsachse herum. Dann kann die Betätigungsbefehlseinheit 24 eine Zielbewegungsrichtung und eine Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der Zielbewegungsrichtung und der Zieltangentialgeschwindigkeit der Spitze 58 des Roboters 50 ermitteln, um die Betätigungsachse zu bewegen.
  • Wenn auf diese Art und Weise die Größe der Betätigungskraft die gleiche ist, kann die tangentiale Geschwindigkeit der Spitze 58 des Roboters 50 unabhängig von der Position seiner Spitze 58 gleich gemacht werden. In diesem Fall, selbst wenn die Größe der Betätigungskraft die gleiche ist, nimmt die Drehgeschwindigkeit der Betätigungsachse in dem Maße ab, wie sich die Spitze 58 des Roboters 50 weiter von der Betätigungsachse entfernt.
  • Um zusätzlich eine derartige Wirkung zu erzielen, wenn die Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der Größe der Betätigungskraft berechnet wird, kann die Kraftsteuerungsverstärkung in dem Maße verringert werden, wie die kürzeste Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze 58 des Roboters 50 zunimmt, wie zuvor beschrieben. Um zusätzlich die zuvor beschriebene Wirkung zu erzielen, wenn die Betätigungskraft berechnet wird, kann eine Reduzierungsrechnung vorgenommen werden, indem die kürzeste Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze 58 des Roboters 50 genommen wird, so dass die ermittelte Betätigungskraft gering sein kann.
  • Wenn zusätzlich die Zielbewegungsrichtung und die Zielbewegungsgeschwindigkeit der Betätigungsachse ermittelt werden, nachdem die Bewegungsrichtung und die tangentiale Geschwindigkeit der Spitze 58 des Roboters 50 um die Drehmittellinie der Betätigungsachse herum auf der Grundlage der Betätigungskraft ermittelt wurden, kann die Zieltangentialgeschwindigkeit der Spitze 58 des Roboters 50 durch eine Kraftsteuerung berechnet werden, die durch Multiplizieren der Größe der Betätigungskraft mit einer Kraftsteuerungsverstärkung ermittelt wird, um eine Bewegungsansprechempfindlichkeit auf die Kraft zu bestimmen. Selbst in diesem Fall kann der Wert der Kraftsteuerungsverstärkung gemäß der kürzesten Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze 58 des Roboters 50 geändert werden.
  • In einem derartigen Fall wird die Kraftsteuerungsverstärkung auf der Grundlage der kürzesten Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze 58 des Roboters 50 stufenweise in jedem vorbestimmten Bereich, stufenweise gemäß einer vorbestimmten Funktion oder durchgehend gemäß der vorbestimmten Funktion geändert. Wenn die Kraftsteuerungsverstärkung stufenweise umgeschaltet wird, wird es bevorzugt, die Geschwindigkeit der Bewegung regelmäßig zu ändern, so dass sich die Bewegungsgeschwindigkeit des Roboters 50 nicht plötzlich und wesentlich ändert.
  • Zusätzlich kann in dem zuvor beschriebenen Fall die Kraftsteuerungsverstärkung in dem Maße verringert werden, wie die kürzeste Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze 58 des Roboters 50 zunimmt. In dem Maße wie sich die Position der Spitze 58 des Roboters 50 weiter von der Drehmittellinie der Betätigungsachse entfernt, kann die tangentiale Geschwindigkeit der Spitze 58 des Roboters 50 um die Drehmittellinie der Betätigungsachse herum somit verringert werden, woraufhin der Roboter 50 sicherer betätigt werden kann.
  • Somit gibt die Betätigungsbefehlseinheit 24 einen Befehl zum Bewegen einer gewünschten Achse aus, die als Betätigungsachse des Roboters 50 eingestellt ist, auf der Grundlage der Einstellung der Einheit zum Einstellen einer Betätigungsachse 25 und der Betätigungskraft bzw. Betätigungskräfte, die von der Einheit zum Erfassen einer ersten Betätigungskraft 22 und/oder der Einheit zum Erfassen einer zweiten Betätigungskraft 23 berechnet wird bzw. werden.
  • Wenn somit eine Kraft auf die Spitze eines Roboters ausgeübt wird, kann der Roboter ohne Weiteres in eine beliebige Stellung bewegt werden, indem eine Achse des Roboters gemäß der Kraft bewegt wird. Wenn mit anderen Worten eine Position und/oder eine Stellung der Spitze des Roboters in einem orthogonalen Koordinatensystem durch Bewegen des Roboters durch Ausübung der Kraft auf die Spitze des Roboters bewegt wird, kann die Spitze des Roboters in eine Position bewegt werden, in die es schwierig oder unmöglich ist, seine Spitze zu bewegen.
  • Wenn zusätzlich die Position der Achse des Roboters durch Ausüben einer Kraft auf die Spitze des Roboters bewegt wird, kann die Position seiner Achse stetiger, sicherer und einfach bewegt werden, und zwar unabhängig von der Schwankung der Position der Spitze des Roboters und der Schwankung der Richtung der Kraft, die auf seine Spitze ausgeübt wird, wodurch die Bedienbarkeit verbessert wird.
  • Vorteilhafte Wirkungen der vorliegenden Erfindung
  • Die vorliegende Erfindung ermöglicht es, einen Roboter mühelos in eine beliebige Stellung zu bewegen, indem eine Achse des Roboters gemäß einer Kraft bewegt wird, wenn die Kraft auf die Spitze des Roboters ausgeübt wird. Wenn zusätzlich die Position der Achse des Roboters durch Ausüben der Kraft auf die Spitze des Roboters bewegt wird, ermöglicht es die Erfindung, ihre Position stabiler, sicherer und einfach zu bewegen, und zwar unabhängig von der Schwankung der Position der Spitze des Roboters und der Schwankung der Richtung der Kraft, die darauf ausgeübt wird, wodurch eine Verbesserung der Bedienbarkeit ermöglicht wird.
  • Obwohl zuvor diverse Ausführungsformen und Änderungen der vorliegenden Erfindung beschrieben wurden, wird der Fachmann verstehen, dass die beabsichtigten Funktionswirkungen der Erfindung auch durch andere Ausführungsformen und Änderungen erreicht werden können. Insbesondere ist es möglich, die Elemente der zuvor beschriebenen Ausführungsformen und Änderungen zu entfernen oder zu ersetzen, und ist es möglich, ferner eine bekannte Einheit hinzuzufügen, ohne den Umfang der Erfindung zu verlassen. Zusätzlich ist es für den Fachmann offensichtlich, dass die Erfindung auch dadurch umgesetzt werden kann, dass die Merkmale der Vielzahl von Ausführungsformen, die hier implizit oder explizit offenbart werden, beliebig kombiniert werden. Mit anderen Worten sind auch andere Formen, die im Bereich des technischen Gedankens der Erfindung denkbar sind, im Umfang der Erfindung enthalten.

Claims (14)

  1. Robotersteuervorrichtung (10) eines Robotersystems (11), das einen Roboter (50) auf der Grundlage einer Kraft bewegt, die auf den Roboter ausgeübt wird, der eine Vielzahl von Achsen umfasst, die mindestens eine Drehachse beinhalten, wobei die Robotersteuervorrichtung Folgendes umfasst: eine Kraftmesseinheit (21), welche die Kraft misst, die auf eine Spitze des Roboters ausgeübt wird; eine Einheit zum Einstellen einer Betätigungsachse (25), die eine Achse, die gemäß der Kraft rotatorisch bewegt wird, als eine Betätigungsachse unter der mindestens einen Drehachse einstellt, und eine Drehbewegungsrichtung der Betätigungsachse einstellt, die gemäß einer Richtung der Kraft bestimmt wird; eine Einheit zum Erfassen einer ersten Betätigungskraft (22), die, wenn eine Kraft, die eine Translationskomponente der Kraft umfasst, die von der Kraftmesseinheit gemessen wird, als erste auf die Spitze ausgeübte Kraft angenommen wird, auf der Grundlage der ersten auf die Spitze ausgeübten Kraft eine Kraft ermittelt, welche die Translationskomponente der Kraft umfasst, die in einer Ebene vorliegt, die zu einer Drehmittellinie der Betätigungsachse orthogonal ist und um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, und auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, eine erste virtuelle Kraft ermittelt, die virtuell auf die Betätigungsachse ausgeübt wird, um davon auszugehen, dass die erste virtuelle Kraft eine erste Betätigungskraft ist; und eine Betätigungsbefehlseinheit (24), die auf der Grundlage einer Betätigungskraft, die aus der ersten Betätigungskraft bestimmt wird, einen Betätigungsbefehl zum Bewegen der Betätigungsachse, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, ausgibt, wobei die Betätigungsbefehlseinheit eine Zielbewegungsrichtung und eine Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der ersten Betätigungskraft und der Drehbewegungsrichtung ermittelt, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, um die Betätigungsachse zu bewegen.
  2. Robotersteuervorrichtung (10) eines Robotersystems (11), das einen Roboter (50) auf der Grundlage einer Kraft bewegt, die auf den Roboter ausgeübt wird, der eine Vielzahl von Achsen einschließt, die mindestens eine Drehachse einschließen, wobei die Robotersteuervorrichtung Folgendes umfasst: eine Kraftmesseinheit (21), welche die Kraft misst, die auf eine Spitze des Roboters ausgeübt wird; eine Einheit zum Einstellen einer Betätigungsachse (25), die eine Achse, die gemäß der Kraft rotatorisch bewegt wird, als Betätigungsachse unter der mindestens einen Drehachse einstellt, und eine Drehbewegungsrichtung der Betätigungsachse einstellt, die gemäß einer Richtung der Kraft bestimmt wird; eine Einheit zum Erfassen einer zweiten Betätigungskraft (23), die, wenn eine Kraft eine Momentenkomponente der Kraft umfasst, die von der Kraftmesseinheit gemessen wird, als eine zweite auf die Spitze ausgeübte Kraft angenommen wird, auf der Grundlage der zweiten auf die Spitze ausgeübten Kraft eine zweite virtuelle Kraft ermittelt, die virtuell auf die Betätigungsachse ausgeübt wird, um davon auszugehen, dass die zweite virtuelle Kraft eine zweite Betätigungskraft ist; und eine Betätigungsbefehlseinheit (24), die auf der Grundlage einer Betätigungskraft, die aus der zweiten Betätigungskraft bestimmt wird, einen Betätigungsbefehl zum Bewegen der Betätigungsachse, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, ausgibt, wobei die Betätigungsbefehlseinheit eine Zielbewegungsrichtung und eine Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der zweiten Betätigungskraft und der Drehbewegungsrichtung ermittelt, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, um die Betätigungsachse zu bewegen.
  3. Robotersteuervorrichtung (10) eines Robotersystems (11), das einen Roboter (50) auf der Grundlage einer Kraft bewegt, die auf den Roboter ausgeübt wird, der eine Vielzahl von Achsen einschließt, die mindestens eine Drehachse einschließen, wobei die Robotersteuervorrichtung Folgendes umfasst: eine Kraftmesseinheit (21), welche die Kraft misst, die auf eine Spitze des Roboters ausgeübt wird; eine Einheit zum Einstellen einer Betätigungsachse (25), die eine Achse, die gemäß der Kraft rotatorisch bewegt wird, als Betätigungsachse unter der mindestens einen Drehachse einstellt, und eine Drehbewegungsrichtung der Betätigungsachse einstellt, die gemäß einer Richtung der Kraft bestimmt wird; eine Einheit zum Erfassen einer ersten Betätigungskraft (22), die, wenn eine Kraft, die eine Translationskomponente der Kraft umfasst, die von der Kraftmesseinheit gemessen wird, als erste auf die Spitze ausgeübte Kraft angenommen wird, auf der Grundlage der ersten auf die Spitze ausgeübten Kraft eine Kraft ermittelt, welche die Translationskomponente der Kraft umfasst, die in einer Ebene vorliegt, die zu einer Drehmittellinie der Betätigungsachse orthogonal ist und um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, und auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, eine erste virtuelle Kraft ermittelt, die virtuell auf die Betätigungsachse ausgeübt wird, um davon auszugehen, dass die erste virtuelle Kraft eine erste Betätigungskraft ist; eine Einheit zum Erfassen einer zweiten Betätigungskraft (23), die, wenn eine Kraft, die eine Momentenkomponente der Kraft umfasst, die von der Kraftmesseinheit gemessen wird, als eine zweite auf die Spitze ausgeübte Kraft angenommen wird, auf der Grundlage der zweiten auf die Spitze ausgeübten Kraft eine zweite virtuelle Kraft ermittelt, die virtuell auf die Betätigungsachse ausgeübt wird, um davon auszugehen, dass die zweite virtuelle Kraft eine zweite Betätigungskraft ist; und eine Betätigungsbefehlseinheit (24), die auf der Grundlage einer Betätigungskraft, die aus der ersten Betätigungskraft und der zweiten Betätigungskraft bestimmt wird, einen Betätigungsbefehl zum Bewegen der Betätigungsachse, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, ausgibt, wobei die Betätigungsbefehlseinheit eine Zielbewegungsrichtung und eine Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der ersten Betätigungskraft, der zweiten Betätigungskraft und der Drehbewegungsrichtung ermittelt, die von der Einheit zum Einstellen einer Betätigungsachse eingestellt wird, um die Betätigungsachse zu bewegen.
  4. Robotersteuervorrichtung nach Anspruch 1 oder 3, wobei, wenn die Befehlsbetätigungseinheit die Zielbewegungsrichtung und die Zielbewegungsgeschwindigkeit der Betätigungsachse ermittelt, die Befehlsbetätigungseinheit eine Zielbewegungsrichtung und eine Zieltangentialgeschwindigkeit der Spitze des Roboters um die Drehmittellinie der Betätigungsachse herum ermittelt, und die Zielbewegungsrichtung und die Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der Zielbewegungsrichtung und der Zieltangentialgeschwindigkeit der Spitze des Roboters ermittelt, um die Betätigungsachse zu bewegen.
  5. Robotersteuervorrichtung nach Anspruch 2 oder 3, wobei, wenn die Befehlsbetätigungseinheit die Zielbewegungsrichtung und die Zielbewegungsgeschwindigkeit der Betätigungsachse ermittelt, die Befehlsbetätigungseinheit eine Zielbewegungsrichtung und eine Zieltangentialgeschwindigkeit der Spitze des Roboters um eine oder die Drehmittellinie der Betätigungsachse herum ermittelt, und die Zielbewegungsrichtung und die Zielbewegungsgeschwindigkeit der Betätigungsachse auf der Grundlage der Zielbewegungsrichtung und der Zieltangentialgeschwindigkeit der Spitze des Roboters ermittelt, um die Betätigungsachse zu bewegen.
  6. Robotersteuervorrichtung nach einem der Ansprüche 1, 3 und 4, wobei die Einheit zum Erfassen einer ersten Betätigungskraft die Kraft, welche die Translationskomponente der Kraft umfasst, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ersten auf die Spitze ausgeübten Kraft ermittelt und eine Momentenkomponente der Kraft, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, berechnet, um eine Richtung und eine Größe der ersten Betätigungskraft zu ermitteln.
  7. Robotersteuervorrichtung nach einem der Ansprüche 1, 3 und 4, wobei die Einheit zum Erfassen einer ersten Betätigungskraft die Kraft, welche die Translationskomponente der Kraft umfasst, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ersten auf die Spitze ausgeübten Kraft ermittelt, und eine Momentenkomponente der Kraft, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, wobei auf der Grundlage eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, eine Größe des Positionsvektors auf einen vorbestimmten Wert eingestellt wird, berechnet, um eine Richtung und eine Größe der ersten Betätigungskraft zu ermitteln.
  8. Robotersteuervorrichtung nach einem der Ansprüche 1, 3 und 4, wobei die Einheit zum Erfassen einer ersten Betätigungskraft die Kraft, welche die Translationskomponente der Kraft umfasst, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage einer Richtung, in der die erste auf die Spitze ausgeübte Kraft ausgeübt wird, und einer Drehbetätigungsrichtung in eine vorbestimmte Richtung ermittelt, und eine Momentenkomponente der Kraft, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, berechnet, um eine Richtung und eine Größe der ersten Betätigungskraft zu ermitteln.
  9. Robotersteuervorrichtung nach einem der Ansprüche 1, 3 und 4, wobei die Einheit zum Erfassen einer ersten Betätigungskraft die Kraft, welche die Translationskomponente der Kraft umfasst, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, die auf der Grundlage einer Richtung, in der die erste auf die Spitze ausgeübte Kraft ausgeübt wird, und einer Drehbetätigungsrichtung in eine vorbestimmte Richtung berechnet wird, ermittelt und eine Momentenkomponente der Kraft, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, wobei auf der Grundlage eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, eine Größe des Positionsvektors auf einen vorbestimmten Wert eingestellt wird, berechnet, um eine Richtung und eine Größe der ersten Betätigungskraft zu ermitteln.
  10. Robotersteuervorrichtung nach einem der Ansprüche 1, 3 und 4, wobei die Einheit zum Erfassen einer ersten Betätigungskraft die Kraft, welche die Translationskomponente der Kraft umfasst, die um die Drehmittellinie der Betätigungsachse herum ausgeübt wird, auf der Grundlage der ersten auf die Spitze ausgeübten Kraft ermittelt, eine Richtung der ersten Betätigungskraft auf der Grundlage einer Richtung der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, und eines Positionsvektors, an dem die ermittelte Kraft, welche die Translationskomponente der Kraft umfasst, ausgeübt wird, ermittelt und eine Größe der ersten Betätigungskraft auf der Grundlage einer Größe der ermittelten Kraft, welche die Translationskomponente der Kraft umfasst, oder einer Größe der ersten auf die Spitze ausgeübten Kraft ermittelt.
  11. Robotersteuervorrichtung nach einem der Ansprüche 2, 3 und 5, wobei die Einheit zum Erfassen einer zweiten Betätigungskraft eine Momentenkomponente der Kraft, die um die Drehmittellinie der Betätigungsachse herum durch die zweite auf die Spitze ausgeübte Kraft ausgeübt wird, berechnet, um eine Richtung und eine Größe der zweiten Betätigungskraft zu ermitteln.
  12. Robotersteuervorrichtung nach Anspruch 7 oder 9, wobei der vorbestimmte Wert in dem Maße verringert wird, wie eine kürzeste Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze des Roboters zunimmt.
  13. Robotersteuervorrichtung nach Anspruch 8, wobei die vorbestimmte Richtung auf eine Richtung geändert wird, in der ein Winkel, der von der vorbestimmten Richtung und dem Positionsvektor gebildet wird, in dem Maße abnimmt, wie eine kürzeste Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze des Roboters zunimmt.
  14. Robotersteuervorrichtung nach einem der Ansprüche 1 bis 13, wobei die Betätigungsbefehlseinheit eine Bewegungsgeschwindigkeit der Betätigungsachse durch eine Kraftsteuerung basierend auf einer Kraftsteuerungsverstärkung ermittelt und die Kraftsteuerungsverstärkung in dem Maße verringert, wie die kürzeste Entfernung von der Drehmittellinie der Betätigungsachse bis zur Spitze des Roboters zunimmt.
DE102015004481.8A 2014-04-14 2015-04-07 Robotersteuervorrichtung zum Steuern eines gemäß einer ausgeübten Kraft bewegten Roboters Active DE102015004481B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-082624 2014-04-14
JP2014082624A JP5893664B2 (ja) 2014-04-14 2014-04-14 作用された力に応じて移動されるロボットを制御するロボット制御装置

Publications (2)

Publication Number Publication Date
DE102015004481A1 DE102015004481A1 (de) 2015-10-15
DE102015004481B4 true DE102015004481B4 (de) 2018-12-06

Family

ID=54193324

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015004481.8A Active DE102015004481B4 (de) 2014-04-14 2015-04-07 Robotersteuervorrichtung zum Steuern eines gemäß einer ausgeübten Kraft bewegten Roboters

Country Status (4)

Country Link
US (1) US9555548B2 (de)
JP (1) JP5893664B2 (de)
CN (1) CN104972469B (de)
DE (1) DE102015004481B4 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6746990B2 (ja) * 2016-03-18 2020-08-26 セイコーエプソン株式会社 ロボット制御装置及びロボットシステム
JP2018069361A (ja) * 2016-10-27 2018-05-10 セイコーエプソン株式会社 力制御座標軸設定装置、ロボットおよび力制御座標軸設定方法
CN106994686B (zh) * 2016-12-01 2018-05-08 遨博(北京)智能科技有限公司 关节外力力矩的计算方法及装置、机器人
JP6400749B2 (ja) * 2017-01-24 2018-10-03 ファナック株式会社 力制御押付装置を備えたロボットシステム
EP3444076B1 (de) * 2017-08-17 2020-06-17 Siemens Healthcare GmbH Verfahren zur absolutpositionsbestimmung eines robotischen gerätes und robotisches gerät
CN111344120B (zh) 2017-11-14 2023-04-07 三菱电机株式会社 机器人的动作调整装置、动作控制系统及机器人系统
DE102018200864B3 (de) 2018-01-19 2019-02-07 Kuka Deutschland Gmbh Verfahren und System zum Steuern eines Roboters
JP2019177436A (ja) * 2018-03-30 2019-10-17 日本電産株式会社 ロボット制御装置、ロボットの関節の角度を求める方法、プログラム
KR102543596B1 (ko) * 2018-08-31 2023-06-19 삼성전자주식회사 외력의 측정을 위한 적어도 하나의 파라미터를 산출하는 방법 및 이를 수행하는 전자 장치
JP7415447B2 (ja) * 2019-10-31 2024-01-17 セイコーエプソン株式会社 ロボットシステム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5685106A (en) * 1979-12-14 1981-07-11 Hitachi Ltd Robot teaching method
JPH06250728A (ja) * 1993-02-26 1994-09-09 Hitachi Constr Mach Co Ltd ロボットの直接教示装置
JP4267027B2 (ja) 2006-12-07 2009-05-27 ファナック株式会社 ロボット制御装置
DE102007062108A1 (de) 2007-12-21 2009-07-02 Kuka Roboter Gmbh Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
DE102009018403A1 (de) 2009-04-22 2010-10-28 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Regelung eines Manipulators
DE102010019640A1 (de) 2010-05-06 2011-11-10 Kuka Roboter Gmbh Handgerät und Verfahren zum Steuern und/oder Programmieren eines Manipulators
DE102010029745A1 (de) 2010-06-07 2011-12-08 Kuka Laboratories Gmbh Werkstück-Handhabungssystem und Verfahren zum Manipulieren von Werkstücken mittels kooperierender Manipulatoren
DE102012009010A1 (de) 2012-05-05 2012-12-13 Daimler Ag Verfahren zum Erzeugen einer Bewegung eines Roboters

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2897792B2 (ja) 1991-02-21 1999-05-31 株式会社デンソー 電磁継電器
EP1386699A4 (de) 2001-02-21 2006-04-19 Sony Corp Robotervorrichtung und verfahren zur steuerung des betriebs der robotervorrichtung
JP3923053B2 (ja) 2004-03-31 2007-05-30 ファナック株式会社 ロボット教示装置
ATE476692T1 (de) * 2006-02-23 2010-08-15 Abb Ab System zur steuerung der position und orientierung eines objekts je nach von einem benutzer empfangenen kräften und drehmomenten
JP4584354B2 (ja) * 2009-01-22 2010-11-17 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
CN102300679B (zh) * 2009-09-28 2014-12-10 松下电器产业株式会社 机器人手臂的控制装置及控制方法、机器人及机器人手臂控制用集成电路
EP2572837B1 (de) * 2010-08-31 2014-06-11 Kabushiki Kaisha Yaskawa Denki Roboter, Robotersystem, Robotersteuerungsvorrichtung und Statusbestimmungsverfahren
WO2013175777A1 (ja) * 2012-05-23 2013-11-28 パナソニック株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム
WO2014110682A1 (en) * 2013-01-18 2014-07-24 Robotiq Inc. Force/torque sensor, apparatus and method for robot teaching and operation
DE102013218823A1 (de) * 2013-09-19 2015-04-02 Kuka Laboratories Gmbh Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5685106A (en) * 1979-12-14 1981-07-11 Hitachi Ltd Robot teaching method
JPH06250728A (ja) * 1993-02-26 1994-09-09 Hitachi Constr Mach Co Ltd ロボットの直接教示装置
JP4267027B2 (ja) 2006-12-07 2009-05-27 ファナック株式会社 ロボット制御装置
DE102007062108A1 (de) 2007-12-21 2009-07-02 Kuka Roboter Gmbh Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
DE102009018403A1 (de) 2009-04-22 2010-10-28 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Regelung eines Manipulators
DE102010019640A1 (de) 2010-05-06 2011-11-10 Kuka Roboter Gmbh Handgerät und Verfahren zum Steuern und/oder Programmieren eines Manipulators
DE102010029745A1 (de) 2010-06-07 2011-12-08 Kuka Laboratories Gmbh Werkstück-Handhabungssystem und Verfahren zum Manipulieren von Werkstücken mittels kooperierender Manipulatoren
DE102012009010A1 (de) 2012-05-05 2012-12-13 Daimler Ag Verfahren zum Erzeugen einer Bewegung eines Roboters

Also Published As

Publication number Publication date
JP5893664B2 (ja) 2016-03-23
US9555548B2 (en) 2017-01-31
CN104972469B (zh) 2016-11-02
US20150290810A1 (en) 2015-10-15
JP2015202535A (ja) 2015-11-16
CN104972469A (zh) 2015-10-14
DE102015004481A1 (de) 2015-10-15

Similar Documents

Publication Publication Date Title
DE102015004481B4 (de) Robotersteuervorrichtung zum Steuern eines gemäß einer ausgeübten Kraft bewegten Roboters
DE102015004475B4 (de) Robotersteuervorrichtung zum Steuern eines Roboters, der gemäß einer aufgebrachten Kraft bewegt wird
DE102011011681B4 (de) Roboter mit einer Lernsteuerfunktion
DE102008027008B4 (de) Verfahren und Vorrichtung zum Steuern eines Manipulators
DE102012104194B4 (de) Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
DE102015004484B4 (de) Robotersteuerung und Robotersystem zum Bewegen eines Roboters in Erwiderung einer Kraft
EP3402632B1 (de) Bestimmung einer orientierung eines roboters relativ zur gravitationsrichtung
EP2868445B1 (de) Verfahren zum Programmieren von Bewegungsabläufen eines redundanten Industrieroboters und zugehöriger Industrieroboter
EP2243602B1 (de) Verfahren und Vorrichtung zur Regelung eines Manipulators
WO2017008898A1 (de) Ermitteln eines eingabebefehls für einen roboter, der durch manuelles ausüben einer kraft auf den roboter eingegeben wird
DE102018210864B3 (de) Verfahren und System zum Regeln eines Roboters
DE102018112360B3 (de) Bereichsabhängige Kollisionsdetektion für einen Robotermanipulator
EP2954986A1 (de) Vorrichtung und Verfahren zum Steuern und Regeln eines Mehrkörpersystems
WO2010069429A1 (de) Verfahren und vorrichtung zur befehlseingabe in eine steuerung eines manipulators
DE102019101595B3 (de) Verfahren zum Ermitteln einer Gewichtskraft und eines Schwerpunktes einer Robotermanipulatorlast
DE102006061752A1 (de) Roboter und Verfahren zum Programmieren eines Roboters
EP3037905B1 (de) Vorrichtung und verfahren zum aufnehmen von positionen
DE102018133349A1 (de) Verfahren und Vorrichtung zur Momentschätzung
WO2019243394A1 (de) Manueller anlernvorgang an einem robotermanipulator mit kraft-/momentenvorgabe
DE102018112370B4 (de) Richtungsabhängige Kollisionsdetektion für einen Robotermanipulator
DE102018207354B3 (de) Verfahren und System zum Steuern eines Roboters
WO2016096123A1 (de) Verfahren und vorrichtung zum steuern einer antriebsanordnung zum bewegen eines, insbesondere robotergeführten, werkzeugs
DE102019120157B3 (de) Verifikation eines Massemodells eines Robotermanipulators
DE102019118260B3 (de) Taktile Rückmeldung eines Endeffektors eines Robotermanipulators über verschiedene Orientierungsbereiche
DE102009040194B4 (de) Verfahren zur Kraftregelung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final