-
GEBIET
-
Die vorliegende Erfindung betrifft eine Poliermengenschätzungsvorrichtung.
-
HINTERGRUND
-
Durch Ausstatten eines Robotermanipulators mit einem Kraftsensor ist es möglich, Kräfte zu erfassen, die an ein Werkstück angelegt werden, und erweiterte Vorgänge, wie Erforschungsvorgänge, Montagevorgänge und Poliervorgänge, während des Ausführens von Kraftsteuerung auszuführen. Als derartige Robotersysteme ist auch ein System bekannt, das dazu konfiguriert ist, die Kraft anzuzeigen, die von einem Kraftsensor erfasst wird (siehe zum Beispiel Patentliteratur 1).
-
LISTE DER ZITATE
-
PATENTLITERATUR
-
[PTL 1] Ungeprüfte japanische Patentveröffentlichung (Kokai)
JP 2017-001122 A
-
KURZDARSTELLUNG
-
TECHNISCHES PROBLEM
-
Es ist jedoch qualifizierte Parametereinstellfähigkeit erforderlich, um Kraftsteuervorgänge, wie Poliervorgänge, ordnungsgemäß auszuführen. Um derartige Parametereinstellung auszuführen, ist es im Allgemeinen erforderlich, dass ein Bediener wiederholt bei einer Kraftsteuerung scheitert und erfolgreich ist, um Parametereinstell-Know-how zu erlangen. Eine Poliermengenschätzungsvorrichtung, die das Parametereinstellen einer Lehrbahn oder Kraftsteuerung bei einem Poliervorgang erleichtern kann, ist wünschenswert.
-
LÖSUNG DES PROBLEMS
-
Ein Aspekt der vorliegenden Offenbarung stellt eine Poliermengenschätzungsvorrichtung zum Schätzen einer Poliermenge bei einem Poliervorgang bereit, der ausgeführt wird, indem ein Polierwerkzeug, das auf einen Robotermanipulator montiert ist, mit einem Zielwerkstück durch Kraftsteuerung in Berührung gebracht wird, wobei die Poliermengenschätzungsvorrichtung einen Speicher umfasst, der ein Bewegungsprogramm speichert, und ein Poliermengenschätzungsteil, das dazu konfiguriert ist, die Poliermenge basierend auf einer Bewegungsbahn des Polierwerkzeugs, einer Bewegungsgeschwindigkeit des Polierwerkzeugs und/oder einer Druckkraft des Polierwerkzeugs gegen das Zielwerkstück, die basierend auf dem Bewegungsprogramm erhalten werden, zu schätzen.
-
VORTEILHAFTE AUSWIRKUNGEN DER ERFINDUNG
-
Gemäß der oben stehenden Konfiguration kann ein Bediener intuitiv eine geschätzte Poliermenge verstehen und kann ohne Weiteres Lehrbahnen und Kraftsteuerparametereinstellung ausführen.
-
Aus der ausführlichen Beschreibung typischer Ausführungsformen der Erfindung, die in den angefügten Zeichnungen gezeigt sind, treten Zielsetzungen, Merkmale und Vorteile der Erfindung sowie andere Zielsetzungen, Merkmale und Vorteile weiter hervor.
-
Figurenliste
-
- 1 ist eine Systemkonfigurationsansicht eines Robotersystems, das einen Controller als eine Simulationsvorrichtung gemäß einer Ausführungsform beinhaltet.
- 2 zeigt ein Strukturbeispiel eines Robotersystems.
- 3 zeigt ein anderes Strukturbeispiel eines Robotersystems.
- 4 ist ein Funktionsblockdiagramm eines Controllers, externen Computers und einer Anzeigevorrichtung.
- 5 ist ein Blockdiagramm von Kraftsteuerung in einem Roboterbewegungssteuerteil.
- 6A ist eine Ansicht, die die Korrelation zwischen Bewegungsbahn eines Roboters und Poliermenge genau schildert.
- 6B ist eine Ansicht, die die Korrelation zwischen Bewegungsbahn eines Roboters und Poliermenge genau schildert.
- 7A ist eine Ansicht, die die Korrelation zwischen Druckkraft und Poliermenge genau schildert.
- 7B ist eine Ansicht, die die Korrelation zwischen Druckkraft und Poliermenge genau schildert.
- 8A ist eine Ansicht, die die Korrelation zwischen Bewegungsgeschwindigkeit und Poliermenge genau schildert.
- 8B ist eine Ansicht, die die Korrelation zwischen Bewegungsgeschwindigkeit und Poliermenge genau schildert.
- 9 zeigt ein Beispiel eines Bildes, das eine virtuelle Druckkraft darstellt.
- 10 zeigt ein anderes Beispiel eines Bildes, das eine virtuelle Druckkraft darstellt.
- 11 ist ein Beispiel eines Augmented-Reality-Bildes, in dem Bilder, die eine virtuelle Druckkraft und eine geschätzte Poliermenge darstellen, auf einem tatsächlichen Bild überlagert sind.
- 12 ist ein anderes Beispiel eines Augmented-Reality-Bildes, in dem Bilder, die eine virtuelle Druckkraft und eine geschätzte Poliermenge darstellen, auf einem tatsächlichen Bild überlagert sind.
- 13 ist eine Ansicht, die ein Beispiel zeigt, bei dem ein Bild, das eine empfohlene Bahn darstellt, weiter auf einem Bild, wie dem der 11, überlagert ist.
- 14 ist eine Ansicht, die ein Beispiel zeigt, bei dem ein Bild, das eine empfohlene Geschwindigkeit darstellt, weiter auf einem Bild, wie dem der 11 überlagert, ist.
- 15 ist eine Ansicht, die eine Polierfläche genau schildert.
- 16 ist eine Ansicht, die eine Polierfläche genau schildert.
- 17 ist eine Ansicht, die ein Polierflächenberechnungsverfahren genau schildert.
- 18 ist eine Ansicht, die ein erstes Beispiel eines Polierwerkzeugtyps und einer Poliermenge darstellt.
- 19 ist eine Ansicht, die ein zweites Beispiel eines Polierwerkzeugtyps und einer Poliermenge darstellt.
- 20 ist eine Ansicht, die ein drittes Beispiel eines Polierwerkzeugtyps und einer Poliermenge darstellt.
-
BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
-
Nächstfolgend werden Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen beschrieben. In den referenzierten Zeichnungen wurde identischen Bestandteilabschnitten oder Funktionsabschnitten dasselbe Bezugszeichen zugewiesen. Um das Verstehen zu erleichtern, wurden die Maßstäbe der Zeichnungen zweckdienlich modifiziert. Darüber hinaus sind die in den Zeichnungen gezeigten Formen lediglich ein Beispiel zum Ausführen der vorliegenden Erfindung. Die vorliegende Erfindung ist nicht auf die veranschaulichten Formen beschränkt.
-
1 ist eine Systemkonfigurationsansicht eines Robotersystems 100, das einen Controller 50 als eine Simulationsvorrichtung gemäß einer Ausführungsform umfasst. Wie in 1 gezeigt, sind ein Robotermanipulator 10 (nachstehend als Manipulator 10 bezeichnet), der ein Werkzeug aufweist, das an eine Handgelenkspitze davon montiert ist, und ein Kraftsensor 3 als ein Kraftdetektor zum Erfassen externer Kräfte, die an das Werkzeug angelegt werden, an den Controller 50 angeschlossen. Der Kraftsensor 3 ist zwischen der Spitze des Handgelenks des Manipulators 10 und dem Werkzeug angebracht. Durch Bereitstellen einer Kraftsteuerfunktion kann der Controller 50 den Manipulator 10 dazu veranlassen, verschiedene Vorgänge auszuführen, wie Erforschungsvorgänge, Präzisionsmontagevorgänge und Polieren, die erweiterte Vorgänge sind, während die Kräfte, die an das Werkstück angelegt werden, erfasst werden. Der Controller 50 kann eine Konfiguration als ein allgemeiner Computer aufweisen, der eine CPU, einen ROM, RAM, eine Speichervorrichtung, Betriebseinheit, Anzeigeeinheit, Eingabe-/Ausgabeschnittstelle, Netzwerkschnittstelle usw. aufweist.
-
Weiter sind ein externer Computer 90, der für Funktionen zum Ausführen einer Physiksimulation basierend auf einem Betriebsmodell des Manipulators 10, wenn der Controller 50 eine Simulation des Kraftsteuervorgangs (nachstehend eine Kraftsteuersimulation genannt) ausführt, zuständig ist, und eine Anzeigevorrichtung 70, auf der Kraftsteuersimulationsergebnisse angezeigt werden, an den Controller 50 angeschlossen. Zu bemerken ist, dass, wie hierin verwendet, der Begriff „Simulation“ nicht nur Vorgänge zum Berechnen der Position des Manipulators oder dergleichen durch numerische Simulation beinhaltet, sondern auch den Fall, dass ein Formmodell des Manipulators oder dergleichen gemäß den Lehrdaten oder dergleichen simuliert wird.
-
Die 2 und 3 zeigen Strukturbeispiele des Robotersystems 100. Darüber hinaus sind in den 2 und 3 nur der Manipulator 10 (der den Kraftsensor 3 und das Werkzeugteil 11 beinhaltet) und das Zielwerkstück gezeigt. 2 zeigt ein Konfigurationsbeispiel, bei dem eine Schleifmaschine 8 zum Ausführen eines Poliervorgangs auf einem Werkstück W1 auf einem Werkzeugteil 11 montiert ist. Ein scheibenförmiger Schleifstein 9 ist an der Schleifmaschine 8 angebracht. Die Schleifmaschine 8 ist zum Polieren eines Grates 81 auf der oberen Oberfläche des Zielwerkstücks W1, wie in 2 gezeigt, geeignet. 3 zeigt ein Konfigurationsbeispiel, bei dem eine Schleifmaschine 18, die einen dreieckigen pyramidenförmigen Schleifstein 19 aufweist, auf dem Werkzeugteil 11 montiert ist. Die Schleifmaschine 18 ist zum Polieren eines Grates 81B, der auf der Seitenoberfläche des Zielwerkstücks 2, wie in 3 gezeigt, gebildet ist, geeignet.
-
Der Controller 50 weist Funktionen zum Schätzen der Poliermenge auf, wenn der Poliervorgang gemäß Lehrdaten (Bewegungsprogramm) ausgeführt wird, und zum Anzeigen von Schätzungsergebnissen der Poliermenge auf der Anzeigevorrichtung 70 als ein AR-Bild (Augmented-Reality-Bild) oder VR-Bild (Virtual-Reality-Bild). Als ein Ergebnis kann der Bediener beispielsweise verstehen, wie viel die Poliermenge betragen wird, und die Lehrdaten, Kraftsteuerparameter usw. einstellen, bevor er den Poliervorgang tatsächlich ausführt.
-
4 ist ein Funktionsblockdiagramm des Controllers 50, des externen Computers 90 und der Anzeigevorrichtung 70. Wie in 4 gezeigt, umfasst der Controller 50 einen Speicher 51, in dem verschiedene Informationen gespeichert sind, ein Kraftsteuer-Simulationausführungsteil 52, das die Ausführung von Kraftsteuersimulation steuert, ein Roboterbewegungssteuerteil 53, das den Betrieb des Robotermanipulators 10 steuert, einen Generator virtueller Kraft (Erzeugungsteil virtueller Kraft) 54, ein Lernteil virtueller Kraft 55, ein Poliermengenschätzungsteil 56, das Vorgänge zur Poliermengenschätzung ausführt, ein Poliermengenlernteil 57, ein Empfehlungswert-Erzeugungsteil 58 und ein Werkzeugauswahlteil 59. Das Bewegungsprogramm des Robotermanipulators 10, 3D-Modelldaten des Manipulators 10, Werkzeuge, Werkstücke usw., Kraftsteuerparameter und andere verschiedene Daten, die zum Steuern des Manipulators 10 verwendet werden, sind in dem Speicher 51 gespeichert. Der Generator virtueller Kraft 54 erzeugt eine virtuelle Kraft, die von dem Werkzeugteil 11 von dem Zielwerkstück in einem Zustand empfangen wird, in dem das Werkzeugteil 11 mit dem Zielwerkstück basierend auf den Positionsinformationen des Werkzeugteils 11, die von dem Bewegungsprogramm oder aus Simulationsergebnissen des Kraftsteuervorgangs erhalten werden, in Berührung ist. In der vorliegenden Beschreibung wird die Kraft, die virtuell als eine Kraft erhalten wird, die auf ein Objekt auf diese Art einwirkt, als eine virtuelle Kraft beschrieben, und wenn es sich um eine Druckkraft handelt, kann sie auch als eine virtuelle Druckkraft beschrieben werden.
-
Der externe Computer 90 umfasst ein Physiksimulationsteil 91, das eine Physiksimulation des Manipulators 10 basierend auf einem Bewegungsmodell (Bewegungsgleichung) des Manipulators 10 ausführt.
-
Bei der vorliegenden Ausführungsform ist die Anzeigevorrichtung 70 als eine am Kopf befestigte Anzeige konfiguriert. Die Anzeigevorrichtung 70 kann auch von einer anderen Informationsverarbeitungsvorrichtung, wie einem Tablet-Endgerät, auf dem eine Kamera montiert ist, gebildet werden. Der Bediener trägt die Anzeigevorrichtung 70 als eine am Kopf befestigte Anzeige. Die Anzeigevorrichtung 70 beinhaltet eine Bildgebungsvorrichtung 71, ein AR/VR-Bildverarbeitungsteil 72, der Bildverarbeitung zum Anzeigen eines Augmented-Reality-Bildes (AR-Bildes) oder eines Virtual-Reality-Bildes (VR-Bild) ausführt, eine Anzeige 73 und ein Audioausgabeteil 74. Die Bildgebungsvorrichtung 71 ist auf der Anzeigevorrichtung 70 derart bereitgestellt, dass die optische Achse der Bildaufnahmelinse nach vom gewandt ist und ein Bild eines tatsächlichen Arbeitsraums, der den Manipulator 10 beinhaltet, aufnimmt. Unter Verwenden der Informationen der geschätzten Poliermenge, die von dem Poliermengenschätzungsteil 56 erhalten wird, führt das AR/VR-Bildverarbeitungsteil 72 Augmented-Reality-Bildverarbeitung aus, bei der ein Bild, das die geschätzte Poliermenge darstellt, auf dem tatsächlichen Bild überlagert wird, oder Virtual-Reality-Bildverarbeitung, bei der ein Bild, das die geschätzte Poliermenge darstellt, auf einem Bild (Videoanimation) in einem Virtual-Reality-Raum, in dem ein Modell jedes Objekts, wie des Manipulators 10, eingerichtet ist, überlagert wird. Die Anzeige 73 ist vor dem Träger eingerichtet und zeigt Bilder (Video), die von dem AR/VR-Bildverarbeitungsteil 72 erzeugt werden, an.
-
5 ist ein Blockdiagramm von Kraftsteuerung in einem Roboterbewegungssteuerteil 53. Bei der vorliegenden Ausführungsform sind die Richtung von „Kraftsteuerung + Positionssteuerung“ (die Richtung, in die das Werkstück von dem Werkzeug gedrückt wird) und die Richtung von lediglich Positionssteuerung getrennt, und der Manipulator 10 wird durch Synthetisieren des Geschwindigkeitsbefehls (Winkelgeschwindigkeitsbefehls), der für die Richtung berechnet wird, in der „Kraftsteuerung + Positionssteuerung“ ausgeführt werden sollten, gesteuert, und der Geschwindigkeitsbefehl (Winkelgeschwindigkeitsbefehl), der für die Richtung, in der nur Positionssteuerung ausgeführt werden sollte, berechnet. Obwohl dies in
5 zur Erleichterung der Erklärung weggelassen wurde, wird die Positionssteuerung basierend auf der Positionssteuerregel (zum Beispiel PD-Steuerung), die im Allgemeinen in dem technischen Gebiet, in dem Positionssensoren, die auf jeweiligen Achsen des Manipulators 10 bereitgestellt sind, bekannt ist, Positionserfassungswerte zum Steuern der Position zurückgeben. Bei der Kraftsteuerung, die in
5 gezeigt ist, wird die Befehlsgeschwindigkeit (Winkelgeschwindigkeit) durch Multiplizieren der Differenz zwischen der Zielkraft (Kraft + Moment) in der Druckrichtung mit der Kraft (Moment), die auf das Werkstück einwirkt, die von dem Kraftsensor 3 erfasst wird, durch den Kraftsteuerparameter, der als Kraftsteuerverstärkung bezeichnet wird, berechnet. Die Kraftsteuerverstärkung stellt die Ausführung der Kraftsteuerung dar und weist die Eigenschaft auf, dass die Korrektur der Position/Stellung umso schneller ist als der Wert groß ist. Das Erfassen der Kraft (des Moments) und die Berechnung der entsprechenden Geschwindigkeitsbefehlsmenge (Winkelgeschwindigkeitsbefehlsmenge) werden für jeden Steuerzyklus ausgeführt. Kraftsteuerregeln (Berechnungsformel der Geschwindigkeitsbefehlsmenge (Winkelgeschwindigkeitsbefehlsmenge) können in diesem Fall wie folgt ausgedrückt werden.
wobei Kf: Kraftsteuerverstärkung,
Fd: Zielkraft (Kraft + Moment, Kraft: Fx, Fy, Fz, Moment: Mx, My, Mz),
F: erfasste Kraft, und
Δx: Zielbewegungsmenge (Geschwindigkeit) für jeden Steuerzyklus.
-
Nächstfolgend wird die Vorgehensweise zur Poliermengenschätzung, die von dem Poliermengenschätzungsteil 56 ausgeführt wird, beschrieben. Das Poliermengenschätzungsteil 56 schätzt die Poliermenge des Poliervorgangs unter Verwenden der Vorgehensweise 1 oder 2 zur Poliermengenschätzung, die unten gezeigt sind.
(Vorgehensweise 1 zur Poliermengenschätzung): Die Bewegungsbahn,
Bewegungsgeschwindigkeit und Druckkraft des Roboters werden als Parameter betrachtet, die mit der Poliermenge korrelieren. Bei der Vorgehensweise zur Poliermengenschätzung wird einer dieser Parameter verwendet, um die Korrelation mit der Poliermenge durch lineare Approximation oder Kurvenapproximation abzuleiten. Zu bemerken ist, dass bei der vorliegenden Beschreibung der Begriff „Bewegungsbahn“ eine Lehrbahn beinhaltet, die auch Bahn durch Lehren genannt wird, sowie eine Bewegungsbahn des Manipulators 10 (Werkzeugspitze), die durch numerische Simulation oder dergleichen erhalten wird. Als die Druckkraft, die zur Poliermengenschätzung verwendet wird, wird eine virtuelle Kraft (virtuelle Druckkraft), die durch ein unten beschriebenes Verfahren erzeugt wird, verwendet.
(Vorgehensweise 2 zur Poliermengenschätzung): Trainingsdaten, die die Bewegungsbahn, Bewegungsgeschwindigkeit und Druckkraft des Roboters mit der Poliermenge assoziieren, werden gesammelt, und ein Lernmodell, das diese Parameter mit der Poliermenge assoziiert, wird durch maschinelles Lernen aufgebaut.
-
Die Vorgehensweise 1 zur Poliermengenschätzung wird beschrieben. Zunächst wird die Korrelation der Roboterbewegungsbahn, Bewegungsgeschwindigkeit und Druckkraft mit der Poliermenge beschrieben. Die 6A und 6B sind Ansichten, die die Korrelation zwischen der Bewegungsbahn (Lehrbahn) des Roboters und der Poliermenge genau schildern. In der Lehrbahn L1, die in 6A gezeigt ist, ist der Fall gezeigt, dass die Lehrbahn L1 des Schleifsteins 9 eine geeignete Bahn ist und die Poliermenge auch geeignet ist. In 6B, in der Lehrbahn L2 des Schleifsteins 9, ist die Entfernung von der Oberfläche des Zielwerkstücks W1 insbesondere nahe des Vorsprungs 82 groß. Auf diese Art nimmt die Poliermenge zu, während sich die Lehrbahn von dem Zielwerkstück weg bewegt.
-
Die 7A und 7B sind Ansichten zur genauen Angabe der Korrelation zwischen Druckkraft und Poliermenge. 7A zeigt einen Fall, bei dem die Einstellung der Druckkraft (Druckkraft F71) geeignet ist und die Poliermenge auch geeignet ist. Umgekehrt ist in 7B die Einstellung der Druckkraft (Druckkraft F72) geringer als die des Falls der 7A. In diesem Fall nimmt die Poliermenge ab, sogar falls die Lehrbahn und die Lehrgeschwindigkeit gleich sind.
-
Die 8A und 8B sind Ansichten zur genauen Beschilderung der Korrelation zwischen Bewegungsgeschwindigkeit (Bewegungsgeschwindigkeit des Schleifsteins entlang der Lehrbahn) des Werkzeugs und der Poliermenge. 8A zeigt einen Fall, bei dem die Bewegungsgeschwindigkeitseinstellung (Lehrgeschwindigkeit) geeignet ist, und die Poliermenge auch geeignet ist. Umgekehrt ist in 8B die Bewegungsgeschwindigkeit schneller als die des Falls der 8A eingestellt. In dem Fall der 8B ist die Zeit, die zum Polieren erforderlich ist, im Vergleich zu dem Fall der 8A reduziert, wodurch die Poliermenge reduziert wird, sogar falls die Lehrbahn und die Druckkraft gleich sind.
-
Wie oben beschrieben, weist jede der Bewegungsbahn, Bewegungsgeschwindigkeit und Druckkraft des Roboters eine Korrelation mit der Poliermenge auf. Somit kann die Schätzung der Poliermenge unter Verwenden eines beliebigen Rechenmodells ausgeführt werden, bei dem die Korrelation zwischen der Bewegungsbahn des Roboters (der Entfernung zwischen der Bewegungsbahn und der Oberfläche des Zielwerkstücks) und der Poliermenge linear oder gekrümmt (ein zweiter Grad oder größere polynominale Approximation, logarithmische Approximation usw.) basierend auf aktuellen Messdaten approximiert wird, ein Rechenmodell, bei dem die Korrelation zwischen der Bewegungsgeschwindigkeit des Roboters und der Poliermenge linear oder gekrümmt basierend auf tatsächlichen Messdaten approximiert wird, und ein Rechenmodell, bei dem die Korrelation zwischen der Druckkraft und der Poliermenge linear oder gekrümmt basierend auf tatsächlichen Messdaten approximiert wird. Zu bemerken ist, dass derartige lineare Approximation oder Kurvenapproximation der Korrelation für jeden Zielwerkstücktyp und jeden Typ von Steuermittel (Schleifstein) ausgeführt werden kann. Die Korrelation zwischen zwei oder mehreren Variablen der Bewegungsbahn, Bewegungsgeschwindigkeit und Druckkraft des Roboters und der Poliermenge können durch mehrere Regressionsanalysen vorhergesagt werden.
-
Bei der Vorgehensweise 1 zur Poliermengenschätzung wird die virtuelle Druckkraft, die auf das Zielwerkstück während des Poliervorgangs einwirkt, aus der Positionsbeziehung zwischen der Lehrbahn und dem Zielwerkstück oder durch virtuelle Krafterzeugungsverfahren 1 bis 3, die unten beschrieben sind, bestimmt.
-
(Verfahren 1 zur Erzeugung virtueller Kraft) Das Bewegungsmodell (Bewegungsgleichung) des Robotermanipulators 10 wird eingestellt und der Vorgang des Blockdiagramms der Kraftsteuerung, der in 5 gezeigt ist, wird durch Physiksimulation ausgeführt. Die virtuelle Druckkraft, die auf das Zielwerkstück einwirkt, wird durch ein Rechenmodell basierend auf der Position der Werkzeugspitze, die von der Physiksimulation erhalten wird, bestimmt. Insbesondere wird in dem Fall des Verfahrens 1 zur Erzeugung virtueller Kraft ein Bewegungsmodell für den Manipulator 10, wie in 5 gezeigt, eingestellt, und die virtuelle Druckkraft wird von dem virtuellen Krafterzeuger 54 berechnet. Mit anderen Worten funktioniert der virtuelle Krafterzeuger 54 als ein Kraftsensor bei der Kraftsteuersimulation.
-
(Verfahren 2 zur Erzeugung virtueller Kraft) Die virtuelle Kraft (virtuelle Druckkraft) wird unter Verwenden von Logdaten erhalten, die die Kraft (das Moment) beinhalten, die von dem Kraftsensor 3 erfasst wird, und der Positionsinformationen des Roboters (Manipulators 10), wenn der Betrieb durch Kraftsteuerung in der Vergangenheit in derselben Betriebsumgebung ausgeführt wurde, oder unter Verwenden von Logdaten, die durch Erfassen und Aufzeichnen der Kraft (des Moments), die auf das Werkstück einwirkt, durch den Kraftsensor erhalten wird, indem das Antreiben des Werkzeugs (zum Beispiel das Rotationsantreiben des Polierschleifsteins) während tatsächlichem Bewegen des Roboters in Bezug auf das Zielwerkstück unter Verwenden des Bewegungsprogramms gestoppt wird. In dem Fall des Verfahrens 2 zur Erzeugung virtueller Kraft kann die Entfernung zwischen dem Werkzeug und dem Zielwerkstück aus der Lehrbahn bestimmt werden, und wenn es Logdaten desselben Grades hinsichtlich der Entfernung zwischen der Bewegungsbahn des Roboters und dem Zielwerkstück gibt, kann die Druckkraft, die als Logdaten aufgezeichnet ist, als die virtuelle Kraft (virtuelle Druckkraft) verwendet werden.
-
(Verfahren 3 zur Erzeugung virtueller Kraft): Bei dem tatsächlichen Vorgang, der ein spezifisches Werkstück betrifft, werden Trainingsdaten, die die Entsprechung zwischen der relativen Position oder Geschwindigkeit des Roboters (des Werkzeugs) und des Werkstücks und die Kraft (das Moment), die von dem Kraftsensor erfasst wird, gesammelt, und ein Lernmodell wird durch die Lernfunktion zum Erhalten der virtuellen Kraft (der virtuellen Druckkraft) aufgebaut.
-
Das Verfahren 1 zur Erzeugung virtueller Kraft wird ausführlich beschrieben. Bei dem Verfahren 1 zur Erzeugung virtueller Kraft wird die Bewegungsgleichung (das Bewegungsmodell) des Robotermanipulators 10 eingestellt, die Kraftsteuerböcke, die in 5 gezeigt sind, werden durch (numerische) Physiksimulation betrieben, und die Positionen des Robotermanipulators 10 (die Position der Spitze des Werkzeugs) wird bestimmt. Die Bewegungsgleichung des Robotermanipulators 10 wird im Allgemeinen anhand der folgenden mathematischen Formel ausgedrückt.
-
-
In der oben stehenden Formel stellt θ den Winkel jedes Gelenks dar, M ist eine Matrix, die das Trägheitsmoment betrifft, h ist eine Matrix, die die Coriolis-Kraft und die Zentrifugalkraft betrifft, g ist ein Glied, das den Einfluss der Schwerkraft darstellt, τ ist Moment, und τL ist Lastmoment.
-
Der Bewegungsbefehl, der auf der Lehrbahn basiert (Befehl, der dem Manipulator 10 bei dem Beispiel der 5 gegeben wird), wird in die Bewegungsgleichung als Eingangsdaten eingegeben, um das Verhalten des Roboters (der Werkzeugspitzenposition) zu berechnen. Basierend auf der Werkzeugspitzenposition, die basierend auf der oben stehenden Bewegungsgleichung berechnet wird, wird die virtuelle Kraft (virtuelle Druckkraft) F, die von dem Werkstück aufgenommen wird, wenn die Werkzeugspitzenposition das Zielwerkstück berührt, bestimmt. Beispiele der Berechnung der virtuellen Kraft F sind unten gezeigt.
-
Das erste Berechnungsbeispiel der virtuellen Druckkraft F ist ein Beispiel, bei dem die Steifigkeit des Zielwerkstücks in Bezug auf das Werkzeug relativ niedrig ist. Bei dem vorliegenden Beispiel kann die Menge, um die sich die Werkzeugspitzenposition über die Berührungsposition hinaus mit dem Zielwerkstück zu der Zielwerkstückseite hinaus bewegt, ist als 8 definiert, und die virtuelle Kraft F kann aus der folgenden Formel:
durch Multiplizieren mit dem Koeffizienten Kd bezüglich der Steifigkeit des Werkstücks bestimmt werden. Zu bemerken ist, dass in diesem Fall angenommen wird, dass das Zielwerkstück eine fixe Position in dem Arbeitsraum aufweist. Alternativ dazu kann eine Vorgehensweise verwendet werden, bei der die Kraft F, die von dem Werkstück aufgenommen wird, wenn die Position der Werkzeugspitze das Zielwerkzeug berührt, aus der folgenden Formel berechnet wird:
wobei Vc die Geschwindigkeit darstellt, wenn sich die Werkzeugspitzenposition über die Kontaktposition mit dem Zielwerkstück hinaus bewegt. Die Koeffizienten Kd und Kc können gemäß der Steifigkeit und der Form des Zielwerkstücks eingestellt werden.
-
Das zweite Berechnungsbeispiel der virtuellen Druckkraft F ist ein Beispiel, bei dem die virtuelle Kraft F basierend auf der Biegungsmenge des Werkzeugs berechnet wird, wenn die Steifigkeit des Werkzeugs in Bezug auf das Zielwerkstück relativ niedrig ist. Die Menge δ, um die sich die Werkzeugspitzenposition über die Berührungsposition mit dem Zielwerkstück hinaus zu der Zielwerkstückseite bewegt, wird als eine Durchbiegungsmenge des Werkzeugs betrachtet, und die virtuelle Kraft F wird von der folgenden Formel unter Verwenden des Steifigkeitskoeffizienten (der virtuellen Federkonstante) des Werkzeugs berechnet.
-
Zu bemerken ist, dass, falls das Werkzeug ein sogenanntes „schwimmendes“ Werkzeug ist, das einen Mechanismus (Federmechanismus) aufweist, der sich in der Druckrichtung dehnt und zusammenzieht, die Länge der Dehnung und des Zusammenziehens der Werkzeugspitze basierend auf der Position der Werkzeugspitze und der Position des Zielwerkstücks erhalten werden können, und die virtuelle Kraft F kann durch die folgende Formel erhalten werden.
-
Das dritte Berechnungsbeispiel der virtuellen Kraft (virtuellen Druckkraft) F ist ein Beispiel, bei dem die virtuelle Kraft F aus der Entfernung berechnet wird, über die sich der Roboter (die Werkzeugspitze) in der Druckrichtung als Reaktion auf den Geschwindigkeitsbefehl bewegt, wenn die Steifigkeit des Werkzeugs relativ hoch ist. In dem Fall dieses Beispiels wird die Bewegungsposition gemäß dem Geschwindigkeitsbefehl als Tx definiert, die Position, zu der sich der Roboter (die Werkzeugspitze) tatsächlich als Reaktion auf den Geschwindigkeitsbefehl bewegt, wird als d definiert, und die Berechnung wird durch die folgende Formel ausgeführt.
wobei k ein Koeffizient ist. Ein Wert, der als ein experimenteller Wert erhalten wird, ein empirischer Wert oder dergleichen kann als der Koeffizient k eingestellt werden.
-
Bei den oben beschriebenen Berechnungsbeispielen kann die virtuelle Kraft unter Verwenden von Lehrerdaten (Lehrbahn, Lehrgeschwindigkeit) an Stelle der Position und Geschwindigkeit der Werkzeugspitze bei Physiksimulation erhalten werden.
-
Nächstfolgend wird das Verfahren 3 zur Erzeugung virtueller Kraft ausführlich beschrieben. Das Erzeugen der virtuellen Druckkraft durch das Verfahren 3 zur Erzeugung virtueller Kraft wird von dem Lernteil virtueller Kraft 55 ausgeführt. Das Lernteil virtueller Kraft 55 weist Funktionen zum Extrahieren nützlicher Regeln, Kenntnisse, Darstellungen, Beurteilungskriterien usw. in dem Satz von Eingangsdaten durch Analyse, Ausgabe der Beurteilungsergebnisse und Ausführen von Kenntnislernen (maschinellem Lernen) auf. Es gibt diverse Verfahren zum maschinellen Lernen, sie können aber breit in beispielsweise „überwachtes Lernen“, „unüberwachtes Lernen“, und „Verstärkungslernen“ gegliedert werden. Um des Weiteren diese Verfahren zu realisieren, gibt es ein „Deep Learning“ genanntes Verfahren, bei dem die Extraktion von Merkmalmengen selbst gelernt wird. Bei der vorliegenden Ausführungsform wird „überwachtes Lernen“ als das maschinelle Lernen durch das Lernteil virtueller Kraft 55 angenommen.
-
Wie in dem obigen Abschnitt „Verfahren 2 zur Erzeugung virtueller Kraft“ beschrieben, wird in einem Zustand, in dem die Spitze des Werkzeugs und das Zielwerkstück in Berührung sind, angenommen, dass die relative Entfernung zwischen der Werkzeugspitzenposition und dem Werkstück, die relative Geschwindigkeit, der Koeffizient bezüglich der Steifigkeit oder dynamischen Reibung des Zielwerkstücks, der Koeffizient bezüglich der Steifigkeit des Werkzeugs usw. mit dem Ausmaß der Druckkraft korrelieren. Das Lernteil virtueller Kraft 55 führt somit das Lernen unter Verwenden von Lerndaten aus, in welchen diese Werte, die mit dem Ausmaß der Druckkraft korrelieren, als Eingabedaten verwendet werden, und die Druckkraft, die von dem Kraftsensor erfasst wird, wird als Antwortdaten verwendet.
-
Als ein spezifisches Beispiel des Aufbauens eines Lernmodells, kann es ein Beispiel des Aufbauens eines Lernmodells geben, das dem ersten und dem dritten Berechnungsbeispiel der virtuellen Kraft F, die oben beschrieben sind, entspricht. Beim Aufbauen eines Lernmodells, das dem ersten Berechnungsbeispiel der virtuellen Kraft F entspricht, werden Lerndaten, in welchen die relative Entfernung (δ) zwischen der Werkzeugspitzenposition und dem Zielwerkstück, relative Geschwindigkeit (Vc) und Werte bezüglich der Steifigkeit des Zielwerkstücks (Kd, Kc) (oder alternativ mindestens die relative Entfernung (δ) zwischen der Werkzeugspitzenposition und dem Zielwerkstück und der Wert bezüglich der Steifigkeit des Werkstücks (Kd)) als die Eingabedaten verwendet, und die Druckkraft, die von dem Kraftsensor in diesem Fall erfasst wird, wird als Antwortdaten gesammelt. Das Lernmodell wird durch Ausführen von Lernen unter Verwenden der Lerndaten aufgebaut.
-
Beim Aufbauen eines Lernmodells, das dem zweiten Berechnungsbeispiel der virtuellen Kraft F entspricht, werden Lerndaten, in welchen die Bewegungsmenge der Werkzeugspitzenposition (δ) und die „virtuelle Federkonstante des Werkzeugs“ als Eingangsdaten verwendet werden, und die Druckkraft, die von dem Kraftsensor erfasst werden, die Antwortdaten sind, gesammelt. Das Lernmodell wird durch Ausführen von Lernen unter Verwenden der Lerndaten aufgebaut. Zu bemerken ist, dass die Lerndaten (Trainingsdaten), die aus Eingabedaten, die den Koeffizienten, der die Steifigkeit des Zielwerkstücks betrifft, und/oder den Koeffizienten, der die Steifigkeit des Werkzeugteils betrifft, und die Entfernung (δ) des Werkzeugteils zu dem Werkstückteil, wenn das Werkzeugteil mit dem Zielwerkstück in Berührung ist, beinhalten, und Antwortdaten, die die Druckkraft, die von dem Kraftsensor in diesem Fall erfasst wird, bestehen, gesammelt werden können, und das Lernmodell kann durch Ausführen von Lernen unter Verwenden der Lerndaten aufgebaut werden.
-
Beim Aufbauen eines Lernmodells, das dem dritten Berechnungsbeispiel der virtuellen Kraft F entspricht, werden Lerndaten, in welchen die Bewegungsposition (Tx) gemäß dem Geschwindigkeitsbefehl und der Position (d), an die die Spitze des Werkzeugs tatsächlich als Reaktion auf den Bewegungsbefehl bewegt wird, als Eingangsdaten verwendet, und die Druckkraft, die von dem Kraftsensor in diesem Fall erfasst wird, wird als die Antwortdaten verwendet gesammelt. Das Lernmodell wird durch Ausführen von Lernen unter Verwenden der Lerndaten aufgebaut. Das Lernen entspricht in diesem Fall dem Vorgang des Lernens des Koeffizienten k.
-
Ein derartiges Lernen kann unter Verwenden eines neuronalen Netzwerks (zum Beispiel eines dreischichtigen neuronalen Netzwerks) realisiert werden. Die Betriebsmodi des neuronalen Netzwerks beinhalten einen Lernmodus und einen Vorhersagemodus. In dem Lernmodus werden die Trainingsdaten (Eingangsdaten), die oben beschrieben sind, als eine Eingangsvariable in das neuronale Netzwerk eingegeben, und das Gewicht, das an die Eingabe jedes Neurons angewandt wird, wird gelernt. Das Lernen von Gewicht wird durch Bestimmen des Fehlers zwischen dem Ausgangswert und dem richtigen Antwortwert (Antwortdaten), wenn die Eingangsdaten in das neuronale Netzwerk eingegeben werden, bestimmt, und durch Rückwärtspropagation des Fehlers zu jeder Schicht des neuronalen Netzwerks und Einstellen des Gewichts jeder Schicht derart, dass sich der Ausgangswert dem korrekten Antwortwert nähert. Wenn ein Lernmodell durch derartiges Lernen aufgebaut wird, ist es möglich, die virtuelle Druckkraft unter Verwenden der Eingangsdaten, die oben beschrieben sind, als eine Eingangsvariable vorherzusagen.
-
Das Audioausgangsteil 74 gibt einen Schall, der das Ausmaß der virtuellen Kraft ausdrückt, die von dem Generator virtueller Kraft 54 erzeugt wird, gemäß dem Volumen aus. Beispielsweise kann ein Bediener das Ausmaß der virtuellen Kraft durch Ausgeben eines Schalls, der dem Ausmaß der virtuellen Kraft, die von dem Generator virtueller Kraft 54 erzeugt wird, in Echtzeit während der Ausführung der Kraftsteuersimulation intuitiver verstehen.
-
Nächstfolgend wird die Vorgehensweise 2 zur Poliermengenschätzung beschrieben. Bei dem Verfahren 2 zur Poliermengenschätzung wird das Lernen durch das Poliermengenlernteil 57 ausgeführt. Wie oben beschrieben, weisen die Bewegungsbahn, Bewegungsgeschwindigkeit und Druckkraft (virtuelle Druckkraft) des Roboters jeweils eine Korrelation mit der Poliermenge auf. Das Poliermengenlernteil 57 baut ein Lernmodell, das diese Parameter mit der Poliermenge assoziiert, durch maschinelles Lernen auf. Hier wird „überwachtes Lernen“ als maschinelles Lernen angenommen.
-
Das Lernen kann in diesem Fall beispielsweise unter Verwenden eines neuronalen Netzwerks (beispielsweise eines dreischichtigen neuronalen Netzwerks) konfiguriert werden. In dem Lernmodus werden die Lerndaten (Roboterbewegungsbahn, Bewegungsgeschwindigkeit und virtuelle Druckkraft), die oben beschrieben sind, als eine Eingangsvariable in das neuronale Netzwerk eingegeben, und das an die Eingabe jedes Neurons angewandte Gewicht wird gelernt. Das Lernen von Gewicht wird durch Bestimmen des Fehlers zwischen dem Ausgangswert und dem richtigen Antwortwert (Antwortdaten; Poliermenge), wenn die Eingabedaten in das neuronale Netzwerk eingegeben werden, und durch Rückwärtspropagation des Fehlers zu jeder Schicht des neuronalen Netzwerks und Einstellen des Gewichts jeder Schicht derart bestimmt, dass sich der Ausgangswert dem korrekten Antwortwerten nähert. Wenn ein Lernmodell durch derartiges Lernen aufgebaut wird, ist es möglich, die Poliermenge durch Eingeben der Bewegungsbahn, Bewegungsgeschwindigkeit und virtuellen Druckkraft des Roboters zu schätzen.
-
Der Controller 50 (Poliermengenschätzungsteil 56) zeigt auf der Anzeigevorrichtung 70 ein Bild, das die virtuelle Druckkraft darstellt, die unter Verwenden der Verfahren 1 bis 3 zur Erzeugung virtueller Kraft, die oben beschrieben sind, erzeugt wird, und die Poliermenge, die entweder unter Verwenden des Verfahrens 1 oder 2 zur Poliermengenschätzung, die oben beschrieben sind, geschätzt wird, als ein Augmented-Reality-Bild oder Virtual-Reality-Bild an. Der Controller 50 (Poliermengenschätzungsteil 56) liefert Informationen, die das Ausmaß und die Lage der virtuellen Druckkraft darstellen, die durch Ausführen der Kraftsteuersimulation des Poliervorgangs erhalten werden, und das Poliermengenschätzungsergebnis (Polierposition und Poliermenge) zu der Anzeigevorrichtung 70. Das AR/VR-Bildverarbeitungsteil 72 der Anzeigevorrichtung 70 wird überlagert und zeigt ein Bild an, das die virtuelle Druckkraft und die geschätzte Poliermenge an einer Position darstellt, die den Lagen entspricht, wo sie in dem Bild des realen Raums oder dem Bild des virtuellen Raums auftreten. Beim Erzeugen eines Virtual-Reality-Bildes, können beispielsweise die Modelldaten und Einrichtungspositionsinformationen jedes Objekts in dem Arbeitsraum, der den Manipulator 10 beinhaltet, von dem Controller 50 an die Anzeigevorrichtung 70 bereitgestellt werden. Zu bemerken ist, dass die Anzeigevorrichtung 70 einen Positionssensor (einen optischen Sensor, Lasersensor oder magnetischen Sensor) und einen Beschleunigungssensor (Gyrosensor) zum Ermitteln der Position der Anzeigevorrichtung 70 in dem Arbeitsraum aufweist, wodurch die relative Positionsbeziehung des Koordinatensystems (Kamerakoordinatensystems) fest zu der Anzeigevorrichtung in Bezug auf das Welt-Koordinatensystem, fest zu dem Arbeitsraum, verstanden werden kann.
-
Die 9 und 10 zeigen Beispiele von Bildern, die die virtuelle Druckkraft darstellen. 9 zeigt ein Anzeigebeispiel eines Bildes, das die virtuelle Druckkraft anzeigt, wenn die Lehrbahn L91 eine Bahn ist, die der Oberfläche des Zielwerkstücks W2 in der Nähe des Vorsprungs 82 relativ nahe ist. In dem Fall der 9 wird die virtuelle Druckkraft von Pfeilen 191 dargestellt, und es wird ausgedrückt, dass die virtuelle Druckkraft in der Nähe des Vorsprungs 82 zunimmt, wo die Lehrbahn L91 der Oberfläche des Zielwerkstücks W1 relativ nahe ist. 10 zeigt ein Anzeigebeispiel eines Bildes, das die virtuelle Druckkraft darstellt, wenn die Lehrbahn L92 eine Bahn ist, die von der Oberfläche des Zielwerkstücks W1 in der Nähe des Vorsprungs 82 relativ getrennt ist. In dem Fall der 10 wird die virtuelle Druckkraft von den Pfeilen 192 dargestellt, und es wird ausgedrückt, dass die virtuelle Druckkraft in der Nähe des Vorsprungs 82, wo die Lehrbahn L92 relativ weit von der Oberfläche des Zielwerkstücks W1 entfernt ist, kleiner wird.
-
Nächstfolgend wird ein Beispiel eines Augmented-Reality-Bildes, in dem ein Bild, das eine virtuelle Druckkraft und eine geschätzte Poliermenge und eine geschätzte Poliermenge darstellt, überlagert und angezeigt wird, unter Bezugnahme auf die 11 und 12 beschrieben. Bei dem Beispiel der 11 werden ein Bild L93, das die Lehrbahn darstellt, ein Bild 193, das die Erzeugungsposition und das Ausmaß der virtuellen Druckkraft durch die Länge eines Pfeils darstellt, und ein Bild 211, das die geschätzte Poliermenge darstellt, überlagert und auf einem tatsächlichen Bild, das den Schleifstein 9 und das Zielwerkstück W1 beinhaltet, angezeigt. Anhand des Bildbeispiels der 11 kann verstanden werden, dass die virtuelle Druckkraft in der Fläche des Vorsprungs 82 relativ groß wird, und die geschätzte Poliermenge in dem Bereich des Vorsprungs 82 größer ist als in dem Bereich, in dem der Vorsprung 82 nicht vorhanden ist. Zu bemerken ist, dass das Bild L93, das die Lehrbahn darstellt, das Bild 193, das die virtuelle Druckkraft darstellt, und das Bild 211, das die geschätzte Poliermenge darstellt, als Bilder angelegt werden, die einen dreidimensionalen Bereich darstellen. In diesem Fall kann der Bediener visuell die virtuelle Druckkraft und die geschätzte Poliermenge aus der gewünschten Sichtlinienrichtung durch Bewegen der Sichtlinie verstehen.
-
12 zeigt ein Beispiel des Falls, dass ein Bild 121, das das Bild L93, das die Lehrbahn darstellt, beinhaltet, das Bild 193, das die Erzeugungsposition und das Ausmaß der virtuellen Druckkraft durch die Länge des Pfeils darstellt, und das Bild 211, das die geschätzte Poliermenge darstellt, die in 11 gezeigt sind, überlagert und als ein Augmented-Reality-Bild Seite an Seite mit dem Zielwerkstück W1 in einem echten Bild angezeigt werden. Wenn beispielsweise die Menge an Informationen, die als ein Augmented-Reality-Bild bereitgestellt wird, groß ist, kann es für den Bediener (Träger) praktisch sein, das Augmented-Reality-Bild Seite an Seite auf dem Bild, wie in 12 gezeigt, anzuzeigen.
-
Das Empfehlungswert-Erzeugungsteil 58 weist eine Funktion zum Anzeigen eines Ratschlagbildes zur Einstellung der Bewegungsbahn, Bewegungsgeschwindigkeit, Kraftsteuerverstärkung usw., zum Einstellen der geschätzten Poliermenge basierend auf dem Vergleichsergebnis zwischen der geschätzten Poliermenge und einem Poliermengen-Referenzwert, der die gewünschte Poliermenge darstellt, auf. 13 zeigt ein Beispiel des Falls, bei dem ein Bild L101, das die empfohlene Bahn darstellt, angezeigt wird, um die geschätzte Poliermenge in der Fläche des Vorsprungs 82 zu reduzieren, da die geschätzte Poliermenge den Poliermengen-Referenzwert in der Fläche des Vorsprungs 82 überschreitet, wenn die geschätzte Poliermenge (Bild 211), die in 11 gezeigt ist, mit dem Poliermengen-Referenzwert verglichen wird. In dem Bild L101 der empfohlenen Bahn ist die Entfernung von dem Zielwerkstück W1 in der Nähe des Vorsprungs 82 größer als in dem Fall des Bildes L93, das die Lehrbahn darstellt. Als ein Ergebnis kann in dem Fall der empfohlenen Bahn (Bild L101) die geschätzte Poliermenge innerhalb des Poliermengen-Referenzwerts unterdrückt werden.
-
14 zeigt ein Beispiel, bei dem ein empfohlener Wert bezüglich der Bewegungsgeschwindigkeit des Roboters (Werkzeugs) präsentiert ist. In dem Beispiel der 14 ist ein Bild, das die Lehrgeschwindigkeit anzeigt, neben der Lehrbahn (Bild L93) angezeigt, und ein Bild 102, das die empfohlene Geschwindigkeit darstellt, ist für jede Einteilung der Lehrbahn (Bild L93) angezeigt. In dem Fall des Beispiels der 14 beträgt die Lehrgeschwindigkeit für die Lehrbahn (Bild L93) 50 mm/s, während die empfohlene Geschwindigkeit in der Fläche des Vorsprungs 82 des Zielwerkstücks W1 70 mm/s beträgt und in anderen Flächen 50 mm/s beträgt. In dem Fall dieser empfohlenen Geschwindigkeit wird die Geschwindigkeit in der Fläche des Vorsprungs 82 höher als die Lehrgeschwindigkeit, und somit nimmt die geschätzte Poliermenge ab und fällt in den Poliermengen-Referenzwert.
-
Für das Empfehlungswert-Erzeugungsteil 58 können Parameter, die zur Einstellung verwendet werden, spezifiziert werden, beispielsweise über die Betriebseinheit des Controllers 50. Wenn beispielsweise der Bediener nicht wünscht, die Lehrbahn aufgrund von Besorgnis um gesteigerte Zykluszeit zu ändern, können andere Parameter als Lehrbahn (Lehrgeschwindigkeit, Zieldruckkraft usw.) als Parameter, die von dem Empfehlungswert-Erzeugungsteil 58 eingestellt werden sollen, spezifiziert werden.
-
Bezüglich des empfohlenen Werts, der vorstehend beschrieben ist, vergleicht das Empfehlungswert-Erzeugungsteil 58 die geschätzte Poliermenge mit dem Poliermengen-Referenzwert und, wenn die geschätzte Poliermenge größer ist als der Poliermengen-Referenzwert, werden beispielsweise die Bewegungsbahn, Bewegungsgeschwindigkeit, Kraftsteuerparameter usw. in der Richtung des Verringerns der geschätzten Poliermenge eingestellt, was durch Ausführen der Kraftsteuersimulation bestätigt wird.
-
Das Poliermengenschätzungsteil 56 kann dazu konfiguriert werden, die Fläche des Zielwerkstücks, die von dem Polierelement (nachstehend als Polierfläche bezeichnet) poliert wird, zu berechnen. Sogar wenn dasselbe Polierelement verwendet wird, ändert sich die Polierfläche in Abhängigkeit von dem Winkel des Polierelements bezüglich des Zielwerkstücks. Wenn beispielsweise die Polierfläche SA1 beim Ausführen von Polieren durch das Polierelement 119, das mit dem Zielwerkstück W51 in einer aufrechten Polierstellung in Berührung gebracht wird, wie in 15 gezeigt, und die Polierfläche SA2 beim Polieren durch Berühren des Polierelements 119 mit dem Zielwerkstück W51 in einer liegenden Stellung, wie in 16 gezeigt, miteinander verglichen werden, ist die Polierfläche SA2 größer.
-
Das Poliermengenschätzungsteil 50 berechnet die Polierfläche wie folgt. Es sei ein Fall angenommen, bei dem, wie in
17 gezeigt, die Polierfläche S
L erhalten wird, wenn das Polierelement 9 an das Zielwerkstück angelegt wird. In diesem Fall wird davon ausgegangen, dass sich die Druckkraft, die auf das Zielwerkstück durch das Werkzeug (Polierelement 9) einwirkt, die Rotationsmenge des Werkzeugs (Polierelement 9), das Material und die Bewegungsgeschwindigkeit nicht ändern. Weiter wird davon ausgegangen, dass sich die gesamte Poliermenge nicht ändert, auch falls das Werkzeug (Polierelement 9) geneigt wird. V ist das Volumen des Abschnitts, der durch Polieren geschnitten wird, d ist die Bewegungsmenge des Werkzeugs (Polierelement 9) (Bewegungsmenge in die Tiefenrichtung der Papieroberfläche in
17), und a ist ein Werkzeugspitzenwinkel. L stellt die Länge der geschnittenen geneigten Oberfläche dar. In diesem Fall gilt die folgende Formel.
-
Angenommen, V/d ist konstant, kann die vorstehende Formel wie folgt modifiziert werden.
-
Aus Vorstehendem kann die Länge L der geschnittenen Oberfläche wie folgt erhalten werden.
-
Die Polierfläche kann durch Multiplizieren der Länge L mit der Bewegungsmenge d des Werkzeugs erhalten werden.
-
Das Werkzeugauswahlteil weist eine Funktion zum Akzeptieren einer Benutzerauswahl aus einer Vielzahl von Werkzeugtypen, die vorab gespeichert wird, auf, beispielsweise über die Betriebseinheit des Controllers 50, oder eine Funktion zum automatischen Auswählen eines zweckdienlichen Werkzeugs und einer Stellung basierend auf Informationen wie Poliermenge, Polierfläche, Zykluszeit usw. Das Kraftsteuer-Simulationausführungsteil 52 installiert virtuell das von dem Werkzeugauswahlteil 59 ausgewählte Werkzeug an dem Manipulator 10 und führt die Kraftsteuersimulation aus. 18 zeigt ein Beispiel eines Polierwerkzeugs und einer Stellung, die ausgewählt werden, wenn eine relativ große Fläche erforderlich ist oder als eine Polierfläche des Zielwerkstücks W61 erlaubt ist. Bei dem Beispiel der 18 weist das Polierelement eine lange Form auf, und eine breite Polierfläche wird durch Verwenden des Polierelements in einer liegenden Position bezüglich des Zielwerkstücks W61 sichergestellt.
-
19 zeigt ein Beispiel eines Polierwerkzeugs und einer Stellung, die ausgewählt werden, wenn eine relativ schmale Polierfläche des Zielwerkstücks W62 erforderlich ist. In dem Fall des in 19 gezeigten Beispiels wird ein Polierwerkzeug, das eine relativ kurze Länge aufweist, ausgewählt, und die Stellung des Polierwerkzeugs ist eine stehende Stellung in Bezug zu dem Zielwerkstück W62. In diesem Fall kann die Polierfläche verschmälert werden.
-
20 zeigt ein Beispiel eines Polierwerkzeugs und einer Stellung, die ausgewählt werden, wenn die Poliermenge und die Polierfläche reduziert werden. In dem Fall des Beispiels der 20 wird ein Polierwerkzeug 221, das eine Metallbürste aufweist, als das Polierelement ausgewählt, und die Umfangsoberfläche des Polierelements ist mit dem Abschnitt des Grates 181 auf dem Zielwerkstück W63 in Berührung (die Mittellinie des Polierwerkzeugs ist mit einem Winkel von in etwa 45 Grad in Bezug auf die vertikale Richtung geneigt).
-
Zu bemerken ist, dass es hinsichtlich der Beziehung des Materials des Polierwerkzeugs und des Materials des Zielwerkstücks mit der Poliermenge möglich ist, die Korrelation basierend auf der folgenden Idee zu erhalten. Da die Rauigkeit der Schleifkörner stärker mit der Poliermenge zusammenhängt als mit der Steifigkeit, können auf der Polierwerkzeugseite tatsächliche Messdaten für jede Rauigkeit der Schleifkörner genommen werden, um die Poliermenge vorherzusagen. Beispielsweise wird ein ungefähres Modell der Poliermenge derart eingestellt, dass die Poliermenge mit dem Zunehmen der Rauigkeit der Schleifkörner zunimmt. Was das Werkstück betrifft, kann es abhängig von dem Material des Werkstücks schwierig zu schneiden sein. Somit gibt es als einen Index, der die Steifigkeit des Materials zeigt, das Elastizitätsmodul, das Verformbarkeit zeigt, und der plastische Koeffizient, der Plastizität zeigt, und diese Koeffizienten können unverändert oder hinsichtlich des (1/Elastizitätsmoduls) als ein Koeffizient verwendet werden, der die Poliermenge darstellt. Alternativ, in dem Fall eines Werkstücks, können tatsächliche Messdaten für die Schneidmenge bezüglich der Steifigkeit des Materials genommen werden, ein ungefähres Modell kann erhalten werden, und die Poliermenge kann vorhergesagt werden.
-
Wie oben beschrieben, kann der Bediener gemäß der vorliegenden Ausführungsform intuitiv die geschätzte Poliermenge verstehen, und die Lehrbahn und Kraftsteuerparameter können ohne Weiteres eingestellt werden.
-
Obwohl die vorliegende Erfindung oben unter Verwenden typischer Ausführungsformen beschrieben wurde, würde ein Fachmann verstehen, dass Änderungen und verschiedene andere Modifikationen, Weglassungen und Hinzufügungen an jeder der vorstehenden Ausführungsformen ohne Abweichen vom Schutzbereich der Erfindung erfolgen könnten.
-
Die Aufteilung von Funktionen in dem Controller 50, der Anzeigevorrichtung 70 und dem externen Computer 90 bei den Ausführungsformen, die vorstehend beschrieben sind, sind beispielhaft, und die Anordnung dieser Funktionsblöcke kann geändert werden. Die Bildgebungsvorrichtung kann in einer fixen Position in dem Arbeitsraum als eine von der Anzeigevorrichtung separate Vorrichtung eingerichtet werden.
-
Die Funktionsblöcke des Controllers und die Anzeigevorrichtung können durch die CPU von Vorrichtungen realisiert werden, die die diversen Softwareprogramme, die in der Speichervorrichtung gespeichert sind, auszuführen, oder können alternativ durch eine auf Hardware basierende Konfiguration, wie eine ASIC (Application Specific Integrated IC) realisiert werden.
-
Das Programm zum Ausführen der verschiedenen Simulationsprozesse bei den Ausführungsformen, die oben beschrieben sind, können auf verschiedenen Aufzeichnungsmedien aufgezeichnet werden, die von einem Computer gelesen werden können (beispielsweise Halbleiterspeicher, wie ROM, EEPROM, oder Flash-Speicher, ein magnetisches Aufzeichnungsmedium, eine Bildplatte, wie ein CD-ROM oder DVD-ROM).
-
Bezugszeichenliste
-
- 3
- Kraftsensorsensor
- 10
- Robotermanipulator
- 11
- Werkzeugteil
- 50
- Controller
- 51
- Speicher
- 52
- Kraftsteuersimulationsausführungsteil
- 53
- Roboterbewegungssteuerteil
- 54
- Generator virtueller Kraft
- 55
- Lernteil virtueller Kraft
- 56
- Poliermengenschätzungsteil
- 57
- Poliermengenlernteil
- 58
- Empfehlungswert-Erzeugungsteil
- 59
- Werkzeugauswahlteil
- 70
- Anzeigevorrichtung
- 71
- Bildgebungsvorrichtung
- 72
- AR/VR-Bildverarbeitungsteil
- 73
- Anzeige
- 74
- Audioausgabeteil
- 90
- externer Computer
- 91
- Physiksimulationsteil
- 100
- Robotersystem
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-