-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf eine Technik zum Schätzen der Position und der Orientierung eines Objekts, dessen dreidimensionale Form bekannt ist.
-
Stand der Technik
-
Eine komplizierte Aufgabe, welche bislang von einem Menschen durchgeführt worden ist, wie etwa ein Zusammensetzen von hergestellten Produkten, wird stattdessen im Zuge der Entwicklung einer Robotertechnik in den vergangenen Jahren durch einen Roboter durchgeführt. Ein solcher Roboter greift eine Komponente mit einem Endeffektor, wie etwa eine Hand, und führt ein Zusammensetzen durch. Damit der Roboter die Komponente greift, ist es notwendig, eine relative Position und Orientierung zwischen der zu greifenden Komponente und dem Roboter (eine Hand) genau zu schätzen. Eine solche Schätzung der Position und Orientierung wird für den Roboter auf verschiedene Arten und Weisen verwendet, nicht nur um die Komponente zu greifen, sondern auch um seine eigene Position zu schätzen, damit er sich autonom bewegen kann, und um einen realen Raum in einer erweiterten Realität mit einem virtuellen Objekt zu registrieren.
-
Ein Verfahren zum Schätzen der Position und Orientierung umfasst entweder ein Verwenden eines durch eine Kamera aufgenommen zweidimensionalen Bildes oder eines von einem Entfernungssensor akquirierten Kontrastbildes. Unter anderem wird eine Schätzung im Allgemeinen verwendet, die ein Modellanpassen verwendet, bei welchem ein dreidimensionales geometrisches Modell eines Objekts an ein von einem aufgenommenen Bild extrahierten Bildmerkmal oder an von einem Kontrastbild akquirierten Punktwolkendaten angepasst wird. Z. B. liegt ein Verfahren vor zum Schätzen der Position und der Orientierung eines Objekts, sodass ein Projektionsbild eines Drahtmodells eines Objekts an eine auf einem Graustufenbild erfasste Kante angepasst wird. Darüber hinaus liegt ein weiteres Verfahren vor zum Schätzen der Position und der Orientierung eines Objekts durch Anpassen eines dreidimensionalen geometrischen Modells, wie etwa ein Maschenmodell, an aus einem Kontrastbild akquirierten Punktwolkendaten.
-
Im Allgemeinen dispergiert eine Form und eine Größe einer massenerzeugten industriellen Komponente aufgrund eines Problems einer Bearbeitungsgenauigkeit und Kosten. Es ist unrealistisch, ein dreidimensionales geometrisches Modell für jedes Einzelteil einer solchen Komponente zu erzeugen, sodass die Position und die Orientierung im Allgemeinen geschätzt wird, indem ein dreidimensionales geometrisches Modell verwendet wird, das eine Standardform einer Komponente darstellt. Anders ausgedrückt stimmt das dreidimensionale geometrische Modell nicht immer mit einer tatsächlichen Komponente bezüglich der Form überein. Falls die Position und die Orientierung der Komponente unter Verwendung der Modellanpassung geschätzt wird, wird ein Problem dahingehend verursacht, dass eine genaue Schätzung nicht durchgeführt werden kann, für den Fall, dass ein Unterschied zwischen dem Modell und der tatsächlichen Komponente groß ist.
-
Patentliteratur 1 diskutiert ein Verfahren zum Absorbieren einer Dispersion einer Form eines Objekts durch Erkennen der Position des Objekts unter Verwendung des Modells. In diesem Verfahren wird die Position des Objekts basierend auf einem Standardmodell, das das Objekt darstellt, und einem Bild (Messdaten) realisiert, und die Messdaten werden statistisch verarbeitet, um das Standardmodell sequentiell zu aktualisieren.
-
Nichtpatentliteratur 1 diskutiert ein Verfahren zum Absorbieren eines Unterschieds zwischen einem Einzelteil und einem dreidimensionalen Modell einer Fläche durch Schätzen der Position und der Orientierung der Fläche. In diesem Verfahren wird eine Abweichung eines Merkmalspunkts für jedes individuelle Modell aus der Verteilung einer vorher akquirierten Abweichung und tatsächlichen Messdaten akquiriert, und der mit der Abweichung bereitgestellte Merkmalspunkt wird der Modellanpassung unterzogen. Ein Modell wird für jedes Einzelteil erzeugt, um ein Schätzen der Position und der Orientierung unabhängig von der Dispersion einer Form zuzulassen.
-
In Patentliteratur 1 wird die Dispersion einer Form des Objekts absorbiert, um die Erkennungsrate des Objekts zu verbessern. Das Verfahren aktualisiert das Standardmodell, um die Dispersion eines tatsächlichen Objekts zu absorbieren, sodass das Verfahren zum Erkennen des Objekts und zum ungefähren Schätzen der Position und der Orientierung geeignet ist, aber nicht zum genauen Schätzen der Position und der Orientierung geeignet ist.
-
Das in Nichtpatentliteratur 1 diskutierte Verfahren dient zum expliziten Berechnen einer Abweichung und kann Fehler bezüglich der akquirierten Abweichung aufgrund einer falschen Erfassung eines Merkmals aus den Messdaten selbst enthalten, sodass das Verfahren zum genauen Schätzen der Position und der Orientierung nicht geeignet ist.
-
Patentliteratur
-
-
Nichtpatentliteratur
-
- [NPL 1] X. Chai, Shan, L. Qing und W. Gao, "Pose estimation based an Gaussian error models," International Conference an Biometrics (ICB 2006), LNCS 3832, Seiten 136–143, 2005.
- [NPL 2] Y. Chen und G. Medioni, "Objekt modeling by registration of multiple range images," Proc. 1991 International Conference an Robotics and Automation (ICRA'91), Seiten 2724–2729, 1991.
- [NPL 3] M. D. Wheeler, Y. Sato und K. Ikeuchi, "Consensus surfaces for modeling 3D objects from multiple range images," Proc. 6th International Conference an Computer Vision (ICCV'98), Seiten 917–924, 1998.
- [NPL 4] R. Hartley und A. Zisserman, "Multiple View Geometry in Computer Vision, Second Edition," Cambridge University Press, 2000.
- [NPL 5] Y. Liu, T. S. Huang und O. D. Faugeras, "Determination of Camera Location from 2-D to 3-D Line and Point Correspondences," IEEE Transactions an Pattern Analysis and Machine Intelligence, Vol. 12, Nr. 1, Seiten 28–37, 1990.
-
Zusammenfassung der Erfindung
-
Die vorliegende Erfindung ist auf ein Verfahren zum genauen Schätzen der Position und der Orientierung eines Objekts gerichtet, sogar falls das Objekt bezüglich seiner Form dispersiver ist als ein dreidimensionales geometrisches Modell mit einer Standardform.
-
Gemäß einem Aspekt der vorliegenden Erfindung wird bereitgestellt: ein Positions- und Orientierungsschätzverfahren zum Erhalten einer Position und einer Orientierung eines Objekts, mit: einem Kenngrößenberechnungsschritt zum Berechnen, durch eine Kenngrößenberechnungseinrichtung, einer Abweichungskenngröße eines geometrischen Merkmals, das ein dreidimensionales geometrisches Modell des gehaltenen Objekts darstellt; einem Zuverlässigkeitsberechnungsschritt zum Berechnen, durch eine Zuverlässigkeitsberechnungseinrichtung, einer Zuverlässigkeit für jedes geometrische Merkmal basierend auf der Abweichungskenngröße; einem Bildmerkmalsextraktionsschritt zum Extrahieren, durch eine Bildmerkmalsextraktionseinrichtung, eines Bildmerkmals eines aufgenommenen Bildes, das durch eine Bildaufnahmeeinrichtung aufgenommen ist; einem Verknüpfungsschritt zum Verknüpfen, durch eine Verknüpfungseinrichtung, des geometrischen Merkmals mit dem Bildmerkmal; einem Abweichungsbetragsberechnungsschritt zum Berechnen, durch eine Abweichungsbetragsberechnungseinrichtung, eines Betrags einer Abweichung zwischen dem geometrischen Merkmal und dem Bildmerkmal; und einem Positions- und Orientierungsschätzschritt zum Schätzen, durch eine Positions- und Orientierungsschätzeinrichtung, der Position und der Orientierung des Objekts basierend auf der Zuverlässigkeit und dem Betrag einer Abweichung.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird bereitgestellt: eine Positions- und Orientierungsschätzvorrichtung zum Erhalten einer Position und einer Orientierung eines Objekts, mit: einer Kenngrößenberechungseinrichtung, die konfiguriert ist, um eine Kenngröße einer Abweichung eines geometrischen Merkmals zu berechnen, das ein dreidimensionales geometrisches Modell des Objekts darstellt; einer Zuverlässigkeitsberechnungseinrichtung, die konfiguriert ist, um eine Zuverlässigkeit für jedes geometrische Merkmal basierend auf der Kenngröße einer Abweichung zu berechnen; einer Bildmerkmalsextraktionseinrichtung, die konfiguriert ist, um ein Bildmerkmal eines aufgenommenen Bildes zu extrahieren, das durch eine Bildaufnahmeeinrichtung aufgenommen ist; einer Verknüpfungseinrichtung, die konfiguriert ist, um das geometrische Merkmal mit dem Bildmerkmal zu verknüpfen; einer Abweichungsbetragsberechnungseinrichtung, die konfiguriert ist, um einen Betrag einer Abweichung zwischen dem geometrischen Merkmal und dem Bildmerkmal zu berechnen; und einer Positions- und Orientierungsschätzeinrichtung, die konfiguriert ist, um die Position und die Orientierung des Objekts basierend auf der Zuverlässigkeit und dem Betrag einer Abweichung zu schätzen.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung bewirkt ein Programm, dass ein Computer jeden Schritt des vorstehend beschriebenen Positions- und Orientierungsschätzverfahrens ausführt.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung speichert ein Speichermedium ein Programm zum Bewirken, dass ein Computer jeden Schritt des vorstehend beschriebenen Positions- und Orientierungsschätzverfahrens ausführt.
-
Weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung von exemplarischen Ausführungsbeispielen mit Bezug auf die beigefügten Zeichnungen ersichtlich.
-
Kurze Beschreibung der Zeichnungen
-
1 ist ein Beispiel einer Konfiguration eines ersten exemplarischen Ausführungsbeispiels.
-
2 ist ein Flussdiagramm von Prozessen des ersten exemplarischen Ausführungsbeispiels.
-
3 ist ein Flussdiagramm (1), das ein Beispiel eines Prozesses zum Berechnen der Abweichung einer Form von Toleranzdaten darstellt.
-
4 ist ein Beispiel eines Standardmodells und Toleranzdaten.
-
5 ist ein schematisches Diagramm, das den Abweichungsbetragskandidaten darstellt.
-
6 ist ein Beispiel einer Extrahiertes-Liniensegment- und einer Zuverlässigkeitsdatenbank.
-
7 ist ein Flussdiagramm, das ein Beispiel einer Verarbeitung zum Berechnen der Position und der Orientierung eines Objekts darstellt.
-
8 ist ein schematisches Diagramm (1), das ein Beispiel einer Verknüpfung darstellt.
-
9 ist ein Flussdiagramm, das ein Beispiel einer Verarbeitung zum Berechnen einer Abweichung von Messdaten darstellt.
-
10 ist ein Diagramm, das ein Beispiel einer Beziehung zwischen einem Objekt und einer Messposition darstellt.
-
11 ist ein Flussdiagramm (2), das ein Beispiel eines Prozesses zum Berechnen der Abweichung einer Form von Toleranzdaten darstellt.
-
12 ist ein schematisches Diagramm (2), das ein Beispiel einer Verknüpfung darstellt.
-
Beschreibung von Ausführungsbeispielen
-
Ausführungsbeispiele der vorliegenden Erfindung werden nun mit Bezug auf die Zeichnungen detailliert beschrieben. Es ist zu beachten, dass die relative Anordnung der Komponenten, die numerischen Ausdrücke und die numerischen Werte in diesem Ausführungsbeispiel den Umfang der vorliegenden Erfindung nicht begrenzen, es sei denn, dass dies explizit erwähnt wird.
-
Exemplarische Ausführungsbeispiele der vorliegenden Erfindung werden nachstehend mit Bezug auf die beigefügten Zeichnungen detailliert beschrieben.
-
In einem ersten exemplarischen Ausführungsbeispiel der vorliegenden Erfindung wird die Position und die Orientierung eines Objekts genau geschätzt, durch Verwendung einer Ungleichmäßigkeit bezüglich einer Abweichung zwischen einem dreidimensionalen geometrischen Modell, das eine Standardform eines Objekts darstellt (nachstehend Standardmodell genannt) und einem tatsächlichen Objekt. Informationen über einen Teil, der als klein bezüglich einer Abweichung angesehen ist, wird positiv verwendet, um die Position und die Orientierung genau zu schätzen. In dem vorliegenden exemplarischen Ausführungsbeispiel wird ein Objekt als eine industrielle Komponente angenommen, die Kenngröße einer Abweichung von jedem Merkmal, das das Standardmodell des Objekts darstellt, wird basierend auf Toleranzdaten des Objekts geschätzt, und die Position und die Orientierung des Objekts wird basierend auf der Kenngröße einer Abweichung unter Verwendung einer Zuverlässigkeit für jedes berechnete Merkmal geschätzt.
-
Die Konfiguration einer Positions- und Orientierungsschätzvorrichtung 100 in dem vorliegenden exemplarischen Ausführungsbeispiel wird nachstehend unter Verwendung von 1 beschrieben. In 1 zeigt ein Pfeil den Datenfluss an. Die Positions- und Orientierungsschätzvorrichtung 100 umfasst eine Messdatenakquirierungseinheit 101, eine Merkmalsextraktionseinheit 102, eine Speichereinheit 103 und eine Positions- und Orientierungsberechnungseinheit 104. Die Positions- und Orientierungsschätzvorrichtung 100 ist mit einer Messvorrichtung 105 verbunden.
-
Die Messvorrichtung 105 misst einen realen Raum. Die Messvorrichtung 105 erfasst z. B. ein zweidimensionales Bild durch eine Kamera. Die Messvorrichtung 105 misst z. B. eine dreidimensionale Position der Oberfläche eines Objekts, und nimmt ein Kontrastbild auf. Das aufgenommene Bild wird an die Messdatenakquirierungseinheit 101 gesendet.
-
Die Messdatenakquirierungseinheit 101 akquiriert Messdaten von der Messvorrichtung 105. Z. B. werden die Messdaten als ein durch die Kamera aufgenommenes zweidimensionales Bild akquiriert. Die akquirierten Messdaten werden an die Merkmalsextraktionseinheit 102 gesendet.
-
Die Merkmalsextraktionseinheit 102 extrahiert ein Merkmal aus den Messdaten. Die Merkmalsextraktionseinheit 102 extrahiert z. B. eine Kante aus einem Bild als ein Merkmal unter Verwendung eines Canny-Operators. Das extrahierte Merkmal wird an die Positions- und Orientierungsberechnungseinheit 104 gesendet.
-
Die Speichereinheit 103 speichert die Kenngröße einer Abweichung von jedem Merkmal, das das Standardmodell des Objekts darstellt. Das Standardmodell des Objekts wird z. B. mit einem Satz an Liniensegmenten beschrieben. Das Liniensegment bezieht sich auf eine Kreuzung von Oberflächen, die die Oberfläche eines Objekts darstellen, und einer Grenzlinie, an welcher sich eine Farbe oder Dichte signifikant ändert. Alternativ kann das Standardmodell des Objekts mit einem Satz an charakteristischen Punkten auf einem Objekt, einem Satz an Oberflächen, die ein Objekt darstellen, oder einer Kombination dieser Sätze beschrieben werden. Das Standardmodell des gehaltenen Objekts wird an die Positions- und Orientierungsberechnungseinheit 104 gesendet.
-
Die Positions- und Orientierungsberechnungseinheit 104 schätzt die Position und die Orientierung eines Objekts unter Verwendung des Merkmals, das aus den Messdaten durch die Merkmalsextraktionseinheit 102 extrahiert ist, und der Kenngröße einer Abweichung von dem Standardmodell des Objekts und dem Standardmodell von jedem Merkmal eines Objekts, das in der Speichereinheit 103 gespeichert ist.
-
Der Grundzug eines allgemeinen Prozessflusses der Positions- und Orientierungsschätzvorrichtung 100 in dem vorliegenden exemplarischen Ausführungsbeispiel wird nachstehend mit Bezug auf 2 beschrieben.
-
Die Verarbeitung in Schritt S201 dient zum Berechnen einer Kenngröße. In diesem Schritt wird die Kenngröße einer Abweichung eines geometrischen Merkmals, das das Standardmodell des Objekts darstellt, berechnet. Wie vorstehend beschrieben wird in dem vorliegenden exemplarischen Ausführungsbeispiel das Standardmodell des Objekts mit einem Satz an Liniensegmenten beschrieben. Hier wird die Kenngröße einer Abweichung basierend auf der Toleranz an einem Teilungspunkt berechnet, an dem jedes Liniensegment in einem regulären Intervall mit dem geometrischen Merkmal als ein Liniensegment dreidimensional geteilt wird. Der Grund, weshalb der Teilungspunkt als das geometrische Merkmal verwendet wird, liegt darin, dass ein Teilungspunkteinheitsprozess in einem nachstehend beschriebenen Positions- und Orientierungsschätzprozess durchgeführt wird.
-
Die Verarbeitung in Schritt S202 dient zum Berechnen einer Zuverlässigkeit. In diesem Schritt wird die Zuverlässigkeit des Teilungspunkts, der ein geometrisches Merkmal ist, aus der in Schritt S201 an jedem Teilungspunkt akquirierten Kenngröße einer Abweichung berechnet.
-
Die Verarbeitung in Schritt S203 dient zum Berechnen einer Position und einer Orientierung. In diesem Schritt wird die Position und die Orientierung eines Objekts unter Verwendung der in Schritt S202 berechneten Zuverlässigkeit berechnet.
-
Die Schritte S201 und S202 müssen nicht immer mit der Schätzung. der Position und der Orientierung durchgeführt werden, und können separat als Vorverarbeitung der in Schritt S203 durchgeführten Positions- und Orientierungsbestimmung durchgeführt werden.
-
Der Prozess zum Berechnen der Kenngröße einer Abweichung von einem Teilungspunkt in Schritt S201 wird nachstehend detailliert beschrieben. Ein Ergebnis der Berechnung der Kenngröße einer Abweichung wird in der Speichereinheit 103 gespeichert. Hier wird ein Verfahren zum Berechnen der Kenngröße einer Abweichung von den Toleranzdaten eines Objekts nachstehend mit Bezug auf ein Flussdiagramm in 3 beschrieben.
-
Die Verarbeitung in Schritt S301 dient zum Extrahieren eines Merkmals aus einem Modell. In diesem Schritt werden Liniensegmentdaten aus dem Standardmodell extrahiert.
-
Die Verarbeitung in Schritt S302 dient zum Extrahieren einer Toleranz. In diesem Schritt wird eine Toleranz extrahiert, welche ein Faktor bezüglich einer Abweichung (nachstehend eine Abweichungsfaktortoleranz genannt) eines gewünschten Liniensegments (nachstehend ein gewünschtes Liniensegment genannt) sein könnte. Die Abweichungsfaktortoleranz ist eine Toleranz eines Grats oder einer Oberfläche, in welcher das gewünschte Liniensegment enthalten ist.
-
4 ist ein Beispiel eines Standardmodells und Toleranzdaten. Die folgende Beschreibung wird gemacht, wobei ein Liniensegment 401 aus einem Standardmodell 400 als ein gewünschtes Liniensegment extrahiert ist.
-
Dimensionstoleranzen 402 bis 404 und Ebenentoleranzen 405 bis 407, welche Toleranzen eines Grats oder einer Oberfläche sind, in welcher das Liniensegment 401 enthalten ist, sind Kandidaten für die Abweichungsfaktortoleranz. Unter diesen Kandidaten sind Dimensionstoleranzen 403 und 404 und Ebenentoleranzen 406 und 407 unter Ausschluss der Dimensionstoleranz 402 und der Ebenentoleranz 405, welche nicht zu der Positions- und Orientierungsschätzung beitragen, die Abweichungsfaktortoleranzen.
-
Die Verarbeitung in Schritt S303 dient zum Berechnen einer Toleranz. In diesem Schritt wird ein gewünschtes Liniensegment in einem vorbestimmten Intervall dreidimensional aufgeteilt, und der maximale Wert des Betrags einer Abweichung (nachstehend der Abweichungsbetragskandidat genannt), der durch jede in Schritt S302 extrahierte Abweichungsfaktortoleranz bewirkt ist, wird mit Bezug auf jeden Teilungspunkt akquiriert. Der Abweichungsbetragskandidat wird durch eine Größe für jede Komponente eines bezüglich des Standardmodells eingestellten Modellkoordinatensystems 503 dargestellt.
-
5 ist ein schematisches Diagramm, das der Abweichungsbetragskandidaten 502 darstellt, welchen die Dimensionstoleranz 404 für einen Teilungspunkt 501 auf dem Liniensegment 401 mit dem gewünschten Liniensegment als das Liniensegment 401 bereitstellt. In diesem Beispiel liegt der Abweichungsbetragskandidat 502 an dem Teilungspunkt 501 nur in einer x-Komponente vor. Alle Teilungspunkte werden dieser Verarbeitung unterzogen.
-
Die Verarbeitung in Schritt S303 dient zum Bestimmen einer Kenngröße. In diesem Schritt wird ein Vektor mit dem maximalen Wert für jede Komponente einer Gruppe des Abweichungsbetragskandidaten an jedem in Schritt S303 berechneten Teilungspunkt erzeugt, und die Größe ”d” des Vektors wird als die Kenngröße einer Abweichung an einem Teilungspunkt angenommen. Dies hat zur Folge, dass der Betrag einer Abweichung akquiriert wird, der alle Toleranzen erfüllt und der Größte bezüglich der Toleranzen ist.
-
Nachstehend wird der Fall beschrieben, dass z. B. drei Abweichungsbetragskandidaten an dem Teilungspunkt
501 vorliegen. Die Abweichungsbetragskandidaten werden als (Komponente x, Komponente y und Komponente z) = (dx1, dy1, dz1), (dx2, dy2, dz2), (dx3, dy3, dz3) angenommen. Die Komponenten x, y und z weisen die Beziehung auf: dx1 > dx2 > dx3, dy3 > dy2 > dy1, und dz2 > dz3 > dz1. In diesem Fall ist der maximale Wert für jede Komponente durch (dx1, dy3, dz2) gegeben, und die Größe ”d” davon wird durch die folgende Gleichung ausgedrückt: [Math. 1]
wobei ”d” als die Kenngröße einer Abweichung an dem Teilungspunkt
501 angenommen wird.
-
Falls in Schritt S305 alle in Schritt S301 extrahierten Liniensegmente bereits der Verarbeitung in den Schritten S302 bis S304 unterzogen worden sind, ist die Verarbeitung abgeschlossen. Falls nicht, fährt die Verarbeitung bei Schritt S306 fort, um ein gewünschtes Liniensegment zu ändern, und kehrt zu Schritt S302 zurück.
-
Ein in Schritt S202 durchgeführtes Verfahren zum Berechnen einer Zuverlässigkeit für jeden Teilungspunkt wird nachstehend beschrieben.
-
Je kleiner die Kenngröße einer Abweichung ist, desto höher wird die Zuverlässigkeit eingestellt. Insbesondere, je höher die Zuverlässigkeit an einem Abschnitt eingestellt ist, der bezüglich einer Bearbeitungsgenauigkeit hoch ist, desto niedriger wird die Zuverlässigkeit an einem Abschnitt eingestellt, der bezüglich einer Bearbeitungsgenauigkeit gering ist. Z. B. wird bei einer Funktion, bei welcher die Kenngröße einer Abweichung schmaler ist, die Zuverlässigkeit durch die folgende Gleichung (1) höher definiert: [Math. 2]
-
In Gleichung (1) ist ”d” die Kenngröße einer Abweichung an dem vorangehenden Teilungspunkt und c1 ist eine Konstante. Die eine Zuverlässigkeit bereitstellende Funktion ist nicht auf die vorstehende Funktion begrenzt, sondern kann irgendeine andere Funktion sein, für welche gilt, dass die Zuverlässigkeit umso höher ist, je kleiner der Betrag einer Abweichung ist. Die berechnete Zuverlässigkeit wird in der Speichereinheit 103 zusammen mit einer aus dem Standardmodell für jedes Liniensegment extrahierten dreidimensionalen Position an dem Teilungspunkt als eine Datenbank gespeichert (6).
-
Die in Schritt S203 durchgeführte Verarbeitung zum Berechnen der Position und der Orientierung eines Objekts wird nachstehend mit Bezug auf das Flussdiagramm von 7 beschrieben.
-
Die Verarbeitung in Schritt S701 dient zum Extrahieren eines Bildmerkmals. In diesem Schritt extrahiert die Merkmalsextraktionseinheit 102 eine Kante, die ein Bildmerkmal ist, aus einem aufgenommenen Bild.
-
Die Verarbeitung in Schritt S702 dient zum Eingeben eines Näherungswerts. In diesem Schritt wird der Näherungswert der Position und der Orientierung des Standardmodells eingegeben.
-
Die Verarbeitung in Schritt S703 dient zum Verknüpfen. In diesem Schritt wird der in der Speichereinheit 103 gespeicherte Teilungspunkt mit der in Schritt S701 extrahierten Kante verknüpft. 8 ist ein schematisches Diagramm, das darstellt, wie eine Verknüpfung durchgeführt wird. Hier wird ein Liniensegment 801 in dem Standardmodell und ein Teilungspunkt 802 davon auf ein Bild unter Verwendung des eingegebenen Näherungswerts der Position und der Orientierung projiziert, eine Kante wird innerhalb eines regulären Bereichs in der Richtung senkrecht zu dem für jeden Teilungspunkt projizierten Liniensegment gesucht, und die nächstliegende Kante wird als ein Punkt 803 angenommen, der dem Teilungspunkt entspricht.
-
Die Verarbeitung in Schritt S704 dient zum Berechnen eines Werts zum Korrigieren der Position und der Orientierung. In diesem Schritt wird eine Koeffizientenmatrix und ein Fehlervektor zum Berechnen der Position und der Orientierung in der Positions- und Orientierungsberechnungseinheit 104 unter Verwendung einer Zuverlässigkeit an jedem Teilungspunkt 802 berechnet. Eine Projektionsposition auf einem Bild an einem Teilungspunkt wird als (ui, 0, vi, 0) angenommen, und ein Erfassungspunkt auf einem Bild an einem Punkt, der dem Teilungspunkt 802 entspricht, wird als (ui', vi') angenommen. Ein Gradient 804 auf dem Bild des Projektionsbilds des Liniensegments 801 auf dem Standardmodell (nachstehend ein Modellliniensegment genannt) einschließlich eines Teilungspunkts (ui, 0, vi, 0) wird als θ angenommen. Eine Gleichung von einer geraden Linie 805, welche durch den entsprechenden Punkt 803 verläuft, und dessen Gradient 804 θ ist, wird durch die Formel (2) ausgedrückt:
-
[Math. 3]
-
- ui sin θi – vi cos θi = di (2) wobei θ eine Konstante ist. Hier wird di (Konstante) ausdrückt durch
-
[Math. 4]
-
-
di = u'i sin θi – v'i cos θi
-
Die Beziehung zwischen der Projektionsposition auf einem Bild des Teilungspunkts 802 und der Position und der Orientierung eines Objekts wird durch die folgenden Gleichungen dargestellt:
-
[Math. 5]
-
-
ui,0 = u(s) vi,0 = v(s) (3)
-
Falls eine kleine Änderung bezüglich der Position und der Orientierung des Objekts als Δs angenommen wird, kann die Gleichung (3) durch die folgende Gleichung (4) linear angenähert werden: [Math. 6]
-
Falls die durch Gleichung (4) ausgedrückte Projektionsposition an dem Teilungspunkt auf der durch Gleichung (2) ausgedrückten geraden Linie liegt, wenn die Position und die Orientierung des Objekts nur durch Δs geändert ist, kann eine durch Gleichung (5) ausgedrückte Gleichung mit Bezug auf Δs erhalten werden: [Math. 7]
wobei r
i eine Konstante ist:
-
[Math. 8]
-
-
ri = ui,0 sin θi – vi,0 cos θi
-
Die mit Bezug auf jeden Teilungspunkt 802 des Liniensegments 801 in dem Standardmodell geltende Gleichung (5) wird als ein Mehrgleichungssystem gelöst, um einen Korrekturwert Δs der Position und der Orientierung des Objekts zu erhalten. Da eine Starrkörpertransformation basierend auf der Position und der Orientierung und die Transformation von einer perspektivischen Projektion auf ein Bild nicht-lineare Transformationen sind, wird die Berechnung des Korrekturwerts Δs und die Korrektur von ”s” wiederholt, um die finale Position und Orientierung des Objekts zu erhalten.
-
In dem vorliegenden exemplarischen Ausführungsbeispiel werden beide Seiten der Gleichung (5) mit einer Zuverlässigkeit h
i des Teilungspunkts als ein Gewicht multipliziert, um den Korrekturwert Δs der Position und der Orientierung zu berechnen, wobei ein Beitrag an dem Teilungspunkt angestiegen ist, der bezüglich einer Bearbeitungsgenauigkeit hoch ist, und wobei ein Beitrag an dem Teilungspunkt verringert ist, der bezüglich einer Bearbeitungsgenauigkeit gering ist. Anders ausgedrückt wird die durch Gleichung (6) ausgedrückte simultane Gleichung gelöst, um den Korrekturwert Δs der Position und der Orientierung zu berechnen. [Math. 9]
wobei Gleichung (6) durch die folgende Gleichung (7) ausgedrückt wird:
-
[Math. 10]
-
-
Eine Näherungsposition und -orientierung wird unter Verwendung des Korrekturwerts Δs korrigiert, der durch Lösen der Gleichung (7) erhalten ist, um die Position und die Orientierung des Objekts zu berechnen.
-
In Schritt S705 werden beide Seiten der Gleichung (7) mit einer verallgemeinerten inversen Matrix (JT·J) – 1·JT einer Matrix J multipliziert, um den Korrekturwert Δs der Position und der Orientierung zu erhalten.
-
[Math. 11]
-
-
Die Verarbeitung in Schritt S706 dient zum Korrigieren der Position und der Orientierung. In diesem Schritt wird der Näherungswert der Position und der Orientierung durch den berechneten Korrekturwert Δs der Position und der Orientierung korrigiert.
-
[Math. 12]
-
-
In Schritt S707 wird eine Konvergenz bestimmt. Falls die Konvergenz durchgeführt wird (JA in Schritt S707), wird die Verarbeitung abgeschlossen. Falls nicht (NEIN in Schritt S707), kehrt die Verarbeitung zu Schritt S701 zurück. Falls bei der Konvergenzbestimmung der Korrekturwert Δs nahe Null ist, oder falls die Quadratsumme eines Fehlervektors R im Vergleich zu vor und nach der Korrektur wenig geändert ist, wird bestimmt, dass die Konvergenz durchgeführt wird.
-
Wie vorstehend beschrieben wird in dem ersten exemplarischen Ausführungsbeispiel ein Verfahren beschrieben zum Erhalten der Position und der Orientierung eines Objekts, in welchem die Kenngröße einer Abweichung eines geometrischen Merkmals, das ein Standardmodell darstellt, aus Toleranzdaten erhalten wird, und je kleiner die Kenngröße einer Abweichung bezüglich des Merkmals ist, desto größer wird das bereitzustellende Gewicht. Ein positives Verwenden eines Merkmals, welches eine hohe Zuverlässigkeit aufweist, ermöglicht ein genaues Schätzen der Position und der Orientierung.
-
In dem ersten exemplarischen Ausführungsbeispiel wird die Kenngröße einer Abweichung des geometrischen Merkmals, das das Objekt von dem Standardmodell darstellt, als ein spezifischer Wert basierend auf der aus der Toleranz berechneten maximalen Abweichung berechnet. Jedoch tritt im Allgemeinen die Abweichung eines Objekts statistisch auf, und ein Merkmal tritt auf, bei welchem die Zuverlässigkeit basierend auf der maximalen Abweichung bestimmt ist, um die Zuverlässigkeit über die Erwartungen hinaus zu verringern. Andererseits bildet eine tatsächliche Toleranz im Allgemeinen eine Normalverteilung mit einem Standardwert als Zentrum aus. Aus diesem Grund stellt die Toleranz keine Differenz mit Bezug auf einen Standard dar, und kann durch eine Wahrscheinlichkeitsverteilung, wie eine Normalverteilung, dargestellt werden. In einem zweiten exemplarischen Ausführungsbeispiel der vorliegenden Erfindung wird ein Verfahren zum Schätzen einer Position und einer Orientierung nachstehend beschrieben, bei welchem die Abweichung eines Merkmals, das das Standardmodell darstellt, durch eine Wahrscheinlichkeitsverteilung dargestellt wird.
-
Der allgemeine Prozessfluss ist ähnlich zu dem in dem ersten exemplarischen Ausführungsbeispiel unter Verwendung von 2 beschriebenen. Im Folgenden wird die in den Schritten S201, S202 und S203 durchgeführte Verarbeitung beschrieben.
-
Die in Schritt S201 durchgeführte Verarbeitung zum Berechnen einer Abweichung von dem Standardmodell wird nachstehend unter Verwendung von 3 beschrieben. Die Prozesse mit Ausnahme von Schritt S304 sind denen in dem ersten exemplarischen Ausführungsbeispiel beschriebenen bezüglich ihrer Inhalte ähnlich, sodass nur der Prozess in Schritt S304 beschrieben wird.
-
In Schritt S304 wird die Verteilung einer Abweichung für jede Komponente aus einer Gruppe von Abweichungsbetragskandidaten an jedem in Schritt S303 berechneten Teilungspunkt erhalten. Die Verteilung einer Abweichung an jedem Teilungspunkt ist unabhängig zwischen Komponenten und folgt einer eindimensionalen Normalverteilung, bei welcher ein Mittelwert für jede Komponente Null ist, und eine Standardabweichung ein Drittel des maximalen Werts der Gruppe von Abweichungsbetragskandidaten beträgt. Ein Fall, bei dem drei Abweichungsbetragskandidaten an dem Teilungspunkt
501 vorliegen, wird als ein Beispiel beschrieben. Es ist davon auszugehen, dass die Abweichungsbetragskandidaten (Komponente x, Komponente y, Komponente z) als (dx1, dy1, dz1), (dx2, dy2, dz2), (dx3, dy3, dz3) angenommen werden und eine Beziehung aufweisen, für welche dx1 > dx2 > dx3, dy3 > dy2 > dy1 und dz2 > dz3 > dz1 gilt. In diesem Fall ist der maximale Wert jeder Komponente (dx1, dy3, dz2) und die Standardabweichung einer Abweichung ist (σx, σy, σz) = (dx1/3, dy3/3, dz2/3). Dadurch wird die Wahrscheinlichkeitsverteilung einer Abweichung für jede Komponente durch die folgende Gleichung ausgedrückt: [Math. 13]
-
Die Verarbeitung zum Berechnen der Zuverlässigkeit und die Verarbeitung zum Schätzen der Position und der Orientierung, welche jeweils in den Schritten S202 und S203 durchgeführt werden, wird nachstehend beschrieben. Ein maximales Likelihood-Schätzverfahren, das für den Fall verwendet wird, dass ein statistischer Fehler sowohl in dem Standardmodell als auch in den Messdaten enthalten ist, wird zunächst beschrieben. Dann wird, wie es für das erste exemplarische Ausführungsbeispiel der Fall ist, ein Fall detailliert beschrieben, bei dem das geometrische Merkmal als der Teilungspunkt eines Liniensegments angenommen wird.
-
Im Folgenden wird das für den Fall verwendete maximale Likelihood-Schätzverfahren, dass ein statistischer Fehler in dem Standardmodell und den Messdaten enthalten ist, beschrieben.
-
Eine Likelihood-Funktion wird berechnet, die anzeigt, wie gut Messdaten angepasst sind. Ein Vektor, der die Merkmalsposition der Messdaten anzeigt, wird als pi angenommen, ein Vektor, der die Merkmalsposition des Standardmodells entsprechend dem Vektor pi anzeigt, wird als qi angenommen, und ein sechsdimensionaler Vektor, der die Position und die Orientierung eines Objekts anzeigt, wird als s angenommen. Es ist davon auszugehen, dass die Merkmalsposition der Messdaten pi, die Merkmalsposition des Standardmodells qi sowie die Position und die Orientierung eines Objekts s eine durch die Gleichung (9) ausgedrückte Beziehung aufweisen. Eine Funktion g umfasst die perspektivische Projektionstransformation, bei welcher ein dreidimensionaler Raum in einen zweidimensionalen Raum transformiert wird, und eine Modellansichtstransformation, bei welcher ein Modellkoordinatensystem in ein Kamerakoordinatensystem transformiert wird.
-
[Math. 14]
-
-
Falls die Abweichung des Standardmodells als Δqi angenommen wird und ein Messfehler als Δpi angenommen wird, wird ein Fehler ei zwischen den Merkmalen des Standardmodells und den Messdaten in einem Messdatenraum durch die folgende Formel (10) linear angenähert: [Math. 15]
-
Falls Δqi und Δpi statistische Fehler sind, umfasst der Fehler ei einen statistischen Fehler, bei welchem ein Mittelwert Null ist, und eine Dispersion wird durch die folgende Gleichung (11) dargestellt: [Math. 16]
-
Falls Δqi und Δpi einer Normalverteilung folgen, folgt der in dem Fehler ei enthaltene statistische Fehler ebenfalls einer Normalverteilung, sodass die Likelihood-Funktion des Fehlers ei durch die folgende Gleichung (12) ausgedrückt wird: [Math. 17]
-
Bei einer maximalen Likelihood-Schätzung wird die Position und die Orientierung des Objekts geschätzt, sodass das Produkt der durch die folgende Gleichung (13) ausgedrückten Likelihood maximiert wird: [Math. 18]
-
Tatsächlich wird die Gleichung (13) durch einen Ausdruck ersetzt, der die Gleichung (14) minimiert, in welcher der Logarithmus des Produkts der Likelihood angenommen wird, und der Sinus davon umgekehrt wird. [Math. 19]
-
In Gleichung (14) ist der erste Term eine Konstante, die von der Position und der Orientierung unabhängig ist, sodass die Gleichung (14) schließlich in einen Ausdruck umgewandelt wird, der die folgende Gleichung (15) minimiert. [Math. 20]
-
Die Gleichung (15) stellt die Quadratsumme des Betrags eines Fehlervektors dar, bei welchem die inverse Matrix einer Dispersion Σi als Zuverlässigkeit gewichtet ist.
-
Im Folgenden wird der Fall beschrieben, dass das geometrische Merkmal als der Teilungspunkt eines Liniensegments angenommen wird.
-
Die Funktion g der Gleichung (9) dient dem Projizieren des Teilungspunkts auf eine Bildoberfläche, und wird durch die folgende Gleichung (16) ausgedrückt:
-
[Math. 21]
-
- g(qi, s) = gu(qi, s)sin θi – gv(qi, s)cos θi (16) wobei [Math. 23]
-
In den Gleichungen (17) und (18) bezeichnet f die Brennweite einer Kamera, xc, yc und zc bezeichnen eine dreidimensionale Position eines Teilungspunkts in dem Kamerakoordinatensystem, xw, yw und zw bezeichnen die Position eines Teilungspunkts in dem Weltkoordinatensystem (objektzentriertes Koordinatensystem), und die Matrizen R und t stellen jeweils die Rotations- und parallelen Translationskomponenten einer Transformationsmatrix von dem Weltkoordinatensystem in das Kamerakoordinatensystem dar.
-
Der Fehler ei wird durch eine Entfernung (ein Skalar) zwischen der Projektionsposition und einem Teilungspunkt und einer durch einen entsprechenden Punkt verlaufenden geraden Linie dargestellt. Falls ein Fehler in einem Gradienten θi der durch den entsprechenden Punkt verlaufenden geraden Linie nicht enthalten ist, wird der Fehler ei durch die folgenden Gleichung (19) ausgedrückt:
-
[Math. 24]
-
-
e1 = g(qi, s) – (u'isin θi – v'icos θi)
= gu(qi, s)sin θi – gv(qi, s)cos θi – (u'i sin θi – v'i cos θi) (19)
-
Der Fehler ei ist ein Skalar, sodass eine Kovarianzmatrix Σi des Fehlers ei {Gleichung (11)} auch ein Skalar ist. In Schritt S202 wird eine Zuverlässigkeit als eine inverse Zahl von Σi berechnet. In Schritt S203 wird der in dem ersten exemplarischen Ausführungsbeispiel unter. Verwendung von 7 beschriebenen Fluss durchgeführt, um die Position und die Orientierung des Objekts zu erhalten. Eine Koeffizientenausdehnungsmatrix und ein in Schritt S704 berechneter Fehlervektor werden erhalten, indem das Gewicht h in Gleichung (6) mit der durch Gleichung (18) berechneten inversen Zahl von Σi ersetzt wird.
-
Ein Verfahren zum Berechnen einer Kovarianzmatrix Σi mit dem geometrischen Merkmal, als das Liniensegment, wird nachstehend detailliert beschrieben.
-
Σpi des ersten Terms auf der rechten Seite der Kovarianzmatrix Σi in Gleichung (11) ist eine Kovarianzmatrix eines von einem Bild erfassten Erfassungsfehlers des Liniensegments. Es ist davon auszugehen, dass der Erfassungsfehler des Liniensegments lediglich in der Richtung einer Suchlinie eine Mehrdeutigkeit aufweist, und einer eindimensionalen Gauss-Verteilung folgt, bei welcher ein Mittelwert Null ist und eine Standardabweichung σ beträgt. Es ist schwierig, σ in einem tatsächlichen Bild zu schätzen. Aus diesem Grund wird angenommen, dass der Erfassungsfehler des Liniensegments hauptsächlich aus einem Quantisierungsfehler eines Bildes resultiert, und σ wird z. B. auf einen Bildpunkt eingestellt. Anders ausgedrückt, Σpi wird 1. Der zweite Term auf der rechten Seite der Kovarianzmatrix Σi in Gleichung (11) ist derjenige, bei welchem beide Seiten der Kovarianzmatrix Σqi des in Schritt S201 erhaltenen Standardmodells mit der Jacobi-Determinante ∂g/∂qi multipliziert wird. Falls angenommen wird, dass die Kovarianzmatrix Σqi einer Abweichung des Standardmodells keine Korrelation zwischen Komponenten aufweist, und die Standardabweichung einer in Schritt S201 erhaltenen Abweichung als (σx, σy, σz) bezeichnet wird, kann die folgende Gleichung (20) erhalten werden. [Math. 25]
-
Die Jacobi-Determinante ∂g/∂qi kann als Gleichung (21) unter Verwendung der Gleichungen (16), (17) und (18) geschrieben werden: [Math. 26]
-
Der zweite Term auf der rechten Seite der Kovarianzmatrix Σi in Gleichung (11) kann unter Verwendung der Gleichungen (20) und (21) erhalten werden.
-
In dem zweiten exemplarischen Ausführungsbeispiel wird ein Verfahren zum Erhalten der Position und der Orientierung basierend auf der aus einer Wahrscheinlichkeitsverteilung berechneten Zuverlässigkeit beschrieben, für den Fall, dass die Abweichung eines aus dem Standardmodell extrahierten Merkmals durch eine Wahrscheinlichkeitsverteilung dargestellt wird.
-
In dem ersten und zweiten exemplarischen Ausführungsbeispiel wird ein Verfahren zum Erhalten der Berechnung einer Abweichung eines Merkmals von dem in Schritt S201 durchgeführten Standardmodell verwendet, aber andere Verfahren können verwendet werden. Z. B. kann eine große Anzahl von Objekten desselben Typs tatsächlich gemessen werden, um die Dispersion einer Form zu erhalten. In dem dritten exemplarischen Ausführungsbeispiel wird eine dreidimensionale Formmessung einer Vielzahl von Objekten durch eine Entfernungsabbildungsvorrichtung durchgeführt, um die Abweichung von dem Standardmodell basierend auf der Dispersion von Ergebnissen der dreidimensionalen Messung der Objekte zu erhalten. Jeder Abtastwert wird von einer Vielzahl von Ansichtspunkten dreidimensional gemessen, um die Form des gesamten Objekts zu messen, und die Ergebnisse werden integriert, um ein Standardmodell, das durch Liniensegmente beschrieben ist, zu erzeugen. Eine Abweichung von dem Standardmodell wird aus der somit erzeugten Vielzahl von Standardmodellen berechnet.
-
Ein Objektmessschritt zum Messen eines Objekts zum Erhalten des Standardmodells kann vor Schritt S201 ausgeführt werden. Es wird angenommen, dass das Standardmodell eines Objekts vorher vorbereitet worden ist, aber es kann basierend auf einer Vielzahl von Standardmodellen erzeugt werden, die aus den Ergebnissen der dreidimensionalen Messung erhalten sind.
-
Ein Verfahren zum Erhalten der Abweichung von dem Standardmodell durch ein tatsächliches Messen eines Objekts wird unter Verwendung eines Flussdiagramms in 9 nachfolgend beschrieben.
-
In Schritt S901 werden die Messdaten eines Objekts an einer Messposition durch die Entfernungsabbildungsvorrichtung akquiriert. Hier beziehen sich die Messdaten eines Objekts auf Punktwolkendaten, und jeder Punkt wird durch die dreidimensionale Position in dem Koordinatensystem der Entfernungsabbildungsvorrichtung dargestellt.
-
Falls Messungen an allen vorbestimmten Messpositionen nicht abgeschlossen sind (NEIN in Schritt S902), fährt die Verarbeitung bei Schritt S903 fort.
-
In Schritt S903 wird die Messposition bewegt. 10 ist ein schematisches Diagramm, das die Messposition darstellt. Eine Messvorrichtung 1002 wird auf einer sphärischen Oberfläche mit einem Objekt 1001 als ein ursprünglicher Punkt in geeigneten Schrittgrößen bewegt, um die Messposition zu bewegen. Nachdem die Messposition bewegt ist, kehrt die Verarbeitung zu Schritt S901 zurück, um die Verarbeitung fortzusetzen. Falls Messungen an allen vorbestimmten Messpositionen abgeschlossen sind (JA in Schritt S902) fährt die Verarbeitung bei Schritt S904 fort. Dadurch wird das Objekt aus einer Vielzahl von Richtungen mehrfach gemessen, um eine Messgenauigkeit zu verbessern.
-
In Schritt S904 werden die Punktwolkendaten, die an einer Vielzahl von Betrachtungspunkten akquiriert sind, in Punktwolkendaten integriert (siehe Nichtpatentliteratur 2). Die integrierten Punktwolkendaten werden in ein Maschenmodell umgewandelt (siehe Nichtpatentliteratur 3). Ein dreidimensionales Liniensegment wird aus dem erzeugten Maschenmodell extrahiert. Die Kreuzungslinie einer Masche mit einem Winkel, der einen bestimmten Wert überschreitet, wird als ein dreidimensionales Liniensegment extrahiert.
-
Falls Messungen von allen vorbestimmten Objekten nicht abgeschlossen sind (NEIN in Schritt S905), fährt die Verarbeitung bei Schritt S906 fort.
-
In Schritt S906 wird ein zu messendes Objekt geändert. Das vorstehende Objekt bezieht sich auf ein Objekt derselben Art und hat den Zweck, Informationen über eine Abweichung für jedes Einzelteil zu erhalten, und das Objekt wird geändert. Nachdem das Objekt geändert ist, kehrt die Verarbeitung zu Schritt S901 zurück, um die Verarbeitung fortzusetzen. Falls Messungen aller vorbestimmter Objekte abgeschlossen sind (JA in Schritt S905), fährt die Verarbeitung bei Schritt S907 fort.
-
In Schritt S907 wird die Abweichung eines dreidimensionalen Liniensegments von dem aus den Ergebnissen der Messung erhaltenen Standardmodell für jedes Objekt berechnet. Es wird angenommen, dass das identische dreidimensionale Liniensegment aus einem individuellen Maschenmodell extrahiert wird. Wie für das erste und zweite exemplarische Ausführungsbeispiel der Fall, wird die Abweichung von dem Standardmodell für jeden Teilungspunkt berechnet, der erhalten wird, wenn das dreidimensionale Liniensegment in einem regulären Intervall aufgeteilt wird.
-
Wie vorstehend beschrieben wird in dem dritten exemplarischen Ausführungsbeispiel das Verfahren beschrieben zum Erhalten der Dispersion einer Form eines tatsächlichen Objekts aus dem Standardmodell. Dies ermöglicht, dass die Position und die Orientierung genau geschätzt wird, indem die Dispersion durch eine tatsächliche Messung geschätzt wird, und das Ergebnis verwendet wird, sogar falls Informationen über eine Dispersion nicht vorher als Toleranzdaten erhalten sind.
-
In dem ersten, zweiten und dritten exemplarischen Ausführungsbeispiel wird das Verfahren zum Beschreiben der Form eines Objekts als ein Satz an Liniensegmenten beschrieben, aber die Form eines Objekts kann zusätzlich dazu durch ein weiteres Merkmal beschrieben werden. Die Form eines Objekts kann z. B. als ein Satz an Punkten beschrieben werden. Wie es für die in dem ersten und zweiten exemplarischen Ausführungsbeispiel beschriebenen Verfahren der Fall ist, wird die Dispersion von dem Standardmodell mit Bezug auf jeden Punkt berechnet, der ein Objekt darstellt, um die Dispersion als ein Gewicht beim Schätzen der Position und der Orientierung des Objekts zu verwenden. Hier ist davon auszugehen, dass ein Skalargewicht hi berechnet wird, wie es für das erste exemplarische Ausführungsbeispiel der Fall ist. Falls die Näherungsposition und -orientierung des Objekts bereitgestellt wird, gilt die folgende Beobachtungsgleichung mit Bezug auf die Messdaten: [Math. 27]
-
In Gleichung (22) sind u'i und v'i Erfassungspositionen und ui und vi sind Positionen von Punkten auf einem Bild, das durch die Näherungsposition und -orientierung berechnet ist.
-
Die Gleichung, bei welcher beide Seiten der Gleichung (22), die mit Bezug auf alle Punkte gilt, mit dem Gewicht hi multipliziert werden, wird als ein Mehrgleichungssystem mit Bezug auf einen Korrekturwert Δsi der Position und Orientierung angenommen, um die Gleichung (23) zu erhalten: [Math. 28]
-
Der Prozess wird wiederholt, bei welchem die Gleichung (23) gelöst wird, um den Korrekturwert Δsi der Position und der Orientierung zu berechnen, um eine Näherungsposition und -Orientierung zu korrigieren, wodurch die finale Position und Orientierung eines Objekts berechnet wird.
-
In der Beschreibung des ersten, zweiten und dritten exemplarischen Ausführungsbeispiels werden Messdaten als das durch eine Kamera aufgenommene zweidimensionale Bild angenommen, aber die Messdaten können als die von der Entfernungsabbildungsvorrichtung akquirierten dreidimensionalen Punktwolkendaten angenommen werden. Der Prozess, bei welchem die Messdaten als die dreidimensionalen Punktwolkendaten angenommen werden, wird nachstehend beschrieben.
-
Ein in Schritt S201 durchgeführtes Verfahren zum Berechnen einer Abweichung unter Verwendung von Toleranzdaten wird mit Bezug auf die 10 und 11 beschrieben. Hier wird angenommen, dass das Standardmodell eines Objekts als ein Satz an Oberflächen beschrieben wird, und die Kenngröße einer Abweichung wird für jede Oberfläche eingestellt.
-
In Schritt S1101 wird die Abweichungsfaktortoleranz einer gewünschten Oberfläche extrahiert. Die Abweichungsfaktortoleranz bedeutet eine Toleranz für einen Grat und eine Oberfläche einschließlich der gewünschten Oberfläche. Falls eine aus dem Standardmodell 400 extrahierte Oberfläche 1201 (12) als eine gewünschte Oberfläche angenommen wird, wird ein Rest, bei welchem Dimensionstoleranzen 402 und 403 und Ebenheitstoleranzen 405 und 407, welche einen Fehler in der Richtung orthogonal zu einer Normalen einer Oberfläche bereitstellen, die bei einer Positions- und Orientierungsschätzung nicht beiträgt, von Dimensionstoleranzen 402 bis 404 und Ebenheitstoleranzen 405 bis 407 subtrahiert, welche Toleranzen für einen Grat und eine Oberfläche einschließlich der Oberfläche 1201 darstellen; anders ausgedrückt, die Dimensionstoleranz 404 sowie die Ebenheitstoleranz 406 wird zu der Abweichungsfaktortoleranz.
-
In Schritt S1102 wird die maximale Abweichung (der Abweichungsbetragskandidat) erhalten, welche jede in Schritt S1102 extrahierte Abweichungsfaktortoleranz für die gewünschte Oberfläche bereitstellt. Der Betrag einer Abweichung wird als eine Abweichung eines Schwerpunkts einer Oberfläche mit Bezug auf das Standardmodell angenommen.
-
In Schritt S1103 wird der maximale Abweichungsbetragskandidat unter den Abweichungskandidaten eines Schwerpunkts einer Oberfläche, die gegenwärtig mit Bezug auf das Standardmodell im Fokus ist, als eine Kenngröße einer Abweichung der Oberfläche extrahiert.
-
Falls bestimmt wird, dass der Prozess für alle Oberflächen abgeschlossen ist (JA in Schritt S1104), wird der Prozess beendet. Falls nicht (NEIN in Schritt S1104), wird die gewünschte Oberfläche in Schritt S1105 geändert, und die Verarbeitung kehrt zu Schritt S1102 zurück.
-
Ein in Schritt S202 durchgeführtes Verfahren zum Berechnen einer Zuverlässigkeit wird nachstehend beschrieben. Eine Zuverlässigkeit wird basierend auf Gleichung (1) mit Bezug auf die Kenngröße einer Abweichung jeder vorstehend beschriebenen Oberfläche erhalten.
-
Schließlich wird ein in Schritt S203 durchgeführtes Verfahren zum Berechnen der Position und der Orientierung nachstehend beschrieben. Das Berechnungsverfahren ist zu dem in dem ersten exemplarischen Ausführungsbeispiel beschriebenen im Wesentlichen ähnlich, sodass nur unterschiedliche Abschnitte nachstehend zusätzlich beschrieben werden.
-
In Schritt S701 werden dreidimensionale Punktwolkendaten aus dem durch die Entfernungsabbildungsvorrichtung aufgenommenen Kontrastbild extrahiert.
-
Die in Schritt S703 durchgeführte Verknüpfung wird nachstehend beschrieben. Wie in 12 dargestellt, wird eine Oberfläche entsprechend der Normalenrichtung von jedem Punkt einer Messpunktwolke gesucht. Eine Oberfläche, die eine Suchlinie kreuzt, wird als eine entsprechende Oberfläche unter der Annahme angenommen, dass das Standardmodell in das Koordinatensystem der Entfernungsabbildungsvorrichtung basierend auf der Näherungsposition und -orientierung umgewandelt wird.
-
Ein in Schritt S704 durchgeführtes Verfahren zum Berechnen einer Koeffizientenmatrix und eines Fehlervektors wird nachstehend beschrieben. Eine Gleichung einer aus dem Standardmodell extrahierten Oberfläche in dem Objektkoordinatensystem wird als ax + by + cz = k angenommen. Falls der Positions- und Orientierungskorrekturwert eines Objekts als Δs angenommen wird, und jeder Punkt der Punktwolkendaten auf der Oberfläche des entsprechenden Standardmodells durch die Korrektur angeordnet ist, wird die folgende Gleichung (24) erhalten. [Math. 29]
wobei l = ax0 + by0 + cz0 (konstant).
-
Beide Seiten der Gleichung (24) werden mit der Zuverlässigkeit hi einer Oberfläche einschließlich eines Steuerungspunkts multipliziert, und alle Teilungspunkte werden einer Reihe an Prozessen unterzogen, wodurch das folgende Mehrgleichungssystem (
25) bereitgestellt wird: [Math. 30]
-
In Schritt S705 wird die Gleichung (25) gelöst, um den Korrekturwert Δsi der Position und der Orientierung zu berechnen, und der Korrekturwert Δsi wird verwendet, um die Näherungsposition und -Orientierung zu korrigieren.
-
In einem Beispiel der Modifikation wird das Verfahren beschrieben, bei welchem das Standardmodell eines Objekts als ein Satz an Oberflächen beschrieben ist, aber das Standardmodell kann als andere Merkmale beschrieben werden. Z. B. kann das Standardmodell als Punktwolkendaten beschrieben werden.
-
In dem exemplarischen Ausführungsbeispiel und dem Beispiel der vorstehend beschriebenen Modifikation wird angenommen, dass die Näherungsposition und -orientierung eines Objekts bereitgestellt wird und wiederholt wird, um die finale Position und Orientierung zu berechnen. Das Verfahren zum Berechnen der Position und der Orientierung ist jedoch nicht auf das Vorstehende begrenzt, sondern die Position und die Orientierung kann direkt berechnet werden, falls die Näherungsposition und -orientierung unbekannt ist. Falls z. B. Messdaten Merkmalspunkte auf dem zweidimensionalen Bild darstellen, gilt allgemein, dass die Position und die Orientierung durch eine direkte lineare Transformation (DLT: ”direkt linear transform”) direkt berechnet wird (siehe Nichtpatentliteratur 4). Das DLT-Verfahren dient zum Berechnen von drei Variablen, die die Position eines Objekts darstellen, und neun Variablen, die jedes Element einer Rotationsmatrix darstellen, die eine Orientierung darstellt, indem ein lineares Mehrgleichungssystem gelöst wird, und zwölf unbekannte Variablen aufweist. Zwei Gleichungen gelten mit Bezug auf jeden Punkt, sodass zumindest sechs Teile von Messdaten benötigt werden. Wie in dem ersten exemplarischen Ausführungsbeispiel beschrieben, wird jede Gleichung mit einem Gewicht basierend auf der Abweichung von dem Standardmodell beim Lösen der simultanen Gleichung multipliziert, um vorzugsweise ein Verwenden von Informationen über einen Abschnitt, der eine hohe Bearbeitungsgenauigkeit aufweist, zuzulassen.
-
Das Verfahren zum direkten Berechnen der Position und der Orientierung ist auf das vorstehende Verfahren nicht begrenzt, aber die vorstehend beschriebenen zwölf Variablen können basierend auf der Entsprechung des dreidimensionalen Punkts berechnet werden. Das Merkmal kann basierend auf der Korrespondenz eines Liniensegments sowie eines Punkts berechnet werden (siehe Nichtpatentliteratur 5).
-
In den exemplarischen Ausführungsbeispielen und dem vorstehend beschriebenen Beispiel der Modifikation wird der Betrag einer Abweichung von dem Standardmodell als eine Entfernung zwischen Punkten, bei welcher ein Liniensegment in gleichmäßig beabstandete Intervalle aufgeteilt wird, oder eine Entfernung zwischen Schwerpunkten einer Oberfläche angenommen, aber der Betrag einer Abweichung kann als andere anstelle der vorstehenden Entfernungen angenommen werden. Falls ein Liniensegment als ein Merkmal verwendet wird, kann eine Entfernung zwischen den Liniensegmenten als der Betrag einer Abweichung angenommen werden. Die Entfernung zwischen den Liniensegmenten wird als die Entfernung angenommen, welche die kürzeste Entfernung zwischen den Endpunkten eines Liniensegments darstellt, und die Entfernung zwischen dem Endpunkt eines Liniensegments und der Kreuzung einer normalen Linie, die sich von dem Endpunkt erstreckt, und einem anderen Liniensegment. Falls eine Oberfläche als ein Merkmal behandelt wird, kann eine Ebenheit als der Betrag einer Abweichung angenommen werden. Die Ebenheit wird als eine Differenz zwischen dem maximalen Wert (Spitzenpunkt) und dem minimalen Wert (Tiefpunkt) einer Unebenheit einer Oberfläche angenommen. Der Fluss zum Berechnen des Betrags einer Abweichung ist zu dem in 3 oder 9 beschriebenen ähnlich, und kann realisiert werden, indem das Merkmal und der Betrag einer Abweichung mit einem Liniensegment und einer Entfernung zwischen Liniensegmenten oder einer Oberfläche und einer Ebenheit ersetzt wird.
-
Es ist zu beachten, dass die vorliegende Erfindung auf eine Vorrichtung, die eine einzelne Vorrichtung aufweist, oder auf ein System angewendet werden kann, das aus einer Vielzahl von Vorrichtungen besteht.
-
Außerdem kann die Erfindung implementiert werden, indem ein Softwareprogramm, welches die Funktionen der vorstehenden Ausführungsbeispiele implementiert, direkt oder indirekt einem System oder einer Vorrichtung zugeführt wird, der zugeführte Programmcode mit einem Computer des Systems oder der Vorrichtung ausgelesen wird, und dann der Programmcode ausgeführt wird. In diesem Fall muss sich der Modus einer Implementierung nicht auf ein Programm verlassen, solange das System oder die Vorrichtung die Funktionen des Programms aufweist.
-
Da die Funktionen der vorliegenden Erfindung durch einen Computer implementiert werden, implementiert dementsprechend der in dem Computer installierte Programmcode auch die vorliegende Erfindung. Anders ausgedrückt, die Ansprüche der vorliegenden Erfindung decken auch ein Computerprogramm für den Zweck eines Implementierens der Funktionen der vorliegenden Erfindung ab.
-
In diesem Fall kann das Programm in irgendeiner Form ausgeführt werden, wie etwa ein Objektcode, ein durch einen Interpreter ausgeführtes Programm, oder einem Betriebssystem zugeführte Skriptdaten, solange das System oder die Vorrichtung die Funktionen des Programms aufweist.
-
Beispiele von Speichermedien, die zum Zuführen des Programms verwendet werden können, sind eine Diskette, eine Festplatte, eine optische Platte, eine magnetooptische Platte, eine CD-ROM, eine CD-R, eine CD-RW, ein magnetisches Band, eine nichtbeschreibbare Speicherkarte, ein ROM und eine DVD (DVD-ROM und DVD-R).
-
Mit Bezug auf das Verfahren zum Zuführen des Programms kann ein Client-Rechner mit einer Webseite im Internet unter Verwendung eines Browsers des Client-Rechners verbunden werden, und das Computerprogramm der vorliegenden Erfindung oder eine automatisch installierbare komprimierte Datei des Programms kann auf ein Aufzeichnungsmedium, wie etwa eine Festplatte, heruntergeladen werden. Ferner kann das Programm der vorliegenden Erfindung zugeführt werden, indem der Programmcode, der das Programm darstellt, in eine Vielzahl von Dateien aufgeteilt wird, und indem die Dateien von unterschiedlichen Webseiten heruntergeladen werden. Anders ausgedrückt, ein WWW-(”World Wide Web”)Server, der an eine Vielzahl von Nutzern die Programmdateien herunterlädt, die die Funktionen der vorliegenden Erfindung durch einen Computer implementieren, wird auch durch die Ansprüche der vorliegenden Erfindung abgedeckt.
-
Es ist auch möglich, das Programm der vorliegenden Erfindung auf einem Speichermedium, wie etwa eine CD-ROM, zu verschlüsseln und zu speichern, das Speichermedium an Nutzer zu verteilen, Nutzern, welche bestimmte Erfordernisse erfüllen, zu ermöglichen, Entschlüsselungsschlüsselinformationen von einer Webseite über das Internet herunterzuladen, und diesen Nutzern zu ermöglichen, das verschlüsselte Programm zu entschlüsseln, indem die Schlüsselinformationen verwendet werden, wodurch das Programm auf dem Nutzercomputer installiert wird.
-
Neben den Fällen, in denen die vorstehend beschriebenen Funktionen gemäß den Ausführungsbeispielen implementiert werden, indem das Ausleseprogramm durch einen Computer ausgeführt wird, kann ein Betriebssystem oder dergleichen, das auf dem Computer läuft, alle oder einen Teil der tatsächlichen Verarbeitung durchführen, sodass die Funktionen der vorstehenden Ausführungsbeispiele durch diese Verarbeitung implementiert werden können.
-
Nachdem das von dem Speichermedium ausgelesene Programm auf eine Funktionserweiterungskarte geschrieben worden ist, die in den Computer eingeführt ist, oder in einen Speicher, der in einer mit dem Computer verbundenen Funktionserweiterungseinheit bereitgestellt ist, führt außerdem eine CPU oder dergleichen, die sich auf der Funktionserweiterungskarte oder in einer Funktionserweiterungseinheit befindet, alle oder einen Teil der tatsächlichen Verarbeitung durch, sodass die Funktionen der vorstehenden Ausführungsbeispiele durch diese Verarbeitung implementiert werden können.
-
Während die vorstehende Erfindung mit Bezug auf exemplarische Ausführungsbeispiele beschrieben worden ist, ist zu verstehen, dass die Erfindung auf die offenbarten exemplarischen Ausführungsbeispiele nicht begrenzt ist. Der Umfang der folgenden Ansprüche umfasst die breiteste Interpretation, um alle Modifikationen, äquivalenten Strukturen und Funktionen zu umfassen.
-
Diese Anmeldung beansprucht die Priorität der am 25. Februar 2010 eingereichten
japanischen Patentanmeldung Nr. 2010-040595 , welche hiermit durch Bezugnahme in ihrer Gesamtheit enthalten ist.
-
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
-