-
HINTERGRUND DER ERFINDUNG
-
Bereich der Erfindung
-
Die vorliegende Erfindung bezieht sich auf die Lernkontrolle eines Robotersystems und bezieht sich insbesondere auf ein Robotersystem zur Durchführung der Lernkontrolle unter Verwendung eines Motorgebers und eines Sensors.
-
Beschreibung der verwandten Art
-
Verfahren zur Durchführung einer Lernkontrolle für Vibrationen in einer Roboterspitze durch Anbringen eines Sensors an der Roboterspitze und Messen von Vibrationen während des Betriebs wurden vorgeschlagen. So wird beispielsweise in
JP 2011 -
167817 A ein Sensor verwendet, um einen Trackingfehler zu schätzen. Als Beispiele für einen solchen Sensor werden ein Bildsensor, ein Beschleunigungssensor, ein Gyrosensor, ein Trägheitssensor, ein Dehnungsmessstreifen und dergleichen beschrieben.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die Technik zur Durchführung einer Lernkontrolle für Vibrationen in einer Roboterspitze unter Verwendung eines solchen Sensors hat folgende Probleme.
- (1) Mit einem Bildsensor kann eine Position eines Messpunktes nicht in einem Betrieb an einem überfüllten Ort oder einem Betrieb gemessen werden, in dem sich die Ausrichtung ändert, oder dergleichen in einigen Fällen, weil sich ein Hindernis zwischen einem Messgerät und dem Messpunkt befindet oder der Bildsensor hinter dem Messziel selbst verborgen ist.
- (2) Mit einem Beschleunigungssensor, einem Gyrosensor, einem Trägheitssensor oder einem Dehnungsmessstreifen bewirkt die Berechnung zum Schätzen einer Position aus den vom Sensor erhaltenen Daten einen Schätzfehler über die Position, der in einigen Fällen groß ist.
- (3) Nach Abschluss des Lernens mit einem solchen Sensor wird der in einem Roboter installierte Sensor vom Roboter abgetrennt und kann dann von einem anderen Roboter zum Lernen verwendet werden. Im Falle einer Modifikation des Lernens vom ersten Roboter und einer erneuten Lernphase muss der Sensor jedoch wieder angebracht werden, was mehr Arbeitsstunden erfordert.
-
Das oben beschriebene Problem (2) wird näher beschrieben. 10A ist ein Diagramm, das eine Beziehung zwischen einem Positionsfehler zwischen einer geschätzten Position basierend auf einem Sensor und einer Zielposition und der Zeit darstellt. 10B ist ein Diagramm, das durch Entfernen von niederfrequenten Komponenten aus der in 10A dargestellten Diagramms unter Verwendung eines Hochpassfilters erhalten wird. Im Falle eines Beschleunigungssensors wird eine Berechnung durchgeführt, um die Geschwindigkeit durch Integration der vom Sensor erfassten Beschleunigung zu schätzen und eine Position durch weitere Integration der Geschwindigkeit zu schätzen, sowie um einen Positionsfehler durch Subtraktion einer Zielposition von einer geschätzten Position basierend auf dem Sensor zu schätzen. In einem Fall, in dem auch nur ein kleiner Fehler in der vom Sensor erfassten Beschleunigung vorliegt, werden daher mit der Zeit Schätzfehler in Bezug auf Geschwindigkeit und Position akkumuliert, was dazu führt, dass der Positionsfehler zusammen mit der Zeit übermäßig groß ist, wie in 10A dargestellt. Obwohl solche Schätzfehler in Bezug auf niederfrequente Komponenten im Positionsfehler akkumuliert werden, können die niederfrequenten Komponenten einschließlich Schätzfehler durch Verwendung des Hochpassfilters, wie in 10B dargestellt, entfernt werden. Niederfrequente Komponenten in Positionsfehlern, die keine Schätzfehler beinhalten, werden jedoch ebenfalls entfernt, was eine genaue Lernkontrolle für Vibrationen in einer Roboterspitze verhindert.
-
In Anbetracht dessen ist eine Technik zur Durchführung einer genauen Lernkontrolle für Vibrationen in einem Kontrollziel erwünscht.
-
Ein Aspekt der vorliegenden Offenbarung sieht ein Robotersystem vor, das eine Roboter-Mechanismuseinheit, mit einem Sensor und einem Motorgeber zum Erfassen einer Position eines Steuerziels versehen, und eine Robotersteuervorrichtung beinhaltet, die einen Betrieb der Roboter-Mechanismuseinheit gemäß einem Betriebsprogramm steuert, wobei das Robotersystem Folgendes beinhaltet: eine Lernsteuereinheit, die bewirkt, dass die Roboter-Mechanismuseinheit gemäß einem Betriebsbefehl, der sich auf eine Zielposition des Steuerziels bezieht, arbeitet, um einen Positionsfehler zwischen einer geschätzten Position des Steuerziels und der Zielposition zu schätzen und Lernen durch Neuberechnen eines neuen Korrekturbetrags durchzuführen, basierend auf dem geschätzten Positionsfehler und einem zuvor berechneten Korrekturbetrag, um die geschätzte Position des Steuerziels näher an die Zielposition heranzuführen; und eine Robotersteuereinheit, die den Betriebsbefehl unter Verwendung des neu berechneten Korrekturbetrags korrigiert, um den Betrieb der Robotervorrichtung zu steuern, wobei die Lernsteuereinheit einen Positionsfehler-Schätzabschnitt beinhaltet, der eine niederfrequente Komponente im Positionsfehler basierend auf Informationen des Motorgebers und eine hochfrequente Komponente im Positionsfehler basierend auf Informationen des Sensors schätzt.
-
Figurenliste
-
- 1 ist eine schematische Darstellung eines Robotersystems gemäß einer Ausführungsform.
- 2 ist eine schematische Darstellung einer Roboter-Mechanismuseinheit gemäß der einen Ausführungsform.
- 3 ist ein Blockschaltbild einer Robotersteuerung gemäß der einen Ausführungsform.
- 4 ist ein Flussdiagramm, das einen Fluss der Lernkontrolle für ein Robotersystem gemäß der einen Ausführungsform veranschaulicht.
- 5 ist ein Blockdiagramm eines Positionsfehlerschätzungsabschnitts gemäß einer ersten Ausführungsform.
- 6 ist ein Blockdiagramm eines Positionsfehlerschätzungsabschnitts gemäß einer zweiten Ausführungsform.
- 7 ist ein Blockdiagramm eines Positionsfehlerschätzungsabschnitts gemäß einer dritten Ausführungsform.
- 8A ist ein Blockschaltbild einer lernenden Steuereinheit, das bestimmt, ob ein Lernen nur mit einem Motorgeber möglich ist oder nicht.
- 8B ist ein Blockdiagramm einer anderen Lernsteuereinheit, das bestimmt, ob ein Lernen nur durch den Motorgeber möglich ist oder nicht.
- 9 ist ein Blockdiagramm einer lernenden Steuereinheit, die eine geschätzte Position basierend auf einem Motorgeber korrigiert.
- 10A ist ein Diagramm, das eine Beziehung zwischen einem Positionsfehler zwischen einer geschätzten Position basierend auf einem Sensor und einer Zielposition, und der Zeit darstellt.
- 10B ist ein Diagramm, das durch Entfernen von niederfrequenten Komponenten aus dem in 10A dargestellten Diagramm durch Anwendung eines Hochpassfilters erhalten wird.
-
DETAILLIERTE BESCHREIBUNG
-
Die Ausführungsformen der vorliegenden Offenbarung werden im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen ausführlich beschrieben. In den Zeichnungen werden identische oder ähnliche Bestandteile durch gleiche oder ähnliche Referenznummern gekennzeichnet. Darüber hinaus sind die nachstehend beschriebenen Ausführungsformen nicht dazu bestimmt, den technischen Umfang der Erfindung oder die Bedeutung der in den Ansprüchen dargestellten Begriffe einzuschränken.
-
1 ist eine schematische Darstellung eines Robotersystems 10 gemäß einer vorliegenden Ausführungsform. Das Robotersystem 10 beinhaltet: eine Roboter-Mechanismuseinheit 14, die mit einem Sensor 12 und einem Motorgeber 13 versehen ist, der eine Position eines Steuerziels 11 erfasst, das ein Ziel für die Positionssteuerung ist; eine Robotersteuervorrichtung 15, die die Roboter-Mechanismuseinheit 14 gemäß einem Betriebsprogramm steuert; und eine Anzeigevorrichtung 16, die verschiedene Arten von Informationen anzeigt und eine Lernkontrolle für Vibrationen in dem Steuerziel 11 durchführt. Der Sensor 12, der Motorgeber 13, die Roboter-Mechanismuseinheit 14, die Robotersteuervorrichtung 15 und die Anzeigevorrichtung 16 sind drahtgebunden oder drahtlos miteinander verbunden.
-
Der Sensor 12 ist ein Sensor, der Informationen (z.B. Beschleunigung, Winkelgeschwindigkeit, Dehnung (elektrischer Widerstandswert) oder dergleichen) erfasst, die berechnet werden müssen, um eine Position des Steuerziels 11 zu schätzen, und Beispiele für den Sensor 12 beinhalten einen Beschleunigungssensor, einen Kreiselsensor, einen Trägheitssensor, einen Dehnungsmessstreifen und dergleichen.
-
Der Motorgeber 13 ist ein Codierer, der einen Drehzahlbetrag, eine Drehzahl oder dergleichen eines Servomotors erfasst, der jeder der Gelenkwellen in der Roboter-Mechanismuseinheit 14 zugeordnet ist, und Beispiele für den Motorgeber 13 beinhalten einen Inkrementalcodierer, einen Absolutcodierer und dergleichen, die jeweils eine Schlitzplatte, ein lichtemittierendes Element und ein lichtempfangendes Element beinhalten, die so angeordnet sind, dass sie die Schlitzplatte zwischen sich einklemmen.
-
2 ist eine schematische Darstellung des Robotermechanismus-Teils 14 gemäß der vorliegenden Ausführungsform. Die Robotermechanismuseinheit 14 beinhaltet sechs Gelenkwellen J1 bis J6, von denen jede einen Servomotor, ein Untersetzungsgetriebe und dergleichen beinhaltet. Die Robotermechanismuseinheit 14 ist ein Roboter-Manipulator, in dem ein in einem Raum fixiertes Weltkoordinatensystem C1 und ein an einer Flanschposition der Gelenkwelle J6 angeordnetes mechanisches Schnittstellenkoordinatensystem C2 definiert sind.
-
3 ist ein Blockschaltbild der Robotersteuervorrichtung 15 gemäß der vorliegenden Ausführungsform. Die Robotersteuervorrichtung 15 beinhaltet: eine Robotersteuereinheit 21, die einen Betrieb der Robotermechanismuseinheit 14 gemäß einem Betriebsprogramm 20 steuert; und eine Lernsteuereinheit 22, die bewirkt, dass die Robotermechanismuseinheit 14 gemäß einem Betriebsbefehl in Bezug auf eine Zielposition des Steuerungsziels 11 arbeitet, um einen Positionsfehler zwischen der geschätzten Position des Steuerungsziels 11 und der Zielposition zu schätzen und ein Lernen durchzuführen, um einen neuen Korrekturbetrag neu zu berechnen, basierend auf dem geschätzten Positionsfehler und einem zuvor berechneten Korrekturbetrag, um die geschätzte Position des Steuerungsziels 11 näher an die Zielposition zu bringen.
-
Jede der Robotersteuereinheiten 21 und der lernenden Steuereinheit 22 beinhaltet eine öffentlich bekannte CPU, ASIC, FPGA und dergleichen. In einer weiteren Ausführungsform kann die Lernsteuereinheit 22 anstelle der Bereitstellung in der Robotersteuervorrichtung 15 in einer Computervorrichtung vorgesehen sein, die mit der Robotersteuervorrichtung 15 drahtgebunden oder drahtlos verbunden ist. Darüber hinaus kann das Lernen in der Lernsteuereinheit 22 offline statt online durchgeführt werden.
-
Die Lernsteuereinheit 22 beinhaltet: einen ersten Speicher 30, der die vom Sensor 12 erfassten Sensorinformationen, die vom Motorgeber 13 erfassten Codierinformationen und einen Betriebsbefehl speichert; einen zweiten Speicher 31, der einen zuvor oder neu berechneten Korrekturbetrag speichert, um die geschätzte Position des Steuerziels 11 näher an die Zielposition zu bringen; und einen dritten Speicher 32, der einen konvergenten Korrekturbetrag speichert, der durch wiederholtes Lernen erhalten wurde. Um Hochgeschwindigkeitslernen zu ermöglichen, sind der erste Speicher 30 und der zweite Speicher 31 vorzugsweise flüchtige Speicher; und der dritte Speicher 32 ist vorzugsweise ein nichtflüchtiger Speicher, der einen Korrekturbetrag speichert, selbst wenn die Stromversorgung unterbrochen wurde. Nach dem Einschalten wird der konvergente Korrekturbetrag aus dem dritten Speicher 32 in den zweiten Speicher 31 ausgelesen und von der Robotersteuereinheit 21 wiederverwendet.
-
Die Lernsteuereinheit 22 beinhaltet ferner einen Positionsfehler-Schätzabschnitt 33, der einen Positionsfehler zwischen einer geschätzten Position des Steuerziels 11 und der Zielposition basierend auf den Sensorinformationen, der Codierinformation und dem Betriebsbefehl schätzt. Der Positionsfehler-Schätzabschnitt 33 schätzt hochfrequente Komponenten im Positionsfehler aus der Sensorinformation und auch niederfrequente Komponenten im Positionsfehler aus der Geberinformation. Die niederfrequenten Komponenten in dem auf Basis des Motorgebers 13 geschätzten Positionsfehler beinhalten keinen Schätzfehler auf Basis des Sensors 12, so dass die niederfrequenten Komponenten in dem Positionsfehler nicht durch Verwendung eines Hochpassfilters wie in der oben beschriebenen verwandten Art entfernt werden müssen. Der schließlich in der Positionsfehlerschätzung nach Abschnitt 33 zu erhaltende Positionsfehler ist ein Positionsfehler, aus dem der Schätzfehler in Bezug auf die niederfrequenten Komponenten auf Basis des Sensors 12 entfernt wurde. Somit kann die Lernsteuereinheit 22 die Lernsteuerung für Vibrationen in dem Steuerziel 11 präzise durchführen.
-
Die Lernsteuereinheit 22 beinhaltet ferner einen Korrekturbetrag-Berechnungsabschnitt 33, der basierend auf dem durch den Positionsfehler-Schätzsabschnitt 33 geschätzten Positionsfehler und einem im zweiten Speicher 31 gespeicherten, zuvor berechneten Korrekturbetrag einen neuen Korrekturbetrag neu berechnet. Der aus dem Abschnitt 34 der Korrekturbetragsberechnung neu berechnete Korrekturbetrag wird im zweiten Speicher 31 gespeichert.
-
Die Lernsteuereinheit 22 beinhaltet weiterhin einen Lernabschluss-Bestimmungsabschnitt 35, der bestimmt, ob das Lernen abgeschlossen ist oder nicht. Der Lernabschluss-Bestimmungsabschnitt 35 bestimmt, dass das Lernen in einem Fall abgeschlossen ist, in dem das Verhältnis zwischen dem zuvor berechneten Korrekturbetrag und dem neu berechneten Korrekturbetrag in einen zulässigen Bereich fällt, in einem Fall, in dem die Anzahl der Lernvorgänge eine vorgegebene Anzahl von Malen überschreitet, oder in dem Fall, dass ein geschätzter Positionsfehler gleich oder kleiner als ein zulässiger Wert ist. In einem Fall, in dem der Abschnitt 35 zur Bestimmung des Lernabschlusses bestimmt, dass das Lernen abgeschlossen ist, wird ein konvergenter Korrekturbetrag im dritten Speicher 32 gespeichert.
-
Die Robotersteuereinheit 21 korrigiert den Betriebsbefehl unter Verwendung des von der lernenden Steuereinheit 22 neu berechneten Korrekturbetrags (einschließlich des konvergenten Korrekturbetrags) und steuert den Betrieb der Roboter-Mechanismuseinheit 14.
-
4 ist ein Flussdiagramm, das einen Fluss der Lernkontrolle für das Robotersystem 10 gemäß der vorliegenden Ausführungsform darstellt. Dieses Flussdiagramm kann von einem Programm implementiert werden, das von einer CPU ausgeführt wird.
-
In Schritt S10 wird ein Lernzielbetrieb durchgeführt.
-
In Schritt S11 werden hochfrequente Komponenten in einem Positionsfehler aus Sensorinformationen und niederfrequente Komponenten in dem Positionsfehler ebenfalls aus Codierinformation geschätzt, um dadurch einen Positionsfehler des Steuerziels 11 zu schätzen.
-
In Schritt S12 wird basierend auf dem geschätzten Positionsfehler und einem zuvor berechneten Korrekturbetrag, um die geschätzte Position des Steuerziels 11 einer Zielposition näher zu bringen, ein neuer Korrekturbetrag neu berechnet.
-
In Schritt S13 wird bestimmt, ob das Lernen abgeschlossen ist oder nicht. Insbesondere wird bestimmt, ob das Verhältnis zwischen dem zuvor berechneten Korrekturbetrag und dem neu berechneten Korrekturbetrag in den zulässigen Bereich fällt, ob die Anzahl der Lernvorgänge die vorgegebene Anzahl von Malen überschreitet oder nicht, oder ob der geschätzte Positionsfehler gleich oder niedriger als der zulässige Wert ist oder nicht. In einem Fall, in dem das Lernen nicht abgeschlossen ist (NEIN in Schritt S13), kehrt die Lernsteuerung zu Schritt S10 zurück und der Lernzielvorgang wird erneut durchgeführt. In einem Fall, in dem das Lernen abgeschlossen ist (JA in Schritt S13), wechselt die Lernsteuerung zu Schritt S14.
-
In Schritt S14 wird der konvergente Korrekturbetrag in dem nichtflüchtigen Speicher gespeichert.
-
5 ist ein Blockdiagramm des Positionsfehler-Schätzabschnitts 33 gemäß einer ersten Ausführungsform. Es sei darauf hingewiesen, dass 5 zum besseren Verständnis Abbildungen enthält, die ein Konzept von Frequenzkomponenten in jedem der Prozesse angeben. Der Abschnitt 33 zur Schätzung des Positionsfehlers beinhaltet: einen ersten Subtrahierer 40, der eine Zielposition von einer geschätzten Position basierend auf dem Motorgeber 13 subtrahiert, um dadurch erste Komponenten zu erhalten; einen ersten Tiefpassfilter 41, der niederfrequente Komponenten der ersten Komponenten erhält; einen zweiten Subtrahierer 42, der die Zielposition von der geschätzten Position basierend auf dem Sensor 12 subtrahiert, um zweite Komponenten zu erhalten; einen Hochpassfilter 43, der hochfrequente Komponenten der zweiten Komponenten erhält; und einen Addierer 44, der die niederfrequenten Komponenten der ersten Komponenten und die hochfrequenten Komponenten der zweiten Komponenten addiert.
-
Der Positionsfehler-Schätzabschnitt 33 kann ferner, wenn auch nicht als wesentliches Element, einen zweiten Tiefpassfilter 45 beinhalten, der Rauschen oder schwer zu steuernde hochfrequente Komponenten entfernt. Hier ist die Beziehung der jeweiligen Grenzfrequenzen L1, H1 und L2 des ersten Tiefpassfilters 41, des Hochpassfilters 43 und des zweiten Tiefpassfilters 45: L1 < H1 < L2.
-
Bei dieser Konfiguration fügt der Positionsfehler-Schätzabschnitt 33 die niederfrequenten Komponenten der ersten Komponenten hinzu, die durch Subtraktion der Zielposition von der geschätzten Position basierend auf dem Motorgeber 13 und die hochfrequenten Komponenten der zweiten Komponenten durch Subtraktion der Zielposition von der geschätzten Position basierend auf dem Sensor 12 erhalten werden, um dadurch einen Positionsfehler zu schätzen. Somit ist der Positionsfehler, der schließlich durch den Positionsfehler-Schätzabschnitt 33 erhalten wird, ein Positionsfehler, von dem der Schätzfehler der niederfrequenten Komponenten basierend auf dem Sensor 12 entfernt wurde. Somit kann die Lernsteuereinheit 22 die Lernsteuerung für Vibrationen in dem Steuerziel 11 präzise durchführen.
-
Wenn jedoch die Grenzfrequenz L1 des ersten Tiefpassfilters 41 und die Grenzfrequenz H1 des Hochpassfilters 43 den gleichen Wert haben, z.B. 2 Hz, können der erste Tiefpassfilter 41 und der Hochpassfilter 43 Frequenzkomponenten, die gleich und höher als 2 Hz sind, bzw. Frequenzkomponenten, die gleich oder niedriger als 2 Hz sind, nicht vollständig entfernen. Somit beinhaltet der erhaltene Positionsfehler schließlich einen überlappenden Abschnitt um 2 Hz, wie in 5 dargestellt, wodurch der Positionsfehler als zu groß eingeschätzt wird. Ein Positionsfehler-Schätzabschnitt 33 gemäß einer zweiten Ausführungsform löst dieses Problem weiter.
-
6 ist ein Blockdiagramm des Positionsfehler-Schätzabschnitts 33 gemäß der zweiten Ausführungsform. Es ist zu beachten, dass 6 zum besseren Verständnis Abbildungen enthält, die ein Konzept von Frequenzkomponenten in jedem der Prozesse angeben. Der Positionsfehler-Schätzabschnitt 33 beinhaltet: einen ersten Subtrahierer 40, der eine Zielposition von einer geschätzten Position basierend auf dem Motorgeber 13 subtrahiert, um dadurch erste Komponenten zu erhalten; einen zweiten Subtrahierer 42, der die Zielposition von der geschätzten Position basierend auf dem Sensor 12 subtrahiert, um zweite Komponenten zu erhalten; einen dritten Subtrahierer 50, der die ersten Komponenten von den zweiten Komponenten subtrahiert, um dritte Komponenten zu erhalten; einen Hochpassfilter 43, der Hochfrequenzkomponenten der dritten Komponenten erhält; und einen Addierer 44, der die ersten Komponenten zu den Hochfrequenzkomponenten der dritten Komponenten addiert.
-
Der Positionsfehler-Schätzabschnitt 33 kann ferner, wenn auch nicht wesentliche Bestandteile, einen ersten Tiefpassfilter 41 beinhalten, der niederfrequente Komponenten der ersten Komponenten erhält, und einen zweiten Tiefpassfilter 45, der Rauschen oder schwer steuerbare hochfrequente Komponenten entfernt. Mit anderen Worten, der Positionsfehler-Schätzabschnitt 33 gemäß der zweiten Ausführungsform kann eine Konfiguration aufweisen, die den dritten Subtrahierer 50 zusätzlich zu den Bestandteilen des Positionsfehler-Schätzabschnitts 33 gemäß der ersten Ausführungsform beinhaltet. Hier ist die Beziehung der jeweiligen Grenzfrequenzen L1, H1 und L2 des ersten Tiepassfilters 41, des Hochpassfilters 43 und des zweiten Tiefpassfilters 45 H1 < L1 < L2.
-
Bei dieser Konfiguration fügt der Positionsfehler-Schätzabschnitt 33 die niederfrequenten Komponenten der ersten Komponenten und die hochfrequenten Komponenten der dritten Komponenten hinzu, die durch Subtraktion der niederfrequenten Komponenten der ersten Komponenten von den zweiten Komponenten erhalten werden, um dadurch einen Positionsfehler zu schätzen. Insbesondere wendet der Positionsfehler-Schätzabschnitt 33 den Hochpassfilter 43 auf die zweiten Komponenten und die ersten Komponenten mit einem Minuszeichen zusammen an und fügt die ersten Komponenten mit einem Pluszeichen zu den erhaltenen Hochfrequenz-Komponenten der dritten Komponenten hinzu, um dadurch die Grenze zwischen den Hochfrequenz-Komponenten der zweiten Komponenten und den Niederfrequenz-Komponenten der ersten Komponenten in dem schließlich erhaltenen Positionsfehler angemessen anzupassen. Auf diese Weise wird das Problem gelöst, dass ein Positionsfehler als zu groß eingeschätzt wird.
-
7 ist ein Blockdiagramm eines Positionsfehler-Schätzabschnitts 33 gemäß einer dritten Ausführungsform. Es ist zu beachten, dass 7 zum besseren Verständnis Abbildungen enthält, die ein Konzept von Frequenzkomponenten in jedem der Prozesse angeben. Der Positionsfehler-Schätzabschnitt 33 beinhaltet: einen vierten Subtrahierer 60, der eine geschätzte Position basierend auf dem Motorgeber 13 von einer geschätzten Position basierend auf dem Sensor 12 subtrahiert, um dadurch vierte Komponenten zu erhalten; einen Hochpassfilter 43, der Hochfrequenzkomponenten der vierten Komponenten erhält; einen Addierer 44, der die geschätzte Position basierend auf dem Motorgeber 13 zu den Hochfrequenzkomponenten der vierten Komponenten addiert, um fünfte Komponenten zu erhalten; und einen fünften Subtrahierer 61, der eine Zielposition von den fünften Komponenten subtrahiert, um sechste Komponenten zu erhalten.
-
Der Positionsfehler-Schätzabschnitt 33 kann ferner, wenn auch nicht als wesentliches Bestandteil, einen zweiten Tiefpassfilter 45 beinhalten, der Rauschen oder schwer zu steuernde hochfrequente Komponenten entfernt. Hier ist das Verhältnis der jeweiligen Grenzfrequenzen H1 und L2 des Hochpassfilters 43 und des zweiten Tiefpassfilters 45: H1 < L2.
-
Mit dieser Konfiguration fügt der Positionsfehler-Schätzabschnitt 33 die Hochfrequenzkomponenten der vierten Komponenten hinzu, die durch Subtraktion der geschätzten Position basierend auf dem Motorgeber 13 von der geschätzten Position basierend auf dem Sensor 12 und der geschätzten Position basierend auf dem Motorgeber 13 erhalten wurden, und subtrahiert die Zielposition weiter von den fünften Komponenten, die als Ergebnis der Addition erhalten wurden, um dadurch einen Positionsfehler zu schätzen. Insbesondere wendet der Positionsfehler-Schätzabschnitt 33 den Hochpassfilter 43 auf die geschätzte Position basierend auf dem Sensor 12 und die geschätzte Position mit einem Minuszeichen basierend auf dem Motorgeber 13 an und fügt die geschätzte Position mit einem Pluszeichen basierend auf dem Motorgeber 13 zu den erhaltenen Hochfrequenz-Komponenten der vierten Komponenten hinzu, um dadurch die Grenze zwischen den Hochfrequenz-Komponenten des Positionsfehlers basierend auf dem Sensor 12 und den Niederfrequenz-Komponenten des Positionsfehlers basierend auf dem Motorgeber 13 in dem schließlich erhaltenen Positionsfehler entsprechend anzupassen. Auf diese Weise wird das Problem gelöst, dass ein Positionsfehler als zu groß eingeschätzt wird.
-
Der Positionsfehler-Schätzabschnitt 33 reduziert weiterhin die Bestandteile, indem er den ersten Tiefpassfilter 41 eliminiert und auch den ersten Subtrahierer 40 und den zweiten Subtrahierer 42, die die Zielposition subtrahieren, in einen integriert und somit Hochgeschwindigkeitslernen ermöglicht.
-
Der oben beschriebene Positionsfehler, der sowohl vom Sensor 12 als auch vom Motorgeber 13 geschätzt wird, ist genauer als der Positionsfehler, der nur vom Motorgeber 13 geschätzt wird. In einem Betrieb mit geringer Umkehrspanne und einem Betrieb mit geringer Verformung der Roboter-Mechanismuseinheit 14 gibt es jedoch keinen großen Genauigkeitsunterschied zwischen dem nur vom Motorgeber 13 geschätzten Positionsfehler und dem sowohl vom Sensor 12 als auch vom Motorgeber 13 geschätzten Positionsfehler. Vor diesem Hintergrund bestimmt das Lernsteuergerät 22 weiter, ob ein Lernen nur durch den Motorgeber 13 möglich ist oder nicht.
-
8A ist ein Blockdiagramm der lernenden Steuereinheit 22, das bestimmt, ob ein Lernen nur durch den Motorgeber 13 möglich ist oder nicht. Es ist zu beachten, dass 8A zum besseren Verständnis nur die für die Beschreibung notwendigen Bestandteile darstellt. Die Lernsteuereinheit 22 beinhaltet ferner: einen Motorgeber-GenauigkeitsBerechnungsabschnitt 70, der die Genauigkeit des Motorgebers 13 berechnet, basierend auf einem Positionsfehler, der durch den Positionsfehler-Schätzabschnitt 33 geschätzt wird; und einen ersten Betriebsbestimmungsabschnitt 71, der in einem Fall, dass die berechnete Genauigkeit innerhalb eines zulässigen Bereichs liegt, bestimmt, ob ein Lernzielvorgang einem Vorgang mit der Genauigkeit innerhalb des zulässigen Bereichs ähnlich ist oder nicht, und Lernen durchführt, basierend auf einem Ergebnis der Bestimmung nur durch den Motorgeber 13 ohne Verwendung des Sensors 12.
-
Der Motorgeber-Genauigkeitsberechnungsabschnitt 70 subtrahiert einen sowohl vom Sensor 12 als auch vom Motorgeber 13 geschätzten Positionsfehler von dem nur von dem Motorgeber 13 geschätzten Positionsfehler, um dadurch die Genauigkeit des Motorgebers 13 zu berechnen.
-
Der erste Betriebsbestimmungsabschnitt 71 bestimmt, ob der Lernzielbetrieb dem Betrieb mit der Genauigkeit innerhalb des zulässigen Bereichs ähnlich ist oder nicht, basierend auf einem vorbestimmten Schwellenwert bezüglich einer Startposition, einer Endposition, Betriebsgeschwindigkeit, Beschleunigung, Motorlast oder dergleichen. In einem Fall, dass der Lernzielbetrieb dem Betrieb mit der Genauigkeit innerhalb des zulässigen Bereichs ähnlich ist, bewirkt der erste Betriebsbestimmungsabschnitt 71, dass eine Anzeigevorrichtung 16 anzeigt, dass das Lernen nur durch den Motorgeber 13 ohne Verwendung des Sensors 12 möglich ist. Die Anzeigevorrichtung 16 kann weiterhin den Ort der Positionsfehler anzeigen, die durch entsprechende Lernzeiten während oder nach dem Lernen geschätzt werden, sowie einen Minimalwert und einen Maximalwert der Positionsfehler.
-
Mit dieser Konfiguration kann das Lernsteuergerät 22 bestimmen, ob das Erlernen eines unbekannten Lernzielbetriebs nur durch den Motorgeber 13 möglich ist oder nicht. Somit ergibt sich auch für den Fall, dass nach dem Abtrennen des Sensors 12 von der Roboter-Mechanismuseinheit 14 nach Beendigung des Lernens eine Notwendigkeit, das Lernen für einen anderen Vorgang erneut durchzuführen, auftritt, das Lernen nur durch den Motorgeber 13 als möglich erachtet wird, solange der Lernzielbetrieb im Toleranzbereich liegt. Dadurch können die Arbeitsstunden für das Anbringen des Sensors 12 reduziert werden.
-
8B ist ein Blockdiagramm einer weiteren Lernsteuereinheit 22, die bestimmt, ob ein Lernen nur durch den Motorgeber 13 möglich ist oder nicht. Es ist zu beachten, dass 8B zum besseren Verständnis nur die für die Beschreibung notwendigen Bestandteile veranschaulicht. Die Lernsteuereinheit 22 beinhaltet ferner: einen Betriebsgeschwindigkeitsberechnungsabschnitt 72, der die Betriebsgeschwindigkeit im Lernzielbetrieb berechnet; einen Hochfrequenz-Komponentenverhältnisberechnungsabschnitt 73, der das Verhältnis von Hochfrequenz-Komponenten in einem Positionsfehler im Lernzielbetrieb berechnet; und einen zweiten Betriebsbestimmungsabschnitt 74, der bestimmt, ob die berechnete Betriebsgeschwindigkeit niedriger als ein vorgegebener Schwellenwert ist oder nicht und das berechnete Verhältnis der Hochfrequenz-Komponenten kleiner als ein vorgegebener Schwellenwert ist, und das Lernen, basierend auf einem Ergebnis der Bestimmung, nur durch den Motorgeber 13 ohne Verwendung des Sensors 12 durchführt.
-
In einem Fall, dass die berechnete Betriebsgeschwindigkeit niedriger als der vorgegebene Schwellenwert ist und das berechnete Verhältnis der hochfrequenten Komponenten kleiner als der vorgegebene Schwellenwert ist, bewirkt der zweite Betriebsbestimmungsabschnitt 74, dass die Anzeigevorrichtung 16 anzeigt, dass das Lernen nur durch den Motorgeber 13 ohne Verwendung des Sensors 12 möglich ist. Die Anzeigevorrichtung 16 kann weiterhin den Ort der Positionsfehler anzeigen, die durch entsprechende Lernzeiten während oder nach dem Lernen geschätzt werden, sowie einen Minimalwert und einen Maximalwert der Positionsfehler.
-
Damit kann das lernende Steuergerät 22 bestimmen, ob das Erlernen einer unbekannten Lernzielbedienung nur durch den Motorgeber 13 möglich ist oder nicht. Somit ergibt sich auch für den Fall, dass nach dem Ablösen des Sensors 12 von der Roboter-Mechanismuseinheit 14 nach Beendigung des Lernens eine Notwendigkeit auftritt, für einen anderen Vorgang ein erneutes Lernen durchzuführen, das Lernen nur durch den Motorgeber 13 als möglich erachtet wird, solange der Lernzielbetrieb im Toleranzbereich liegt. Dadurch können die Arbeitsstunden für das Anbringen des Sensors 12 reduziert werden.
-
9 ist ein Blockdiagramm der lernenden Steuereinheit 22, die eine geschätzte Position basierend auf dem Motorgeber 13 korrigiert. Die geschätzte Position basierend auf dem Motorgeber 13 wird unter Berücksichtigung der Verformung der Roboter-Mechanismuseinheit 14, der Auswirkungen von Umkehrspiel und dergleichen teilweise geschätzt, beinhaltet aber immer noch einen Schätzfehler, der auf einen individuellen Unterschied zwischen Robotern und die Auswirkungen eines an einer Armspitze befestigten Werkzeugs zurückzuführen ist. Um dies zu beheben, beinhaltet die Lernsteuereinheit 22 ferner: einen Abschnitt 75 zur Berechnung des Schätzfehlers des Motorgebers, der einen Schätzfehler basierend auf dem Motorgeber 13 berechnet; und einen Abschnitt 76 zur Korrektur der geschätzten Position des Motorgebers, der die geschätzte Position basierend auf dem Motorgeber 13 basierend auf dem berechneten Schätzfehler korrigiert.
-
Der Motorgeber-Schätzfehler-Berechnungsabschnitt 75 subtrahiert einen Positionsfehler, der sowohl vom Motorgeber 13 als auch vom Sensor 12 geschätzt wird, von einem Positionsfehler, der nur vom Motorgeber 13 geschätzt wird, um dadurch einen Schätzfehler basierend auf dem Motorgeber 13 zu berechnen, der einen Schätzfehler beinhaltet, der auf eine Gegenbewegung zurückzuführen ist, einen Schätzfehler aufgrund einer Verformung eines Armes und eines Werkzeugs und dergleichen.
-
Der Motorgeber-Schätzpositionskorrekturabschnitt 76 subtrahiert den berechneten Schätzfehler von der geschätzten Position basierend auf dem Motorgeber 13, um dadurch die geschätzte Position basierend auf dem Motorgeber 13 zu korrigieren.
-
Bei dieser Konfiguration reduziert die geschätzte Position basierend auf dem Motorgeber 13 den Schätzfehler basierend auf dem Motorgeber 13, wie beispielsweise einen Schätzfehler, der auf eine Gegenbewegung zurückzuführen ist, und einen Schätzfehler aufgrund einer Verformung eines Arms und eines Werkzeugs, und somit kann die Lernsteuereinheit 22 eine Lernkontrolle für Vibrationen im Steuerziel 11 genau durchführen.
-
Gemäß der vorliegenden Ausführungsform werden niederfrequente Komponenten in einem Positionsfehler aus Informationen des Motorgebers 13 und hochfrequente Komponenten in dem Positionsfehler aus Informationen des Sensors 12 geschätzt, und somit ist ein schließlich erhaltener Positionsfehler ein Positionsfehler, aus dem ein Schätzfehler von niederfrequenten Komponenten basierend auf dem Sensor 12 entfernt wurde. Dadurch wird eine genaue Lernkontrolle für Vibrationen im Steuerziel 11 ermöglicht.
-
Ein Programm zum Ausführen des oben beschriebenen Flussdiagramms kann bereitgestellt werden, nachdem es auf einem computerlesbaren, nichtflüchtigen Aufzeichnungsmedium, beispielsweise einer CD-ROM oder dergleichen, aufgezeichnet wurde.
-
Obwohl hierin verschiedene Ausführungsformen beschrieben sind, ist die vorliegende Erfindung nicht auf die oben beschriebenen Ausführungsformen beschränkt, und es ist zu verstehen, dass im Rahmen der folgenden Ansprüche verschiedene Änderungen daran vorgenommen werden können.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 2011 [0002]
- JP 167817 A [0002]