-
QUERVERWEISE AUF VERWANDTE
ANMELDUNG
-
Die
vorliegende Erfindung bezieht sich auf die
japanische Patentanmeldung Nr. 2008-122185 , eingereicht
am 8. Mai 2008, und nimmt dieselbe durch Bezugnahme auf.
-
HINTERGRUND DER ERFINDUNG
-
(Technisches Gebiet)
-
Die
vorliegende Erfindung bezieht sich auf einen Simulator und insbesondere
auf einen Simulator für eine Sichtprüfungsvorrichtung,
die eine Kamera verwendet, die einen zu prüfenden Punkt
eines Werkstücks unter Verwendung eines Roboters fotografiert.
-
(Verwandte Technik)
-
Ein
Simulator für eine Sichtprüfungsvorrichtung ist
aus den offengelegten
japanischen
Patentveröffentlichungen Nrn. 2005-52926 und
2004-265041 bekannt.
Aus diesen Bezugnahmen offenbart die Veröffentlichung Nr.
2005-52926 einen Simulator
zum Einstellen von Betriebspositionen eines Roboters. Die CAD-(=
Computer Aided Design = computerunterstützter Entwurf)Daten
eines Werkstücks werden in der Praxis verwendet, um 3D-Ansichten
des Werkstücks bei verschiedenen unterschiedlichen Ansichtspunkten
zu zeigen. Dies ermöglicht dem Betreiber, einen Ansichtspunkt
auszuwählen, der zum Abbilden einer Position, die von dem
Werkstück untersucht wird, am geeignetsten ist. Der ausgewählte
Ansichtspunkt wird als die Position einer Kamera festgelegt, und
basierend auf dieser Kameraposition wird eine Betriebsposition des
Roboters eingestellt.
-
Der
durch die vorhergehende Veröffentlichung Nr.
2004-265041 offenbarte Simulator
kann ohne weiteres Betriebs-Positionen und -Stellungen eines Roboters
korrigieren. Dieses System betrachtet eine Situation, bei der die
Kameraposition festgestellt und die Betriebsposition des Roboters
getrennt von einem Ort, an dem eine Sichtprüfungsvorrichtung
tatsächlich eingebaut ist, eingestellt wird. In einer solchen
Situation passiert es sehr häufig, dass die Betriebsposition
des Roboters an dem Ort korrigiert werden muss.
-
Bei
einem System, das die durch die vorhergehenden Veröffentlichungen
Nrn.
2005-52926 und
2004-265041 offenbarten
Simulatoren verwendet, wird die Position, bei der der Roboter eingebaut
ist, aufgrund der geografischen Beziehung im Vorhergehenden festgestellt,
und lediglich eine Kamera mit einer Einfachsehlinse bzw. Einstärkenlinse
ist an dem Roboter befestigt.
-
Nebenbei
bemerkt wird vor der tatsächlichen Einführung
der Sichtprüfungsvorrichtung in eine Produktionslinie oftmals
nicht festgestellt, welchen Fokus die Linse der Kamera haben sollte.
Wenn daher die Simulatoren, die durch die Veröffentlichungen Nrn.
2005-52926 und
2004-265041 offenbart
sind, verwendet werden, die unter der Annahme simulieren, dass der
Roboter lediglich eine Kamera hat, unterscheidet sich die Kamera,
die zum Lehren verwendet wird, oftmals von der Kamera, die an dem
tatsächlichen Roboter der Sichtprüfungsvorrichtung
in der Produktionslinie befestigt ist. Als ein Resultat versagt
bei der Betriebsposition des Roboters, die gelehrt wurde, die Linse
der Kamera beim Fokussieren eines gewünschten Prüfpunktes
des Werkstücks, was verursacht, dass der Prüfpunkt
in geprüften Bildern verschwimmt.
-
Wenn
das vorhergehende Problem aufritt, das heißt ein sichtmäßig
verschwimmender Fokus zwischen der vorbereitenden Simulation und
der tatsächlichen Sichtprüfung aufgrund der unterschiedlichen
Kameralinsen auftritt, können die Betriebsposition und
die Stellung des Roboters korrigiert werden, um den Fokus durch
Verwenden des Simulators, der durch die Bezugnahme Nr.
2004-265041 offenbart ist,
zu korrigieren. Dieser Simulator wird dennoch mit einer Schwierigkeit
konfrontiert. Wenn dieser Simulator verwendet wird, müssen
die Einbaupositionen von sowohl einem Werkstück als auch
dem Roboter im Vorhergehenden festgestellt werden. Wenn somit der
Roboter tatsächlich in einer Fabrik eingebaut wird, ist
es manchmal schwierig, den Roboter bei einer Position einzubauen,
die bei der Simulation festgestellt wurde. In diesem Fall sollte
die Einbauposition des Roboters geändert werden, um die
Simulation nochmals durchzuführen. Diese erneute Simulation wird
daher die Effizienz beim Einbauen des Roboters verringern.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung wurde in Anbetracht des vorhergehenden Problems
gemacht, und eine Aufgabe der vorliegenden Erfindung besteht darin,
einen Simulator zu schaffen, der fähig ist, eine tatsächliche
Sichtprüfung auf eine Art und Weise zu simulieren, dass
die tatsächliche Sichtprüfungsvorrichtung fähig
ist, zu vermeiden, dass ihr Kamerafokus an einem Punkt, der von
einem Werkstück geprüft wird, verschwimmt.
-
Um
die vorhergehende Aufgabe zu realisieren, schafft die vorliegende
Erfindung als einen Modus einen Simulator, der für eine
Sichtprüfungsvorrichtung vorgesehen ist, die mit einem
Roboter, der einen Arm und eine Kamera, die an einem äußersten Ende
des Arms befestigt ist, hat, ausgestattet ist, wobei die Kamera
einen Punkt prüft, der von einem Werkstück geprüft
wird, mit einer Anzeigeeinrichtung, die eine Anzeigevorrichtung
das Werkstück dreidimensional anzeigen lässt;
einer Richtungseinstelleinrichtung, die eine Richtung eines Abbildens
des Punkts, der von dem Werkstück geprüft wird,
durch Anzeigen des Werkstücks auf der Anzeigevorrichtung
aus unterschiedlichen Ansichtspunkten einstellt, wobei die Richtung
eines Abbildens eine Lichtachse der Kamera ist, einer Abbildungspunkteinstelleinrichtung,
die einen Abbildungspunkt, um den von dem Werkstück geprüften
Punkt unter Verwendung einer Linse der Kamera abzubilden, einstellt,
wobei die Linse als zum Abbilden des geprüften Punkts geeignet ausgewählt
ist, einer Positions-/Stellungs-Ermittlungseinrichtung, die eine
Position und eine Stellung des äußersten Endes
des Arms des Roboters basierend auf der Richtung des Abbildens und
dem Abbildungspunkt ermittelt, einer Darstellungseinrichtung, die
den Roboter in einem angezeigten Bild derart darstellt, dass der
Roboter bei einer für einen Ein bau zulässigen
Position eingebaut ist, die in dem angezeigten Bild eingestellt
ist, einer Bestimmungseinrichtung, die bestimmt, ob es möglich
ist oder nicht, das äußere Ende des Arms zu der
ermittelten Position derart zu bewegen, dass sich die Kamera bei
dem Abbildungspunkt befindet, und es möglich ist, das äußerste
Ende des Arms mit der ermittelten Stellung zu versehen, derart,
dass es bei einer Bewegungsposition des äußersten
Endes des Arms zulässig ist, dass die Kamera den geprüften
Punkt abbildet, wenn der Roboter bei der für einen Einbau
zulässigen Position eingebaut ist, die in dem angezeigten
Bild eingestellt ist, und einer Ausgabeeinrichtung, die die für
einen Einbau zulässige Position für den Roboter
als Kandidaten von Positionen zum tatsächlichen Einbauen des
Roboters ausgibt, wenn durch die Bestimmungseinrichtung bestimmt
ist, dass es möglich ist, das äußerste
Ende des Arms zu bewegen, und es möglich ist, das äußerste
Ende des Arms mit der ermittelten Stellung zu versehen.
-
Als
einen zweiten Modus schafft die vorliegende Erfindung einen Simulator,
der für eine Sichtprüfungsvorrichtung vorgesehen
ist, die mit einem Roboter, der einen Arm und eine Kamera, die fixiert positioniert
ist, hat, ausgestattet ist, wobei die Kamera einen Punkt prüft,
der von einem Werkstück, das an einem äußersten
Ende des Arms befestigt ist, geprüft wird. In diesem Fall
weist der Simulator eine Anzeigeeinrichtung, die eine Anzeigevorrichtung
das Werkstück dreidimensional anzeigen lässt,
eine Richtungseinstelleinrichtung, die eine Richtung eines Abbildens
des Punkts, der von dem Werkstück geprüft wird,
durch Anzeigen des Werkstücks auf der Anzeigevorrichtung
aus unterschiedlichen Ansichtspunkten einstellt, wobei die Richtung
eines Abbildens eine Lichtachse der Kamera ist, eine Richtungsabstimmeinrichtung,
die den Punkt, der von dem Werkstück geprüft wird,
mit der Lichtachse der Kamera, die fixiert positioniert ist, abstimmt,
eine Abbildungspunkteinstelleinrichtung, die einen Abbildungspunkt einstellt,
um den Punkt, der von dem Werkstück geprüft wird,
unter Verwendung einer Linse der Kamera abzubilden, wobei die Linse
als zum Abbilden des geprüften Punkts geeignet ausgewählt
ist, eine Positions-/Stellungs-Ermittlungseinrichtung, die eine
Position und eine Stellung des äußersten Endes
des Arms des Roboters basierend auf der Richtung des Abbildens und
dem Abbildungspunkt ermittelt, eine Darstellungseinrichtung, die
den Roboter in einem angezeigten Bild derart darstellt, dass der
Roboter bei einer für einen Einbau zulässigen
Position eingebaut ist, die in dem angezeigten Bild eingestellt
ist, eine Bestimmungseinrichtung, die bestimmt, ob es möglich
ist oder nicht, das äußerste Ende des Arms zu
der ermittelten Position zu bewegen, und es möglich ist,
das äußerste Ende des Arms mit der ermittelten
Stellung derart zu versehen, dass es bei einer Bewegungsposition
des äußersten Endes des Arms zulässig
ist, dass die Kamera den geprüften Punkt abbildet, wenn
der Roboter bei der für einen Einbau zulässigen
Position, die in dem angezeigten Bild eingestellt ist, eingebaut
ist, und eine Ausgabeeinrichtung auf, die die für einen
Einbau zulässige Position des Roboters als Kandidaten von
Positionen zum tatsächlichen Einbauen des Roboters ausgibt,
wenn durch die Bestimmungseinrichtung bestimmt ist, dass es möglich
ist, das äußerste Ende des Arms zu bewegen, und
es möglich ist, das äußerste Ende des Arms
mit der ermittelten Stellung zu versehen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Es
zeigen:
-
1 eine
perspektivische Ansicht, die einen Simulator gemäß Ausführungsbeispielen
der vorliegenden Erfindung zeigt;
-
2 ein
Blockdiagramm, das die elektrische Konfiguration des Simulators
bei dem ersten Ausführungsbeispiel zeigt;
-
3 eine
perspektivische Ansicht, die einen Roboter zeigt, mit dem eine Sichtprüfungsvorrichtung
erzeugt wird;
-
4 eine
teilperspektivische Ansicht, die das äußerste
Ende eines Arms des Roboters zusammen mit einem Koordinatensystem,
das dem Flansch gegeben ist, zeigt;
-
5 eine
perspektivische Ansicht, die ein Werkstück, das bei dem
ersten Ausführungsbeispiel verwendet wird, exemplarisch
darstellt;
-
6 eine
perspektivische Ansicht, die einen Prüfpunkt und einen
Abbildungsbereich, die jeweils dem Werkstück in 5 gegeben
sind, darstellen;
-
7 eine
perspektivische Ansicht, die eine Blicklinienansicht hin zu dem
Prüfpunkt in 6 darstellt;
-
8A eine
Schnittansicht, die die Positionsbeziehung zwischen dem Prüfpunkt
und einem Abbildungspunkt zeigt;
-
8B eine
perspektivische Ansicht, die die Positionsbeziehung zwischen dem
Prüfpunkt und der Position des äußersten
Endes des Arms zeigt;
-
9 eine
Darstellung, die den Bildschirm einer Anzeigevorrichtung, in dem
eine für einen Einbau zulässige Region für
den Roboter dargestellt ist, exemplarisch darstellt;
-
10A und 10B Flussdiagramme,
die eine bei dem ersten Ausführungsbeispiel verwendete Simulation
umreißen;
-
11 ein
Teilflussdiagramm, das eine Simulation, die bei einem zweiten Ausführungsbeispiel des
Simulators gemäß der vorliegenden Erfindung verwendet
wird, umreißt;
-
12 eine
Darstellung, die den Bildschirm der Anzeigevorrichtung, in dem eine
für einen Einbau zulässige Region für
den Roboter dargestellt ist, exemplarisch darstellt, gemäß dem
zweiten Ausführungsbeispiel; und
-
13 eine
perspektivische Ansicht, die eine Kamera, die fixiert positioniert
ist, und ein Werkstück, das durch den Roboter gehalten
ist, darstellt.
-
DETAILLIERTE BESCHREIBUNG VON BEVORZUGTEN
AUSFÜHRUNGSBEISPIELEN
-
Bezug
nehmend auf die beigefügten Zeichnungen sind verschiedene
Ausführungsbeispiele des Simulators gemäß der
vorliegenden Erfindung im Folgenden beschrieben.
-
(Erstes Ausführungsbeispiel)
-
Bezug
nehmend auf 1–10 ist
ein erstes Ausführungsbeispiel der vorliegenden Erfindung
beschrieben.
-
Das
vorliegende Ausführungsbeispiel führt eine Sichtprüfungsvorrichtung
als ein zu simulierendes Ziel ein. Diese Sichtprüfungsvorrichtung
wird beispielsweise beim Zusammenbau von Anlagen verwendet, bei
dem die Sichtprüfungsvorrichtung einen Roboter mit einem
Arm aufweist, wobei der Roboter auf dem Boden oder einem Deckenteil
einer Prüfungsstation angeordnet ist und eine Kamera an
dem Ende des Arms befestigt ist. Bei der Prüfungsstation ist
ferner eine Trägervorrichtung angeordnet, die ein geprüftes
Werkstück bis zu einer Position trägt, bei der
die Prüfung ausgeführt wird. Das Werkstück,
das sich bei dem Prüfpunkt befindet, wird einer Prüfung eines
optischen Erscheinungsbilds unterzogen.
-
Der
Roboter wird durch eine Steuerung in einem dreidimensionalen (3D)
Eigenwertkoordinatensystem, das dem Roboter gegeben ist, gesteuert, derart,
dass die Kamera frei in ihrer räumlichen Position und ihrer
Stellung (Richtung) bewegt werden kann. Während sich die
Kamera zu einer oder mehreren Positionen, die im Vorhergehenden
eingestellt werden, bewegt, erfasst die Kamera Bilder von Abschnitten
des Werkstücks, die geprüft werden müssen,
und die erfassten Bilder werden durch einen Bildprozessor verarbeitet.
Dieses Bildverarbeiten macht es möglich, die Prüfung
eines Erscheinungsbilds bei jedem Abschnitt des Werkstücks
dahingehend durchzuführen, ob Komponenten bei jedem Abschnitt
miteinander ordnungsgemäß zusammengebaut sind
oder nicht.
-
Bei
der Sichtprüfungsvorrichtung gemäß dem
vorliegenden Ausführungsbeispiel werden einem Werkstück
mehrere Abschnitte, die hinsichtlich ihres Erscheinungsbilds geprüft
werden, gegeben. Einige Werkstücke können mehrere
Dutzend zu prüfende Abschnitte aufweisen. Diese Art von
Werkstück ist ein Ziel für eine Simulation bei
dem vorliegenden Ausführungsbeispiel. Dies Simulation simuliert
optimale Abbildungsbedingungen der Kamera, die optimale Brennlängen,
optimale Positionen und optimale Abbildungsrichtungen, die mit jedem
der geprüften Abschnitte des Werkstücks abgestimmt
werden, aufweisen. Die Resultate dieser Simulation werden einem
Benutzer dargestellt, derart, dass der Benutzer die Resultate sehen
kann, um praktische Einrichtungen und Gestaltungen für
die Sichtprüfung an dem Ort vorzuschlagen.
-
Bei
dem vorliegenden Ausführungsbeispiel werden für
diese Simulation die Profile von Werkstücken vorher als
3D-CAD-(= computerunterstützter Entwurf)Daten vorbereitet
(die als dreidimensionale Profildaten dienen). Abschnitte, die von
jedem Werkstück erscheinungsbildgeprüft werden,
eine Position, bei der jedes Werkstück für die
Prüfung eines Erscheinungsbilds gestoppt werden sollte
(auf die als ein Prüfpunkt Bezug genommen ist), die Richtung von
jedem Werkstück bei dem Prüfpunkt, ein verwendeter
Roboter und eine Position und Region, bei der der Roboter eingebaut
werden kann, werden zusätzlich vor der Simulation festgestellt.
-
Eine
Vorrichtung für die Simulation, das heißt ein
Simulator, ist als ein Personal-Computer (PC) 1, der in 1 gezeigt
ist, vorgesehen. Dieser Computer 1 hat eine Haupteinheit 2,
mit der eine Anzeigevorrichtung 3 (Anzeigeeinrichtung),
die als eine Ausgabevorrichtung oder Ausgabeeinrichtung dient, und eine
Tastatur 4 und eine Maus 5, die Eingabevorrichtungen
oder Eingabeeinrichtungen sind, verbunden sind. Die Anzeigevorrichtung 3 ist
beispielsweise eine Flüssigkristallanzeige, die fähig
ist, eine grafische 3D-Anzeige durchzuführen. Die Computerhaupteinheit 2 hat
Komponenten, die in 2 gezeigt sind, die eine CPU
(= Central Processing Unit = zentrale Verarbei tungseinheit) 6,
einen ROM (= Read-Only Memory = Nur-Lese-Speicher) 7, einen RAM
(= Random Access Memory = Zufallszugriffsspeicher) 8, eine
Festplatte (HDD) als einen Hochkapazitätsspeicher und eine
Schnittstelle (I/F) 10 aufweisen. Mit der Schnittstelle 10 sind
die Anzeigevorrichtung 3, die Tastatur 4 und die
Maus 5 kommunikationsfähig verbunden.
-
Die
Festplatte 9 speichert verschiedene Programmdaten, die
ein Programm für die Simulation (Simulationsprogramm),
ein Programm für ein dreidimensionales Anzeigen des Werkstücks
auf der Anzeigevorrichtung 3 basierend auf den 3D-CAD-Daten des
Werkstücks (Werkstückanzeigeprogramm), ein Programm
für ein dreidimensionales Anzeigen des Roboters, der für
die Sichtprüfung verwendet wird (Roboteranzeigeprogramm),
und ein Programm für die Umwandlung von Koordinatensystemen
zwischen einem 3D-Koordinatensystem, mit dem das Werkstück
dreidimensional angezeigt wird, und einem 3D-Koordinatensystem,
mit dem der Roboter dreidimensional angezeigt wird (Koordinatensystemumwandlungsprogramm)
aufweisen.
-
Die
Festplatte 9 nimmt über die Schnittstelle 10 verschiedene
Arten von Daten für eine Speicherung derselben auf. Die
Daten weisen die 3D-CAD-Daten (3D-Konturdaten) von jedem Werkstück
für die Sichtprüfung, die die Kamera (3D-Profildaten)
verwendet, die 3D-Profildaten der Roboter, die für die
Sichtprüfung verwendet werden, die Daten von Programmen
für den Roboterbetrieb und die Daten von Linsen für
mehrere Kameras, die für die Sichtprüfung verwendet
werden, auf. Die Linsendaten weisen die Daten von Linsenbrennweiten
und Ansichtswinkeln auf. Die Festplatte 9, die die verschiedenen
Daten auf diese Weise speichert, arbeitet funktionell als eine Profildatenspeichereinrichtung
für Werkstücke und Roboter, eine Linsendatenspeichereinrichtung
und als eine Roboterbetriebsdatenspeichereinrichtung.
-
Die
CPU 6 führt das Werkstückanzeigeprogramm,
das im Voraus in der Festplatte 9 gespeichert wird, derart
aus, dass die CAD-Daten verwendet werden, um das Werkstück
auf der Anzeigevorrichtung 3 dreidimensional anzuzeigen.
Es kann daher definiert werden, dass die CPU 6 als eine
Einrichtung zum Steuern einer Anzeige des Werkstücks funktioniert. Bei
dieser Steuerung spricht die CPU 6 auf manuelle Operationen des
Betreibers an der Maus 5 an, um Ansichtspunkte (Beobachtungspunkte;
die Richtungen der Ansichtspunkte und die Größen
der Ansichtsfelder) für die Werkstücks-3D-Anzeige
zu ändern. Die Maus 5 kann somit als ein Teil
einer Ansichtspunktpositionsänderungsbetriebseinrichtung funktionieren.
Der Ansichtspunkt kann natürlich ansprechend auf manuelle
Operationen des Betreibers an der Tastatur 4 geändert
werden.
-
Der
Betreiber ist somit fähig, die Ansichtspunkte zu ändern,
um das Werkstück auf der Anzeigevorrichtung 3 aus
jedem Ansichtswinkel dreidimensional anzuzeigen. Durch diese Änderungsoperation
der Ansichtspunkte und die Beobachtung der angezeigten Bilder bei
den jeweiligen Ansichtspunkten ist der Betreiber fähig,
zu bestimmen, dass das aktuell auf der Anzeigevorrichtung 3 angezeigte
Bild eine geeignete Prüfbedingung für einen sichtgeprüften
Abschnitt(en) eines Werkstücks liefert. Der Betreiber spezifiziert
daher unter Verwendung von beispielsweise der Maus 5 einen
Prüfpunkt auf dem Anzeigebildschirm, die CPU 6 spricht
auf diese Operation des Betreibers durch Feststellen des Punkts,
der auf dem Werkstück durch das angezeigte Bild spezifiziert
wird, und Speichern des festgestellten Prüfpunkts in dem
RAM 8 an. Wenn der Betreiber die Maus 5 betreibt,
um auf dem Anzeigebildschirm eine gewünschte Region, die
den spezifizierten Prüfpunkt aufweist, zu spezifizieren,
definiert die CPU 6 ferner eine solche Region und speichert
Daten der definierten Region in dem RAM 8 als Informationen,
die einen Abbildungsbereich der Kamera für die Sichtprüfung
zeigen. Die Maus 5 arbeitet somit ferner als ein Teil der
Eingabeeinrichtung für den Prüfpunkt und den Prüfungsbereich.
-
Die
durch die Anzeigevorrichtung 3 angezeigten Bilder werden
als Prüfungsbilder, die durch die Kamera bei der Prüfung
eines Erscheinungsbilds erfasst werden, behandelt. Wenn ein Bild
angezeigt wird, das durch den Betreiber als ein geeignetes Bild betrachtet
wird, das einen Abschnitt eines geprüften Werkstücks
zeigt, spezifiziert der Betreiber das Bild durch Verwenden der Eingabevorrichtung,
das heißt der Tastatur 4 oder der Maus 5,
als ein gewünschtes Bild. Ansprechend auf diese Spezifikation
berechnet die CPU 6 als Richtung einer Blicklinie eine
lineare Linie, die die Position des Ansichtspunkts mit dem Werkstück
in dem 3D-Koordinatensystem verbindet (das heißt Ansichtspunktinformationen,
die durch das spezifizierte Bild gegeben sind), und den Prüfpunkt. Diese
Blicklinie (lineare Linie) liefert in der Prüfung eines
Erscheinungsbilds eine Lichtachse der Kamera. Die CPU 6 funktioniert
somit als Kamerastellungs-Einstelleinrichtung.
-
Es
ist ferner möglich, dass der Betreiber die Tastatur 4 verwendet,
um in die Festplatte 9 einen möglichen Bereich,
in dem der Roboter eingebaut ist, einzugeben. Die Tastatur 4 funktioniert
dementsprechend als ein Teil einer Eingabeeinrichtung zum Eingeben
von Positionsinformationen, die Bereiche zeigen, in denen der Roboter
eingebaut werden kann. Der für einen Einbau mögliche
Bereich des Roboters wird als Positionsinformationen, die in dem
3D-Koordinatensystem, das vorher Bildern, die durch die Anzeigevorrichtung 3 angezeigt
wurden, gegeben wurde, angegeben sind, eingegeben. Nebenbei bemerkt kann
dieser für einen Einbau mögliche Bereich des Roboters
als Positionsinformationen, die in dem 3D-Koordinatensystem für
das Werkstück angegeben sind, eingegeben werden.
-
Die
CPU 6 führt das Roboteranzeigeprogramm durch,
das in der Festplatte 9 gespeichert ist, wodurch der Roboter
durch die Anzeigevorrichtung 3 basierend auf den 3D-Profildaten
des Roboters dreidimensional angezeigt wird. Die CPU 6 funktioniert somit
als eine Roboteranzeige-Steuerungseinrichtung. Die CPU 6 führt
zusätzlich das Roboterbetriebsprogramm durch Verwenden
der Spezifikationsdaten des Roboters, die eine Armlänge
und einen Armbewegungsbereich aufweisen, durch, wodurch es möglich
ist, den Roboter, der durch die Anzeigevorrichtung 3 angezeigt
wird, zu bewegen.
-
Wenn
eine tatsächliche Robotereinbauposition in einem Bereich
festgestellt wird, in dem es zulässig ist, den Roboter
einzubauen, führt die CPU 6 das Koordinatensystem-Umwandlungsprogramm,
das in der Festplatte 9 gespeichert ist, durch. Eine Koordinatenumwandlung
wird dementsprechend zwischen der 3D-Koordinate des Roboters (das
heißt der Roboterkoordinate) und der 3D-Koordinate des
Werkstücks (das heißt der Werkstückkoordinate)
durchgeführt. Wenn der Ursprung des Werkstückkoordinatensystems
und die Gradienten der X-, Y- und Z-Achse und der Ursprung des Roboterkoordinatensystems
und die Gradienten der X-, Y- und Z-Achsen, die sich alle in dem
3D-Koordinatensystem des angezeigten Bilds befinden, angegeben sind,
kann die Koordi natenumwandlung durchgeführt werden. Die CPU 6 funktioniert
ferner als eine Werkstück-Roboter-Koordinatenumwandeleinrichtung.
-
Unter
Bezugnahme auf 3–10A und 10B sind
die Operationen der Simulation, die unter Verwendung des Simulators
(das heißt des Computers 1) durchgeführt
werden, im Folgenden detailliert beschrieben.
-
Bei
dem Ausführungsbeispiel ist der Roboter ein vertikaler
6-Achsen-Mehrgelenkroboter 11, der beispielsweise so ist,
wie in 3 gezeigt ist. Der Roboter 11 ist mit
einem Arm an einem äußersten Ende ausgestattet,
das mit einer Kamera 12 ausgestattet ist. Der Roboter weist
in der Praxis eine Basis 13 und eine Schulter 14,
die in der horizontalen Richtung durch die Basis 13 schwenkbar
gestützt ist, auf. Der Roboter 11 weist ferner
einen unteren Arm 15, der durch die Schulter 14 in
der vertikalen Richtung schwenkbar gestützt ist, und einen
oberen Arm 16, der durch den unteren Arm 15 in
der vertikalen Richtung schwenkbar gestützt ist und durch
den oberen Arm 16 drehbar (verdrehbar) gestützt
ist, auf. Der Roboter 11 weist außerdem ein Handgelenk 17,
das durch den oberen Arm 16 in der vertikalen Richtung schwenkbar
gestützt ist, und einen Flansch 18, der an der
Spitze des Handgelenks 17 drehbar (verdrehbar) angeordnet
ist, auf. Die Kamera 12 ist bei dem Flansch 18,
der sich bei dem äußersten Ende des oberen Arms 16 befindet,
eingebaut.
-
Ein
3D-Koordinatensystem ist jedem der Gelenke des Roboters 11 gegeben.
Das Koordinatensystem, das der Basis 13, die räumlich
fixiert ist, gegeben ist, wird als die Roboterkoordinate behandelt, derart,
dass die Koordinate der Basis 13 eine Roboterkoordinate
liefert. Die Koordinatensysteme, die den anderen Gelenken gegeben
sind, ändern sich abhängig von den Drehungen der
anderen Gelenke aufgrund von Änderungen ihrer räumlichen
Positionen und Stellungen (Richtungen) in dem Roboterkoordinatensystem.
-
Eine
Steuerung (nicht gezeigt) steuert die Operationen des Roboters 11.
Die Steuerung empfängt erfasste Informationen, die die
Positionen der jeweiligen Gelenke, die die Schulter 14,
die Arme 15 und 16, das Handgelenk 17 und
den Flansch 18 aufweisen, zeigen, und Informationen, die
die Länge von jedem der Gelenke, die im Vorhergehenden
in der Festplatte 9 gespeichert wurde, zeigen. Die Positionsinformationen
werden so durch eine Positionserfassungseinrichtung, wie zum Beispiel
Drehcodierer, die bei jedem Gelenk angeordnet sind, abgegeben. Basierend
auf den empfangenen Informationen verwendet die Steuerung ihre Koordinatenumwandlungsfunktion,
um die Position und die Stellung von jedem Gelenk in jedem der Gelenkkoordinatensysteme
zu ermitteln. Diese Berechnung wird durch Umwandeln der Position
und der Stellung von jedem Gelenk in seinem Koordinatensystem in
Positionen und Stellungen in dem Roboterkoordinatensystem ausgeführt.
-
Von
den Koordinatensystemen, die den jeweiligen Gelenken gegeben sind,
kann das Koordinatensystem, das dem Flansch 18 gegeben
ist, in 4 gezeigt werden. Die Mitte
PO der Oberfläche des äußersten Endes
des Flansches 18 ist als der Ursprung angenommen, zwei
gegenseitig orthogonale Koordinatenachsen Xf und Yf sind in der
Oberfläche des äußersten Endes eingerichtet,
und eine Koordinatenachse Zf ist durch die Drehungsachse des Flansches 18 eingerichtet.
Von der Position und der Stellung des Flansches 18 (das
heißt des äußersten Endes des Arms) ist
die Position durch eine Position in dem Roboterkoordinatensystem
gezeigt, wobei die Position durch die Mitte der Oberfläche
des äußersten Endes des Flansches 18 eingenommen
ist, das heißt den Ursprung PO in dem Koordinatensystem, das
dem Flansch 18 gegeben ist.
-
Um
die Stellung des Flansches 18 zu definieren, sind ein Annäherungsvektor
A und ein Orientierungsvektor O wie in 4 gezeigt
ist definiert, wobei der Annäherungsvektor A eine Einheitslänge
von „1” hat, um sich von dem Ursprung PO in der
negativen Richtung entlang der Zf-Achse zu erstrecken, und der Orientierungsvektor
O eine Einheitslänge von „1” hat, um
sich von dem Ursprung PO hin zu der positiven Richtung entlang der
Zf-Achse zu erstrecken. Wenn das Koordinatensystem des Flansches 18 übersetzt wird,
derart, dass der Ursprung PO mit dem Ursprung des Roboterkoordinatensystems
vollständig überlappt, ist die Stellung des Flansches 18 durch
die Richtungen von sowohl dem Annäherungsvektor A als auch
dem Orientierungsvektor O angegeben.
-
Die
Steuerung des Roboters 11 spricht auf den Empfang von Informationen,
die sowohl die Position als auch die Stellung des Flansches 18 zeigen, durch
Steuern der jeweiligen Gelenke derart an, dass der Flansch 18 eine
spezifizierte Position erreicht und seine Stellung an eine spezifizierte
Stellung bei der spezifizierten Position anpasst. Zum Realisieren
dieser Steuerung wird das Roboterbetriebsprogramm, das in der Festplatte 9 gespeichert
ist, ausgelesen und durch die Steuerung des Roboters 11 durchgeführt.
-
Wie
in 8B gezeigt ist, ist die Kamera 12 aus
einer Mehrzahl von Kameras, die bei dem Flansch 18 angeordnet
sind, zusammengesetzt. Jede Kamera 12 hat eine Lichtachse
L, wie in 8A gezeigt ist, die sich entlang
einer linearen Linie, die durch die Mitte einer Linse 12a,
die in der Kamera angeordnet ist, läuft, befindet. Die
Lichtachse ist parallel zu dem Annäherungsvektor A. Jede
der Linsen 12a der jeweiligen Kameras 12 hat einen
festen Brennpunkt und die Brennweite derselben unterscheidet sich
von der anderer Linsen 12a. Wie in 8A dargestellt
ist, befindet sich in jeder Kamera 12 eine CCD 12b,
die als ein Abbildungselement dient, das sich bei einer Position,
die um die Brennweite d1 von der Mitte der Linse 12a versetzt
ist, befindet. Die CCD 12b befindet sich ferner um einen
vorbestimmten Abstand d2 weg von der Oberfläche des äußersten
Endes des Flansches 18. Der Abstand D zwischen der Linse 12a und
der Oberfläche des äußersten Endes des
Flansches 18 ist gleich einem Abstand „d1 + d2”,
der sich bei jeder Kamera 12 ändert.
-
Die
Lichtachse L von jeder Kamera 12 schneidet einen Punkt
K auf der Oberfläche des äußersten Endes
des Flansches 18. Daten, die einen Vektor, der sich von
dem Punkt K zu der Mitte PO des Flansches 18 erstreckt,
zeigen, wobei dieser Vektor aus einem Abstand und einer Richtung
zusammengesetzt ist, werden im Vorhergehenden in der Festplatte 9 als
Kameraeinbaupositionsdaten zusammen mit Daten, die den vorhergehenden
Abstand D zeigen, gespeichert.
-
Das
in 10A und 10B gezeigte Flussdiagramm
ist im Folgenden beschrieben und wird durch die CPU 6 ausgeführt.
-
Zunächst
weist ansprechend auf einen Befehl eines Betreibers die CPU 6 die
Anzeigevorrichtung 3 an, das 3D-Profil eines Werkstücks
W anzuzeigen (Schritt S1). Die CPU 6 spricht dann auf Betriebsbefehle
des Betreibers an der Maus 5 an, um die Position eines
Ansichtspunkts derart zu ändern, dass ein Abschnitt, der
von dem Werkstück W sichtmäßig geprüft
wird, angezeigt wird, und dass der angezeigte Abschnitt für
ein Sichtprüfen geeignet ist (Schritt S2). Wenn ein solches
geeignet angezeigtes Bild ermittelt wird, betreibt der Betreiber
die Maus 5, um als ein Prüfungsabschnitt C beispielsweise
die Mitte des Abschnitts, der sichtmäßig geprüft
wird, zu spezifizieren, wie es in 5 gezeigt
ist (Schritt S3).
-
Die
CPU 6 berechnet als eine Blicklinie F (Bezug nehmend auf 7),
eine lineare Linie, die die Position des Ansichtspunkts in dem Bild,
das in dem 3D-Koordinatensystem, das dem Werkstück W gegeben
ist, angezeigt wird, und den Prüfpunkt C verbindet und
speichert die berechnete Blicklinie F als Ansichtspunktinformationen
in dem RAM 8 (Schritt S4). Diese Berechnung bei dem Schritt
S4 realisiert somit funktionell eine Ansichtspunktinformationsberechnungseinrichtung
und eine Ansichtspunktinformationsspeichereinrichtung. Der Betreiber schreitet
zu einer Spezifikation eines gewünschten Bereichs durch
die Verwendung der Maus 5 fort. Die CPU 6 empfängt
diese Spezifikation, um den gewünschten Bereich, der den
Prüfpunkt C aufweist, als einen geprüften Bereich
(oder einfach Prüfungsbereich) zu spezifizieren (Schritt
S5). Die CPU 6 speichert in dem RAM 8 Informationen,
die den geprüften Bereich zeigen, der in dem 3D-Koordinatensystem, das
dem Werkstück W gegeben ist spezifiziert ist, so dass die
Prüfungsbereichsspeichereinrichtung realisiert wird (Schritt
S5).
-
Die
CPU 6 bestimmt, ob die Spezifikation von sowohl dem Prüfpunkt
C als auch dem Prüfungsbereich für alle Abschnitte,
die von dem Werkstück W sichtmäßig geprüft
werden, beendet wurde (Schritt S6). Wenn die Bestimmung bei diesem
Schritt S6 JA ist, das heißt die Spezifikation für
alle Abschnitte beendet wurde, schreitet die CPU 6 zu dem
nächsten Schritt S7 fort. Die Bestimmung NEIN bei dem Schritt S6
lässt im Gegensatz dazu das Verarbeiten zu dem Schritt
S3 zurückkehren.
-
Bei
dem Schritt S7 wird für jeden der Prüfpunkte C
auf die Linseninformationen Bezug genommen, um eine Linse, die einen
Ansichtswinkel hat, der den gesamten Prüfungsbereich für
jede Prüfungsposition abdeckt, auszuwählen, und
um eine Kamera 12, die eine solche Linse hat, auszuwählen (Schritt
S7). Die CPU 6 stellt einen Abbildungspunkt K abhängig
von der Fokusweite der Linse 12a der ausgewählten
Kamera 12 ein (Schritt S8). Der Abbildungspunkt K ist als
die Position des vorhergehenden Schnitts K in dem Koordinatensystem,
das dem Werkstück gegeben ist, definiert. Die Koordinate
dieses Abbildungspunktes K kann wie folgt detailliert dargestellt
werden.
-
Das
heißt, der Abstand G von dem Prüfpunkt C zu der
Linse 12a wird basierend auf der Brennlänge zum
Abbilden des fokussierten Prüfpunktes C auf die CCD 12b,
wie in 8A gezeigt ist, eindeutig festgestellt.
Der Abstand von der Linse 12a zu der distalen Endoberfläche
des Flansches 18 ist D, derart, dass der Abbildungspunkt
K eine Koordinate hat, die sich in einem Abstand von „G
+ D” weg von dem Prüfpunkt C entlang der Blicklinie
(Lichtachse L) befindet.
-
Nachdem
der Abbildungspunkt K für jeden der Prüfpunkte
C erzeugt ist, berechnet die CPU 6 die Position des äußersten
Endes des Arms für jeden Abbildungspunkt K bei dem Abbilden,
das heißt die Position und die Stellung der Mitte PO des
Flansches 18 in dem Werkstückkoordinatensystem
(Schritt S9). Die Berechnung der Koordinate bei der Position des äußersten
Endes des Arms bei dem Abbilden kann unter Verwendung der Koordinate
des Abbildungspunkts K und des Abstands und der Richtung (einer Vektorgröße)
von dem Abbildungspunkt K zu der Mitte PO des Flansches 18 ausgeführt
werden. Die Positionsbeziehung zwischen den Abbildungspunkten K der
jeweiligen Kamera 12 und der Mitte PO des Flansches 18 wird
im Vorhergehenden in der Festplatte 9 gespeichert.
-
Unter
der Annahme, dass der Annäherungsvektor A parallel zu der
linearen Linie F, die den Ansichtspunkt in dem angezeigten Bild
und den Prüfpunkt C verbindet, ist, wird die Richtung des
Orientierungsvektors basierend auf der Positionsbeziehung zwischen
den Abbildungspunkten K und der Mitte PO des Flansches 18 berechnet,
wodurch die Stellung des Flansches 18 ermittelt werden
kann.
-
Auf
diese Weise wird die Koordinate des Flansches 18 für
jeden Prüfpunkt C ermittelt, wobei Positionen, bei denen
der Roboter 11 eingebaut werden kann, als Einbaupositionskandidaten
festgestellt werden. Für diese Feststellung nimmt als ein
vorbereitender Schritt der Betreiber an, dass die horizontale Ebene
(das heißt die Ebene entlang der X- und Y-Achsen) der Bildkoordinate
der Boden der Prüfungsstation ist, und unter dieser Annahme
wird die Werkstückkoordinate an der Bildkoordinate fixiert, um
dem Werkstück eine Position und eine Stellung (Richtung),
die in der Prüfungsstation eingenommen wird, zu geben.
-
Danach
betreibt der Betreiber die Tastatur 4, um in der Bildkoordinate
eine Position oder eine Region einzustellen, in der der Roboter 11 eingebaut werden
kann (Schritt S10 in 10A). Bei diesem Ausführungsbeispiel
wird die Region R als eine für einen Einbau zulässige
Region (Position) eingestellt. Ansprechend auf dieses Einstellen
berechnet die CPU die mittige Koordinate der für einen
Einbau zulässigen Region R, und innerhalb dieser Region
R ermittelt dieselbe Versuchseinbaupositionen, die einen gegebenen
Abstand von der mittigen Position in der Aufwärts-, Abwärts-,
Rechts- und Linksrichtung (Schritt S11) versetzt sind. Diese Versuchseinbaupositionen
werden bei K-Stellen ermittelt.
-
Die
CPU 6 wählt eine der Versuchseinbaupositionen
aus (Schritt S12). Bei der ersten Routine nimmt somit die CPU 6 an,
dass der Roboter 11 anfangs bei der mittigen Koordinate,
die die erste Versuchseinbauposition ist, eingebaut ist, das heißt
der Ursprung der Roboterkoordinate stimmt mit der mittigen Koordinate überein.
Unter dieser Annahme wird die Anfangsstellung der Basis 13 des
Roboters 11 festgestellt (Schritt S13). Auf die Anfangsstellung,
die der Basis 13 auf dieser Stufe gegeben ist, wird als eine
Stellung (ein Winkel) der Basis 13 Bezug genommen, die
ermöglicht, dass die Mitte des Bewegungsbereichs der Schulter 14 (die
erste Achse) hin zu dem Werkstück W gerichtet ist. Die
Mitte des Bewegungsbereichs der Schulter 14 ist ein mittiger
Winkel zwischen einem positiven maximalen Bewegungswinkel und einem
negativen maximalen Bewegungswinkel der Schulter 14, beispielsweise
0 Grad für einen Bewe gungsbereich von +90 Grad bis –90 Grad
und +30 Grad für einen Bewegungsbereich von +90 Grad bis –30
Grad.
-
In
dieser Anfangsstellung der Basis 13 wandelt die CPU 6 jede
Position eines äußersten Endes des Arms zum Abbilden,
die in dem Werkstückkoordinatensystem mittels des Koordinatensystems
des erfassten Bilds ausgedrückt ist, in eine Position in dem
Roboterkoordinatensystem um. Basierend auf dieser Umwandlung schätzt
die CPU 6, ob die Mitte PO des Flansches 18 des
Roboters 11 jede Position eines äußersten
Endes eines Arms zum Abbilden erreichen kann oder nicht, und bei
einem solchen erreichten Zustand nimmt die Basis 13 eine
Stellung ein, um zuzulassen, dass die Lichtachse der Kamera 12 hin
zu jedem Prüfpunkt C gerichtet ist (Schritt S14).
-
Die
CPU 6 fragt ferner nach den Resultaten, die bei dem Schritt
S14 geschätzt werden (Schritt S15). Wenn die Antwort bei
dem Schritt S15 JA ist, das heißt, dass es eine Roboterflanschposition
gibt, die die Position eines äußersten Endes des
Arms erreicht, und es eine Roboterbasisstellung gibt, die zulässt,
dass die Kameralichtachse zu dem Prüfpunkt gerichtet ist,
nimmt die CPU 6 an, dass es möglich ist, den Prüfpunkt
C bei allen Positionen eines äußersten Endes des
Arms zum Abbilden abzubilden. Unter dieser Annahme speichert die
CPU 6 die Versuchseinbauposition (zum Beispiel die Anfangsversuchsposition),
die Stellung der Basis (zum Beispiel die Anfangsstellung) und die
Zahl von Positionen eines äußersten Endes des
Arms zum Abbilden in dem RAM 8 (Schritt S16).
-
Es
wird dann durch die CPU 6 bestimmt, ob die Schätzung
für alle Winkel der Basis 13 beendet ist oder
nicht (Schritt S17). Wenn diese Bestimmung NEIN ist, ändert
die CPU 6 die Stellung der Basis 13 (das heißt
die Richtung der X- und der Y-Achse) bei jedem vorbestimmten Winkel
innerhalb des Bereichs von +90 Grad bis –90 Grad aus der
aktuellen Stellung (Schritt S18). Danach kehrt das Verarbeiten zu
dem Schritt S14 zurück. Für jede Stellung des
Flansches 18 wird die vorhergehende Schätzung,
zu wissen, ob es möglich ist oder nicht, sich zu der Position
eines äußersten Endes des Arms zum Abbilden zu
bewegen, und ob es möglich ist, die Basisstellung einzunehmen,
durchgeführt. Bei dem Schritt S16 kann daher die CPU 6 Informationen,
die die Ver suchseinbaupositionen angeben, die Stellung der Basis 13 und
die Zahl von Positionen eines äußersten Endes des
Arms zum Abbilden in dem RAM 8 speichern.
-
Wenn
die Schätzung bei allen Basiswinkeln (Stellungen) für
jede Versuchseinbauposition beendet ist (JA bei Schritt S17), dann
wird bestimmt, ob die Schätzung für alle Einbaupositionen
beendet ist oder nicht (Schritt S19). Wenn die Bestimmung NEIN zeigt,
das heißt noch nicht beendet, kehrt das Verarbeiten zu
dem Schritt S12 zum Auswählen der nächsten Versuchseinbauposition
zurück. Das Verarbeiten schreitet daher zu der nächsten
Versuchseinbauposition fort, um die vorhergehende Schätzung
wiederholt durchzuführen.
-
In
der vorhergehenden Beschreibung kann die Bestimmung bei dem Schritt
S15 nach einem Beenden der Schätzung bei dem Schritt S14
für alle Positionen eines äußersten Endes
des Arms zum Abbilden durchgeführt werden. In Wirklichkeit
wird andererseits die Schätzung bei dem Schritt S14 von
der Position des äußersten Endes des Arms, die
am weitesten von dem Roboter entfernt ist, zusätzlich zu
einem Betrachten der Position, bei der der Roboter einzubauen ist,
und der Stellung der Basis wiederholt. Wenn bei dem Schritt S15
NEIN bestimmt wird, das heißt bestimmt wird, dass sich
der Flansch 18 nicht zu der geschätzten Position
des äußersten Endes des Arms zum Abbilden bewegen
kann und die Basis nicht die Stellung zum Abbilden einnehmen kann, wird
die Schätzung bei dem Schritt S14 von dem nächsten
und anschließenden Schätzungsverfahren vereinfacht
(Schritt S21). Die Schätzung bei den Positionen des äußersten
Endes des Arms, die näher als die weiteste Position sind,
wird in der Praxis bei dem nächsten und anschließenden
Schätzungsverfahren gestoppt. Die Schätzung bei
anderen Versuchseinbaupositionen, die weiter als die aktuelle Versuchseinbauposition
von dem Werkstück entfernt sind, wird ebenfalls bei dem
nächsten und anschließenden Schätzungsverfahren
gestoppt. Die Schätzung bei dem Schritt S14 bei der Stellung
der Basis, die zulässt, dass das äußerste
Ende des Arms weiter entfernt als dasselbe bei der aktuellen Basisstellung ist,
wird zusätzlich ebenfalls gestoppt. Das heißt,
diese Fälle werden aus Fällen, die bei dem nächsten und
anschließenden Schätzungsverfahren berechnet werden,
weggelassen. Nach dem Schritt S21 schreitet das Verarbeiten zu dem
Schritt S16 fort.
-
Auf
diese Weise wird die vereinfachte Schätzung von dem nächsten
und anschließenden Schätzungsverfahren befohlen.
Dies eliminiert die nutzlose Schätzung bei Positionen eines äußersten
Endes eines Arms, die nicht zulassen, dass der Flansch 18 erreicht
werden kann, oder dass die Basis ihre notwendige Stellung zum Abbilden
einnehmen kann, wodurch eine Berechnungslast der CPU 6 reduziert wird.
-
Bei
dem Beenden der Schätzung bei dem Schritt A14, wobei die
Stellung der Basis bei allen Versuchseinbaupositionen geändert
wird, lässt die CPU 6 zu, dass die Anzeigevorrichtung 3 Informationen
der für einen Einbau zulässigen Positionen für den
Roboter 11 in einem Listenformat anzeigt (Schritt S20).
Die Informationen der angezeigten für einen Einbau zulässigen
Positionen ist aus den Versuchseinbaupositionen und den Stellungen
der Basis zusammengesetzt, was veranlasst, dass sich der Flansch 18 zu
einer Position eines äußersten Endes des Arms
zum Abbilden bewegt und veranlasst, dass der Flansch 18 eine
für das Abbilden notwendige Stellung einnimmt.
-
Gemäß dem
vorliegenden Ausführungsbeispiel ist es, solange 3D-Profildaten
eines Werkstücks geliefert werden und es festgestellte
Abschnitte für eine Sichtprüfung, die Position
und die Stellung eines Werkstücks in der Prüfungsstation,
den Typ eines verwendeten Roboters und eine Region, in der der Roboter
eingebaut werden kann, gibt, ohne weiteres möglich, Informationen
zu liefern, die zeigen, welche Art von Linse in der Kamera angebracht
werden sollte und bei welcher Position sich der Roboter 11 befinden
sollte, wobei die Informationen für die tatsächliche
Sichtprüfung ausreichend sind. Bei dem vorliegenden Ausführungsbeispiel
ist daher die tatsächliche Sichtprüfungsvorrichtung
fähig, zu vermeiden, dass ihr Kamerafokus bei einem Punkt,
der von einem Werkstück geprüft wird, verschwimmt,
und es ist leichter, die Simulation zum Entwerfen von Sichtprüfungssystemen
durchzuführen.
-
Ein
Entwurf von Sichtprüfungssystemen, die mit Robotern und
Kameras ausgestattet sind, kann zusätzlich eine Art eines
Angebots sein. Wenn solche Angebote benötigt werden, ist
es häufig, dass während des Entwurfs der Systeme
ein verwendeter Roboter bereits festgestellt ist, jedoch eine Einbauposition
des Roboters und einer Kamera, die verwendet werden, noch nicht
festgestellt ist. In einem solchen Fall kann der Simulator gemäß dem
vorliegenden Ausführungsbeispiel effektiv verwendet werden.
-
Bei
dem vorliegenden Ausführungsbeispiel wird für
eine Mehrzahl von Punkten, die von einem Werkstück geprüft
werden, zuerst bestimmt, ob es möglich ist oder nicht,
das äußerste Ende des Arms zu einer entferntesten
Position unter der Mehrzahl von Positionen zu bewegen, und es wird
festgestellt, dass es möglich ist, dass äußerste
Ende des Arms zu allen der Mehrzahl von Positionen zu bewegen, wenn bestimmt
wird, dass es möglich ist, das äußerste Ende
des Arms zu der entferntesten Position zu bewegen. Basierend auf
dieser Bestimmung wird die Schätzung bei dem nächsten
und anschließenden Schätzungsverfahren gestoppt
oder fortgesetzt. Es ist somit möglich, eine nicht notwendige
Berechnung für die Schätzung zu vermeiden.
-
(Zweites Ausführungsbeispiel)
-
Bezug
nehmend auf 11–13 ist
im Folgenden ein zweites Ausführungsbeispiel der vorliegenden
Erfindung beschrieben. Im Folgenden sind den Komponenten, die ähnlich
oder identisch zu denselben des vorhergehenden ersten Ausführungsbeispiels
sind, um einer vereinfachten Erläuterung willen die gleichen
Bezugsziffern gegeben.
-
Verglichen
mit dem ersten Ausführungsbeispiel unterscheidet sich das
zweite Ausführungsbeispiel, wie in 12 gezeigt
ist, dahingehend, dass die Kamera 12 bei einer Ausgangs-
bzw. Heimatposition fixiert ist und das Werkstück W durch
einen Greifer 19, der an dem Ende des Arms des Roboters 11 befestigt
ist, gehalten ist. Zusätzlich zu den verschiedenen Programmen,
die bei dem ersten Ausführungsbeispiel erwähnt
sind, speichert die Festplatte 9 zusätzlich Daten
eines Programms zur Umwandlung zwischen dem Koordinatensystem, das
der Kamera gegeben ist, und dem Koordinatensystem, das dem Roboter
gegeben ist, durch die Verwendung des Koordinatensystems, das durch
erfasste Bilder geliefert wird.
-
Bei
dem vorliegenden Ausführungsbeispiel stellt unter der Steuerung
der CPU 6 die Anzeigevorrichtung 3 das 3D-Profil
eines Werkstücks dar, und Informationen über Prüfpunkte
C und Ansichtspunkte werden berechnet und ein Prüfungsbereich
wird spezifiziert. Eine Linse wird abhängig von dem spezifizierten
Prüfungsbereich ausgewählt, und ein Abbildungspunkt
K wird unter Berücksichtigung der Brennweite der ausgewählten
Linse ermittelt. Diese Schritte sind gleich den Schritten S1 bis
S8, die bei dem ersten Ausführungsbeispiel beschrieben
sind. Nach diesen Schritten wird das folgende Verarbeiten ausgeführt.
-
Unter
Verwendung von sowohl dem Prüfpunkt C als auch den Ansichtspunktinformationen richtet
die CPU 6 eine lineare Linie als eine Lichtachse zu der
Kamera 12 ein und berechnet den Gradienten der Lichtachse,
wobei die lineare Linie einen spezifizierten Ansichtspunkt in dem
angezeigten Bild und den Prüfpunkt C in dem 3D-Koordinatensystem,
das dem Werkstück gegeben ist, verbindet (Schritt S31 in 11).
-
Der
Betreiber nimmt an, dass die horizontale Ebene des Koordinatensystems
der erfassten Bilder, die durch die Anzeigevorrichtung 3 dargestellt
werden, die Prüfungsstation ist, und befiehlt der CPU 6, eine
Kamerakoordinate M in dem Koordinatensystem der Bilder zu fixieren,
derart, dass die Kamera eine Position und eine Stellung (Richtung)
einnimmt, die in der Prüfungsstation vorgesehen werden
sollten (Schritt S32). Wie in 13 gezeigt
ist, entspricht die Kamerakoordinate M einer Koordinate des Flansches 18 in
einem Koordinatensystem, dessen Ursprung sich in der Mitte PO des
Flansches 18 befindet, wie es bei dem ersten Ausführungsbeispiel
beschrieben ist. Die CPU 6 lässt zu, dass die
Anzeigevorrichtung 3 die Kamera 12 darstellt,
wobei die Richtung der Lichtachse der Kamera 12 in dem
Koordinatensystem des Bilds eingestellt wird.
-
Die
CPU 6 verwendet das Koordinatensystem des Bilds als ein
Vermittler beim Umwandeln des Abbildungspunkts K in dem Koordinatensystem
des Werkstücks in eine Position und eine Stellung (den Gradienten
der Lichtachse) in dem Koordinatensystem der Kamera (Schritt S33).
Für jeden der Abbildungspunkte K ermittelt die CPU 6 unter
Verwendung des Gradienten der Lichtachse und der Profildaten des
Werkstücks W die Koordinate der Mitte H des Werkstücks
W in dem Koordinatensystem der Kamera (Schritt S34).
-
Die
CPU 6 spricht als Nächstes auf Befehle des Betreibers
von der Maus 5 an, um einen Zustand, in dem der Greifer 19 an
dem Flansch 18 des Roboters 11 befestigt ist,
wahrscheinlich einzustellen. Die CPU 6 nimmt ein Werkstück
W an, das durch den Greifer 19 in einer gewünschten
Stellung des Werkstücks W gehalten ist, und berechnet einen
Vektor V, der sich von der Mitte H des Werkstücks W zu
der Mitte PO des Flansches 18 erstreckt (Schritt S35).
-
Zusammenfassend
wird die Maus 5 manipuliert, um die Roboterkoordinate in
dem Koordinatensystem des Bildes auf dem Anzeigebildschirm darzustellen,
wobei die Koordinatenumwandlung zwischen den Koordinatensystemen
von sowohl der Kamera als auch dem Roboter unter Verwendung des
Koordinatensystems des angezeigten Bilds als ein Vermittler vorgenommen
wird. Basierend auf der mittigen Position des Werkstücks
W hinsichtlich sowohl der Abbildungspunkte K als auch des Vektors
von der Mitte des Werkstücks W zu der Mitte PO des Flansches 18 werden
die Mitte PO des Flansches 18 und die Stellung des Flansches 18 in
Positionen in dem Roboterkoordinatensystem umgewandelt (Schritt S36).
-
Wenn
die Positionen des äußersten Endes des Arms zum
Abbilden für jeden der Prüfpunkte ermittelt sind,
werden die Schritte, die gleich dem Schritt S10 und anschließenden
Schritten bei dem ersten Ausführungsbeispiel sind, ausgeführt,
um die Robotereinbaupositionskandidaten zu liefern.
-
Es
ist daher dennoch möglich, dass der Simulator gemäß dem
zweiten Ausführungsbeispiel die Vorteile, die bei dem ersten
Ausführungsbeispiel erwähnt sind, liefert.
-
Bei
den vorhergehenden Ausführungsbeispielen kann, wenn die
für einen Einbau zulässige Position aus einer
Mehrzahl für einen Einbau zulässigen Positionen
zusammengesetzt ist, der Simulator als Teil der Bestimmungseinrichtung
eine Einrichtung zum Berechnen einer Durchschnittskoordinate der Mehrzahl
von für einen Einbau zu lässigen Positionen, eine
Einrichtung zum Einstellen einer Anfangsroboterposition, die eine
für einen Einbau zulässige Position ist, die am
nächsten zu der Durchschnittskoordinate ist, eine Einrichtung
zum Bestimmen, ob es möglich ist oder nicht, das äußerste
Ende des Arms zu der Position zu bewegen, wenn angenommen wird,
dass der Roboter bei der Anfangsroboterposition eingebaut ist, und
eine Einrichtung zum Auswählen der Mehrzahl von für
einen Einbau zulässigen Positionen auf, wenn bestimmt wird,
dass es nicht möglich ist, das äußerste
Ende des Arms zu der ermittelten Position zu bewegen, derart, dass
eine Position unter den für einen Einbau zulässigen
Positionen, deren Abstand zu der ermittelten Position kürzer
als ein Abstand zu der Durchschnittskoordinate ist, für
die Bestimmung ausgewählt wird, und eine unter den für
einen Einbau zulässigen Positionen verbleibende Position,
deren Abstand zu der ermittelten Position länger als die
Position der Durchschnittskoordinate ist, wird aus der Bestimmung
entfernt. Solch eine Art und Weise einer Entfernung kann daher die
Berechnungslast reduzieren.
-
Bei
den vorhergehenden Ausführungsbeispielen kann zusätzlich,
wenn die für einen Einbau zulässige Position aus
einer Mehrzahl von für einen Einbau zulässigen
Positionen zusammengesetzt ist, der Simulator als Teil der Bestimmungseinrichtung eine
Einrichtung zum Bestimmen, ob es möglich ist oder nicht,
das äußerste Ende des Arms zu der ermittelten
Position zu bewegen, wenn angenommen wird, dass der Roboter bei
einer der für einen Einbau zulässigen Positionen
eingebaut ist, und eine Einrichtung zum Auswählen der Mehrzahl
von für einen Einbau zulässigen Positionen aufweisen,
wenn bestimmt wird, dass es nicht möglich ist, das äußerste Ende
des Arms zu der ermittelten Position zu bewegen, derart, dass eine
Position unter den für einen Einbau zulässigen
Positionen, die näher als die für einen Einbau
zulässige Position ist, bei der angenommen wird, dass der
Roboter eingebaut ist, für die Bestimmung ausgewählt
wird, und eine verbleibende Position unter den für einen
Einbau zulässigen Positionen, die weiter entfernt als die
für einen Einbau zulässige Position ist, bei der
angenommen wird, dass der Roboter eingebaut ist, aus der Bestimmung
entfernt wird. Eine solche Art und Weise einer Entfernung kann daher
ebenfalls die Berechnungslast reduzieren.
-
(Andere Ausführungsbeispiele)
-
Die
vorliegende Erfindung kann in mehreren anderen Formen ausgeführt
sein, ohne von dem Geist derselben abzuweichen. Die Ausführungsbeispiele
und Modifikationen, die bis hierher beschrieben sind, sollen daher
lediglich darstellend und nicht einschränkend sein, da
der Schutzbereich der Erfindung durch die beigefügten Ansprüche
und nicht durch die denselben vorhergehende Beschreibung definiert
ist. Alle Änderungen, die in die Grenzen und Schranken
der Ansprüche fallen oder Äquivalente solcher
Grenzen und Schranken sollen daher durch die Ansprüche
umfasst sein.
-
Ein
Werkstück kann beispielsweise an einem Indextisch angebracht
sein, um das Werkstück abhängig von einem Prüfpunkt
zu drehen. In diesem Fall werden Informationen, die den Drehwinkel
zeigen, verwendet, um die Koordinatenumwandlung unter der Annahme
durchzuführen, dass die Werkstückkoordinate mit
dem gleichen Winkel wie der Indextisch gedreht wird. Die für
einen Einbau zulässige Position kann zusätzlich
hinsichtlich der Zahl eine oder mehrere sein. Der Roboter ist nicht
auf den vorhergehenden Roboter eines vertikalen Mehrgelenkstyps begrenzt.
Die Linse (das heißt die Kamera) ist ebenfalls hinsichtlich
der Zahl nicht auf eine begrenzt.
-
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 2008-122185 [0001]
- - JP 2005-52926 [0003, 0003, 0005, 0006]
- - JP 2004-265041 [0003, 0004, 0005, 0006, 0007]