DE112021002690T5 - Programmerzeugungsvorrichtung und Programmerzeugungsverfahren - Google Patents

Programmerzeugungsvorrichtung und Programmerzeugungsverfahren Download PDF

Info

Publication number
DE112021002690T5
DE112021002690T5 DE112021002690.9T DE112021002690T DE112021002690T5 DE 112021002690 T5 DE112021002690 T5 DE 112021002690T5 DE 112021002690 T DE112021002690 T DE 112021002690T DE 112021002690 T5 DE112021002690 T5 DE 112021002690T5
Authority
DE
Germany
Prior art keywords
route
program
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.)
Pending
Application number
DE112021002690.9T
Other languages
English (en)
Inventor
Takashi Satou
Yihua Gu
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 DE112021002690T5 publication Critical patent/DE112021002690T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/005Manipulators for mechanical processing tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/005Manipulators for mechanical processing tasks
    • B25J11/006Deburring or trimming
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/005Manipulators for mechanical processing tasks
    • B25J11/0065Polishing or grinding
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36349Compensation part program with form of tool, in memory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39176Compensation deflection arm
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39529Force, torque sensor in wrist, end effector
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40571Camera, vision combined with force sensor
    • 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/45Nc applications
    • G05B2219/45151Deburring

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Abstract

Es wird eine Programmerzeugungsvorrichtung bereitgestellt, die in der Lage ist, automatisch ein Routenprogramm zu erzeugen, das den Betrag des Biegens berücksichtigt, wenn die Spitze eines Roboters gegen ein Werkstück anliegt. Diese Programmerzeugungsvorrichtung ist versehen mit: einer Erfassungseinheit, die Routendaten erfasst, die eine Route anzeigen, der durch eine Spitze eines Roboters in Bezug auf ein Objekt gefolgt werden soll; eine Detektionseinheit, die eine Anpresskraft zum Anpressen der Spitze des Roboters gegen das Objekt detektiert; eine Berechnungseinheit, die den Fehlausrichtungsbetrag der verfolgten Route, der durch die Biegung der Spitze des Roboters verursacht wird, auf der Basis der Anpresskraft, die durch die Detektionseinheit detektiert wird, und einer vorgegebenen Konstante berechnet; und eine Erzeugungseinheit, die automatisch ein Routenprogramm zum Steuern einer Bewegungsroute der Spitze des Roboters auf der Basis der Routendaten, die durch die Erfassungseinheit erfasst werden, und dem Fehlausrichtungsbetrag erzeugt, der durch die Berechnungseinheit berechnet wird.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft eine Programmerzeugungsvorrichtung und ein Programmerzeugungsverfahren.
  • STAND DER TECHNIK
  • Herkömmlich ist bei einer Programmerzeugungsvorrichtung ein Verfahren bekannt, das eine tatsächliche Gratlinie des Entgratens durch einen visuellen Sensor in einem Bearbeitungsentgratungsschritt detektiert, der durch einen Roboter durchgeführt wird, und ein Routenprogramm erstellt, das der Gratlinie entspricht (japanische Offenlegungsschrift, Veröffentlichung Nr. 2015009324). Ferner ist ein Verfahren bekannt, das einen Weg eines Endeffektors durch einen visuellen Sensor auch in einem Polierschritt detektiert und ein Routenprogramm erstellt, das dem Weg entspricht.
  • Im Bearbeitungsentgratungsschritt und im Polierschritt führt der Roboter einen Alarm-Stopp durch, wenn er einen singulären Punkt, eine Grenze jeder Achse, eine festgelegte Verbotszone oder dergleichen erreicht oder in der Nähe vorbeifährt. Um dies zu vermeiden, wird normalerweise ein Bewegungsweg derart eingelernt/festgelegt, dass er nicht in der Nähe des singulären Punkts, der Grenze und der festgelegten Verbotszone vorbeiführt.
  • Ferner kann beim automatischen Erstellen eines Routenprogramms gemäß der tatsächlichen Gratlinie oder des tatsächlichen Weges auch dann, wenn es mit einem bestimmten Werkstück kein Problem gibt, der singuläre Punkt oder die Grenze aufgrund eines Unterschiedes bezüglich einer festen Position oder eines Unterschiedes bei der Größe oder Form des Werkstücks selbst zu einem Alarm bei einem anderen Werkstück werden.
  • Patentschrift 1 Japanische Offenlegungsschrift, Veröffentlichung Nr. 2015-009324
  • OFFENBARUNG DER ERFINDUNG
  • Durch die Erfindung zu lösende Probleme
  • In einem System, das das oben beschriebene Routenprogramm verwendet, wird bei vorgegebener Werkstückbearbeitung, wie beispielsweise etwa in einem Entgratungsschritt, eine Kraft des Roboters zum Anpressen eines Werkzeugs gegen das Werkstück erzeugt. Somit kommt in einem Zustand, in dem ein Arm des Roboters ausgelenkt wird, eine Spitze des Roboters (Endeffektor/Werkzeugmaschine) in eine Position, in der sie leicht in das Werkstück beißt.
  • Jedoch wird ein solcher Auslenkungsbetrag im Routenprogramm, das eine Bewegungsroute des Spitzenteils des Roboters steuert, nicht berücksichtigt, so dass es eine Fehlausrichtung gibt, die bezüglich der tatsächlichen Position erzeugt wird, wenn ein Entgratungsroboter das Werkzeug gegen das Werkstück presst. Es wird daher darauf hingewiesen, dass es sein kann, dass nicht korrekt bestimmt wird, ob es den singulären Punkt, die Grenze jeder Achse, die festgelegte Verbotszone oder dergleichen erreicht hat, und dass das Werkstück selbst oder der Endeffektor (Spitze des Arms des Roboters)/ das Bearbeitungswerkzeug beschädigt ist. Bei einem solchen Routenprogramm ist es wünschenswert, dass der Auslenkungsbetrag des Spitzenteils des Roboters, wenn die Spitze gegen das Werkstück anliegt, berücksichtigt wird.
  • Mittel zur Lösung des Problems
  • Eine Programmerzeugungsvorrichtung nach der vorliegenden Offenbarung umfasst: eine Erfassungseinheit, die Routendaten erfasst, die eine Route anzeigen, der durch eine Spitze eines Roboters in Bezug auf ein Ziel gefolgt werden soll; eine Detektionseinheit, die eine Anpresskraft zum Anpressen der Spitze des Roboters gegen das Ziel detektiert; eine Berechnungseinheit, die einen Fehlausrichtungsbetrag der Route, der gefolgt werden soll, der aufgrund der Auslenkung der Spitze des Roboters verursacht wird, basierend auf der Anpresskraft, die durch die Detektionseinheit detektiert wird, und einer vorgegebenen Konstante berechnet; und eine Erzeugungseinheit, die automatisch ein Routenprogramm zum Steuern einer Bewegungsroute der Spitze des Roboters basierend auf den Routendaten, die durch die Erfassungseinheit erfasst werden, und dem Fehlausrichtungsbetrag erzeugt, der durch die Berechnungseinheit berechnet wird.
  • Wirkungen der Erfindung
  • Nach einem Aspekt ist es möglich, automatisch das Routenprogramm zu erzeugen, das den Auslenkungsbetrag, wenn das Spitzenteil gegen das Werkstück anliegt, berücksichtigt.
  • Figurenliste
    • 1 ist ein Blockdiagramm zum Beschreiben einer Beschaffenheit einer Robotervorrichtung, das die vorliegende Ausführungsform verdeutlicht;
    • 2 ist ein Diagramm, das Positionskoordinaten von Abtastpunkten zum Messen des Auslenkungsbetrags durch eine Berechnungseinheit darstellt, die in 1 gezeigt wird;
    • 3 ist ein Ablaufdiagramm zum Beschreiben einer Steuerprozedur einer Programmerzeugungsvorrichtung, das die vorliegende Ausführungsform verdeutlicht;
    • 4 ist eine schematische Draufsicht, die eine Gratlinienroute verdeutlicht, die auf einem Routenprogramm basiert, das durch eine in 1 gezeigte Programmerzeugungseinheit erzeugt wurde;
    • 5 ist ein Blockdiagramm zum Beschreiben einer Beschaffenheit der Programmerzeugungsvorrichtung, das die vorliegende Ausführungsform verdeutlicht;
    • 6 ist eine schematische Ansicht zum Beschreiben eines Entgratungsschritts, der durch einen Roboter durchgeführt wird, die die vorliegende Ausführungsform verdeutlicht;
    • 7 ist eine schematische Ansicht zum Beschreiben des Entgratungsschritts, der durch einen Roboter durchgeführt wird, die die vorliegende Ausführungsform verdeutlicht;
    • 8 ist eine schematische Ansicht zum Beschreiben des Entgratungsschritts, der durch einen Roboter durchgeführt wird, die die vorliegende Ausführungsform verdeutlicht;
    • 9 ist ein Ablaufdiagramm zum Beschreiben einer Steuerprozedur der Programmerzeugungsvorrichtung, das die vorliegende Ausführungsform verdeutlicht;
    • 10 ist eine schematische Ansicht zum Beschreiben eines Entgratungsschritts, der durch einen Roboter durchgeführt wird, die die vorliegende Ausführungsform verdeutlicht;
    • 11 ist ein Ablaufdiagramm zum Beschreiben einer Steuerprozedur der Programmerzeugungsvorrichtung, das die vorliegende Ausführungsform verdeutlicht; und
    • 12 ist eine schematische Ansicht zum Beschreiben eines Polierschritts, der durch den Roboter durchgeführt wird, die die vorliegende Ausführungsform verdeutlicht.
  • BEVORZUGTE AUSFÜHRUNGSWEISE DER ERFINDUNG
  • Hiernach werden Ausführungsformen der vorliegenden Offenbarung beschrieben.
  • Erste Ausführungsform
  • 1 ist ein Blockdiagramm zum Beschreiben einer Beschaffenheit einer Robotervorrichtung, das eine erste Ausführungsform verdeutlicht. Hiernach werden eine Programmerzeugungsvorrichtung und ein Programmierverfahren zum Erzeugen eines Routenprogramms, das auf eine Robotervorrichtung 1 angewendet wird, detailliert beschrieben. Dieses Beispiel verdeutlicht einen Fall, in dem ein vorgegebenes Werkzeug beispielsweise ein Entgratungswerkzeug ist.
  • Die in der vorliegenden Ausführungsform besprochene Robotervorrichtung umfasst die Robotervorrichtung 1, eine Steuereinrichtung 2 der Robotervorrichtung 1, ein Roboterhandgelenk (Endeffektor) 3, einen Kraftsensor 4 und ein Entgratungswerkzeug 5. Das Entgratungswerkzeug 5 führt eine Bearbeitung an einem Werkstück 7, das in 6 dargestellt wird, und dergleichen aus, die später beschrieben werden soll. Was die Werkstücke 7 angeht, gibt es Positionierungsfehler, und es gibt ebenfalls Schwankungen bezüglich deren Formen und Größen. Ferner ist die Steuereinrichtung 2 mit einer Kraftsteuereinheit 21, einer Speichereinheit 22, einer Berechnungseinheit 23, einer Erfassungseinheit 24, einer Programmerzeugungseinheit 25 und einer Programmausführungseinheit 26 ausgebildet.
  • Man beachte, dass die Steuereinrichtung 2 eine Eingabeeinheit 11 und eine Anzeigeeinheit 12 über eine nicht gezeigte Schnittstelle umfasst. Die Robotervorrichtung 1 umfasst eine Antriebseinheit 1A, und die Bearbeitungsverarbeitung des Entgratungswerkzeugs 5 wird gemäß einer Anweisung von der Kraftsteuereinheit 21 ausgeführt. Die Eingabeeinheit 11 gibt den Auslenkungsbetrag des Roboterhandgelenks (des Endeffektors) 3 ein, der durch eine Bedienperson gemessen wird.
  • Die Speichereinheit 22 speichert in einer aktualisierbaren Weise ein Entgratungsprogramm und ein Polierprogramm, die durch die Programmerzeugungseinheit 25 erstellt wurden, wie auch Parameter (Form, Größe, Material) jedes Werkstücks, die für jedes solcher Bearbeitungsprogramme benötigt werden.
  • Die Erfassungseinheit 24 kommuniziert mit einem vorgegebenen, nicht gezeigten CAD-System, um Routendaten des Endeffektors 3 zu erfassen, der sich bei der Durchführung einer Bearbeitung an einem Ziel (Werkstück W) bewegt, und speichert sie in der Speichereinheit 22. Die Berechnungseinheit 23 berechnet den Auslenkungsbetrag für die durch den Kraftsensor 4 detektierte Anpresskraft unter Verwendung einer Federkonstante, die in einer wie später beschriebenen Weise gespeichert ist. Die Programmerzeugungseinheit 25 erzeugt ein Routenprogramm, das erhalten wird, indem die in der Speichereinheit 22 gespeicherte Bearbeitungsroutendaten basierend auf dem Auslenkungsbetrag kompensiert werden. Die Programmausführungseinheit 26 führt das kompensierte Routenprogramm aus, um die Kraftsteuereinheit 21 und die Antriebseinheit 1A zu steuern, um die Bewegungsroute des Spitzenteils der Robotervorrichtung 1 zu steuern, an der ein vorgegebenes Werkzeug befestigt ist.
  • Im Falle der in 1 dargestellten Robotervorrichtung berechnet die Berechnungseinheit 23 den Auslenkungsbetrag basierend auf der Federkonstante k, die in der Speichereinheit 22 gespeichert ist, in einer Weise, die später beschrieben wird, und auf dem Anpressbetrag, der durch den Kraftsensor 4 detektiert wurde. Dann erzeugt die Programmerzeugungseinheit 25 ein Routenprogramm, indem sie den Auslenkungsbetrag berücksichtigt, basierend auf den in der Speichereinheit 22 gespeicherten Routendaten (CAD-Daten) und dem berechneten Auslenkungsbetrag.
  • Man beachte, dass die durch die Erfassungseinheit 24 erfassten CAD-Daten erstellt werden können, indem beispielsweise Formdaten oder Bilddaten zur Bearbeitung des Werkstücks verarbeitet werden und die Route zum Anpressen des Werkzeugs nachverfolgt wird, indem ein Nachverfolgungsbefehl oder dergleichen verwendet wird, oder automatisch durch Raster/Vektorumwandlungsverarbeitung erstellt werden können. Bei der vorliegenden Ausführungsform wird die Gratlinie des Ziels (des Werkstücks W) als die Routendaten herangezogen, denen der Endeffektor als Spitzenteil der Robotervorrichtung 1 folgt, oder es wird die gerade Route, die sich linear auf der Ebene des Ziels bewegt, als die CAD-Daten herangezogen.
  • Dies macht es möglich, das Routenprogramm zu erzeugen, das für den Auslenkungsbetrag beider Fälle angepasst ist, ob nun das an dem Endeffektor 3 befestigte Werkzeug ein Entgratungswerkzeug oder ein Polierwerkzeug ist.
  • Die Programmerzeugungseinheit 25 erzeugt als eine Erzeugungseinheit automatisch das Routenprogramm, das den Weg steuert, entlang dessen sich der Endeffektor 3 der Robotervorrichtung 1 bewegt, basierend auf den Routendaten, die in der Speichereinheit 22 gespeichert sind und denen der Endeffektor 3 der Robotervorrichtung 1 folgt, und speichert es in der Speichereinheit 22.
  • Der Kraftsensor 4 als eine Detektionseinheit detektiert die Anpresskraft, die das vorgegebene Werkzeug, das an dem Endeffektor der später zu beschreibenden Robotervorrichtung 1 befestigt ist, gegen das Werkstück W drückt, und gibt sie an die Kraftsteuereinheit 21 und die Berechnungseinheit 23 aus. In einem Fall, in dem die Daten des Kraftsensors 4 ein analoger Betrag sind, wird der Auslenkungsbetrag als digitale Daten über einen nicht dargestellten A/D-Wandler ausgegeben.
  • Die Berechnungseinheit 23 berechnet, basierend auf der durch den Kraftsensor 4 detektierten Anpresskraft und der vorgegebenen Konstante (Federkonstante), einen Fehlausrichtungsbetrag der Route, der gefolgt werden soll, der aufgrund der Auslenkung des Arms der Robotervorrichtung 1 verursacht wird, und speichert das Berechnungsergebnis in der Speichereinheit 22. Man beachte, dass Details der Berechnung des Fehlausrichtungsbetrags später beschrieben werden.
  • Die Programmerzeugungseinheit 25 liest den Auslenkungsbetrag jedes Werkstücks aus, der in der Speichereinheit 22 gespeichert ist, und erzeugt ein Routenprogramm, das erhalten wird, indem die Bearbeitungsroutendaten basierend auf einem im Vorhinein in der Speichereinheit 22 gespeicherten Entgratungsschritt kompensiert werden, und speichert es in der Speichereinheit 22.
  • Die Kraftsteuereinheit 21 gibt Antriebssteuerungsinformation zum Durchführen des dreidimensionalen Entgratens an die Antriebseinheit 1A der Robotervorrichtung 1 gemäß dem kompensierten Routenprogramm aus, das in der Speichereinheit 22 gespeichert ist. Die Antriebseinheit 1A der Robotervorrichtung 1 führt eine dreidimensionale Bewegung des Roboterarms und den Antrieb eines vorgegebenen Werkzeugs, wie beispielsweise des Entgratungswerkzeugs 5, basierend auf der Antriebssteuerungsinformation, die von der Kraftsteuereinheit 21 ausgegeben wird, und der Bearbeitungssteuerungsinformation des visuellen Sensors 8, des Kraftsensors 4 und dergleichen aus.
  • Erstes Berechnungsbeispiel für die Federkonstante
  • Hiernach wird eine Federkonstantenberechnungsverarbeitung, die durch die Berechnungseinheit 23 durchgeführt, die in 1 gezeigt wird, detailliert besprochen. Die Berechnungseinheit 23 misst den Auslenkungsbetrag für die Anpresskraft in den X-, Y- und Z-Richtungen in typischen Positionen und Haltungen der Robotervorrichtung 1 (beispielsweise alle „0“ in J1 bis J6). Man beachte hier, dass die Anpresskraft aus der Ausgabe des Kraftsensors 4 erhalten wird. Unter der Annahme, dass die Anpresskraft F und der Auslenkungsbetrag L in einer proportionalen Beziehung stehen, berechnet die Berechnungseinheit 23 die Federkonstante (k=F/L) gemäß L=F/k (Federkonstante).
  • In diesem Beispiel wird der Wert der Federkonstante k, die einem vorgegebenen Werkzeug entspricht, aus der Anpresskraft F, die durch den Kraftsensor 4 abgetastet wird, und dem gemessenen Auslenkungsbetrag L berechnet. Wenn angenommen wird, dass sie nicht in einer proportionalen Beziehung steht, wird eine Funktion F erhalten. Die Programmerzeugungseinheit 25 nutzt die Federkonstante k oder die Funktion F für alle Positionen und Haltungen.
  • Ferner speichert die Berechnungseinheit 23 die berechnete Federkonstante k, die dem vorgegebenen Werkzeug entspricht, in der Speichereinheit 22 als eine Federkonstantentabelle gemäß Information zur Identifizierung der Robotervorrichtung 1 und jedes Werkzeugs.
  • Zweites Berechnungsbeispiel für die Federkonstante
  • 2 ist ein Diagramm, das Positionskoordinaten von Abtastpunkten zum Messen des Auslenkungsbetrags durch die Berechnungseinheit 23 darstellt, die in 1 gezeigt wird. Schwarze Kreise im Diagramm repräsentieren die Abtastpunkte, an denen der Auslenkungsbetrag gemessen wird.
  • In dem in 2 dargestellten Beispiel legt die Berechnungseinheit 23 viele Punkte innerhalb eines Bewegungsbereichs der Robotervorrichtung 1 fest, wie beispielsweise viele Gitterpunkten in äquivalenten Abständen in den XYZ-Achsenrichtungen. Die Bedienperson führt tatsächliche Messungen des Auslenkungsbetrags für die Anpresskraft in den XYZ-Richtungen in der Position/Haltung der Robotervorrichtung 1 an jedem Abtastpunkt durch. Die Berechnungseinheit 23 berechnet die Federkonstante kxyz oder die Funktion fxyz, die dem vorgegebenen Werkzeug an dem Abtastpunkt entspricht, durch die gleiche Berechnung wie bei dem ersten Berechnungsbeispiel für den Auslenkungsbetrag, und speichert das Berechnungsergebnis in der Speichereinheit 22.
  • Man beachte, dass sie auch durch Simulation berechnet werden kann, ohne tatsächlich den Auslenkungsbetrag wie im oben beschriebenen Berechnungsbeispiel zu messen. Der Auslenkungsbetrag variiert normalerweise für jedes Modell der Roboter, so dass eine Simulation für jedes der Modelle der Roboter, die verwendet werden sollen, durchgeführt wird. Genauer wird ein physikalisches Modell erstellt, das die Charakteristiken wie etwa die Gliederlänge des Roboters, die Masse/Trägheit jedes Teils und das Untersetzungsgetriebe jeder Achse berücksichtigt, und der Auslenkungsbetrag für die Anpresskraft, die auf die Spitze des Roboters oder des Endeffektors ausgeübt wird, wird durch Simulation berechnet. Es wird hier angenommen, dass die Federkonstante tatsächlich gemessen wird.
  • 3 ist ein Ablaufdiagramm zum Beschreiben einer Steuerprozedur der Programmerzeugungsvorrichtung, das die vorliegende Ausführungsform verdeutlicht. Man beachte, dass ST1 bis ST5 jeweils Schritte bezeichnen, und jeder der Schritte umgesetzt wird, wenn eine nicht dargestellte CPU ein Steuerprogramm, das in einem ROM oder dergleichen gespeichert ist, in ein RAM lädt und ausführt. Dieses Beispiel entspricht einer Programmerzeugungsverarbeitung bei der Bearbeitung, während das Werkzeug gegen das Werkstück gepresst wird.
  • Nachdem sie die Routendaten, die einem vorgegebenen Werkzeug entsprechen, wie beispielsweise die Routendaten, die einer Gratroute folgen, oder die Routendaten, die einer geraden Route folgen, aus der Speichereinheit 22 ausgelesen hat, erstellt die Programmerzeugungseinheit 25 zunächst ein Routenprogramm gemäß den Routendaten und hält es zeitweise in der Speichereinheit 22 (ST1). Man beachte, dass die Routendaten im Voraus durch ein nicht dargestelltes CAD-System erstellt werden, und angenommen wird, dass sie durch die Erfassungseinheit 24 erfasst und in der Speichereinheit 22 gespeichert wurden. Ferner sind die Routendaten Daten, in denen der Auslenkungsbetrag im Spitzenteil nicht berücksichtigt wird.
  • Dann greift die Berechnungseinheit 23 zurück auf eine Federkonstantentabelle für ein vorgegebenes Werkzeug, die in der Speichereinheit 22 gespeichert ist, basierend auf der Identifikationsinformation der Robotervorrichtung 1 und der Größe, dem Material und dergleichen des Werkstücks W, und berechnet den Auslenkungsbetrag, der verursacht wird, wenn das vorgegebene Werkzeug gegen das Werkstück W gepresst wird, indem sie eine Berechnungsverarbeitung durchführt, wobei sie die ausgelesene Federkonstante k, die dem vorgegebenen Werkzeug entspricht, und die Anpresskraft des vorgegebenen Werkzeugs verwendet, die durch den Kraftsensor 4 detektiert wurde (ST2).
  • Basierend auf dem berechneten Auslenkungsbetrag erstellt die Programmerzeugungseinheit 25 ein neues Routenprogramm, das erhalten wird, indem sie die Routendaten des Routenprogramms für das vorgegebene Werkzeug, das im Voraus in der Speichereinheit 22 gespeichert wurde, kompensiert (ST3).
  • Dann analysiert die Programmerzeugungseinheit 25 das neu erstellte Routenprogramm, um zu bestimmen, ob es irgendeinen Abschnitt gibt, der sich dem singulären Punkt der Robotervorrichtung 1, dem Grenzwert jeder Antriebsachse oder einer weiteren Verbotszone nähert (ST4). Wenn die Programmerzeugungseinheit 25 hierbei bestimmt, dass es einen Abschnitt gibt, der sich dem singulären Punkt der Robotervorrichtung 1, dem Grenzwert jeder Antriebsachse oder einer weiteren Verbotszone nähert, wird die Verarbeitung zu ST5 vorgerückt.
  • Dann erstellt die Programmerzeugungseinheit 25 ein Routenprogramm, das den in ST4 angegebenen Ort als den Endpunkt übernimmt und sich davon über eine designierte Route zurückzieht (ST5), und beendet die Verarbeitung. Man beachte, dass das erstellte endgültige Routenprogramm in der Speichereinheit 22 gespeichert wird.
  • Wenn indes die Programmerzeugungseinheit 25 in Schritt ST4 bestimmt, dass es keinen Abschnitt gibt, der sich dem singulären Punkt der Robotervorrichtung 1, dem Grenzwert jeder Antriebsachse oder einer weiteren Verbotszone nähert, wird die Verarbeitung beendet.
  • 4 ist eine schematische Draufsicht, die eine Gratlinienroute verdeutlicht, die auf dem Routenprogramm basiert, das durch die in 1 gezeigte Programmerzeugungseinheit 25 erzeugt wurde. Was die schwarzen Kreispunkte in der Zeichnung angeht, ist die äußere Seite der Punkt auf einem Weg, der eine Auslenkung nicht berücksichtigt, während die innere Seite der Punkt auf einem Weg ist, der die Auslenkung berücksichtigt. Die unterbrochene Linie zeigt einen Weg an, der durch Verbinden der Spitzenpositionen unter Berücksichtigung der Auslenkung des Entgratungswerkzeugs 5 gebildet wird.
  • Dadurch wird der Auslenkungsbetrag, der verursacht wird, wenn das an der Robotervorrichtung 1 befestigte Entgratungswerkzeug 5 gegen das Werkstück W anliegt, berücksichtigt, so dass es möglich ist, ein Entgraten des Werkstücks W mit hoher Genauigkeit durchzuführen, ohne eine Fehlausrichtung zu haben.
  • Wirkung der ersten Ausführungsform
  • Nach der vorliegenden Ausführungsform ist es möglich, das Routenprogramm automatisch zu erzeugen, das gemäß dem Auslenkungsbetrag kompensiert wird, der aufgrund der Auslenkung des Arms des Roboters verursacht wird, wenn das an dem Roboter befestigte vorgegebene Werkzeug tatsächlich gegen das Werkstück gepresst wird.
  • Zweite Ausführungsform
  • Die obige Ausführungsform wird beschrieben, indem auf einen Fall Bezug genommen wird, in dem das Routenprogramm erzeugt wird, indem gemäß dem Auslenkungsbetrag des Arms der Robotervorrichtung 1 die Routendaten für das vorgegebene Werkzeug kompensiert werden, das gegen das Werkstück gepresst ist, die durch die Erfassungseinheit 24 von dem CAD-System erfasst und gespeichert werden. Hiernach wird eine Ausführungsform zum Erzeugen eines Routenprogramms basierend auf den Routendaten des Werkzeugs detailliert beschrieben, die durch Verwendung eines visuellen Sensors 8 und dem durch Berechnung erhaltenen Auslenkungsbetrag des Arms der Robotervorrichtung 1 erhalten werden. Hiernach wird ein Beispiel beschrieben, in dem die Route, entlang derer sich das Entgratungswerkzeug 5 in einem Entgratungsschritt bewegt, eine Route ist, die sich entlang der Gratlinie an dem Werkstück W bewegt.
  • Routenprogrammerzeugungsverarbeitung für den Entgratungsschritt als Beispiel
  • 5 ist ein Blockdiagramm zum Beschreiben einer Beschaffenheit der Programmerzeugungsvorrichtung, das die vorliegende Ausführungsform verdeutlicht. Man beachte, dass die gleichen Bezugszeichen den gleichen Komponenten wie denen aus 1 zugewiesen werden, und doppelte Erläuterungen davon vermieden werden. Der visuelle Sensor 8 ist oberhalb des Werkstücks W so vorgesehen, dass er dreidimensional beweglich ist, und detektiert eine Entgratungsgratlinie des Ziels (Werkstück W) durch Aufnehmen eines Bildes einer Gratlinienroute, der der Endeffektor als Spitzenteil der Robotervorrichtung 1 folgt.
  • Bei der vorliegenden Ausführungsform berechnet die Berechnungseinheit 23 im Voraus den Auslenkungsbetrag basierend auf der Anpresskraft gegen das Werkstück, die durch den Kraftsensor 4 detektiert wird, und der gespeicherten Federkonstante für das Entgratungswerkzeug 5. Die Programmerzeugungseinheit 25 erstellt ein Routenprogramm, und speichert es in der Speichereinheit 22, das auf den Routendaten basiert, die erfasst werden, indem tatsächlich ein Bild eines vorgegebenen Schritts, wie beispielsweise des Entgratungsschritts, durch den visuellen Sensor 8 aufgenommen wird. Danach erstellt die Programmerzeugungseinheit 25 ein neues Routenprogramm, das auf dem in der Speichereinheit 22 gespeicherten Routenprogramm und dem Auslenkungsbetrag basiert.
  • Wenn sie die durch den visuellen Sensor 8 detektierten Entgratungsgratliniendaten analysiert und automatisch das Routenprogramm erstellt, das auf den Gratliniendaten basiert, erstellt die Programmerzeugungseinheit 25 das Routenprogramm, das bei Annäherung an den singulären Punkt, den Grenzwert jeder Achse oder eine andere festgelegte Verbotszone den Ort als Endpunkt nimmt, und sich danach davon über eine designierte Route zurückzieht.
  • In ähnlicher Weise erstellt die Programmerzeugungseinheit 25 ein Routenprogramm, mit dem das Werkzeug dem Zurückziehweg einmal folgt und erneut zu dem Weg zurückkehrt, der durch den visuellen Sensor 8 detektiert wurde, nachdem es sich von dem singulären Punkt, dem Grenzwert jeder Achse oder anderen festgelegten Verbotszonen um einen vorgegebenen Abstand wegbewegt hat. Ferner wird während des Entgratens eine Anpresskraft durch die Robotervorrichtung 1 erzeugt, so dass der Arm der Robotervorrichtung 1 ausgelenkt wird.
  • Somit ist es in der vorliegenden Ausführungsform wünschenswert, den singulären Punkt und die Grenze an der Position zu bestimmen, an der der Auslenkungsbetrag kompensiert wird. Hiernach wird der Auslenkungsbetrag des Roboters in der Position/Haltung im Voraus erfasst oder durch die oben beschriebene Funktion berechnet. Hiernach wird ein Entgratungsschritt, der durch die Robotervorrichtung 1 ausgeführt wird, auf die die vorliegende Ausführungsform angewendet wird, unter Bezugnahme auf die Zeichnungen beschrieben.
  • Die 6 bis 8 sind schematische Ansichten zum Beschreiben des Entgratungsschritts, der durch den Roboter durchgeführt wird, die die vorliegende Ausführungsform verdeutlichen, bei denen 6 einen Zustand verdeutlicht, in dem sich das Entgratungswerkzeug dem Startpunkt des Entgratungswegs annähert, 7 einen Zustand verdeutlicht, in dem der automatisch erzeugte Weg nahe dem singulären Punkt vorbei verläuft, und 8 den Weg (unterbrochene Linie) zum Zurückziehen zur Bewegung weg von dem singulären Punkt verdeutlicht. Was die Robotervorrichtung 1 dieses Beispiels angeht, werden die Bearbeitungsschritte und die Programmerzeugungsverarbeitung umfassend durch die Steuereinrichtung 2 gesteuert, die über eine vorgegebene Schnittstelle angeschlossen ist.
  • Eine Entgratungsvorrichtung umfasst die Robotervorrichtung 1, die Steuereinrichtung 2 der Robotervorrichtung 1, das Roboterhandgelenk (den Endeffektor) 3, den Kraftsensor 4, das Entgratungswerkzeug 5, das Werkstück 7 und den visuellen Sensor 8. Was die Werkstücke 7 angeht, so gibt es Positionierungsfehler und auch Schwankungen bei deren Formen und Größen. Man beachte, dass ein Entgratungsteil 6 einem Teil (einer Gratlinie) entspricht, die durch das Entgratungswerkzeug 5 unter Verwendung des Werkstücks 7 bearbeitet wird.
  • Die Robotervorrichtung 1 ist mit einem mit Gelenken versehenen Roboter ausgebildet, der eine Mehrzahl von Armen umfasst. Der Kraftsensor 4 ist an dem Roboterhandgelenk 3 vorgesehen, das sich an der Spitze des Arms der Robotervorrichtung 1 befindet, und das Entgratungswerkzeug 5 ist an dem Kraftsensor 4 befestigt. Die Robotervorrichtung 1 kann verschiedene Positionen und Haltungen einnehmen, indem sie Elektromotoren (Servomotoren), die an jedem der Gelenke vorgesehen sind, gemäß Steuersignalen dreht, die von der Steuereinrichtung 2 ausgegeben werden. Die Robotervorrichtung 1 ist nicht auf die beschränkt, die in den Zeichnungen dargestellt werden, sondern es können jedwede Roboter angewendet werden, die vorbekannte Formen aufweisen.
  • Das Entgratungswerkzeug 5 ist ein Werkzeug, das allgemein zum Entfernen von Graten des Werkstücks W verwendet wird, und ist nicht auf irgendeine spezifische Form beschränkt. Beispiele für das Werkzeug umfassen eine Schneidevorrichtung, eine Schleifvorrichtung und dergleichen. Das Entgratungswerkzeug 5 ist an dem Roboterhandgelenk 3 der Robotervorrichtung 1 fixiert und bewegt sich zusammen mit dem Roboterhandgelenk 3 gemäß der Bewegung der Robotervorrichtung 1.
  • Man beachte, dass die Steuereinrichtung 2 die Eingabeeinheit 11 und die Anzeigeeinheit 12 über eine nicht gezeigte Schnittstelle umfasst. Die Robotervorrichtung 1 umfasst die Antriebseinheit 1A, und wenn eine Bearbeitungsstartanweisung von der Eingabeeinheit 11 empfangen wird, wird die Bearbeitungsverarbeitung des Entgratungswerkzeugs 5 gemäß einer Anweisung von der Kraftsteuereinheit 21 ausgeführt.
  • Die Speichereinheit 22 speichert in einer aktualisierbaren Weise ein Routenprogramm zum Entgraten und ein Routenprogramm zum Polieren, die durch die Programmerzeugungseinheit 25 erstellt wurden, wie auch Parameter (Form, Größe, Material) jedes Werkstücks, die für jedes solcher Bearbeitungsprogramme benötigt werden.
  • Man beachte, dass die Programmerzeugungseinheit 25 die Entgratungsgratliniendaten (Routendaten) analysiert, die durch den visuellen Sensor 8 aufgenommen und detektiert werden, und automatisch ein Routenprogramm erstellt, mit dem das Roboterhandgelenk (der Endeffektor) 3 den Gratliniendaten folgt. Zu diesem Zeitpunkt erstellt die Programmerzeugungseinheit 25 das Routenprogramm, das den Koordinatenwert davon als den Endpunkt übernimmt, wenn sich der Endeffektor 3 dem singulären Punkt, dem Grenzwert jeder Achse oder einer anderen festgelegten Verbotszone annähert, und danach den Endeffektor 3 über eine designierte Route zurückzieht.
  • Das heißt, die Programmerzeugungsvorrichtung 25 erzeugt das Routenprogramm, das den Koordinatenwert als Endpunkt übernimmt, wenn die Route, die durch Kompensieren der Route, der der Endeffektor folgt, mit dem berechneten Fehlausrichtungsbetrag erhalten wird, sich dem singulären Punkt der Robotervorrichtung 1, dem Grenzwert jeder Antriebsachse oder der festgelegten Verbotszone nähert, und den Endeffektor 3 von dem Endpunkt über die designierte Route zurückzieht.
  • In ähnlicher Weise erstellt die Programmerzeugungseinheit 25 ein Routenprogramm, mit dem der Endeffektor 3 dem Weg zum einmaligen Zurückziehen vom Werkstück W folgt und erneut zu dem Weg zurückkehrt, der durch den visuellen Sensor 8 detektiert wurde, nachdem es sich von dem singulären Punkt, dem Grenzwert jeder Achse oder der anderen festgelegten Verbotszone um einen vorgegebenen Abstand wegbewegt hat.
  • Ferner wird während des Entgratens eine Anpresskraft durch die Robotervorrichtung 1 erzeugt, so dass der Arm der Robotervorrichtung 1 ausgelenkt wird. Somit ist es in der vorliegenden Ausführungsform wünschenswert, den singulären Punkt und die Grenze an der Position zu bestimmen, an der der Auslenkungsbetrag kompensiert wird.
  • 9 ist ein Ablaufdiagramm zum Beschreiben einer Steuerprozedur der Programmerzeugungsvorrichtung, das die vorliegende Ausführungsform verdeutlicht. Man beachte, dass ST11 bis ST15 jeweils Schritte bezeichnen, und jeder der Schritte umgesetzt wird, wenn eine nicht dargestellte CPU ein Steuerprogramm, das in einem ROM oder dergleichen gespeichert ist, in ein RAM lädt und ausführt. Dieses Beispiel entspricht einer Programmerzeugungsverarbeitung beim Entgraten.
  • Zunächst nimmt der visuelle Sensor 8 ein Bild auf dem Werkstück W auf, um eine Route abzutasten, die der Gratlinie des Werkstücks W folgt, und gibt sie an die Programmerzeugungseinheit 25 aus. Die Programmerzeugungseinheit 25 analysiert die Routendaten des Werkstücks W, die von dem visuellen Sensor 8 ausgegeben werden, um das Routenprogramm zu erstellen, und hält es zeitweise in der Speichereinheit 22 (ST11).
  • Dann greift die Berechnungseinheit 23 zurück auf eine Federkonstantentabelle für das Entgratungswerkzeug 5, die in der Speichereinheit 22 gespeichert ist, basierend auf der Identifikationsinformation der Robotervorrichtung 1 und der Größe, dem Material und dergleichen des Werkstücks W, und berechnet den Auslenkungsbetrag, der verursacht wird, wenn das Entgratungswerkzeug 5 gegen das Werkstück W gepresst wird, durch eine Berechnungsverarbeitung, wobei sie die ausgelesene Federkonstante k, die dem Entgratungswerkzeug 5 entspricht, und die Anpresskraft des Entgratungswerkzeugs 5 verwendet, die durch den Kraftsensor 4 detektiert wurde (ST12).
  • Basierend auf dem berechneten Auslenkungsbetrag erstellt die Programmerzeugungseinheit 25 ein neues Entgratungsroutenprogramm, das erhalten wird, indem sie die Routendaten des Routenprogramms für das Entgratungswerkzeug, das im Voraus in der Speichereinheit 22 gespeichert wurde, kompensiert (ST13).
  • Dann analysiert die Programmerzeugungseinheit 25 das neu erstellte Entgratungsroutenprogramm, um zu bestimmen, ob es irgendeinen Abschnitt gibt, der sich dem singulären Punkt der Robotervorrichtung 1, dem Grenzwert jeder Antriebsachse oder einer weiteren Verbotszone nähert (ST14).
  • Wenn die Programmerzeugungseinheit 25 hierbei bestimmt, dass es einen Abschnitt gibt, der sich dem singulären Punkt der Robotervorrichtung 1, dem Grenzwert jeder Antriebsachse oder einer weiteren Verbotszone nähert, wird die Verarbeitung zu ST15 vorgerückt. Dann erstellt die Programmerzeugungseinheit 25 ein Routenprogramm, das den in ST14 angegebenen Ort als den Endpunkt übernimmt und sich davon über eine designierte Route zurückzieht (ST15), und beendet die Verarbeitung. Man beachte, dass das erstellte endgültige Routenprogramm in der Speichereinheit 22 gespeichert wird.
  • Wenn indes die Programmerzeugungseinheit 25 in Schritt ST14 bestimmt, dass es keinen Abschnitt gibt, der sich dem singulären Punkt der Robotervorrichtung 1, dem Grenzwert jeder Antriebsachse oder einer weiteren Verbotszone nähert, wird die Verarbeitung beendet.
  • 10 ist eine schematische Ansicht zum Beschreiben des Entgratungsschritts, der durch die Robotervorrichtung 1 durchgeführt wird, die die vorliegende Ausführungsform verdeutlicht. Dieses Beispiel verdeutlicht den Entgratungsschritt, der an dem umfänglichen Teil des Werkstücks W gemäß dem kreisförmigen Weg in einem Zustand durchgeführt wird, in dem an der Robotervorrichtung 1 das Entgratungswerkzeug 5 befestigt ist. Ein virtueller Weg 10 ist ein Weg an der inneren Seite des Werkstücks W, der ein virtuell dargestellter Weg der Auslenkung ist, die durch die Anpresskraft verursacht wird. Die Programmerzeugungseinheit 25 erzeugt das Routenprogramm so, dass es eine Entgratungsroute ist, bei der die Auslenkung, die durch den virtuellen Weg 10 (dargestellt durch eine unterbrochene Linie) angezeigt wird, kompensiert wird.
  • Wirkung der zweiten Ausführungsform
  • Nach der vorliegenden Ausführungsform ist es mit dem Entgratungsroutenprogramm möglich, das Entgraten mit hoher Genauigkeit basierend auf der Gratlinienroute durchzuführen, die den Auslenkungsbetrag des Arms der Robotervorrichtung 1 berücksichtigt.
  • Dritte Ausführungsform
  • Während die obige Ausführungsform mit Bezug auf die Programmerzeugungsverarbeitung beschrieben wird, die auf der Kompensation der Auslenkung beim Entgratungsschritt basiert, tritt ein ähnliches Auslenkungsphänomen auch in einem Fall auf, in dem die Robotervorrichtung 1 einen Polierschritt durchführt, wenn das Werkzeug der Robotervorrichtung 1 gegen das Werkstück W anliegt. Es wird ein Fall einer geraden Route beschrieben, entlang derer sich das Polierwerkzeug auf einer Geraden auf der Oberfläche des Werkstücks W im Polierschritt bewegt.
  • Anstatt des Entgratens nach der zweiten Ausführungsform kann somit der Anpressbetrag der Robotervorrichtung 1 in einer spezifischen Position/Haltung im Polierschritt gemessen werden, um ein Routenprogramm für den Polierschritt zu erzeugen, das mit dem Auslenkungsbetrag kompensiert wird.
  • Wenn sie in der vorliegenden Ausführungsform ein Routenprogramm zum Polieren automatisch erzeugt, indem sie die Form und die Oberfläche des Werkstücks als Ziel des Polierens durch das Polierwerkzeug detektiert, das durch den visuellen Sensor 8 aufgenommen und detektiert wird, erstellt die Programmerzeugungseinheit 25 das Routenprogramm, das den Koordinatenwert als den Endpunkt übernimmt, wenn sich der Endeffektor 3 dem singulären Punkt, dem Grenzwert jeder Achse oder einer anderen festgelegte Verbotszone annähert, und danach den Endeffektor 3 über eine designierte Route zurückzieht. Das heißt, die Programmerzeugungsvorrichtung 25 erzeugt das Routenprogramm, das den Koordinatenwert als Endpunkt übernimmt, wenn die Route, die durch Kompensieren der Route, der der Endeffektor 3 folgt, mit dem berechneten Fehlausrichtungsbetrag erhalten wird, sich dem singulären Punkt, an dem der Endeffektor 3 der Robotervorrichtung 1 vorbeiläuft, dem Grenzwert jeder Antriebsachse oder einer weiteren festgelegten Verbotszone nähert, und das Polierwerkzeug von dem Endpunkt über die designierte Route zurückzieht.
  • In ähnlicher Weise erstellt die Programmerzeugungseinheit 25 ein Routenprogramm, mit dem der Endeffektor 3 dem Weg zum einmaligen Zurückziehen vom Werkstück W folgt und erneut zu dem Weg zurückkehrt, der durch den visuellen Sensor 8 abgetastet wurde, nachdem sich der Endeffektor 3 von dem singulären Punkt, dem Grenzwert jeder Achse oder einer anderen festgelegten Verbotszone um einen vorgegebenen Abstand wegbewegt.
  • Während des Polierens wird eine Anpresskraft durch die Robotervorrichtung 1 erzeugt, so dass der Arm der Robotervorrichtung 1 ausgelenkt wird. Somit ist es in der vorliegenden Ausführungsform wünschenswert, den singulären Punkt und die Grenze an der Position zu bestimmen, an der der Auslenkungsbetrag kompensiert wird.
  • Routenprogrammerzeugungsverarbeitung für den Polierschritt als Beispiel
  • 11 ist ein Ablaufdiagramm zum Beschreiben einer Steuerprozedur der Programmerzeugungsvorrichtung, das die vorliegende Ausführungsform verdeutlicht. Man beachte, dass ST21 bis ST25 jeweils Schritte bezeichnen, und jeder der Schritte umgesetzt wird, wenn eine nicht dargestellte CPU ein Steuerprogramm, das in einem ROM oder dergleichen gespeichert ist, in ein RAM lädt und ausführt. Dieses Beispiel entspricht einer Programmerzeugungsverarbeitung beim Polieren.
  • Zunächst nimmt der visuelle Sensor 8 ein Bild auf dem Werkstück W auf, und gibt Routendaten, die einem geraden Weg entlang der Form und der Oberfläche des Werkstücks Wfolgen, an die Programmerzeugungseinheit 25 aus. Die Programmerzeugungseinheit 25 analysiert die detektierten Routendaten, die von dem visuellen Sensor 8 ausgegeben werden, um das Routenprogramm zu erstellen, und hält es zeitweise in der Speichereinheit 22 (ST21).
  • Dann greift die Berechnungseinheit 23 zurück auf eine Federkonstantentabelle für das Polierwerkzeug, die in der Speichereinheit 22 gespeichert ist, basierend auf der Identifikationsinformation der Robotervorrichtung 1 und der Größe, dem Material und dergleichen des Werkstücks W, und berechnet den Auslenkungsbetrag, der verursacht wird, wenn das Polierwerkzeug gegen das Werkstück W gepresst wird, durch eine Berechnungsverarbeitung, wobei sie die ausgelesene Federkonstante k, die dem Polierwerkzeug entspricht, und die Anpresskraft des Polierwerkzeugs verwendet, die durch den Kraftsensor 4 detektiert wurde (ST22).
  • Basierend auf dem berechneten Auslenkungsbetrag erstellt die Programmerzeugungseinheit 25 ein neues Polierroutenprogramm, das erhalten wird, indem sie die Routendaten des Polierroutenprogramms, das im Voraus in der Speichereinheit 22 gespeichert wurde, kompensiert (ST23).
  • Dann analysiert die Programmerzeugungseinheit 25 das neu erstellte Polierroutenprogramm, um zu bestimmen, ob es irgendeinen Abschnitt gibt, der sich dem singulären Punkt der Robotervorrichtung 1, dem Grenzwert jeder Antriebsachse oder einer weiteren Verbotszone nähert (ST24).
  • Wenn die Programmerzeugungseinheit 25 hierbei bestimmt, dass es einen Abschnitt gibt, der sich dem singulären Punkt der Robotervorrichtung 1, dem Grenzwert jeder Antriebsachse oder einer weiteren Verbotszone nähert, wird die Verarbeitung zu ST25 vorgerückt. Dann erstellt die Programmerzeugungseinheit 25 ein Routenprogramm, das den in ST24 angegebenen Ort als einen Endpunkt übernimmt und sich davon über eine designierte Route zurückzieht (ST25), und beendet die Verarbeitung. Man beachte, dass das erstellte endgültige Routenprogramm in der Speichereinheit 22 gespeichert wird.
  • Wenn indes die Programmerzeugungseinheit 25 in Schritt ST24 bestimmt, dass es keinen Abschnitt gibt, der sich dem singulären Punkt der Robotervorrichtung 1, dem Grenzwert jeder Antriebsachse oder einer weiteren Verbotszone nähert, wird die Verarbeitung beendet.
  • 12 ist eine schematische Ansicht zum Beschreiben des Polierschritts, der durch die Robotervorrichtung 1 durchgeführt wird, die die vorliegende Ausführungsform verdeutlicht. Dieses Beispiel verdeutlicht einen Schritt, bei dem die Robotervorrichtung 1 mit dem daran befestigten Polierwerkzeug kontinuierlich die obere Oberfläche des Werkstücks W gemäß einer Polierroute 11A poliert, indem sie die Bewegung in der Richtung nach links und rechts auf einer geraden Route und die Bewegung in der Richtung nach oben und nach unten auf einer geraden Route kombiniert. Eine virtueller Route 12A ist ein Weg an der inneren Seite des Werkstücks W, der eine virtuelle dargestellte Route der Auslenkung ist, die durch die Anpresskraft verursacht wird. Die Programmerzeugungseinheit 25 erzeugt das Routenprogramm so, dass es die Polierroute 11A ist, bei der die Auslenkung, die durch die virtuelle Route 12A angezeigt wird, kompensiert wird.
  • Wirkung der dritten Ausführungsform
  • Nach der vorliegenden Ausführungsform ist es mit dem Polierroutenprogramm möglich, das Polieren mit hoher Genauigkeit basierend auf dem Bearbeitungsweg durchzuführen, der den Auslenkungsbetrag des Arms der Robotervorrichtung 1 berücksichtigt. Während der Fall der Erzeugung des Routenprogramms durch die Steuereinrichtung 2 in jeder der obigen Ausführungsformen beschrieben wird, kann sie auch durch ein Programm umgesetzt werden, das durch ein Betriebssystem verwaltet wird, das in einer Datenverarbeitungsvorrichtung installiert ist, wie etwa dem sogenannten Personal Computer, der mit der Steuereinrichtung 2 über eine vorgegebene Schnittstelle verbunden ist.
  • Während des Weiteren die obigen Ausführungsformen durch Bezugnahme auf die Fälle, in denen die Routenprogramme für den Entgratungsschritt oder den Polierschritt erzeugt werden, als Beispiele beschrieben werden, können die Ausführungsformen auch auf andere Schritte angewendet werden, solange es sich um einen Schritt handelt, bei dem irgendeine Art Werkzeug gegen ein Werkstück gepresst wird.
  • Während der Fall in den obigen Ausführungsformen beschrieben wird, in dem der Auslenkungsbetrag durch eine Berechnungsformel berechnet wird, nachdem der Anpressbetrag tatsächlich gemessen wird, ist es ferner auch möglich, das Routenprogramm auf einem Simulator (PC) zu erstellen und zu validieren, der die Routendaten, den Auslenkungsbetrag und dergleichen, die in den Ausführungsformen angezeigt werden, speichert und den Auslenkungszustand simuliert. Ferner ist die vorliegende Offenbarung nicht durch die obigen Ausführungsformen beschränkt, und Veränderungen (Programm, Speichermedium) und Abwandlungen innerhalb des Umfangs, die in der Lage sind, die Aufgabe der vorliegenden Offenbarung zu lösen, sind davon umfasst.
  • Bezugszeichenliste
  • 1
    Roboter
    2
    Steuereinrichtung (Steuereinheit)
    3
    Roboterhandgelenk (Endeffektor)
    4
    Kraftsensor (Detektionseinheit)
    5
    Entgratungswerkzeug
    7
    Werkstück (Ziel)
    8
    Visueller Sensor (Abtasteinheit)
    21
    Kraftsteuereinheit
    22
    Speichereinheit
    23
    Berechnungseinheit
    24
    Kommunikationseinheit (Erfassungseinheit)
    25
    Programmerzeugungseinheit (Erzeugungseinheit)
    Übersetzung der ursprünglich eingereichten PCT-Ansprüche

Claims (8)

  1. Programmerzeugungsvorrichtung, umfassend: eine Erfassungseinheit, die Routendaten erfasst, die eine Route anzeigen, der durch eine Spitze eines Roboters in Bezug auf ein Ziel gefolgt werden soll; eine Detektionseinheit, die eine Anpresskraft zum Anpressen der Spitze des Roboters gegen das Ziel detektiert; eine Berechnungseinheit, die einen Fehlausrichtungsbetrag der Route, der gefolgt werden soll, aufgrund der Auslenkung der Spitze des Roboters basierend auf der Anpresskraft, die durch die Detektionseinheit detektiert wird, und einer vorgegebenen Konstante berechnet; und eine Erzeugungseinheit, die automatisch ein Routenprogramm zum Steuern einer Bewegungsroute der Spitze des Roboters basierend auf den Routendaten, die durch die Erfassungseinheit erfasst werden, und dem Fehlausrichtungsbetrag erzeugt, der durch die Berechnungseinheit berechnet wird.
  2. Programmerzeugungsvorrichtung nach Anspruch 1, die eine Speichereinheit umfasst, die die vorgegebene Konstante speichert, die aus einem gemessenen Auslenkungsbetrag, der verursacht wird, wenn die Spitze des Roboters gegen das Ziel drückt, und der Anpresskraft erhalten wird, die durch die Detektionseinheit detektiert wird.
  3. Programmerzeugungsvorrichtung nach Anspruch 1 oder 2, die eine Abtasteinheit umfasst, die die Route, der durch die Spitze des Roboters bezüglich des Ziels gefolgt werden soll, abtastet und die Routendaten ausgibt, wobei die Erzeugungseinheit automatisch das Routenprogramm zum Steuern der Bewegungsroute der Spitze des Roboters basierend auf den Routendaten, die von der Abtasteinheit ausgegeben werden, und dem Fehlausrichtungsbetrag erzeugt, der durch die Berechnungseinheit berechnet wird.
  4. Programmerzeugungsvorrichtung nach einem der Ansprüche 1 bis 3, wobei die Erzeugungseinheit ein Routenprogramm erzeugt, das als Endpunkt einen Koordinatenwert übernimmt, wenn eine Route, die durch Kompensieren der durch die Spitze des Roboters zu verfolgenden Route mit dem Fehlausrichtungsbetrag erhalten wird, sich einem singulären Punkt des Roboters, einem Grenzwert jeder Antriebsachse oder einer festgelegten Verbotszone nähert; und die Spitze des Roboters von dem Endpunkt gemäß einer designierten Route zurückzieht.
  5. Programmerzeugungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die Erzeugungseinheit ein Routenprogramm erzeugt, das die Spitze des Roboters zu der zu verfolgenden Route zurückführt, die durch eine Abtasteinheit abgetastet wird, nachdem die Spitze des Roboters von dem Endpunkt um einen vorgegebenen Abstand zurückgezogen wurde.
  6. Programmerzeugungsvorrichtung nach einem der Ansprüche 1 bis 5, wobei ein vorgegebenes Werkzeug, das an der Spitze des Roboters befestigt werden soll, ein Entgratungswerkzeug ist.
  7. Programmerzeugungsvorrichtung nach einem der Ansprüche 1 bis 5, wobei ein vorgegebenes Werkzeug, das an der Spitze des Roboters befestigt werden soll, ein Polierwerkzeug ist.
  8. Programmerzeugungsverfahren, umfassend: einen Erfassungsschritt des Erfassens von Routendaten, die eine Route anzeigen, der durch eine Spitze eines Roboters in Bezug auf ein Ziel gefolgt werden soll; einen Detektionsschritt des Detektierens einer Anpresskraft zum Anpressen der Spitze des Roboters gegen das Ziel; einen Speicherschritt des Speicherns einer vorgegebenen Konstante, die aus einem gemessenen Auslenkungsbetrag, der verursacht wird, wenn die Spitze des Roboters gegen das Ziel drückt, und der Anpresskraft erhalten wird, die durch den Detektionsschritt detektiert wird; einen Berechnungsschritt des Berechnens eines Fehlausrichtungsbetrags der Route, der gefolgt werden soll, der aufgrund der Auslenkung der Spitze des Roboters verursacht wird, basierend auf der Anpresskraft, die durch den Detektionsschritt detektiert wird, und der vorgegebenen Konstante; und einen Erzeugungsschritt des automatischen Erzeugens eines Routenprogramms zum Steuern einer Bewegungsroute der Spitze des Roboters basierend auf den Routendaten, die durch den Erfassungsschritt erfasst werden, und dem Fehlausrichtungsbetrag, der durch den Berechnungsschritt berechnet wird.
DE112021002690.9T 2020-05-11 2021-05-06 Programmerzeugungsvorrichtung und Programmerzeugungsverfahren Pending DE112021002690T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020082952 2020-05-11
JP2020-082952 2020-05-11
PCT/JP2021/017390 WO2021230135A1 (ja) 2020-05-11 2021-05-06 プログラム生成装置およびプログラム生成方法

Publications (1)

Publication Number Publication Date
DE112021002690T5 true DE112021002690T5 (de) 2023-02-23

Family

ID=78525736

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021002690.9T Pending DE112021002690T5 (de) 2020-05-11 2021-05-06 Programmerzeugungsvorrichtung und Programmerzeugungsverfahren

Country Status (5)

Country Link
US (1) US20230211500A1 (de)
JP (1) JP7556951B2 (de)
CN (1) CN115515761A (de)
DE (1) DE112021002690T5 (de)
WO (1) WO2021230135A1 (de)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0829517B2 (ja) * 1984-10-04 1996-03-27 株式会社日立製作所 ロボツトの衝突回避制御方法
JP2709001B2 (ja) * 1992-05-26 1998-02-04 日立建機株式会社 力制御ロボットにおける作業対象物の位置検出装置
JPH0839465A (ja) * 1994-07-28 1996-02-13 Nachi Fujikoshi Corp 産業用ロボットの撓み補正方法
JP3840973B2 (ja) * 2001-12-25 2006-11-01 日産自動車株式会社 ロボット教示データの補正方法
JP2004299010A (ja) * 2003-03-31 2004-10-28 Fanuc Ltd ロボットのたわみ補正装置及びたわみ補正方法
JP5666920B2 (ja) * 2011-01-04 2015-02-12 ファナック株式会社 粗倣い制御を行うロボットの制御装置
JP5726052B2 (ja) * 2011-03-08 2015-05-27 株式会社神戸製鋼所 多関節型ロボットの制御装置,制御方法及び制御プログラム
JP5845212B2 (ja) * 2013-06-28 2016-01-20 ファナック株式会社 視覚センサ及び力センサを備えたバリ取り装置
JP6370821B2 (ja) * 2016-02-12 2018-08-08 ファナック株式会社 ロボットプログラムの教示を行うロボットプログラミング装置
JP6457468B2 (ja) * 2016-12-08 2019-01-23 ファナック株式会社 バリ取り装置

Also Published As

Publication number Publication date
JP7556951B2 (ja) 2024-09-26
JPWO2021230135A1 (de) 2021-11-18
WO2021230135A1 (ja) 2021-11-18
CN115515761A (zh) 2022-12-23
US20230211500A1 (en) 2023-07-06

Similar Documents

Publication Publication Date Title
DE102018116053B4 (de) Robotersystem und Roboterlernverfahren
DE102018008395B4 (de) Robotereinlernvorrichtung zum melden oder korrigieren einer positionsabweichung von einlernpunkten oder einer einlernlinie
DE102017117928B4 (de) Robotersteuereinheit für einen Montageroboter
DE102020100316B4 (de) Bestimmungsgerät
EP1086407B1 (de) Steuerverfahren für einen industrieroboter
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102020000964A1 (de) Objekterkennungsvorrichtung, Steuervorrichtung und Objekterkennungscomputerprogramm
DE102017128757A1 (de) Schleifvorrichtung
DE102019131284B4 (de) Robotersystem und Koordinatenumwandlungsverfahren
DE3609246A1 (de) Verfahren zum messen mittels eines koordinatenmessinstruments
DE102014017307B4 (de) Verfahren und System zum Bearbeiten eines Bauteils mit einem robotergeführten Werkzeug
DE102019212452A1 (de) Interferenzvermeidungsvorrichtung und Robotersystem
DE102014103194A1 (de) Numerische Steuerung
DE102018007287B4 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
EP3794311B1 (de) Verfahren, vorrichtung sowie computerprogrammprodukt zum erzeugen eines prüfplans für die prüfung eines messobjekts, verfahren und vorrichtung zum prüfen eines messobjekts
WO2017121468A1 (de) Verfahren und vorrichtung zum vorgeben von vorgabedaten für eine vermessung eines zu vermessenden werkstücks durch ein koordinatenmessgerät und/oder für eine auswertung von messergebnissen einer vermessung eines vermessenen werkstücks durch ein koordinatenmessgerät
DE102015009219B9 (de) Numerische Steuervorrichtung, die eine Beschleunigung und eine Abbremsung auf der Grundlage einer Anhaltedistanz steuert
DE102017116788B4 (de) Roboter-Steuerungsvorrichtung und Verfahren zur Steuerung derselben
DE112021002690T5 (de) Programmerzeugungsvorrichtung und Programmerzeugungsverfahren
DE69120791T2 (de) Berührungsloses kopiersteuergerät
DE112021001173T5 (de) Entgratungsvorrichtung und Steuerungssystem
DE102018205443A1 (de) Steuerungssystem einer Werkzeugmaschine
DE102015008457A1 (de) Inspektionssystem zum Inspizieren eines Objekts unter Verwendung eines Kraftsensors
DE102018205669B4 (de) Aufnehmen von Nutzlasten mittels eines robotergeführten Werkzeugs
DE102006005990B4 (de) Werkstückvermessung für 3-D Lageerkennung in mehreren Multi-Roboter-Stationen

Legal Events

Date Code Title Description
R012 Request for examination validly filed