DE102013216902A1 - Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Programm - Google Patents

Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Programm Download PDF

Info

Publication number
DE102013216902A1
DE102013216902A1 DE102013216902.7A DE102013216902A DE102013216902A1 DE 102013216902 A1 DE102013216902 A1 DE 102013216902A1 DE 102013216902 A DE102013216902 A DE 102013216902A DE 102013216902 A1 DE102013216902 A1 DE 102013216902A1
Authority
DE
Germany
Prior art keywords
model
orientation
target object
geometric feature
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102013216902.7A
Other languages
English (en)
Inventor
Daisuke Watanabe
Kazuhiko Kobayashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of DE102013216902A1 publication Critical patent/DE102013216902A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

Es ist eine Informationsverarbeitungsvorrichtung offenbart. Ein Bild, das ein Zielobjekt umfasst, wird aufgenommen. Eine grobe Position und Orientierung des Zielobjekts wird erfasst. Informationen einer Vielzahl von Modellen, die eine Form des Zielobjekts mit unterschiedlicher Genauigkeit bezeichnen, werden gespeichert. Ein geometrisches Merkmal des Zielobjekts in dem aufgenommenen Bild wird mit einem geometrischen Merkmal verknüpft, das durch zumindest eines der Vielzahl von Modellen bezeichnet wird, die mit der groben Position und Orientierung platziert sind. Eine Position und Orientierung des Zielobjekts wird basierend auf dem Verknüpfungsergebnis geschätzt.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Technik zum Erfassen der Position und der Orientierung eines Zielobjekts mit einer dreidimensionalen Form.
  • Beschreibung des Standes der Technik
  • Es gibt eine „Model-Based Vision” bzw. modellbasiertes Sehen genannte Technik, die die Entsprechung zwischen einem dreidimensionalen Punkt, der von der Oberflächenposition eines Zielobjekts durch „Range Imaging” bzw. Abstandsbildgebung oder dergleichen erfasst wird, und einem geometrischen Merkmal erhält, das aus einem dreidimensionalen Formmodell des Zielobjekts extrahiert wird, und die Position und Orientierung des Zielobjekts durch Verwendung des Abstands zwischen den korrespondierenden Punkten als Bewertungsfunktion schätzt. Diese Technik erfordert vorab ein dreidimensionales Formmodell bzw. ein Modell einer dreidimensionalen Form eines Zielobjekts, um Positions- und Orientierungsparameter zu schätzen. Verfahren zum Erhalten solcher dreidimensionaler Formmodelle umfassen ein Verfahren, das die durch CAD-Software erhaltenen Entwurfsdaten verwendet, und ein Verfahren, das ein Polygonmodell verwendet, das die Form eines Zielobjekts imitiert bzw. nachahmt (annähert).
  • Die Form eines Objekts darstellende CAD-Daten drücken die Form durch Kombination einer Vielzahl von Teilformen aus, die durch Parameter ausgedrückt werden. Jede Teilform besteht aus einer Oberfläche und einer Kurve, die die Kontur bzw. den Umriss der Oberfläche definiert. Jede Oberfläche wird ausgedrückt durch eine analytische gekrümmte Fläche, wie etwa eine gekrümmte Fläche eines kreisförmigen Konus bzw. Kegels oder eines Torus bzw. Rings, oder eine freie gekrümmte Fläche, wie etwa eine gekrümmte Fläche von einem B-Spline oder eine gekrümmte NURBS-Fläche. Die durch diese Parameter ausgedrückte Oberfläche hat den Vorteil, dass sie in der Lage ist, eine komplexe Form einer gekrümmten Fläche mit einer geringen Menge an Informationen auszudrücken. Daher können geometrische Merkmale auf/von einem Modell bei der Schätzung der Position und Orientierung eines Objekts mit hoher Genauigkeit berechnet werden, indem die Parameter für jede Oberfläche verwendet werden, die CAD-Daten aufweist, und wird somit eine genaue Verarbeitung ermöglicht. Dies macht es möglich, eine Verarbeitung mit hoher Genauigkeit durchzuführen. Andererseits erfordert diese Verarbeitung komplexe geometrische Berechnungen für freie gekrümmte Flächen, wie etwa gekrümmte NURBS-Flächen, beim Berechnen von Punkten auf Oberflächen oder beim Durchführen einer Entsprechungssuche mit dreidimensionalen Punkten. Zusätzlich ist es beim Durchführen einer Innen/Außen-Bestimmung mit Bezug auf eine Kontur- bzw. Umrisslinie notwendig, komplexe Berechnungen durchzuführen, was zu einer langen Verarbeitungszeit führt.
  • Andererseits drückt ein Polygonmodell eine Objektform durch eine Kombination von polygonalen bzw. mehreckigen Flächen aus. Ein Polygonmodell erlaubt die Berechnung von Punkten auf Oberflächen und eine Entsprechungssuche unter Verwendung von dreidimensionalen Punkten mit einfachen geometrischen Berechnungen, und es hat den Vorteil, eine geringe Rechenlast aufzuweisen. Dagegen tritt eine Differenz bzw. ein Unterschied zwischen der Objektform und dem Modell auf, da eine Objektform polygonal angenähert ist. Es gibt ein Verfahren zum Reduzieren dieser Differenz bzw. dieses Unterschieds durch Annähern einer Oberfläche mit einem Satz von sehr kleinen Polygonen. Die Gesamtzahl an erforderlichen Polygonen steigt jedoch exponentiell an, wenn eine zulässige Differenz bzw. ein zulässiger Unterschied kleiner wird.
  • Als Gegenmaßnahmen gegen Probleme bei/mit den jeweiligen Modellen gibt es Verfahren zum Implementieren einer schnellen und genauen Verarbeitung durch Kombination eines durch Parameter wie etwa CAD-Daten ausgedrückten Modells und eines Polygonmodells.
  • Zum Beispiel offenbart die japanische Patentoffenlegungsschrift Nr. 2009-020671 ein Verfahren zum Halten bzw. Speichern, im Voraus, eines Modells, das eine Kombination von Parametern, die eine gekrümmte Oberflächenform ausdrücken, und einem Polygonmodell aufweist, das die Form annähert, und zum Verwenden von diesem beim Berechnen eines Abstandswerts von der Bezugsoberfläche zu der gekrümmten Oberflächenform mit Bezug auf jeden Knoten eines Gitters auf der Bezugsoberfläche. Dieses Verfahren leitet die Koordinaten der Schnittpunkte zwischen Polygonen und geraden Linien her, die sich ausgehend von den jeweiligen Gitterpunkten vertikal zu einer Bezugsoberfläche erstrecken, und berechnet dann die Abstände von den Schnittpunkten zu einer gekrümmten Oberflächenform aus den Parametern der gekrümmten Oberflächenform, wodurch die Abstände von den Knoten zu der gekrümmten Oberflächenform korrigiert werden.
  • Beim Berechnen der Abstände zwischen den jeweiligen Gitterpunkten auf einer Bezugsoberfläche und einer gekrümmten Oberfläche berechnet das vorgenannte Verfahren zunächst mit einer hohen Geschwindigkeit grobe Abstände über Polygone, und modifiziert es dann die groben Abstände durch Berechnung von genauen Abständen zu der mit den Polygonen in Zusammenhang stehenden gekrümmten Oberfläche aus den Parametern der gekrümmten Oberfläche, wodurch beide Anforderungen nach hoher Geschwindigkeit und hoher Genauigkeit erfüllt werden. Dieses Verfahren erhält die Entsprechungsbeziehung zwischen den jeweiligen Gitterpunkten auf einer Bezugsoberfläche und einem Modell. Das Verfahren führt jedoch keine Entsprechungssuche mit Punkten in einem beliebigen dreidimensionalen Raum durch, und daher kann es nicht direkt auf die Positionierung zwischen dem Modell und den dreidimensionalen Punkten angewandt werden, die aus einem Abstandsbild des Zielobjekts erhalten werden.
  • KURZFASSUNG DER ERFINDUNG
  • Gemäß einem Ausführungsbeispiel umfasst eine Informationsverarbeitungsvorrichtung: eine Bildaufnahmeeinrichtung zum Aufnehmen eines Bilds, das ein Zielobjekt umfasst; eine Einrichtung zum Erfassen einer groben Position und Orientierung des Zielobjekts; eine Speichereinrichtung zum Speichern von Informationen einer Vielzahl von Modellen, die eine Form des Zielobjekts mit unterschiedlicher Genauigkeit bezeichnen; eine Verknüpfungseinrichtung zum Verknüpfen eines geometrischen Merkmals des Zielobjekts in dem aufgenommenen Bild mit einem geometrischen Merkmal, das durch zumindest eines der Vielzahl von Modellen bezeichnet wird, die mit der groben Position und Orientierung platziert sind; und eine Schätzeinrichtung zum Schätzen einer Position und Orientierung des Zielobjekts basierend auf dem Verknüpfungsergebnis.
  • Die Erfindung stellt in ihrem zweiten Aspekt ein Informationsverarbeitungsverfahren bereit, wie es in Patentanspruch 16 spezifiziert ist.
  • Gemäß einem weiteren Ausführungsbeispiel umfasst ein Informationsverarbeitungsverfahren: Aufnehmen eines Bilds, das ein Zielobjekt umfasst; Erfassen einer groben Position und Orientierung des Zielobjekts; Speichern von Informationen einer Vielzahl von Modellen, die eine Form des Zielobjekts mit unterschiedlicher Genauigkeit bezeichnen; Verknüpfen eines geometrischen Merkmals des Zielobjekts in dem aufgenommenen Bild mit einem geometrischen Merkmal, das durch zumindest eines der Vielzahl von Modellen bezeichnet wird, die mit der groben Position und Orientierung platziert sind; und Schätzen einer Position und Orientierung des Zielobjekts basierend auf dem Verknüpfungsergebnis.
  • Gemäß einem noch weiteren Ausführungsbeispiel weist ein Programm einem Computer an zum: Aufnehmen eines Bilds, das ein Zielobjekt umfasst; Erfassen einer groben Position und Orientierung des Zielobjekts; Speichern von Informationen einer Vielzahl von Modellen, die eine Form des Zielobjekts mit unterschiedlicher Genauigkeit bezeichnen; Verknüpfen eines geometrischen Merkmals des Zielobjekts in dem aufgenommenen Bild mit einem geometrischen Merkmal, das durch zumindest eines der Vielzahl von Modellen bezeichnet wird, die mit der groben Position und Orientierung platziert sind; und Schätzen einer Position und Orientierung des Zielobjekts basierend auf dem Verknüpfungsergebnis.
  • Weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung von beispielhaften Ausführungsbeispielen (unter Bezugnahme auf die beigefügte Zeichnung) deutlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • 1 ist ein Blockschaltbild, das ein Beispiel der funktionalen Ausgestaltung einer Informationsverarbeitungsvorrichtung 1 zeigt;
  • 2A und 2B sind Ansichten zur Erläuterung eines Polygonmodells und eines Modells einer stückweisen parametrischen gekrümmten Oberfläche;
  • 3 ist ein Ablaufdiagramm, das eine durch eine Informationsverarbeitungsvorrichtung 1 durchgeführte Verarbeitung zeigt;
  • 4 ist ein Ablaufdiagramm, das eine durch die Informationsverarbeitungsvorrichtung 1 durchgeführte Verarbeitung zeigt;
  • 5 ist ein Blockschaltbild, das ein Beispiel der funktionalen Ausgestaltung einer Informationsverarbeitungsvorrichtung 2 zeigt;
  • 6 ist ein Ablaufdiagramm, das eine durch die Informationsverarbeitungsvorrichtung 2 durchgeführte Verarbeitung zeigt;
  • 7A und 7B sind Ansichten, die dreidimensionale Punkte in einem Modellkoordinatensystem zeigen;
  • 8 ist ein Ablaufdiagramm, das eine durch die Informationsverarbeitungsvorrichtung 2 durchgeführte Verarbeitung zeigt;
  • 9 ist ein Blockschaltbild, das die Ausgestaltung eines Systems zeigt; und
  • 10 ist ein Ablaufdiagramm, das den Betrieb des Systems zeigt.
  • BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
  • Die beispielhaften Ausführungsbeispiele der vorliegenden Erfindung werden nachstehend unter Bezugnahme auf die beigefügte Zeichnung beschrieben. Es ist zu beachten, dass die nachstehend beschriebenen Ausführungsbeispiele jeweils ein Beispiel einer konkreten Ausführung der vorliegenden Erfindung darstellen und eines von konkreten Ausführungsbeispielen der Ausgestaltung darstellen, die in dem Umfang der Patentansprüche beschrieben ist.
  • Gemäß mehreren Ausführungsbeispielen ist es möglich, den Abstand zwischen den korrespondierenden Punkten zwischen einem Zielobjekt und einem Modell, das die Form des Zielobjekts imitiert bzw. nachahmt, mit hoher Geschwindigkeit genau zu berechnen.
  • Verschiedene Ausführungsbeispiele sind konfiguriert, um bei einer Verarbeitung verwendete Modellinformationen aus einer Vielzahl von Modellinformationen auszuwählen, die sich hinsichtlich der Reproduzierbarkeit bzw. Darstellbarkeit für eine Zielobjektform unterscheiden. Durch Auswahl von Modellinformationen, die für eine Verarbeitung geeignet sind, kann der Abstand zwischen den korrespondierenden Punkten eines Zielobjekts und eines Modells, das die Form des Zielobjekts imitiert bzw. nachahmt, mit hoher Geschwindigkeit genau berechnet werden. Genauer gesagt werden bei dem ersten Ausführungsbeispiel zu verwendende Modellinformationen gemäß definierten Bedingungen basierend zum Beispiel auf einer Restdifferenz oder einer Modifikationszählung ausgewechselt. Bei dem ersten Ausführungsbeispiel und seiner Abwandlung ist es möglich, unterschiedliche Modellinformationen in den jeweiligen Wiederholungen zu verwenden, wenn Positions- und Orientierungsinformationen durch einen iterativen Vorgang modifiziert bzw. geändert werden. Zusätzlich ist es bei dem ersten Ausführungsbeispiel und seiner Abwandlung möglich, unterschiedliche Modellinformationen an den jeweiligen Punkten auf einem Zielobjekt zu verwenden, wenn der Abstand zwischen den korrespondierenden Punkten berechnet wird. Bei dem zweiten Ausführungsbeispiel und seiner Abwandlung ist es möglich, Modellinformationen zum Bestimmen der Entsprechungsbeziehung zwischen einem Zielobjekt und einer Modelloberfläche und andere Modellinformationen zum Berechnen des Abstands zwischen dem Zielobjekt und der Modelloberfläche auszuwählen. Wie es vorstehend beschrieben ist, ist es bei den folgenden Ausführungsbeispielen möglich, eine Verarbeitung durch gleichzeitige Verwendung einer Vielzahl von Modellinformationen durchzuführen, wenn eine Positionierung zwischen einem Zielobjekt und einem Modell durchgeführt wird, das die Form des Zielobjekts imitiert bzw. nachahmt.
  • [Erstes Ausführungsbeispiel]
  • Dieses Ausführungsbeispiel ist gerichtet auf die Verarbeitung zum Erhalten der Position und Orientierung eines Zielobjekts durch Verwendung der dreidimensionalen Punkte (Punkte auf einer Oberfläche des Zielobjekts), die aus einem Abstandsbild des Zielobjekts erhalten werden, dessen Position und Orientierung erhalten werden soll, und eines Modells, das die Form des Zielobjekts annähert. Dabei werden bei diesem Ausführungsbeispiel ein Polygonmodell, das die Form eines Zielobjekts mit Polygonen annähert, und ein Modell einer stückweisen parametrischen gekrümmten Oberfläche, das die Form des Zielobjekts mit einer parametrischen gekrümmten Oberfläche annähert, zur Verwendung für jeden dreidimensionalen Punkt ausgewechselt.
  • Es ist möglich, nach korrespondierenden Punkten, die den jeweiligen dreidimensionalen Punkten auf einer Oberfläche eines Zielobjekts entsprechen, durch Verwendung eines Polygonmodells mit einer höheren Geschwindigkeit zu suchen als durch Verwendung eines Modells einer stückweisen parametrischen gekrümmten Oberfläche. Da jedoch die Form des Polygonmodells eine Annäherungsdifferenz gegenüber der Form des Zielobjekts einschließt, ist es nicht möglich, die Abstände zwischen korrespondierenden Punkten zwischen dem Zielobjekt und dem Polygonmodell genau zu berechnen.
  • Eine Verwendung eines Modells einer stückweisen parametrischen gekrümmten Oberfläche kann die vorgenannten Abstände genau berechnen. Da es jedoch notwendig ist, auf jeder parametrischen gekrümmten Oberfläche einen effektiven Bereich zu bestimmen, der eine Objektform darstellt, braucht es sehr viel Zeit, Berechnungen durchzuführen.
  • Bei diesem Ausführungsbeispiel wird ein Polygonmodell als ein Modell ausgewählt, das als Nächstes zu verwenden ist, um zum eine Positions- und Orientierungsberechnung mit hoher Geschwindigkeit durchzuführen, falls die Differenzen zwischen einem momentan verwendeten Modell und dreidimensionalen Punkten groß sind. Falls die Differenzen zwischen einem momentan verwendeten Modell und dreidimensionalen Punkten klein sind, wird ein Modell einer stückweisen parametrischen gekrümmten Oberfläche als ein Modell ausgewählt, das als Nächstes zu verwenden ist, um eine Positions- und Orientierungsberechnung mit hoher Genauigkeit durchzuführen.
  • Es ist zu beachten, dass dieses Ausführungsbeispiel konfiguriert ist, um eine Positionierung durch Wiederholung einer Positions- und Orientierungsmodifikation auszuführen, um so den Abstand zwischen den korrespondierenden Punkten zwischen einem dreidimensionalen Punkt auf einer Objektoberfläche und einer Modelloberfläche zu minimieren. Bei diesem Ausführungsbeispiel wird eine Restdifferenz bei einer Positionierung mit Bezug auf einen dreidimensionalen Punkt als ein Index bzw. eine Kennzahl verwendet, der/die den Pass- bzw. Übereinstimmungsgrad von Position und Orientierung bezeichnet. Die Restdifferenz ist in diesem Fall der Abstand zwischen einem dreidimensionalen Punkt und einem Punkt auf einer Modelloberfläche einer dreidimensionalen Form mit einer modifizierten bzw. geänderten Position und Orientierung. Falls die Restdifferenz groß ist, wird bestimmt, dass der Versatz bzw. die Abweichung der geschätzten Position und Orientierung groß ist. Falls die Restdifferenz klein ist, wird bestimmt, dass der Versatz bzw. die Abweichung gering ist. Dies macht es möglich, eine Position und Orientierung zu berechnen, während beide Anforderungen nach hoher Verarbeitungsgeschwindigkeit und hoher Genauigkeit erfüllt werden, indem für jeden dreidimensionalen Punkt gemäß der Restdifferenz mit Bezug auf jeden dreidimensionalen Punkt zwischen einem Polygonmodell und einem stückweisen parametrischen Modell gewechselt wird.
  • Zunächst wird ein Beispiel der funktionalen Ausgestaltung einer Informationsverarbeitungsvorrichtung 1 gemäß diesem Ausführungsbeispiel unter Bezugnahme auf das Blockschaltbild gemäß 1 beschrieben. Eine Modellspeichereinheit 11 speichert bzw. hält die Modellinformationen eines Polygonmodells als ein Modell, das die Form eines Zielobjekts, das als ein Positions- und Orientierungsmessziel dient, durch Verwendung von Polygonen annähert, und die Modellinformationen eines Modells einer stückweisen parametrischen gekrümmten Oberfläche als ein Modell, das die Form des Zielobjekts durch Verwendung von parametrischen gekrümmten Oberflächen annähert. Ein Polygonmodell und ein Modell einer stückweise parametrischen gekrümmten Oberfläche werden unter Bezugnahme auf 2A und 2B nachstehend beschrieben. 2A und 2B zeigen ein Modell einer stückweisen parametrischen gekrümmten Oberfläche (2A) und ein Polygonmodell (2B), die dem gleichen Zielobjekt entsprechen.
  • Wie es in 2A gezeigt ist, ist ein Modell einer stückweisen parametrischen gekrümmten Oberfläche ein Modell, das ein Zielobjekt genau ausdrückt bzw. wiedergibt, indem eine Vielzahl von parametrisch ausgedrückten Oberflächen (stückweisen parametrischen Oberflächen), die durch Grenzen abgegrenzt sind, kombiniert werden. Dieses Ausführungsbeispiel behandelt Oberflächen, die als getrimmte bzw. form-/angepasste gekrümmte Oberflächen bezeichnet werden, als stückweise parametrische Oberflächen. Eine getrimmte bzw. form-/angepasste gekrümmte Oberfläche ist eine Oberfläche, die durch Parameter definiert ist, die eine gekrümmte Basisfläche, die eine Grundform darstellt, und eine Kontur- bzw. Umrisskurve, die einen effektiven Bereich auf der gekrümmten Basisfläche definiert, ausdrücken bzw. wiedergeben. Dieses Wiedergabeverfahren ist konfiguriert, um die Koordinaten (x, y, z) eines Punkts P in einem dreidimensionalen Raum durch Verwendung von zwei Parametern u und v, die sich in einem Bereich innerhalb einer Ebene bewegen, gemäß den folgenden drei stetigen Funktionen auszudrücken: x = f(u, v), y = g(u, v) und z = h(u, v). Das Definieren eines effektiven Bereichs unter Verwendung von Kurven auf einer uv-Ebene relativ zu der gekrümmten Basisfläche, die durch diese Wiedergabe dargestellt wird, wird eine Teilform des Zielobjekts ausdrücken bzw. wiedergeben. Unter Bezugnahme auf 2A zeigt der schraffierte Abschnitt ein Beispiel einer getrimmten bzw. form-/angepassten gekrümmten Oberfläche. Es ist zu beachten, dass die gekrümmte Basisfläche einer getrimmten bzw. form-/angepassten gekrümmten Oberfläche mitunter ausgedrückt wird durch eine analytische gekrümmte Fläche, wie etwa eine gekrümmte Fläche einer Kugel, eines kreisförmigen Konus bzw. Kegels oder eines Torus bzw. Rings, oder eine freie gekrümmte Fläche, wie etwa eine gekrümmte Fläche von einem B-Spline, eine gekrümmte NURBS-Fläche oder eine gekrümmte Bezier-Fläche. Allgemeine CAD-Daten werden durch das vorgenannte Modell einer stückweisen parametrischen gekrümmten Oberfläche gebildet. Falls es daher möglich ist, die CAD-Daten eines Zielobjekts aus Daten in einem standardisierten Format wie etwa IGES oder STEP zu erhalten, ist es möglich, die Daten direkt als ein Modell einer stückweisen parametrischen gekrümmten Oberfläche zu verwenden. Es ist jedoch zu beachten, dass es möglich ist, andere Daten als CAD-Daten als ein Modell einer stückweisen parametrischen gekrümmten Oberfläche zu verwenden. Zum Beispiel kann dieses Ausführungsbeispiel ein Modell verwenden, das ein Zielobjekt durch eine Kombination von segmentierten gekrümmten Flächen einer impliziten Funktion ausdrückt. Zusätzlich kann dieses Ausführungsbeispiel jede Art von gekrümmter Basisfläche verwenden, die die Form eines Zielobjekts genau ausdrücken bzw. widergeben kann, und zwar durch numerische Berechnung unter Verwendung von Parametern, und einen Punkt auf einer Oberfläche, der sich in dem kürzesten Abstand von einem Punkt (dreidimensionalen Punkt) befindet, der mit einem dreidimensionalen Koordinatenwert versehen ist, und den Abstand zwischen diesen berechnen.
  • Als Nächstes wird ein Polygonmodell beschrieben. Wie es in 2B gezeigt ist, ist ein Polygonmodell ein Modell, das die Form eines Zielobjekts durch einen Satz von dreieckigen Polygonen näherungsweise ausdrückt bzw. wiedergibt. Ein Polygonmodell kann durch diskretes Abtasten von Punkten auf einer gekrümmten Oberfläche aus CAD-Daten und ein Verbinden der abgetasteten Punkte erfasst werden. Ein Polygonmodell wird dargestellt durch die dreidimensionalen Koordinatenwerte der Ecken von jedem Polygon und die Verbindungsinformationen der Ecken, die jedes Polygon bilden. Es ist zu beachten, dass ein Polygon anstatt eines Dreiecks ein Viereck oder ein Fünfeck sein kann. Dieses Ausführungsbeispiel kann jede andere Art von Polygon verwenden, das durch die Koordinaten der Ecken einer Fläche und die Verbindungsinformationen der Ecken, die die Fläche bilden, ausgedrückt bzw. wiedergegeben werden kann.
  • Eine Oberflächenpositionserfassungseinheit 12 erfasst die Positionen (mit dreidimensionalen Koordinatenwerten) von Punkten (dreidimensionalen Punkten) auf einer Oberfläche eines Zielobjekts. Dieses Ausführungsbeispiel ist konfiguriert, um die Position eines dreidimensionalen Punkts, der jedem Bildelement eines Abstandsbilds entspricht, das durch Bildgebung eines Zielobjekts unter Verwendung eines Entfernungssensors erhalten wird, aus der Koordinatenposition von jedem Bildelement und dem Bildelementwert (Tiefenwert) des Bildelements zu erhalten. Es ist möglich, als einen Entfernungssensor einen Sensor aktiven Typs zu verwenden, der zum Messen einer Entfernung durch Triangulation mittels Bildgebung von reflektiertem Licht eines auf ein Zielobjekt angewandten Laserlichts oder eines Spalt- bzw. Schlitzlichts/eines Zufallspunktmusterlichts ausgebildet ist. Als ein Entfernungsmessverfahren aktiven Typs kann ein räumliches Codierverfahren verwendet werden. Der zu verwendende Entfernungssensor ist nicht darauf beschränkt, und es kann ein Sensor basierend auf einem Laufzeitschema unter Verwendung der Laufzeit von Licht verwendet werden. Wahlweise kann ein Sensor passiven Typs verwendet werden, der den Tiefenwert in jedem Bildelement aus dem durch eine Stereokamera aufgenommenen Bild durch Triangulation berechnet. Das Verfahren zum Erfassen der Positionen von dreidimensionalen Punkten auf einer Oberfläche eines Zielobjekts ist jedoch nicht auf die vorgenannten Verfahren beschränkt, und es können verschiedene Verfahren verwendet werden. Zum Beispiel kann dieses Ausführungsbeispiel dreidimensionale Punkte auf einer Oberfläche eines Zielobjekts durch Verwendung einer dreidimensionalen Messvorrichtung des Berührungstyps erfasst werden, die die Positionen der dreidimensionalen Punkte erfasst, indem ein Fühler mit der Oberfläche in Kontakt gebracht wird.
  • Eine Positions- und Orientierungseingabeeinheit 13 liefert Positions- und Orientierungsinformationen, die die grobe Position und Orientierung eines Zielobjekts bezeichnen, an eine Abstandsberechnungseinheit 15 und eine Positions- und Orientierungsberechnungseinheit 16. Die Positions- und Orientierungsberechnungseinheit 16 modifiziert bzw. ändert die Positions- und Orientierungsinformationen durch die nachstehend zu beschreibende Verarbeitung. Auf Erfassung dieser modifizierten bzw. geänderten Positions- und Orientierungsinformationen hin liefert die Positions- und Orientierungseingabeeinheit 13 erneut die erfassten Positions- und Orientierungsinformationen an die Abstandsberechnungseinheit 15 und die Positions- und Orientierungsberechnungseinheit 16. Es ist zu beachten, dass die an die Abstandsberechnungseinheit 15 und die Positions- und Orientierungsberechnungseinheit 16 gelieferten Positions- und Orientierungsinformationen nicht auf die Positions- und Orientierungsinformationen beschränkt sind, die durch die Positions- und Orientierungsberechnungseinheit 16 modifiziert bzw. geändert sind. Zum Beispiel können diese Informationen diejenigen sein, die durch Schätzung des Änderungsbetrags in Position und Orientierung basierend auf einem vergangenen Positions- und Orientierungsberechnungsergebnis und Vorhersage der momentanen Position und Orientierung aus der vergangenen Position und Orientierung und dem geschätzten Änderungsbetrag erhalten werden. Falls die grobe Position und Orientierung, an/in der ein Zielobjekt platziert ist, im Voraus bekannt sind, können die entsprechenden Werte als eine grobe Position und Orientierung verwendet werden. Zusätzlich kann ein magnetischer oder optischer Positions- und Orientierungssensor an einem Messzielobjekt angebracht sein, um die Position und Orientierung des Objekts zu messen. Wahlweise kann eine Markierung mit einer vorbestimmten Form an einem Objekt angebracht sein. Eine Kamera nimmt ein Bild der Markierung auf, um die Position und Orientierung des Objekts zu berechnen.
  • Es sei angenommen, dass die Position und Orientierung eines Zielobjekts und die Positionen von dreidimensionalen Punkten diejenigen in einem Koordinatensystem (Bezugskoordinatensystem) sind, bei dem die Position des vorgenannten Entfernungssensors der Ursprung ist, die horizontale und die vertikale Richtung eines Abstandsbilds die x- und die y-Achse sind, und die optische Achse des Entfernungssensors die z-Achse ist, sofern es nicht anderweitig festgelegt ist. Zusätzlich ist ein Modell mit einem Koordinatensystem (Modellkoordinatensystem) versehen, bei dem ein dem Modell zugeordneter Punkt der Ursprung ist und drei Achsen, die an dem Ursprung senkrecht aufeinander stehen, die x-, die y- und die z-Achse sind.
  • Eine Modellauswahleinheit 14 wählt Polygonmodellinformationen oder stückweise parametrische gekrümmte Oberflächenmodellinformationen, die gemäß dem Übereinstimmungsgrad bestimmt werden, der durch eine Übereinstimmungsgradberechnungseinheit 17 für jeden dreidimensionalen Punkt erhalten wird, als ausgewählte Modellinformationen aus der Modellspeichereinheit 11 für jeden dreidimensionalen Punkt auf einer Oberfläche eines Zielobjekts aus.
  • Die Abstandsberechnungseinheit 15 erhält den Abstand zwischen jedem dreidimensionalen Punkt (geometrischen Merkmal) auf der Oberfläche des Zielobjekts und einem korrespondierenden Punkt (geometrischen Merkmal), der dem dreidimensionalen Punkt entspricht, auf einem Modell, das durch ausgewählte Modellinformationen dargestellt wird, die für den dreidimensionalen Punkt ausgewählt werden, wenn das Modell mit bzw. an/in der Position und Orientierung platziert ist, die durch Positions- und Orientierungsinformationen bezeichnet werden. Bei Verwendung eines Polygonmodells erhält die Abstandsberechnungseinheit 15 den Abstand zwischen dem dreidimensionalen Punkt und einem Punkt auf einem Polygon durch Suchen nach der Entsprechung zwischen dem dreidimensionalen Punkt und dem Polygon. Bei Verwendung eines Modells einer stückweisen parametrischen gekrümmten Oberfläche sucht die Abstandsberechnungseinheit 15 nach der Entsprechung bzw. Korrespondenz zwischen einem Punkt und einer gekrümmten Oberfläche, um den Abstand zwischen der entsprechenden gekrümmten Oberfläche und dem dreidimensionalen Punkt zu erhalten.
  • Die Positions- und Orientierungsberechnungseinheit 16 modifiziert die momentanen Positions- und Orientierungsinformationen, um den Bewertungswert basierend auf dem Abstand zu optimieren, der durch die Abstandsberechnungseinheit 15 für jeden dreidimensionalen Punkt erhalten wird.
  • Die Übereinstimmungsgradberechnungseinheit 17 erhält eine Restdifferenz mit Bezug auf jeden dreidimensionalen Punkt auf einer Oberfläche eines Zielobjekts. Eine Restdifferenz mit Bezug auf jeden dreidimensionalen Punkt ist der Abstand zwischen dem dreidimensionalen Punkt und einem korrespondierenden Punkt, der dem dreidimensionalen Punkt entspricht, auf einem Modell basierend auf den ausgewählten Modellinformationen, die für den dreidimensionalen Punkt ausgewählt werden, wenn das Modell mit bzw. an/in der Position und Orientierung platziert ist, die durch die Positions- und Orientierungsinformationen bezeichnet werden, die durch die Positions- und Orientierungsberechnungseinheit 16 modifiziert sind.
  • Die durch die Informationsverarbeitungsvorrichtung 1 durchgeführte Verarbeitung zum Erhalten der Position und Orientierung eines Zielobjekts durch wiederholtes Modifizieren von Positions- und Orientierungsinformationen durch den vorgenannten iterativen Vorgang wird als Nächstes unter Bezugnahme auf das Ablaufdiagramm gemäß 3 beschrieben, das die Verarbeitung zeigt.
  • <Verarbeitung in Schritt S302>
  • Die Oberflächenpositionserfassungseinheit 12 erfasst, aus einem Abstandsbild, die Positionen (mit dreidimensionalen Koordinatenwerten) der jeweiligen Punkte (dreidimensionalen Punkte) auf einer Oberfläche eines Zielobjekts, das als ein Positions- und Orientierungsmessziel dient, in der vorgenannten Art und Weise. Es sei angenommen, dass in der folgenden Beschreibung die Oberflächenpositionserfassungseinheit 12 die Positionen von N (N ist eine Ganzzahl gleich oder größer 2) dreidimensionalen Punkten kc_i (i = 1, 2, ..., N) in einem Bezugskoordinatensystem erfasst hat. Es sei ebenso angenommen, dass die Entsprechungsbeziehung zwischen einem Bildelement in einem Abstandsbild und einem dem Bildelement entsprechenden dreidimensionalen Punkt bekannt ist.
  • <Verarbeitung in Schritt S303>
  • Wie es vorstehend beschrieben ist, ist dieses Ausführungsbeispiel konfiguriert, um die Position und Orientierung eines Zielobjekts zu erhalten, indem Positions- und Orientierungsinformationen bereitgestellt werden, die die grobe Position und Orientierung des Zielobjekt bezeichnen, und die Informationen wiederholt modifiziert werden. In Schritt S303 erfasst die Positions- und Orientierungseingabeeinheit 13 Positions- und Orientierungsinformationen, die die grobe Position und Orientierung eines Zielobjekts in einem Bezugskoordinatensystem darstellen, als einen Anfangswert für diese sich wiederholende Verarbeitung.
  • <Verarbeitung in Schritt S304>
  • Die Übereinstimmungsgradberechnungseinheit 17 initialisiert eine Restdifferenz er_i (i = 1, 2, ..., N) als einen Übereinstimmungsgrad mit Bezug auf jeden dreidimensionalen Punkt auf der Oberfläche des Zielobjekts. Die Übereinstimmungsgradberechnungseinheit 17 stellt einen ausreichend großen Wert (zum Beispiel 1000) als den Anfangswert von jeder Restdifferenz ein.
  • <Verarbeitung in Schritt S305>
  • Die Modellauswahleinheit 14 wählt einen von N dreidimensionalen Punkten aus, der noch nicht ausgewählt wurde.
  • <Verarbeitung in Schritt S306>
  • Die Modellauswahleinheit 14 vergleicht einen Schwellenwert θ und die Restdifferenz er_i mit Bezug auf den in Schritt S305 ausgewählten dreidimensionalen Punkt kc_i. Der Schwellenwert θ, der im Voraus einzustellen ist, ist der Formdifferenzwert zwischen einem Polygonmodell und einem Modell einer stückweisen parametrischen gekrümmten Oberfläche. Zum Beispiel, wenn CAD-Daten als ein Modell einer stückweisen parametrischen gekrümmten Oberfläche verwendet werden und ein Polygonmodell mittels Durchführung einer Parkettierungs- bzw. Mosaikverarbeitung für die CAD-Daten erzeugt wird, stellt diese Vorrichtung den zulässigen Wert des Abstands zwischen dem erzeugten Polygon und einer gekrümmten Oberfläche als eine Polygonnäherungsdifferenz ein. Diese Polygonnäherungsdifferenz kann als der Schwellenwert θ verwendet werden.
  • Falls das vorgenannte Vergleichsergebnis angibt, dass er_i ≥ θ gilt, können die Positions- und Orientierungsinformationen zu dieser Zeit noch eine große Differenz aufweisen. In einem solchen Fall wählt die Modellauswahleinheit 14 daher aus der Modellspeichereinheit 11 ein Polygonmodell, das eine schnelle geometrische Berechnung erlaubt, als ein Modell aus, das zum Erhalten eines Abstands zwischen den korrespondierenden Punkten mit Bezug auf den dreidimensionalen Punkt kc_i verwendet wird.
  • Andererseits, falls er_i < θ gilt, wird eine Restdifferenz mit Bezug auf den dreidimensionalen Punkt in Positions- und Orientierungsinformationen zu dieser Zeit als ähnlich zu (kleiner) einer Modellnäherungsdifferenz betrachtet. In diesem Fall wählt die Modellauswahleinheit 14 daher aus der Modellspeichereinheit 11 ein Modell einer stückweisen parametrischen gekrümmten Oberfläche, das eine Form genau ausdrückt bzw. wiedergibt, als ein Modell aus, das zum Erhalten des Abstands zwischen den korrespondierenden Punkten mit Bezug auf den dreidimensionalen Punkt kc_i verwendet wird.
  • <Verarbeitung in Schritt S307>
  • Die Abstandsberechnungseinheit 15 platziert das mit Bezug auf den dreidimensionalen Punkt kc_i ausgewählte Modell mit bzw. an/in der durch die momentanen Positions- und Orientierungsinformationen bezeichneten Position und Orientierung und erhält einen Abstand (Abstand zwischen den korrespondierenden Punkten) d_i zwischen dem dreidimensionalen Punkt kc_i und einem korrespondierenden Punkt pm_i, der dem dreidimensionalen Punkt entspricht, auf dem platzierten Modell. Die Abstandsberechnungseinheit 15 verwendet unterschiedliche Verfahren zum Erhalten des Abstands zwischen den korrespondierenden Punkten abhängig davon, ob das mit Bezug auf den dreidimensionalen Punkt kc_i ausgewählte Modell ein Polygonmodell oder ein Modell einer stückweisen parametrischen gekrümmten Oberfläche ist. Nachfolgend werden Verfahren zum Berechnen des Abstands zwischen den korrespondierenden Punkten beschrieben, wenn ein Polygonmodell ausgewählt wird, und wenn ein Modell einer stückweisen parametrischen gekrümmten Oberfläche ausgewählt wird.
  • <<Wenn Polygonmodell ausgewählt wird>>
  • Zunächst sucht die Vorrichtung nach einem Polygon, das dem dreidimensionalen Punkt kc_i entspricht, aus einem Polygonmodell. In diesem Fall führt die Vorrichtung eine Entsprechungssuche mit hoher Geschwindigkeit durch Projizieren eines Polygonmodells auf ein Abstandsbild durch, wie es in dem Verfahren der Fall ist, das in der folgenden Schrift offenbart ist: Oishi, Nakazawa und Ikeuchi, „Fast Simultaneous Alignment of Multiple Range Images Using Index Images", Bd. J89-D, Nr. 3, Seiten 513–521, 2006.
  • Zunächst platziert die Vorrichtung ein Polygonmodell mit bzw. an/in der Position und Orientierung, die durch die momentanen Positions- und Orientierungsinformationen bezeichnet werden, und rendert sie das Polygonmodell in einem Bildpuffer (dem Speicher in der Informationsverarbeitungsvorrichtung 1) mit der gleichen Größe wie derjenigen eines Abstandsbilds basierend auf internen Parametern (Perspektivenprojektionsparametern) eines Entfernungssensors, der bereits kalibriert wurde. Zu dieser Zeit führt die Vorrichtung ein Rendering durch, während jedem Polygon eine eindeutige Farbe zugeordnet wird. Dies macht es möglich, an den jeweiligen Bildelementen (den gleichen Positionen) auf einem Abstandsbild projizierte Polygone mit Farben zu identifizieren. Es ist zu beachten, dass die Vorrichtung eine Renderingverarbeitung für die Polygone auf einer GPU (Grafikverarbeitungseinheit) mit hoher Geschwindigkeit durchführen kann und das Bild als das Renderingergebnis auslesen kann. Die Vorrichtung verknüpft bzw. assoziiert dann den dreidimensionalen Punkt kc_i, der einem Bildelement auf dem Abstandsbild entspricht, mit dem auf das Bildelement projizierten Polygon.
  • Die Vorrichtung transformiert dann die Position des dreidimensionalen Punkts kc_i in eine Position km_i in dem Modellkoordinatensystem des Polygonmodells und sucht nach der Position des Fußes einer vertikalen Linie, die sich ausgehend von der Position km_i zu einem Polygon erstreckt, das mit dem dreidimensionalen Punkt kc_i in Zusammenhang steht, als die Position des korrespondierenden Punkts pm_i. Die Vorrichtung erhält den Abstand zwischen der Position km_i und der Position des korrespondierenden Punkts pm_i als den Abstand d_i.
  • Es ist zu beachten, dass das Verfahren zum Verknüpfen bzw. Assoziieren des dreidimensionalen Punkts kc_i mit einem Punkt auf einem Polygon nicht auf dieses Verfahren beschränkt ist. Zum Beispiel kann die Vorrichtung ein als „Normal Shooting” bezeichnetes Verfahren verwendet, das nach einem Polygon sucht, das sich mit einer Normalrichtung ausgehend von einem dreidimensionalen Punkt schneidet. Bei diesem Verfahren berechnet die Vorrichtung eine Normallinie an jedem dreidimensionalen Punkt aus dem Maschennetz, das durch Verbinden von dreidimensionalen Punkten von benachbarten Bildelementen eines Abstandsbilds erhalten wird. Die Vorrichtung sucht nach einem Polygon, das sich zuerst mit einer geraden Linie ausgehend von jedem dreidimensionalen Punkt in der Normalrichtung schneidet, nachdem das Koordinatensystem eines Polygonmodells mit demjenigen von jedem dreidimensionalen Punkt basierend auf einer groben Position und Orientierung ab-/angeglichen ist, und sie verknüpft das sich schneidende Polygon mit dem entsprechenden dreidimensionalen Punkt. Wahlweise kann die Vorrichtung Punkte auf einem Polygon im Voraus gleichmäßig abtasten, das Koordinatensystem eines Polygonmodells mit demjenigen eines dreidimensionalen Punkts basierend auf einer groben Position und Orientierung ab/an-gleichen, und ein Verfahren der Suche nach einem nächsten Nachbarn zum Verknüpfen des dreidimensionalen Punkts mit einem Polygon verwenden, zu dem der Punkt gehört, der sich am nächsten zu dem dreidimensionalen Punkt befindet. Es ist zu beachten, dass es möglich ist, die Verarbeitung von „Normal Shooting” oder einer Verknüpfung basierend auf einer Suche nach einem nächsten Nachbarn zu beschleunigen, indem eine Suche durch vorhergehenden Aufbau eines kd-Baums zum Klassifizieren von „bounding boxes” bzw. Rahmen, die die jeweiligen dreidimensionalen Punkte und die jeweiligen Polygone umfassen, und durch Verwendung des kd-Baums durchgeführt wird. Wahlweise kann die Vorrichtung Punkte auf einem Polygon eines Polygonmodells im Voraus gleichmäßig abtasten, diese Punkte auf ein Abstandsbild basierend auf einer groben Position und Orientierung projizieren, und einen mit einem projizierten Bildelement gekoppelten dreidimensionalen Punkt mit einem Polygon, das als eine Abtastquelle dient, verknüpfen. Die Vorrichtung kann jedes beliebige Verfahren verwenden, das einen dreidimensionalen Punkt mit einem Polygon eines Polygonmodells eindeutig verknüpfen kann, einschließlich eines Verknüpfungsverfahrens, das zum Durchführen einer Verarbeitung mit hoher Geschwindigkeit im Stande ist.
  • <<Wenn Modell einer stückweisen parametrischen gekrümmten Oberfläche ausgewählt wird>>
  • Die Vorrichtung sucht nach einer getrimmten bzw. form-/angepassten gekrümmten Oberfläche, die dem dreidimensionalen Punkt kc_i entspricht, aus einem Modell einer stückweisen parametrischen gekrümmten Oberfläche, und sie berechnet den Abstand von dem dreidimensionalen Punkt kc_i zu der gekrümmten Fläche. M sei die Gesamtzahl von getrimmten gekrümmten Flächen, die ein Modell einer stückweisen parametrischen gekrümmten Oberfläche bilden. Zunächst berechnet die Vorrichtung durch Verwendung von Parametern für jede getrimmte gekrümmte Fläche für jede der M getrimmten Flächen die Position km_i, die in diejenige in dem Modellkoordinatensystem transformiert ist, den kürzesten Abstand zu jeder gekrümmten Fläche und einen Punkt auf jeder gekrümmten Fläche, der sich in dem kürzesten Abstand befindet. Zu dieser Zeit berechnet die Vorrichtung jeden Punkt so, dass der berechnete Punkt innerhalb eines effektiven Bereichs der Objektform liegt. Es ist zu beachten, dass beim Durchführen dieser Berechnungen die Vorrichtung ein allgemeines Verfahren zum Berechnen eines korrespondierenden Punkts auf einer gekrümmten Fläche, der dem dreidimensionalen Punkt kc_i entspricht, und des Abstands zwischen dem korrespondierenden Punkt aus Parametern der gekrümmten Fläche verwenden kann. In diesem Fall sei dt_j der kürzeste Abstand zwischen der j-ten getrimmten gekrümmten Fläche und dem dreidimensionalen Punkt kc_i und sei pt_j ein in dem Abstand liegender Punkt. Die Vorrichtung wählt dann eine getrimmte gekrümmte Fläche mit dem Minimalwert von dt_j aus den M getrimmten gekrümmten Flächen aus. Die Vorrichtung erhält den Abstand d_i zwischen der ausgewählten getrimmten gekrümmten Fläche und dem dreidimensionalen Punkt kc_i und die Position eines Punkts, der in dem Abstand liegt, als den korrespondierenden Punkt pm_i.
  • <Verarbeitung in Schritt S308>
  • In Schritt S308 bestimmt die Modellauswahleinheit 14, ob sie alle der N dreidimensionalen Punkte ausgewählt hat. Falls die Modellauswahleinheit 14 bestimmt, dass sie alle der N dreidimensionalen Punkte ausgewählt hat, schreitet der Prozess zu Schritt S309 voran. Falls es einen dreidimensionalen Punkt gibt, der noch nicht ausgewählt wurde, kehrt der Prozess zu Schritt S305 zurück.
  • <Verarbeitung in Schritt S309>
  • Die Positions- und Orientierungsberechnungseinheit 16 modifiziert die Positions- und Orientierungsinformationen mit Bezug auf die aus dem Abstandsbild erhaltenen dreidimensionalen Punkte so, dass das für jeden dreidimensionalen Punkt ausgewählte Modell in einen dreidimensionalen Raum eingepasst wird. Dieses Ausführungsbeispiel erhält Positions- und Orientierungsinformationen, die die Position und Orientierung des Zielobjekts bezeichnen, durch Modifizieren der Positions- und Orientierungsinformationen durch einen iterativen Vorgang unter Verwendung eines nichtlinearen Optimierungsverfahrens.
  • In Schritt S309 berechnet die Positions- und Orientierungsberechnungseinheit 16 die Position und Orientierung des Zielobjekts mit Bezug auf die aus dem Abstandsbild erhaltenen dreidimensionalen Punkte so, dass das dreidimensionale Formmodell in den dreidimensionalen Raum eingepasst wird.
  • P seien Oberflächenpunkte auf einem dreidimensionalen geometrischen Modell. P = {pm_1, pm_2, ..., pm_N} (1)
  • K sei eine Gruppe von Abstandsbildpunkten. K = {km_1, km_2, ..., km_N} (2)
  • Die Positions- und Orientierungsberechnungseinheit 16 transformiert die Oberflächenpunkte P auf dem dreidimensionalen geometrischen Modell in die Abstandspunkte K. Mit der Annahme, dass bi ∊ K ein Punkt der Punkte K ist, der am nächsten zu jedem Punkt pi der Punkte P liegt, ist es möglich, eine Fehlerfunktion gemäß Gleichung (3) zu definieren. R sei ein Orientierungsparameter und t sein ein Bewegungsvektor.
  • Figure DE102013216902A1_0002
  • Die Positions- und Orientierungsberechnungseinheit 16 erhält R und t, die eine Fehlerfunktion E reduzieren, und führt eine Modifikation gemäß dem mathematischen Ausdruck (4) durch: P ← RP + t (4)
  • Ein Verfahren zum Erhalten von R und t, die die Fehlerfunktion E reduzieren, ist in der folgenden Schrift offenbart: K. S. Arun, T. S. Huang und S. D. Blostein, „Least-Squares Fitting of Two 3-D Point Sets", PAMI, Bd. 9, Nr. 5, 1987.
  • In diesem Schritt kann die Positions- und Orientierungsberechnungseinheit 16 die Position und Orientierung des Zielobjekts durch Verwendung eines nichtlinearen Optimierungsverfahrens wie etwa eines Gauß-Newton-Verfahrens anstelle des ICP-Verfahrens berechnen. In diesem Fall optimiert die Positions- und Orientierungsberechnungseinheit 16 die Position und Orientierung basierend auf dem Abstand d_i zwischen den korrespondierenden Punkten von jedem dreidimensionalen Punkt kc_i, der in Schritt S307 berechnet wird, und dem korrespondierenden Punkt pm_i. Genauer gesagt drückt die Positions- und Orientierungsberechnungseinheit 16 den Abstand d_i, der in Schritt S307 berechnet wird, durch eine lineare Näherung unter Verwendung von pm_i als eine Funktion einer geringen Änderung in Position und Orientierung aus, und stellt sie eine lineare Gleichung basierend auf allen Messdaten auf, um so den Abstand auf 0 zu reduzieren.
  • Die Positions- und Orientierungsberechnungseinheit 16 erhält eine kleine Änderung in Position und Orientierung des Zielobjekts durch Lösen dieser linearen Gleichungen als Gleichungssystem, wodurch die Position und die Orientierung modifiziert werden. Es ist zu beachten, dass das nichtlineare Optimierungsverfahren nicht auf das Gauß-Newton-Verfahren beschränkt ist. Zum Beispiel kann die Positions- und Orientierungsberechnungseinheit 16 das Levenberg-Marquardt-Verfahren basierend auf robusten Berechnungen oder das Verfahren des steilsten Abstiegs bzw. Gradientenverfahren verwenden, welches ein einfacheres Verfahren ist. Wahlweise kann die Positions- und Orientierungsberechnungseinheit 16 andere nichtlineare Optimierungsverfahren verwenden, wie etwa das Konjugierte-Gradienten-Verfahren und das ICCG-Verfahren.
  • In diesem Fall modifiziert die Positions- und Orientierungsberechnungseinheit 16 die Position und Orientierung, um einen Abstandswert als einen Bewertungswert zu minimieren. Das zu verwendende Optimierungsverfahren ist jedoch nicht darauf beschränkt. Zum Beispiel kann die Positions- und Orientierungsberechnungseinheit 16 das Verfahren verwenden, das offenbart ist in: Tateno, Kotake und Uchiyama, „A Model Fitting Method Using Intensity and Range Images for Bin-Picking Applications", Bd. J94-D, Nr. 8, S. 1410–1422, 2011. Das heißt, dass die Positions- und Orientierungsberechnungseinheit 16 die Position und Orientierung durch dieses Verfahren modifizieren kann, um die basierend auf dem Abstand berechnete Wahrscheinlichkeit als einen Bewertungswert zu maximieren. Zusätzlich kann die Positions- und Orientierungsberechnungseinheit 16 jedes beliebige nichtlineare Optimierungsverfahren verwenden, das eine Position und Orientierung modifiziert, um einen Bewertungswert zu optimieren.
  • Die vorstehende Beschreibung konzentriert sich auf die iterative Lösungstechnik zum Erhalten eines Modifikationsbetrags für Positions- und Orientierungsinformationen als einen unbekannten Parameter und zum Berechnen der endgültigen Position und Orientierung durch wiederholtes Modifizieren einer groben Position und Orientierung basierend auf dem erhaltenen Modifikationsbetrag. Die Positions- und Orientierungsberechnungseinheit 16 kann jedoch einen unbekannten Parameter aus dem Entsprechungsergebnis direkt berechnen, das basierend auf einer groben Position und Orientierung herausgesucht wird, indem sechs Freiheitsgrade, die die Position und Orientierung des Zielobjekts mit Bezug auf den Entfernungssensor ausdrücken, als ein unbekannter Parameter verwendet werden. Dieses Verfahren berechnet die endgültige Position und Orientierung aus vielen Entsprechungsbeziehungen basierend auf der groben Position und Orientierung direkt durch Verwendung des Verfahrens der kleinsten Quadrate.
  • <Verarbeitung in Schritt S310>
  • Die Übereinstimmungsgradberechnungseinheit 17 erhält die Restdifferenz er_i mit Bezug auf jeden dreidimensionalen Punkt kc_i. Die Übereinstimmungsgradberechungseinheit 17 platziert das Modell, das durch die für den dreidimensionalen Punkt kc_i ausgewählten Modellinformationen dargestellt wird, mit bzw. an/in der Position und Orientierung, die durch die in Schritt S309 modifizierten Positions- und Orientierungsinformationen bezeichnet werden, und sie erhält den Abstand zwischen dem dreidimensionalen Punkt kc_i und einem korrespondierenden Punkt auf dem platzierten Modell, der dem dreidimensionalen Punkt kc_i entspricht. Der erhaltene Abstand ist die Restdifferenz er_i mit Bezug auf den dreidimensionalen Punkt kc_i.
  • Das heißt, dass die Übereinstimmungsgradberechnungseinheit 17 das für den dreidimensionalen Punkt kc_i ausgewählte Modell mit bzw. an/in der Position und Orientierung platziert, die durch die modifizierten Positions- und Orientierungsinformationen bezeichnet werden, und sie, als die Restdifferenz er_i, den Abstand zwischen der Position km_i' des dreidimensionalen Punkts kc_i, die an eine Position in dem Modellkoordinatensystem des Modells transformiert ist, und dem korrespondierenden Punkt pm_i erhält, der in Schritt S307 erhalten wird.
  • <Verarbeitung in Schritt S311>
  • Die Positions- und Orientierungsberechnungseinheit 16 bestimmt, ob der vorgenannte iterative Vorgang konvergiert hat. Bei Bestimmungen, dass der Vorgang konvergiert hat, beendet die Positions- und Orientierungsberechnungseinheit 16 diesen iterativen Vorgang, und gibt sie die zu diesem Zeitpunkt erhaltenen Positions- und Orientierungsinformationen als Positions- und Orientierungsinformationen aus, die die Position und Orientierung des Zielobjekts darstellen. Das Ausgabeziel ist nicht auf ein spezielles Ausgabeziel beschränkt. Die Positions- und Orientierungsberechnungseinheit 16 kann diese Informationen an einen geeigneten Speicher innerhalb/außerhalb der Informationsverarbeitungsvorrichtung 1 oder eine geeignete externe Vorrichtung ausgeben. Falls die Positions- und Orientierungsberechnungseinheit 16 bestimmt, dass der Vorgang nicht konvergiert hat, kehrt der Prozess zu Schritt S305 zurück.
  • Bei Durchführung der Konvergenzbestimmung kann die Positions- und Orientierungsberechnungseinheit 16 bestimmen, dass der Vorgang konvergiert hat, falls die Summe von Differenzen mit Bezug auf alle dreidimensionalen Punkte oder der Modifikationsbetrag der Position und Orientierung gleich oder kleiner einem vorbestimmten Wert wird. Alternativ, falls die Positions- und Orientierungsberechnungseinheit 16 eine Modifikationsverarbeitung für die Position und Orientierung mit einer vorbestimmten Häufigkeit oder öfter ausgeführt hat, kann die Positions- und Orientierungsberechnungseinheit 16 bestimmen, dass der Vorgang konvergiert hat. Es ist zu beachten, dass das zu verwendende Konvergenzbestimmungsverfahren nicht auf irgendein spezielles Verfahren beschränkt ist und jedes beliebige Verfahren verwendet werden kann.
  • Wie es vorstehend beschrieben ist, ist es gemäß diesem Ausführungsbeispiel möglich, eine Positions- und Orientierungsberechnung durchzuführen, während effizient zwischen einem Hochgeschwindigkeitsmodus und einem Hochgenauigkeitsmodus gemäß einem Passgrad bzw. Übereinstimmungsgrad umgeschaltet bzw. gewechselt wird, indem ein Polygonmodell für eine große Restdifferenz verwendet wird und ein Modell einer stückweisen parametrischen gekrümmten Oberfläche für eine kleine Restdifferenz verwendet wird.
  • <Erste Abwandlung von erstem Ausführungsbeispiel>
  • Das erste Ausführungsbeispiel ist konfiguriert, um ein Modell für jeden dreidimensionalen Punkt auszuwählen. Dagegen ist die erste Abwandlung konfiguriert, um ein Modell basierend auf dem Vergleich zwischen der Gesamtsumme von Restdifferenzen für die jeweiligen dreidimensionalen Punkte und einem Schwellenwert auszuwählen. Das heißt, dass die erste Abwandlung konfiguriert ist, um entweder ein Polygonmodell oder ein Modell einer stückweisen parametrischen gekrümmten Oberfläche für ein Zielobjekt auszuwählen.
  • Diese Abwandlung verwendet auch die Informationsverarbeitungsvorrichtung 1 mit der in 1 gezeigten Ausgestaltung, aber sie unterscheidet sich von dem ersten Ausführungsbeispiel in dem folgenden Punkt. Nachfolgend wird hauptsächlich der Unterschied gegenüber dem ersten Ausführungsbeispiel beschrieben. Es sei angenommen, dass diese Abwandlung mit dem ersten Ausführungsbeispiel übereinstimmt, sofern es nicht anderweitig angegeben ist.
  • Die durch die Informationsverarbeitungsvorrichtung 1 durchgeführte Verarbeitung gemäß dieser Abwandlung, um die Position und Orientierung eines Zielobjekts zu erhalten, wird unter Bezugnahme auf das Ablaufdiagramm gemäß 4 beschrieben, das die Verarbeitung zeigt. Da die Verarbeitung in Schritten S402, S403, S407 und S409 gemäß 4 gleich derjenigen in Schritten S302, S303, S309 und S311 gemäß 3 ist, ist zu beachten, dass eine Beschreibung von diesen Schritten ausgelassen wird. Im Folgenden wird die Verarbeitung in Schritten S404 bis S406 und S408 beschrieben.
  • <Verarbeitung in Schritt S404>
  • Die Übereinstimmungsgradberechnungseinheit 17 initialisiert einen Übereinstimmungsgrad Err mit Bezug auf ein Zielobjekt. Die Übereinstimmungsgradberechnungseinheit 17 stellt einen Wert (zum Beispiel 1000), der viel größer ist als eine geschätzte Positions- und Orientierungsrestdifferenz, als den Anfangswert des Übereinstimmungsgrads ein. Es sei angenommen, dass bei dieser Abwandlung ein Übereinstimmungsgrad mit Bezug auf ein Zielobjekt gleich der Gesamtsumme von Restdifferenzen mit Bezug auf die jeweiligen dreidimensionalen Punkte auf einer Oberfläche des Zielobjekts ist.
  • <Verarbeitung in Schritt S405>
  • Die Modellauswahleinheit 14 vergleicht den Übereinstimmungsgrad Err mit einem Schwellenwert ψ. Ein Wert basierend auf der Formdifferenz zwischen einem Polygonmodell und einem Modell einer stückweisen parametrischen gekrümmten Oberfläche kann als der Schwellenwert ψ verwendet werden. Wenn zum Beispiel eine Erzeugung eines Polygonmodells mittels Durchführung einer Parkettierungs- bzw. Mosaikverarbeitung für CAD-Daten als das Modell einer stückweisen parametrischen gekrümmten Oberfläche verwendet wird, wird ein Wert ψ = N × θ eingestellt, wobei dieser Wert durch Verwendung des Werts θ erhalten wird, der in dem ersten Ausführungsbeispiel verwendet wird.
  • Falls dieses Vergleichergebnis angibt, dass Err ≥ ψ gilt, wird erwartet, dass noch große Differenzen zwischen dreidimensionalen Punkten und dem ausgewählten Modell existieren. In einem solchen Fall wählt die Modellauswahleinheit 14 daher aus der Modellspeichereinheit 11 ein Polygonmodell, das eine schnelle geometrische Berechnung erlaubt, als ein durch die Abstandsberechnungseinheit 15 zu verwendendes Modell aus.
  • Falls Err < ψ gilt, wird geschätzt, dass die Differenzen zwischen den dreidimensionalen Punkten und dem ausgewählten Modell nahezu gleich einer Modellnäherungsdifferenz sind. In einem solchen Fall wählt die Modellauswahleinheit 14 aus der Modellspeichereinheit 11 ein Modell einer stückweisen parametrischen gekrümmten Oberfläche, das eine genaue Form ausgedrückt bzw. wiedergegeben, als ein durch die Abstandsberechnungseinheit 15 zu verwendendes Modell aus.
  • <Verarbeitung in Schritt S406>
  • Die Abstandsberechnungseinheit 15 platziert das in Schritt S405 ausgewählte Modell mit bzw. an/in der Position und Orientierung, die durch die momentanen Positions- und Orientierungsinformationen bezeichnet werden, und sie erhält für jeden dreidimensionalen Punkt den Abstand (Abstand zwischen den korrespondierenden Punkten) d_i zwischen dem dreidimensionalen Punkt und einem korrespondierenden Punkt auf dem platziertem Modell, der dem dreidimensionalen Punkt entspricht. Die Verarbeitung zum Erhalten des Abstands zwischen den korrespondierenden Punkten ist gleich derjenigen, die in dem ersten Ausführungsbeispiel beschrieben ist.
  • <Verarbeitung in Schritt S408>
  • Die Übereinstimmungsgradberechnungseinheit 17 erhält die Restdifferenz er_i mit Bezug auf die jeweiligen dreidimensionalen Punkte kc_i, und sie erhält die Summe der Differenzen als den Übereinstimmungsgrad Err, wie es in dem ersten Ausführungsbeispiel beschrieben ist.
  • <Zweite Abwandlung von erstem Ausführungsbeispiel>
  • Die erste Modifikation des ersten Ausführungsbeispiels verwendet die Gesamtsumme von Differenzen als einen Übereinstimmungsgrad. Es ist möglich, verschiedene andere Arten von Indizes bzw. Kennzahlen zu verwenden, die als Übereinstimmungsgrad angewandet werden können. Diese Abwandlung wird einen Fall (Fall 1), in dem die Anzahl bzw. Häufigkeit einer Modifikation von Positions- und Orientierungsinformationen als ein Übereinstimmungsgrad verwendet wird, und einen Fall (Fall 2), in dem der Änderungsbetrag (Modifikationsbetrag) von Positions- und Orientierungsinformationen als ein Übereinstimmungsgrad verwendet wird, beispielhaft erläutern.
  • Diese Abwandlung verwendet auch die Informationsverarbeitungsvorrichtung 1 mit der in 1 gezeigten Ausgestaltung, aber sie unterscheidet sich von dem ersten Ausführungsbeispiel in dem folgenden Punkt. Nachfolgend wird hauptsächlich der Unterschied gegenüber dem ersten Ausführungsbeispiel beschrieben. Es sei angenommen, dass diese Abwandlung mit dem ersten Ausführungsbeispiel übereinstimmt, sofern es nicht anderweitig angegeben ist. Die durch die Informationsverarbeitungsvorrichtung 1 gemäß dieser Abwandlung durchgeführte Verarbeitung zum Erhalten der Position und Orientierung eines Zielobjekts verändert die folgenden Punkte in der Verarbeitung des Ablaufdiagramms gemäß 4.
  • Zunächst wird Fall 1 beschrieben. In Schritt S404 initialisiert die Übereinstimmungsgradberechnungseinheit 17 eine Variable k, die die Anzahl bzw. Häufigkeit einer Modifikation von Positions- und Orientierungsinformationen (die Anzahl bzw. Häufigkeit einer Ausführung einer Modifikationsberechnungsverarbeitung) bezeichnet, auf 0. In Schritt S405 wählt die Modellauswahleinheit 14 ein Polygonmodell aus, falls der Wert der Variablen k kleiner ist als ein Schwellenwert. Falls der Wert der Variablen k gleich oder größer dem Schwellenwert ist, wählt die Modellauswahleinheit 14 ein Modell einer stückweisen parametrischen gekrümmten Oberfläche aus. Die Übereinstimmungsgradberechnungseinheit 17 kann, als einen zu dieser Zeit zu verwendenden Schwellenwert, einen Wert (eine Zählung) im Voraus einstellen, mit dem (der) erwartet werden kann, dass die Modifikation von Positions- und Orientierungsinformationen unter Verwendung eines Polygonmodells konvergiert. In Schritt S408 inkrementiert die Übereinstimmungsgradberechnungseinheit 17 den Wert der Variable k um eins.
  • Als Nächstes wird Fall 2 beschrieben. In Schritt S404 initialisiert die Übereinstimmungsgradberechnungseinheit 17 eine Variable ΔT, die den Abstand bezeichnet zwischen der Position, die durch die Positions- und Orientierungsinformationen vor einer Modifikation bezeichnet wird, und der Position, die durch die Positions- und Orientierungsinformationen nach einer Modifikation bezeichnet wird, auf einen ausreichend großen Wert (zum Beispiel 1000). In Schritt S405 wählt die Modellauswahleinheit 14 ein Polygonmodell aus, falls der Wert der Variablen ΔT gleich oder größer dem Schwellenwert ist, oder wählt sie ein Modell einer stückweisen parametrischen gekrümmten Oberfläche aus, falls der Wert der Variablen ΔT kleiner ist als der Schwellenwert. In Schritt S408 erhält die Übereinstimmungsgradberechnungseinheit 17 den Abstand zwischen der Position, die durch die Positions- und Orientierungsinformationen vor einer Modifikation bezeichnet wird, und der Position, die durch die Positions- und Orientierungsinformationen nach einer Modifikation bezeichnet wird, und stellt sie den Abstand auf die Variable ΔT ein.
  • Wie es vorstehend beschrieben ist, können verschiedene andere Indizes bzw. Kennzahlen als Überstimmungsgrad verwendet werden. Zum Beispiel kann die Vorrichtung die Differenz zwischen der Orientierung, die durch die Positions- und Orientierungsinformationen vor einer Modifikation bezeichnet wird, und der Orientierung, die durch die Positions- und Orientierungsinformationen nach einer Modifikation bezeichnet wird, als ΔT verwenden. Zum Beispiel kann die Vorrichtung die Differenzen zwischen dreidimensionalen Punkten und einem dreidimensionalen Modell basierend auf der Summe oder dem Mittelwert der Abstände bzw. Entfernungen schätzen, die sich die auf einer Modelloberfläche gesetzten Punkte vor und nach der Modifikation der Positions- und Orientierungsinformationen bewegt haben.
  • Das heißt, dass die erste und die zweite Abwandlung des ersten Ausführungsbeispiels ein Modell gemäß der Größenbeziehung zwischen einem Schwellenwert und einem Index- bzw. Kennzahlwert auswählen, der in dem sich wiederholenden Prozess einer Modifikation berechnet wird. Es können auch weitere Abwandlungen in Zusammenhang mit dieser Ausgestaltung vorgenommen werden.
  • <Dritte Modifikation von erstem Ausführungsbeispiel>
  • Das erste Ausführungsbeispiel hat beispielhaft das Verfahren zum Durchführen einer Positions- und Orientierungsberechnung während eines Wechsels zwischen einem Polygonmodell und einem Modell einer stückweisen parametrischen gekrümmten Oberfläche basierend auf einer Restdifferenz mit Bezug auf jeden dreidimensionalen Punkt mit bzw. an/in einer berechneten Position und Orientierung erläutert. Es ist jedoch möglich, andere Verfahren zum Bestimmen zu verwenden, wenn ein Modell ausgewählt wird. Zum Beispiel wird im Folgenden ein Verfahren zum Wechsel zwischen Modellen basierend auf der erforderlichen Genauigkeit für eine Positions- und Orientierungsschätzung in jedem Bereich auf einer Oberfläche eines Zielobjekts und ein Verfahren unter Verwendung von Toleranzinformationen, die eine Formdifferenz gegenüber einer Entwurfsform eines Zielobjekts darstellen, beschrieben. Der „Bereich” in diesem Fall kann ein ganzes Zielobjekt oder jeder Abschnitt bzw. Teilbereich eines Zielobjekts sein.
  • Zunächst wird das erstgenannte Verfahren beschrieben. Gemäß diesem Verfahren stellt die Vorrichtung einen zulässigen Wert der Differenz zwischen einem dreidimensionalen Punkt und einer Modelloberfläche mit bzw. an/in einer berechneten Position und Orientierung für jeden Bereich eines Formmodells eines Zielobjekts ein, und wählt sie ein zu verwendendes Modell basierend auf der Information aus. Dieses Verfahren ist konfiguriert, um ein Modell einer stückweisen parametrischen gekrümmten Oberfläche, das eine genaue Entsprechungssuche erlaubt, in einem Bereich zu verwenden, in dem ein dreidimensionaler Punkt in die Modelloberfläche mit hoher Genauigkeit einzupassen ist, und für andere Bereiche ein Polygonmodell zu verwenden.
  • Genauer gesagt berechnet die Vorrichtung zunächst im Voraus die Näherungsdifferenz zwischen der Form von jedem Polygon von jedem Polygonmodell und der Form einer getrimmten gekrümmten Fläche eines Modells einer stückweisen parametrischen gekrümmten Oberfläche, das die entsprechende Form ausdrückt bzw. wiedergegeben. In diesem Fall wird diese Näherungsdifferenz als Polygonnäherungsdifferenz bezeichnet. Die Vorrichtung stellt den zulässigen Wert der Differenz zwischen einem dreidimensionalen Punkt und einer Modelloberfläche mit bzw. an/in einer berechneten Position und Orientierung für jedes Polygon eines Polygonmodells ein. Die Vorrichtung vergleicht dann die für jedes Polygon eingestellte Polygonnäherungsdifferenz mit dem zulässigen Wert der Differenz, um ein Modell auszuwählen, das für eine Positions- und Orientierungsberechnung verwendet wird.
  • Genauer gesagt, falls die Polygonnäherungsdifferenzen von Polygonen aus den Polygonen, die einen bestimmten Bereich bilden, deren Anzahl gleich oder größer einer definierten Anzahl ist, größer sind als der zulässige Wert, wählt die Vorrichtung ein Modell einer stückweisen parametrischen gekrümmten Oberfläche aus, da dies bezeichnet, dass die Polygonnäherungsdifferenzen größer sind als der zulässige Wert der Differenz an den Polygonen mit Bezug auf den Bereich. Es ist zu beachten, dass es möglich ist, verschiedene Bedingungen anzuwenden, abgesehen von „falls die Polygonnäherungsdifferenzen von Polygonen aus den Polygonen, die einen bestimmten Bereich bilden, deren Anzahl gleich oder größer einer definierten Anzahl ist, größer sind als der zulässige Wert”. Zum Beispiel ist es möglich, die Bedingung „falls der Mittelwert der Polygonnäherungsdifferenzen der Polygone, die einen bestimmten Bereich bilden, größer ist als der zulässige Wert des Bereichs” anstelle der vorgenannten Bedingung zu verwenden.
  • Im Gegensatz dazu, falls die Bedingung „falls die Polygonnäherungsdifferenzen von Polygonen aus den Polygonen, die einen bestimmten Bereich bilden, deren Anzahl gleich oder größer einer definierten Anzahl ist, größer sind als der zulässige Wert” nicht erfüllt ist, wählt die Vorrichtung ein Polygonmodell aus, da die Polygonnäherungsdifferenzen kleiner sind als der zulässige Wert der Differenz. Es ist zu beachten, dass es möglich ist, verschiedene Bedingungen abgesehen von dieser Bedingung anzuwenden. Zum Beispiel ist es möglich, die Bedingung „falls der Mittelwert der Polygonnäherungsdifferenzen der Polygone, die einen bestimmten Bereich bilden, kleiner ist als der zulässige Wert des Bereichs” anstelle der vorgenannten Bedingung zu verwenden.
  • Es ist zu beachten, dass die Vorrichtung, als ein Attribut, einen Binärwert einstellen kann, der angibt, ob ein dreidimensionaler Punkt in eine Modelloberfläche mit hoher Genauigkeit einzupassen ist, anstelle einer Einstellung eines kontinuierlichen Werts als den zulässigen Wert der Differenz, und sie ein Modell gemäß dieser Information auswählen kann. Zusätzlich kann der Benutzer ein Attribut für jedes Modell auswählen.
  • Als Nächstes wird ein Verfahren unter Verwendung von Toleranzinformationen beschrieben, die eine Formdifferenz gegenüber der Entwurfsform eines Zielobjekts darstellen. Es sei angenommen, dass bei diesem Verfahren CAD-Daten mit Toleranzinformationen versehen sind, die eine Formdifferenz gegenüber der Form eines Zielobjekts für jeden Bereich darstellen. Die Vorrichtung wählt ein zu verwendendes Modell basierend auf diesen Informationen aus. Es ist zu beachten, dass Toleranzinformationen durch tatsächliches Messen der dreidimensionalen Form eines Objekts und Vergleichen der gemessenen Form mit CAD-Daten erhalten werden können. Gemäß diesem Verfahren bestimmt die Vorrichtung, dass sie nicht erwarten kann, einen genauen Abstand zwischen den korrespondierenden Punkten zu berechnen, und verwendet sie ein Polygonmodell, falls die Toleranz eines bestimmten Bereichs auf einer Modelloberfläche größer ist als eine Polygonnäherungsdifferenz. Im Gegensatz dazu, falls die Toleranz klein ist, bestimmt die Vorrichtung, dass sie erwarten kann, einen genauen Abstand zwischen den korrespondierenden Punkten zu berechnen, und verwendet sie ein Modell einer stückweisen parametrischen gekrümmten Oberfläche. Genauer gesagt berechnet die Vorrichtung zunächst die Näherungsdifferenz zwischen der Form von jedem Polygon von jedem Polygonmodell und der Form einer getrimmten gekrümmten Oberfläche eines Modells einer stückweisen parametrischen gekrümmten Oberfläche, das die entsprechende Form ausdrückt bzw. wiedergibt. Außerdem speichert die Vorrichtung, für jedes Polygon eines Polygonmodells oder jede getrimmte gekrümmte Oberfläche, im Voraus die ein Modell einer stückweisen parametrischen gekrümmten Oberfläche bildet, die Toleranz einer entsprechenden Form auf/gegenüber CAD-Daten. Die Vorrichtung vergleicht dann die Toleranz mit der für jedes Polygon eingestellten Polygonnäherungsdifferenz, um ein Modell auszuwählen, das für eine Positions- und Orientierungsberechnung zu verwenden ist.
  • Genauer gesagt, falls die Polygonnäherungsdifferenzen von Polygonen aus den Polygonen, die einen bestimmten Bereich bilden, deren Anzahl gleich oder größer einer definierten Anzahl ist, größer sind als die Toleranz des Bereichs, wählt die Vorrichtung ein Modell einer stückweisen parametrischen gekrümmten Oberfläche mit Bezug auf den Bereich aus. Es ist zu beachten, dass es möglich ist, verschiedene Bedingungen anzuwenden, abgesehen von der Bedingung „falls die Polygonnäherungsdifferenzen von Polygonen aus den Polygonen, die einen bestimmten Bereich bilden, deren Anzahl gleich oder größer einer definierten Anzahl ist, größer sind als die Toleranz des Bereichs”. Zum Beispiel ist es möglich, die Bedingung „falls der Mittelwert der Polygonnäherungsdifferenzen der Polygone, die einen bestimmten Bereich bilden, größer ist als die Toleranz des Bereichs” anstelle der vorgenannten Bedingungen zu verwenden.
  • Im Gegensatz dazu, falls die Bedingung „falls die Polygonnäherungsdifferenzen von Polygonen aus den Polygonen, die einen bestimmten Bereich bilden, deren Anzahl gleich oder größer einer definierten Anzahl ist, größer sind als die Toleranz des Bereichs” nicht erfüllt ist, wählt die Vorrichtung ein Polygonmodell aus, da die Differenz der Objektoberfläche relativ zu den Polygonnäherungsdifferenzen groß ist. Es ist zu beachten, dass es möglich ist, verschiedene Bedingungen abgesehen von dieser Bedingung anzuwenden. Zum Beispiel ist es möglich, die Bedingung „falls der Mittelwert der Polygonnäherungsdifferenzen der Polygone, die einen bestimmten Bereich bilden, kleiner ist als die Toleranz des Bereichs” anstelle der vorgenannten Bedingung zu verwenden.
  • Es ist zu beachten, dass es möglich ist, das vorgenannte Verfahren mit der ersten Abwandlung des ersten Ausführungsbeispiels zu kombinieren. Das heißt, dass es möglich ist, ein für das gesamte Objekt zu verwendendes Modell durch Vergleich eines eingestellten zulässigen Werts oder einer Differenztoleranz mit einer Polygonnäherungsdifferenz auszuwählen.
  • <Vierte Abwandlung von erstem Ausführungsbeispiel>
  • Obwohl die erste und die zweite Abwandlung des ersten Ausführungsbeispiels ein Polygonmodell und Modelle einer stückweisen parametrischen gekrümmten Oberfläche als ein dreidimensionales Formmodell bzw. ein Modell einer dreidimensionalen Form verwenden, sind die Arten von zu verwendenden Modellen nicht auf diese beschränkt. Es ist möglich, beliebige zwei Arten von Modellen zu verwenden, die sich in ihrer Formreproduzierbarkeitsgenauigkeit bzw. Formdarstellbarkeitsgenauigkeit unterscheiden. Zum Beispiel ist es möglich, eine Kombination eines Polygonmodells mit einer Objektoberfläche, die feiner segmentiert ist, und ein Polygonmodell mit einer Objektoberfläche, die gröber segmentiert ist, oder eine Kombination einer Vielzahl von Modellen einer stückweisen parametrischen gekrümmten Oberfläche, die sich in der Ordnung bzw. dem Grad einer gekrümmten Oberfläche unterscheiden, zu verwenden. Zusätzlich können alle Ausführungsbeispiele und ihre Abwandlungen nicht nur auf zwei Arten von Modellen angewandt werden, die sich in ihrer Formreproduzierbarkeitsgenauigkeit bzw. Formdarstellbarkeitsgenauigkeit in zwei Schritten unterscheiden, sondern auch auf eine Kombination von Modellen, die sich in ihrer Formreproduzierbarkeitsgenauigkeit bzw. Formdarstellbarkeitsgenauigkeit in drei oder mehr Schritten unterscheiden.
  • <Fünfte Abwandlung von erstem Ausführungsbeispiel>
  • Bei jeder der ersten bis vierten Abwandlung des ersten Ausführungsbeispiels berechnet die Vorrichtung beim Positionieren der aus einem Abstandsbild erhaltenen dreidimensionalen Punkte und eines Modells die Abstände (die Abstände zwischen den korrespondierenden Punkten) zwischen den dreidimensionalen Punkten und dem Modell für einen Wechsel zwischen Modellen gemäß definierten Bedingungen. Die Vorrichtung führt dann eine Positionierung basierend auf diesen Abständen durch. Dagegen gibt es ein Verfahren zum Durchführen einer Positionierung basierend auf der Entsprechungsbeziehung zwischen geometrischen Merkmalen (die hierin nachstehend einfach als Merkmale zu bezeichnen sind) auf dem durch Bildgebung eines Zielobjekts aufgenommenen Bild und geometrischen Merkmalen (die hierin nachstehend einfach als Merkmale zu bezeichnen sind) des Modells. Ein derartiges Verfahren ist zum Beispiel offenbart in T. Drummond und R. Cipolla, „Real-time visual tracking of complex structures", IEEE Transactions on Pattern Analysis and Machine Intelligence, Bd. 24, Nr. 7, S. 932–946, 2002. Bei einem derartigen Positionierungsverfahren kann die Vorrichtung beim Berechnen der Abstände zwischen den korrespondierenden Punkten zwischen den auf einem aufgenommenen Bild erfassten Merkmalen und den Merkmalen eines Modells die Verfahren verwenden, die in dem ersten Ausführungsbeispiel und seiner ersten bis vierten Abwandlung beschrieben sind.
  • Genauer gesagt erfasst die Vorrichtung zunächst das aufgenommene Bild, das durch Bildgebung eines Zielobjekts aus einer Perspektive an einer vorbestimmten Position erhalten wird, und extrahiert sie die Merkmale auf dem aufgenommenen Bild. Dieses aufgenommene Bild kann zum Beispiel ein Graustufenbild sein. Ein Merkmal kann zum Beispiel eine Kante sein. Es ist möglich, Kanten aus einem aufgenommenen Bild gemäß einer herkömmlichen Technik wie etwa einer Filterungsbearbeitung zu extrahieren.
  • Die Vorrichtung erfasst dann die Positionen von Merkmalen des Modells. Genauer gesagt sei angenommen, dass die Vorrichtung eine grobe Position und Orientierung erfasst hat, die die grobe Positions- und Orientierungsbeziehung zwischen einer Perspektive auf einem aufgenommenen Bild und einem Zielobjekt bezeichnen, und die Perspektive und das Modell gemäß der erfassten Position und Orientierung platziert hat. In diesem Fall berechnet die Vorrichtung ein Projektionsbild einschließlich eines Bilds des Modells, wenn das platzierte Modell aus der platzierten Perspektive gesehen wird. Die Vorrichtung berechnet dann die Positionen der Merkmale des Modells in dem Projektionsbild. Die Merkmale des Modells können zum Beispiel die Kontur- bzw. Umrisslinien des Modells sein. Genauer gesagt können die Merkmale eines Polygonmodells die Kanten von Polygonen oder die äußeren Umrisse des Modells in dem Projektionsbild sein. Das Verfahren zum Extrahieren von Merkmalen aus einem Projektionsbild einschließlich eines Bilds eines Modells ist vorstehend erläutert. Andererseits kann die Vorrichtung die Koordinatenwerte von Kontur- bzw. Umrisslinien oder Kanten aus einem Modell im Voraus extrahieren und die Koordinatenwerte auf ein Bild basierend auf einer groben Position und Orientierung projizieren, wodurch die Positionen von Modellmerkmalen in dem Projektionsbild berechnet werden. Die Merkmale eines Modells einer stückweisen parametrischen gekrümmten Oberfläche können die Kontur- bzw. Umrisslinien von getrimmten gekrümmten Oberflächen sein, die das Modell einer stückweisen parametrischen gekrümmten Oberfläche bilden, oder die äußeren Umrisse des Modells in dem Projektionsbild.
  • Ein in diesem Fall zu verwendendes Modell wird gemäß dem Verfahren ausgewählt, das jeweils in dem ersten Ausführungsbeispiel und seiner ersten bis vierten Abwandlung geschrieben ist. Zum Beispiel, falls es gemäß dem Pass- bzw. Übereinstimmungsgrad einer Position und Orientierung bestimmt wird, dass die Positions- bzw. Lagedifferenz zwischen einem Zielobjekt und einem Modell groß ist, ist es möglich, eine Positions- und Orientierungsberechnung mit hoher Geschwindigkeit durch Verwendung eines Polygonmodells durchzuführen. Falls die Positions- bzw. Lagedifferenz zwischen einem Zielobjekt und einem Modell klein ist, ist es möglich, eine Positions- und Orientierungsberechnung durch Verwendung eines Modells einer stückweisen parametrischen gekrümmten Oberfläche genau durchzuführen.
  • Die Vorrichtung bestimmt dann die Merkmale des Modells, die den Merkmalen auf dem aufgenommenen Bild entsprechen, und erfasst die Abstände zwischen den korrespondierenden Merkmalen. Zum Beispiel kann aus den Merkmalen des Modells ein Merkmal, das sich näher an der Position eines Merkmals auf dem aufgenommenen Bild in dem Projektionsbild befindet, als ein Merkmal des Modells bestimmt werden, das dem Merkmal auf dem aufgenommenen Bild entspricht. Auf dieser Art und Weise verknüpft die Vorrichtung die Merkmale auf dem aufgenommenen Bild mit den Merkmalen des ausgewählten Modells, und legt sie die geometrischen Merkmale des ausgewählten Modells fest, die den geometrischen Merkmalen auf dem aufgenommen Bild entsprechen, wodurch die Abstände zwischen den korrespondierenden Punkten berechnet werden. Auf diese Art und Weise kann die Vorrichtung eine Positionierung durch Verwendung der Abstände zwischen den korrespondierenden Punkten durchführen, die mit Bezug auf die jeweiligen Merkmale auf dem aufgenommenen Bild erfasst werden. Obwohl Koordinatenwerte, die die Positionen von Kanten darstellen, als Merkmale verwendet werden, die in diesem Fall zur Positionierung zu verwenden sind, kann eine Positionierung durch Verwendung von Koordinaten, die die Positionen von Kanten darstellen, sowie Vektoren, die die Richtungen der Kanten darstellen, durchgeführt werden.
  • [Zweites Ausführungsbeispiel]
  • Gemäß dem in dem ersten Ausführungsbeispiel beschriebenen Positions- und Orientierungsberechnungsverfahren werden beim Auswählen eines Modells einer stückweisen parametrischen gekrümmten Oberfläche die Abstände zwischen den korrespondierenden Punkten mit Bezug auf eine Vielzahl von getrimmten gekrümmten Oberflächen in einer Suche unter Verwendung von dreidimensionalen Punkten und entsprechenden stückweisen parametrischen gekrümmten Oberflächen berechnet. Zusätzlich wird beim Berechnen der Abstände zwischen den korrespondierenden Punkten mit Bezug auf die jeweiligen getrimmten gekrümmten Oberflächen bestimmt, ob ein berechneter Punkt in einem effektiven Bereich liegt, der eine Objektform darstellt. Aus diesen Gründen braucht es beim Auswählen eines Modells einer stückweisen parametrischen gekrümmten Oberfläche viel Zeit, um eine Berechnungsverarbeitung für die Abstände zwischen den korrespondierenden Punkten durchzuführen.
  • Dieses Ausführungsbeispiel wird daher ein Verfahren zum Beschleunigen einer Berechnungsverarbeitung für die Abstände zwischen den korrespondierenden Punkten durch vorhergehende Verknüpfung von jedem Polygon eines Polygonmodells mit einem Modell einer stückweisen parametrischen gekrümmten Oberfläche beispielhaft erläutern. Genauer gesagt legt die Vorrichtung zunächst eine Modelloberfläche (eine Oberfläche eines Modells einer stückweisen parametrischen gekrümmten Oberfläche), die einem dreidimensionalen Punkt entspricht, über ein Polygonmodell fest. Es ist möglich, nach der Entsprechung bzw. Korrespondenz zwischen einem Polygon und einem dreidimensionalen Punkt mit hoher Geschwindigkeit zu suchen, indem das gleiche Verfahren wie dasjenige verwendet wird, das in dem ersten Ausführungsbeispiel beschrieben ist. Daraufhin berechnet die Vorrichtung beim Berechnen des Abstands von einem dreidimensionalen Punkt zu einer Modelloberfläche einen genauen Wert durch Verwendung von Parametern einer gekrümmten Oberfläche für eine mit einem Polygon verknüpfte stückweise parametrische gekrümmte Oberfläche. Diese Arten von Verarbeitung können die Abstände zwischen den korrespondierenden Punkten zwischen einem dreidimensionalen Punkt und einer Modelloberfläche selbst dann berechnen, wenn ein Modell einer stückweisen parametrischen gekrümmten Oberfläche ausgewählt wird.
  • Unter Bezugnahme auf das Blockschaltbild gemäß 5 wird ein Beispiel der funktionalen Ausgestaltung einer Informationsverarbeitungsvorrichtung 2 gemäß diesem Ausführungsbeispiel beschrieben. Die gleichen Bezugszeichen wie in 1 bezeichnen die gleichen funktionalen Einheiten in 5, und eine Beschreibung von diesen wird ausgelassen.
  • Eine Modellspeichereinheit 51 speichert bzw. hält (verwaltet) ein Polygonmodell, das die Form eines Zielobjekts mit einer Vielzahl von Polygonen annähert, und ein Modell einer stückweisen parametrischen gekrümmten Oberfläche, das die Form des Zielobjekts mit parametrischen gekrümmten Oberflächen annähert. Zusätzlich dazu ist bei diesem Ausführungsbeispiel jedes Polygon eines Polygonmodells mit der ID einer getrimmten gekrümmten Oberfläche eines Modells einer stückweisen parametrischen gekrümmten Oberfläche versehen, die dem Polygon entspricht. Falls zum Beispiel die Modellspeichereinheit 51 das Polygonmodell und das Modell einer stückweisen parametrischen gekrümmten Oberfläche speichert bzw. hält, die in 2A und 2B gezeigt sind, ist das Polygon des schraffierten Abschnitts in 2B mit der ID der getrimmten gekrümmten Oberfläche des schraffierten Abschnitts in 2A versehen.
  • Eine Sucheinheit 54 sucht nach einem Polygon, das jedem dreidimensionalem Punkt entspricht, der durch eine Oberflächenpositionserfassungseinheit 12 erfasst wird, aus dem in der Modellspeichereinheit 51 gespeicherten bzw. gehaltenen Polygonmodell. Eine Abstandsberechnungseinheit 55 berechnet den Abstand zwischen den korrespondierenden Punkten zwischen jedem dreidimensionalen Punkt, der durch die Oberflächenpositionserfassungseinheit 12 erfasst wird, und einer Modelloberfläche. Genauer gesagt nimmt die Abstandsberechnungseinheit 55 für jeden dreidimensionalen Punkt auf eine getrimmte gekrümmte Oberfläche mit der ID Bezug, die für das dem dreidimensionalen Punkt entsprechende Polygon bereitgestellt ist, und berechnet sie den Abstand zwischen den korrespondierenden Punkten zwischen dem dreidimensionalen Punkt und der Modelloberfläche durch Verwendung der Parameter der gekrümmten Oberfläche.
  • Die durch die Informationsverarbeitungsvorrichtung 2 gemäß diesem Ausführungsbeispiel durchgeführte Verarbeitung zum Erhalten der Position und Orientierung eines Zielobjekts wird als Nächstes unter Bezugnahme auf das Ablaufdiagramm gemäß 6 beschrieben, das die Verarbeitung zeigt. Da die Verarbeitung in Schritten S602 bis S604 und S607 bis S609 in 6 gleich derjenigen in Schritten S302, S303, S305, S308, S309 und S311 in 3 ist, wird eine Beschreibung von diesen Schritten ausgelassen.
  • Der Einfachheit halber basiert die folgende Beschreibung auf der Annahme, dass ein Modell einer stückweisen parametrischen gekrümmten Oberfläche ausgewählt ist/wird. Dieses Ausführungsbeispiel wird auf einen Fall angewandt, in dem ein Modell einer stückweisen parametrischen gekrümmten Oberfläche in dem ersten Ausführungsbeispiel ausgewählt ist/wird (insbesondere Schritte S605 und S6006).
  • <Verarbeitung in Schritt 605>
  • Die Sucheinheit 54 sucht nach einem Polygon, das dem in Schritt 604 ausgewählten dreidimensionalen Punkt entspricht, aus dem in der Modellspeichereinheit 51 gespeicherten bzw. gehaltenen Polygonmodell. In diesem Schritt führt die Sucheinheit 54 eine Suche mit hoher Geschwindigkeit durch die gleiche Verarbeitung wie derjenigen durch, die durchgeführt wird, wenn in Schritt S307 ein Polygonmodell ausgewählt ist/wird.
  • <Verarbeitung in Schritt S606>
  • Die Abstandsberechnungseinheit 55 legt einen korrespondierenden Punkt auf der Modelloberfläche fest, der dem in Schritt 604 ausgewählten dreidimensionalen Punkt entspricht, und sie berechnet den Abstand zwischen dem dreidimensionalem Punkt und dem korrespondierenden Punkt (den Abstand zwischen den korrespondierenden Punkten).
  • Genauer gesagt erhält die Abstandsberechnungseinheit 55 eine Position km_i' durch Transformieren der Position eines dreidimensionalen Punkts kc_i, die in einem Bezugskoordinatensystem definiert ist, in eine Position in dem Modellkoordinatensystem, das durch die Position und Orientierung definiert ist, die durch die momentanen Positions- und Orientierungsinformationen bezeichnet werden. Die Abstandsberechnungseinheit 55 legt dann einen korrespondierenden Punkt pm_i, der dem dreidimensionalen Punkt entspricht, auf dem Modell einer stückweisen parametrischen gekrümmten Oberfläche fest, das mit bzw. an/in der durch die momentanen Positions- und Orientierungsinformationen bezeichneten Position und Orientierung platziert ist, und sie erhält einen Abstand (den Abstand zwischen den korrespondierenden Punkten) d_i zwischen der Position und des korrespondierenden Punkts pm_i und der Position km_i'.
  • 7A und 7B zeigen, dass jeder dreidimensionale Punkt in einen Punkt in einem Modellkoordinatensystem basierend auf den momentanen Positions- und Orientierungsinformationen transformiert wird. Jeder weiße Kreis stellt einen dreidimensionalen Punkt dar, und jede dünne gestrichelte Linie stellt die Entsprechung bzw. Korrespondenz zwischen jedem dreidimensionalen Punkt und einem Polygon dar. Die Abstandsberechnungseinheit 55 berechnet daher nur den Abstand zwischen dem Polygon und der mit dem Polygon verknüpften bzw. in Zusammenhang stehenden getrimmten gekrümmten Oberfläche. Die kreisförmige Säule in 7B ist eine gekrümmte Basisfläche, die eine getrimmte gekrümmte Oberfläche des schraffierten Abschnitts in 2A ausdrückt. Die kreisförmige Säule wird durch drei Parameter ausgedrückt bzw. wiedergegeben, nämlich Koordinaten O' des Ursprungs, die eine Achse definieren, die als das Drehzentrum der kreisförmigen Säule dient, eine dreidimensionale Vektorachse, die die Richtung der Achse bezeichnet, die als das Drehzentrum dient, und ein Radius r der kreisförmigen Säule in dem Modellkoordinatensystem. In diesem Fall wird der Abstand d_i zwischen km_i' und der kreisförmigen Säule in dem Modellkoordinatensystem berechnet durch: d_i = abs(km_i' – abs(Achse·km_i') × Achse )) – r wobei a·b das innere Produkt bzw. Skalaprodukt von Vektor a und Vektor b darstellt und km_i' einen Vektor darstellt, der ausgedrückt wird durch km_i' = km_i – O'. 7A zeigt Liniensegmente, die die Abstände von den jeweiligen dreidimensionalen Punkten zu der getrimmten gekrümmten Oberfläche bezeichnen. Die Abstandsberechnungseinheit 55 berechnet auch die Koordinaten des dreidimensionalen Punkts pm_i mit dem kürzesten Abstand von dem dreidimensionalen Punkt zu der getrimmten gekrümmten Oberfläche. In diesem Fall werden der berechnete Abstand d_i und der Modellpunkt pm_i zusammen mit dem dreidimensionalen Punkt aufgezeichnet. Der Fall, in dem eine getrimmte gekrümmte Oberfläche eine kreisförmige Säule ist, wurde vorstehend ausführlich beschrieben. Bei Verwendung eines anderen Typs von getrimmter gekrümmter Oberfläche ist es möglich, dieses Ausführungsbeispiel auszuführen, indem ein bekanntes Verfahren zum Berechnen eines korrespondierenden Punkts auf einer gekrümmten Oberfläche, der einem dreidimensionalen Punkt entspricht, und des Abstands zwischen den korrespondierenden Punkten aus Parametern einer gekrümmten Oberfläche verwendet wird.
  • Wie es vorstehend beschrieben ist, kann dieses Ausführungsbeispiel eine einem dreidimensionalen Punkt entsprechende getrimmte gekrümmte Oberfläche durch eine Entsprechungssuche mit einem Polygon eindeutig festlegen, und kann daher eine Entsprechungssuchverarbeitung mit einer Vielzahl von getrimmten gekrümmten Oberflächen vermieden werden. Dies macht es möglich, den Abstand zwischen den korrespondierenden Punkten zwischen einem dreidimensionalen Punkt und einer Modelloberfläche selbst dann mit hoher Geschwindigkeit zu berechnen, wenn Positions- und Orientierungsinformationen durch Verwendung eines Modells einer stückweisen parametrischen gekrümmten Oberfläche modifiziert werden. Es ist zu beachten, dass das Verfahren zum Berechnen des Abstands zwischen den korrespondierenden Punkten, das in diesem Ausführungsbeispiel beschrieben ist, zum Erhalten des Abstands zwischen den korrespondierenden Punkten angewandt werden kann, wenn in dem ersten Ausführungsbeispiel ein Modell einer stückweisen parametrischen gekrümmten Oberfläche ausgewählt ist/wird.
  • Obwohl jedes Ausführungsbeispiel und jede Abwandlung, die vorstehend beschrieben sind, verschiedene Fälle beispielhaft erläutert haben, stellen sie jeweils lediglich ein Beispiel der vorstehend beschriebenen Ausgestaltung dar. Das heißt, dass jede Ausgestaltung konfiguriert ist, um Positions- und Orientierungsinformationen zu erfassen, die die grobe Position und Orientierung eines Zielobjekts bezeichnen, und, als ausgewählte Modellinformationen, eine aus einer Vielzahl von Modellinformationen auszuwählen, die sich in ihrer Reproduzierbarkeitsgenauigkeit bzw. Darstellbarkeitsgenauigkeit mit Bezug auf die Form des Zielobjekts unterscheiden, wobei diese gemäß definierten Bedingungen bestimmt wird. Diese Ausgestaltung platziert dann das durch die ausgewählten Modellinformationen dargestellte Modell mit bzw. an/in der Position und Orientierung, die durch die vorgenannten Positions- und Orientierungsinformationen bezeichnet werden, und berechnet einen Bewertungswert für den Abstand zwischen einem Punkt auf dem Zielobjekt und einem korrespondierenden Punkt auf dem platzierten Modell, der dem Punkt entspricht, wodurch die Position und Orientierung des Zielobjekts basierend auf dem Bewertungswert geschätzt werden.
  • <Erste Abwandlung von zweitem Ausführungsbeispiel>
  • Diese Abwandlung ist konfiguriert, um den Abstand zwischen einem dreidimensionalen Punkt und einem dem dreidimensionalen Punkt entsprechenden Polygon zu erhalten. Falls der erhaltene Abstand kleiner ist als ein Schwellenwert, berechnet die Abwandlung erneut einen genauen Abstand durch Verwendung eines Modells einer stückweisen parametrischen gekrümmten Oberfläche. Dies macht es möglich, eine Position und Orientierung zu berechnen, während der Hochgeschwindigkeitsmodus und der Hochgenauigkeitsmodus effizient gewechselt werden, indem die Differenz zwischen einem dreidimensionalen Punkt und einer Modelloberfläche vor der Ausführung einer Modifikation der Position und Orientierung bewertet wird.
  • Diese Abwandlung verwendet auch die Informationsverarbeitungsvorrichtung 2 mit der in 5 gezeigten Ausgestaltung, aber sie unterscheidet sich von dem zweiten Ausführungsbeispiel in dem folgenden Punkt. Im Folgenden wird hauptsächlich der Unterschied gegenüber dem zweiten Ausführungsbeispiel beschrieben. Es sei angenommen, dass diese Abwandlung mit dem zweiten Ausführungsbeispiel übereinstimmt, sofern es nicht anderweitig angegeben ist.
  • Die durch die Informationsverarbeitungsvorrichtung 2 gemäß dieser Abwandlung durchgeführte Verarbeitung zum Erhalten der Position und Orientierung eines Zielobjekts wird unter Bezugnahme auf das Verarbeitungsablaufdiagramm gemäß 8 beschrieben. Da die Verarbeitung in Schritten S802 bis S804 und S808 bis S810 in 8 gleich derjenigen in Schritten S302, S303, S305, S308, S309 und S311 in 3 ist, wird eine Beschreibung von diesen Schritten ausgelassen.
  • <Verarbeitung in Schritt S805>
  • Die Sucheinheit 54 sucht nach einem Polygon, das dem in Schritt S804 ausgewählten dreidimensionalen Punkt kc_i entspricht, aus dem in der Modellspeichereinheit 51 gespeicherten bzw. gehaltenen Polygonmodell. In diesem Schritt führt die Sucheinheit 54 eine Suche mit hoher Geschwindigkeit durch die gleiche Verarbeitung wie derjenigen durch, die durchgeführt wird, wenn in Schritt S307 ein Polygonmodell ausgewählt ist/wird, wie es vorstehend beschrieben ist.
  • <Verarbeitung in Schritt S806>
  • Die Abstandsberechnungseinheit 55 legt einen korrespondierenden Punkt auf dem Polygon fest, der dem in Schritt S804 ausgewählten dreidimensionalen Punkt kc_i entspricht, und sie berechnet den Abstand (den Abstand zwischen den korrespondierenden Punkten) d_i zwischen dem dreidimensionalen Punkt kc_i und dem korrespondierenden Punkt. Die Abstandsberechnungseinheit 55 vergleicht den Abstand d_i mit einem Schwellenwert φ. Wie der Schwellenwert θ, der in dem ersten Ausführungsbeispiel verwendet wird, ist der Wert der Formdifferenz zwischen einem Polygonmodell und einem Modell einer stückweisen parametrischen gekrümmten Oberfläche im Voraus als der Schwellenwert φ eingestellt.
  • Falls das Vergleichsergebnis angibt, dass d_i ≥ φ gilt, überträgt die Abstandsberechnungseinheit 55 den Abstand d_i an eine Positions- und Orientierungsberechnungseinheit 16, da dies bezeichnet, dass die Differenz zwischen dem dreidimensionalen Punkt und der Modelloberfläche mit an/in der Position und Orientierung, die durch die momentanen Positions- und Orientierungsinformationen bezeichnet werden, noch groß ist. Der Prozess schreitet dann zu Schritt S808 voran.
  • Falls d_i < φ gilt, bezeichnet dies, dass die Differenz zwischen dem dreidimensionalen Punkt und der Modelloberfläche mit bzw. an/in der Position und Orientierung, die durch die berechneten Positions- und Orientierungsinformationen bezeichnet werden, nahezu gleich der Modellnäherungsdifferenz ist. In diesem Fall schreitet der Prozess zu Schritt S807 voran, um den Abstand zwischen den korrespondierenden Punkten durch Verwendung eines Modells einer stückweisen parametrischen gekrümmten Oberfläche, das eine genaue Form ausdrückt bzw. wiedergibt, erneut zu berechnen.
  • <Verarbeitung in Schritt S807>
  • Die Abstandsberechnungseinheit 55 nimmt Bezug auf die getrimmte gekrümmte Oberfläche mit der ID, die für das Polygon bereitgestellt ist, das dem in Schritt S804 ausgewählten dreidimensionalen Punkt entspricht, um den Abstand zwischen den korrespondierenden Punkten zwischen dem dreidimensionalen Punkt und einem korrespondierenden Punkt auf der Modelloberfläche, der dem dreidimensionalen Punkt entspricht, zu berechnen. Das heißt, dass die Abstandsberechnungseinheit 55 die gleiche Verarbeitung wie diejenige in Schritt S606 durchführt, die vorstehend beschrieben ist. Die Abstandsberechnungseinheit 55 überträgt diesen Abstand zwischen den entsprechenden Punkten dann an die Positions- und Orientierungsberechnungseinheit 16.
  • Wie es vorstehend beschrieben ist, kann diese Abwandlung eine Position und Orientierung berechnen, während effizient zwischen dem Hochgeschwindigkeitsmodus und dem Hochgenauigkeitsmodus gewechselt wird, indem die Differenz zwischen einem dreidimensionalen Punkt und einer Modelloberfläche vor der Ausführung einer Modifikation von Positions- und Orientierungsinformationen bewertet wird.
  • <Zweite Abwandlung von zweitem Ausführungsbeispiel>
  • Das zweite Ausführungsbeispiel verwendet ein dreidimensionales Formmodell bzw. ein Modell einer dreidimensionalen Form als eine Kombination eines Polygonmodells und eines Modells einer stückweisen parametrischen gekrümmten Oberfläche. Das zu verwendende Modellkombinationsverfahren ist jedoch nicht darauf beschränkt. Zum Beispiel kann eine Kombination einer Vielzahl von Modellen, die in der Lage sind, die Stufen bzw. Niveaus eines Ausgleichs bzw. Kompromisses zwischen der Geschwindigkeit einer Entsprechungssuche und der Genauigkeit einer auszudrückenden bzw. wiederzugebenden Objektform zu wechseln, als dreidimensionale Formmodelle bzw. Modelle einer dreidimensionalen Form gehalten bzw. gespeichert werden, um so die Auswahl eines Modells aus diesen zu ermöglichen. Das heißt, dass die Vorrichtung zunächst einen Abschnitt (zum Beispiel einen Abschnitt einer Oberfläche wie etwa einer Polygonoberfläche), der einem Punkt auf einem Zielobjekt entspricht, durch Verwendung von Modellinformationen mit geringer Reproduzierbarkeitsgenauigkeit bzw. Darstellbarkeitsgenauigkeit festlegt. Die Vorrichtung legt dann einen Abschnitt (zum Beispiel einen Abschnitt einer Oberfläche wie etwa einer getrimmten gekrümmten Oberfläche einer parametrischen gekrümmten Oberfläche), der dem festgelegten Abschnitt entspricht, aus dem Modell fest, das durch Modellinformationen mit höherer Reproduzierbarkeitsgenauigkeit bzw. Darstellbarkeitsgenauigkeit dargestellt wird. Schließlich berechnet die Vorrichtung den Bewertungswert des Abstands zwischen dem Punkt auf dem Zielobjekt und einem korrespondierenden Punkt auf dem Abschnitt, der aus dem Modell festgelegt wird, das durch die Modellinformationen mit der höheren Reproduzierbarkeitsgenauigkeit bzw. Darstellbarkeitsgenauigkeit dargestellt wird.
  • <Dritte Abwandlung von zweitem Ausführungsbeispiel>
  • Das zweite Ausführungsbeispiel hat das Verfahren zum Berechnen des Abstands zwischen den korrespondierenden Punkten mit hoher Geschwindigkeit durch Verwendung der Verknüpfung zwischen jedem Polygon eines Polygonmodells und einer stückweisen parametrischen gekrümmten Oberfläche, die die gleiche Form darstellt, bei einer Positionierung der aus einem Abstandsbild erhaltenen dreidimensionalen Punkte mit einem Modell beispielhaft erläutert. Dieses Verfahren kann auf eine in der fünften Abwandlung des ersten Ausführungsbeispiels beschriebene Positionierung angewandt werden, die auf der Entsprechungsbeziehung zwischen geometrischen Merkmalen auf dem durch Bildgebung eines Zielobjekts erhaltenen aufgenommenen Bild und den aus einer Modelloberfläche extrahierten geometrischen Merkmalen basiert. Zum Beispiel kann ein geometrisches Merkmal eine Kante sein. Genauer gesagt kann dieses Verfahren auf eine Positionierung basierend auf der Entsprechungsbeziehung zwischen den Liniensegmenten (geometrischen Merkmalen), die Kanten auf dem durch Bildgebung eines Zielobjekts erhaltenen aufgenommenen Bild darstellen, und den Liniensegmenten (geometrischen Merkmalen), die aus einer Modellebene bzw. -oberfläche extrahiert werden, angewandt werden. Das heißt, dass die Vorrichtung zunächst die Merkmale des Polygonmodells bestimmt, die den Merkmalen auf dem aufgenommenen Bild entsprechen. Die Vorrichtung nimmt dann auf Verknüpfungsinformationen Bezug, die die Merkmale der stückweisen parametrischen gekrümmten Oberfläche darstellen, die den Merkmalen des Polygonmodells entsprechen, um Merkmale der stückweisen parametrischen gekrümmten Oberfläche auszuwählen, die den Merkmalen auf dem aufgenommenen Bild entsprechen. Auf diese Art und Weise verknüpft die Vorrichtung die geometrischen Merkmale des ersten Modells, das durch die ersten Modellinformationen mit einer geringeren Reproduzierbarkeitsgenauigkeit bzw. Darstellbarkeitsgenauigkeit dargestellt wird, wie etwa des Polygonmodells, und die geometrischen Merkmale des zweiten Modells, das durch die zweiten Modellinformationen mit einer höheren Reproduzierbarkeitsgenauigkeit bzw. Darstellbarkeitsgenauigkeit dargestellt wird, wie etwa eines Modells einer stückweisen parametrischen gekrümmten Oberfläche. Dabei wird der Abstand zwischen den korrespondierenden Punkten zwischen jedem Merkmal auf dem aufgenommenen Bild und einem entsprechenden Merkmal der stückweisen parametrischen gekrümmten Oberfläche berechnet. Wie es vorstehend beschrieben ist, kann ein Merkmal eines Polygonmodells eine Kante eines Polygons sein, und kann ein Merkmal einer entsprechenden stückweisen parametrischen gekrümmten Oberfläche eine Kontur- bzw. Umrisslinie einer stückweisen parametrischen gekrümmten Fläche bzw. Oberfläche sein. Der Abstand zwischen jedem Merkmal auf dem aufgenommenen Bild und einer Kurve, die mit Kurvenparametern im Einklang steht, die die Kontur- bzw. Umrisslinie ausdrücken, die auf diese Art und Weise berechnet werden kann, kann als ein genauer Abstand zwischen den korrespondierenden Punkten verwendet werden. Als ein weiteres Positionierungsverfahren kann ein ähnliches Verfahren auf einen Positionierungsvorgang unter Verwendung von Edgelets bzw. Kantengrundelementen angewandt werden, die jeweils durch eine feine Segmentierung eines Liniensegments erhalten werden, das eine Kante ausdrückt, und durch Koordinaten und eine Richtung ausgedrückt werden.
  • [Drittes Ausführungsbeispiel]
  • Dieses Ausführungsbeispiel wird, als ein Beispiel des Verwendungszwecks der Positions- und Orientierungsinformationen, die durch das Verfahren berechnet werden, das jeweils in dem ersten und dem zweiten Ausführungsbeispiel, ihren Abwandlungen und dergleichen beschrieben ist, ein System beispielhaft erläutern, das einen Roboter dazu veranlasst, ein Zielobjekt mit der Position und Orientierung, die durch die Positions- und Orientierungsinformationen bezeichnet werden, zu behandeln bzw. handzuhaben.
  • Unter Bezugnahme auf 9 wird ein Beispiel der Ausgestaltung des Systems gemäß diesem Ausführungsbeispiel beschrieben. Wie es in 9 gezeigt ist, umfasst das System eine Informationsverarbeitungsvorrichtung 3, eine Robotersteuerungseinheit bzw. -steuergeräteeinheit und einen Roboter 900.
  • Der Roboter 900 ist ein mehrgelenkiger Roboter und arbeitet auf Empfang einer Steueranweisung von der Robotersteuerungseinheit bzw. -steuergeräteeinheit hin. Eine Hand, die als ein Greiforgan bzw. Wirkglied dient, ist an dem entfernten Ende des Arms des Roboters 900 angebracht. Dies ermöglicht, dass der Roboter an einem Zielobjekt arbeitet bzw. auf ein Zielobjekt einwirkt. Dieses Ausführungsbeispiel verwendet eine Hand mit einem Klemm- bzw. Spannmechanismus, der im Stande ist, ein Zielobjekt zu greifen, als Greiforgan bzw. Wirkglied. Dieser Roboter kann als Greiforgan bzw. Wirkglied eine motorgetriebene Hand oder ein Ansaugplatte verwenden, die ein Zielobjekt mit Luftdruck aufnimmt. Es sei angenommen, dass vor der Ausführung dieses Ausführungsbeispiels eine bekannte Technik verwendet wird, um die relative Position und Orientierung zwischen dem Roboter 900 und einer Oberflächenpositionserfassungseinheit 901 sowie die relative Position und Orientierung zwischen dem Arm des Roboters 900 und dem Greiforgan bzw. Wirkglied zu kalibrieren. Dies kann die durch eine Positions- und Orientierungsberechnungseinheit 906 berechnete Position und Orientierung in diejenigen in einem Arbeitsraumkoordinatensystem transformieren, das in dem Raum festgelegt ist, in dem die Palette platziert ist. Zusätzlich ist es möglich, den Roboter so zu steuern, dass die Hand mit bzw. an/in der Position und Orientierung eingerichtet wird, die in dem Arbeitsraumkoordinatensystem bestimmt sind. Es ist jedoch zu beachten, dass der Roboter anstelle eines mehrgelenkigen Roboters ein NC-steuerbarer beweglicher Mechanismus sein kann.
  • Die Oberflächenpositionserfassungseinheit 901 nimmt ein Abstandsbild eines Zielobjekts 910 auf und erfasst die Position von jedem dreidimensionalen Punkt auf einer Oberfläche des Zielobjekts 910 durch Verwendung des aufgenommenen Abstandsbilds. Das heißt, dass der grundlegende Betrieb der Oberflächenpositionserfassungseinheit 901 gleich demjenigen einer Oberflächenpositionserfassungseinheit 12 ist. Daher kann die Oberflächenpositionserfassungseinheit 901 an einem Abschnitt nahe der Hand des Roboters 900 oder irgendwo in dem Arbeitsraumkoordinatensystem angebracht sein. Es sei angenommen, dass die Oberflächenpositionserfassungseinheit 901 aus einem kompakten Projektor und einer Kamera aufgebaut ist. Die Oberflächenpositionserfassungseinheit 901 nimmt ein Abstandsbild durch ein räumliches Codierverfahren auf. Wahlweise kann die Oberflächenpositionserfassungseinheit 901 ein Abstandsbild durch ein Stereoverfahren unter Verwendung einer Stereokamera oder durch ein Lichtschnittverfahren unter Verwendung eines Laserprojektors und einer Kamera oder durch jedes andere beliebige Verfahren aufnehmen.
  • Das Zielobjekt 910 ist ein Teil eines industriellen Produkts. Der Roboter 900 nimmt Teile auf und setzt diese in/zu einem Produkt zusammen. Es ist möglich, verschiedene Materialien zu verwenden, wie etwa Plastik, Metall und Vinyl. Eine Vielzahl von Zielobjekten 910 sind auf einer Palette an/mit verschiedenen Positionen und Orientierungen aufgeschichtet.
  • Eine Sucheinheit 904, eine Modellspeichereinheit 902, ein Abstandsberechnungseinheit 905, eine Positions- und Orientierungsberechnungseinheit 906 und eine Positions- und Orientierungseingabeeinheit 903 entsprechen jeweils den funktionalen Einheiten wie der Sucheinheit 54, der Modellspeichereinheit 51, der Abstandsberechnungseinheit 55, der Positions- und Orientierungsberechnungseinheit 16 und der Positions- und Orientierungseingabeeinheit 13. Die Positions- und Orientierungsberechnungseinheit 906 überträgt die Position und Orientierung des Zielobjekts 910, die endgültig erhalten werden, an eine Roberterbetriebsanweisungseinheit 907.
  • Die Roboterbetriebsanweisungseinheit 907 erzeugt eine Steueranweisung, um zu bewirken, dass sich der Arm des Roboters 900 mit bzw. an/in die Position und Orientierung bewegt, die von der Positions- und Orientierungsberechnungseinheit 906 empfangen werden, und einen Greif- oder Aufnahmebetrieb durchführt, und sie überträgt die Anweisung an eine Robotersteuereinheit 908. Offensichtlich sind die Tätigkeiten des Roboters jedoch nicht auf Bewegungs-, Greif- und Aufnahmevorgänge beschränkt, und sie umfassen andere Tätigkeiten, wie etwa eine Prüfung des äußeren Erscheinungsbilds bzw. Aussehens bezüglich eines Zielobjekts.
  • Die Robotersteuereinheit 908 steuert den Roboter 900 gemäß dieser Steueranweisung, um zu bewirken, dass sich der Arm des Roboters 900 mit bzw. an/in die Position und Orientierung bewegt, die durch die Positions- und Orientierungsinformationen bezeichnet werden, die durch die Positions- und Orientierungsberechnungseinheit 906 erhalten werden, und eine gewünschte Tätigkeit durchführt (Greifen oder Bewegen des Zielobjekts 910).
  • Der Betrieb des vorgenannten Systems wird unter Bezugnahme auf das Ablaufdiagramm gemäß 10 beschrieben. Zunächst erhält die Informationsverarbeitungsvorrichtung 3 in Schritt S1001 die Position und Orientierung des Zielobjekts 910. In Schritt S1002 überträgt die Informationsverarbeitungsvorrichtung 3 die erhaltene Position und Orientierung an die Robotersteuereinheit. Die Robotersteuerungseinheit bzw. -steuergeräteeinheit überträgt daher eine Steueranweisung an den Roboter 900, um zu bewirken, dass dieser eine gewünschte Tätigkeit für das Zielobjekt 910 an/mit dieser Position Orientierung durchführt.
  • In Schritt S1003 arbeitet der Roboter gemäß dieser Steueranweisung. Dieses System wiederholt die Verarbeitung in Schritten S1001 bis S1003, sofern der Benutzer keine Anhalteanweisung eingibt (Schritt S1004).
  • Es ist zu beachten, dass als die Ausgestaltung der Informationsverarbeitungsvorrichtung 3 und des Positions- und Orientierungsberechnungsverfahrens beliebige Ausgestaltungen in dem ersten und dem zweiten Ausführungsbeispielen und ihren Abwandlungen verwendet werden können. Bei Verwendung dieser kann die Ausgestaltung oder Verarbeitung je nach Bedarf modifiziert werden.
  • [Viertes Ausführungsbeispiel]
  • Jede Einheit in der Informationsverarbeitungsvorrichtung 1, die in 1 gezeigt ist, jede Einheit in der Informationsverarbeitungsvorrichtung 2, die in 5 gezeigt ist, und jede Einheit in der Informationsverarbeitungsvorrichtung 3, die in 9 gezeigt ist, kann durch Hardware implementiert werden. Wahlweise kann die Modellspeichereinhit 11, 51 oder 902 durch einen Speicher ausgebildet werden, und kann jede der verbleibenden Einheiten durch Computerprogramme implementiert werden.
  • In diesem Fall kann ein gewöhnlicher PC (Personal Computer bzw. Arbeitsplatzrechner) oder dergleichen auf die Informationsverarbeitungsvorrichtungen 1 bis 3 angewandt werden. Zum Beispiel wird die Modellspeichereinheit 11, 51 oder 902 auf einer Festplatte ausgebildet und sind auf der Festplatte Computerprogramme gespeichert, um zu bewirken, dass eine CPU die Funktionen der jeweiligen Einheiten abgesehen von der Modellspeichereinheit ausführt. Die CPU von dem PC liest die Computerprogramme und Daten, die auf der Festplatte gespeichert sind, in den RAM, und sie führt eine Verarbeitung durch Verwendung der gelesenen Programme und Daten aus, wodurch bewirkt wird, dass der PC als die Informationsverarbeitungsvorrichtungen 1 bis 3 arbeitet. Zusätzlich können die jeweiligen Ausführungsbeispiele und Abwandlungen, die vorstehend beschrieben sind, je nach Bedarf kombiniert werden.
  • [Weitere Ausführungsbeispiele]
  • Aspekte der vorliegenden Erfindung können auch durch einen Computer eines Systems oder einer Vorrichtung (oder Bauelemente wie etwa eine CPU oder MPU) realisiert werden, der ein auf einem Speicherbauelement aufgezeichnetes Programm ausliest und ausführt, um die Funktionen der vorstehend beschriebenen Ausführungsbeispiele durchzuführen, sowie durch ein Verfahren, dessen Schritte durch einen Computer eines Systems oder einer Vorrichtung durchgeführt werden, indem zum Beispiel ein auf einem Speicherbauelement aufgezeichnetes Programm ausgelesen und ausgeführt wird, um die Funktionen der vorstehend beschriebenen Ausführungsbeispiele durchzuführen. Zu diesem Zweck wird das Programm an den Computer zum Beispiel über ein Netzwerk oder von einem Speichermedium verschiedener Typen bereitgestellt, das als das Speicherelement dient (zum Beispiel ein computerlesbares Medium).
  • Während die Erfindung unter Bezugnahme auf beispielhafte Ausführungsbeispiele beschrieben wurde, ist es selbstverständlich, dass die Erfindung nicht auf die offenbarten beispielhaften Ausführungsbeispiele beschränkt ist. Dem Umfang der folgenden Patentansprüche ist die breiteste Auslegung zuzugestehen, so dass alle derartigen Modifikationen sowie äquivalenten Strukturen und Funktionen umfasst sind.
  • Es ist eine Informationsverarbeitungsvorrichtung offenbart. Ein Bild, das ein Zielobjekt umfasst, wird aufgenommen. Eine grobe Position und Orientierung des Zielobjekts wird erfasst. Informationen einer Vielzahl von Modellen, die eine Form des Zielobjekts mit unterschiedlicher Genauigkeit bezeichnen, werden gespeichert. Ein geometrisches Merkmal des Zielobjekts in dem aufgenommenen Bild wird mit einem geometrischen Merkmal verknüpft, das durch zumindest eines der Vielzahl von Modellen bezeichnet wird, die mit der groben Position und Orientierung platziert sind. Eine Position und Orientierung des Zielobjekts wird basierend auf dem Verknüpfungsergebnis geschätzt.
  • 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 2009-020671 [0006]
  • Zitierte Nicht-Patentliteratur
    • Oishi, Nakazawa und Ikeuchi, „Fast Simultaneous Alignment of Multiple Range Images Using Index Images”, Bd. J89-D, Nr. 3, Seiten 513–521, 2006 [0050]
    • K. S. Arun, T. S. Huang und S. D. Blostein, „Least-Squares Fitting of Two 3-D Point Sets”, PAMI, Bd. 9, Nr. 5, 1987 [0062]
    • Tateno, Kotake und Uchiyama, „A Model Fitting Method Using Intensity and Range Images for Bin-Picking Applications”, Bd. J94-D, Nr. 8, S. 1410–1422, 2011 [0065]
    • T. Drummond und R. Cipolla, „Real-time visual tracking of complex structures”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Bd. 24, Nr. 7, S. 932–946, 2002 [0098]

Claims (17)

  1. Informationsverarbeitungsvorrichtung mit: einer Bildaufnahmeeinrichtung zum Aufnehmen eines Bilds, das ein Zielobjekt umfasst; einer Einrichtung zum Erfassen einer groben Position und Orientierung des Zielobjekts; einer Speichereinrichtung zum Speichern von Informationen einer Vielzahl von Modellen, die eine Form des Zielobjekts mit unterschiedlicher Genauigkeit bezeichnen; einer Verknüpfungseinrichtung zum Verknüpfen eines geometrischen Merkmals des Zielobjekts in dem aufgenommenen Bild mit einem geometrischen Merkmal, das durch zumindest eines der Vielzahl von Modellen bezeichnet wird, die mit der groben Position und Orientierung platziert sind; und einer Schätzeinrichtung zum Schätzen einer Position und Orientierung des Zielobjekts basierend auf dem Verknüpfungsergebnis.
  2. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, wobei die Verknüpfungseinrichtung ein Modell aus der Vielzahl von Modellen gemäß einer vorbestimmten Bedingung auswählt und das geometrische Merkmal des Zielobjekts und das geometrische Merkmal verknüpft, das durch das ausgewählte Modell bezeichnet wird.
  3. Informationsverarbeitungsvorrichtung gemäß Anspruch 2, wobei die Verknüpfungseinrichtung eine Auswahleinrichtung zum Auswählen eines Modells aus der Vielzahl von Modellen basierend auf einem Vergleich zwischen einem Indexwert, der während einer Wiederholung der Schätzung berechnet wird, und einem Schwellenwert aufweist, und die Schätzeinrichtung aufweist: eine Einrichtung zum Platzieren des ausgewählten Modells mit der groben Position und Orientierung oder der geschätzten Position und Orientierung und zum Erhalten eines Abstands zwischen jedem geometrischen Merkmal auf einer Oberfläche des Zielobjekts und einem entsprechenden geometrischen Merkmal, das durch das ausgewählte Modell bezeichnet wird; und eine Einrichtung zum Schätzen einer Position und Orientierung basierend auf dem Abstand, der für jedes geometrische Merkmal auf der Oberfläche des Zielobjekts erhalten wird.
  4. Informationsverarbeitungsvorrichtung gemäß Anspruch 3, wobei die Auswahleinrichtung ein Modell aus der Vielzahl von Modellen basierend auf einem Übereinstimmungsgrad mit dem Zielobjekt auswählt, und die Schätzeinrichtung zusätzlich eine Einrichtung zum Erhalten des Übereinstimmungsgrads basierend auf einem Abstand zwischen jedem geometrischen Merkmal auf der Oberfläche des Zielobjekts und einem entsprechenden geometrischen Merkmal aufweist, das durch das ausgewählte Modell bezeichnet wird, das mit der geschätzten Position und Orientierung platziert ist.
  5. Informationsverarbeitungsvorrichtung gemäß Anspruch 3, wobei die Auswahleinrichtung ein Modell aus der Vielzahl von Modellen basierend auf der Häufigkeit einer Ausführung der Schätzung auswählt.
  6. Informationsverarbeitungsvorrichtung gemäß Anspruch 3, wobei die Auswahleinrichtung ein Modell aus der Vielzahl von Modellen basierend auf einer Positionsdifferenz zwischen der groben Position vor der Schätzung und der geschätzten Position nach der Schätzung auswählt.
  7. Informationsverarbeitungsvorrichtung gemäß Anspruch 3, wobei die Auswahleinrichtung ein Modell aus der Vielzahl von Modellen basierend auf einer Orientierungsdifferenz zwischen der groben Orientierung vor der Schätzung und der geschätzten Orientierung nach der Schätzung auswählt.
  8. Informationsverarbeitungsvorrichtung gemäß Anspruch 2, wobei die Schätzeinrichtung aufweist: eine Auswahleinrichtung zum Auswählen, für jeden Bereich des Zielobjekts, eines Modells einer parametrischen gekrümmten Oberfläche, das eine Form des Bereichs mit einer parametrischen gekrümmten Oberfläche annähert oder eines Polygonmodells, das die Form des Bereichs mit Polygonen annähert, basierend auf einer Näherungsdifferenz des Polygonmodells relativ zu dem Modell einer parametrischen gekrümmten Oberfläche; eine Einrichtung zum Platzieren des ausgewählten Modells, für jeden Bereich des Zielobjekts, mit der groben Position und Orientierung und zum Erhalten eines Abstands zwischen jedem geometrischen Merkmal auf einer Oberfläche des Zielobjekts und einem entsprechenden geometrischen Merkmal, das durch das ausgewählte Modell bezeichnet wird, und eine Einrichtung zum Schätzen einer Position und Orientierung basierend auf dem Abstand, der für jedes geometrische Merkmal auf der Oberfläche des Zielobjekts erhalten wird.
  9. Informationsverarbeitungsvorrichtung gemäß Anspruch 2, wobei die Schätzeinrichtung aufweist: eine Auswahleinrichtung zum Auswählen, für jeden Bereich des Zielobjekts, eines Modells einer parametrischen gekrümmten Oberfläche, das eine Form des Bereich mit einer parametrischen gekrümmten Oberfläche annähert, oder eines Polygonmodells, das die Form des Bereich mit Polygonen annähert, basierend auf einer Toleranz der Form des Zielobjekts; eine Einrichtung zum Platzieren des ausgewählten Modells, für jeden Bereich des Zielobjekts, mit der groben Position und Orientierung und zum Erhalten eines Abstands zwischen jedem geometrischen Merkmal auf einer Oberfläche des Zielobjekts und einem entsprechenden geometrischen Merkmal, das durch das ausgewählte Objekt bezeichnet wird; und eine Einrichtung zum Schätzen einer Position und Orientierung basierend auf dem Abstand, der für jedes geometrische Merkmal auf der Oberfläche des Zielobjekts erhalten wird.
  10. Informationsverarbeitungsvorrichtung gemäß Anspruch 2, wobei die Schätzeinrichtung aufweist: eine Auswahleinrichtung zum Auswählen, für jedes geometrische Merkmal auf einer Oberfläche des Zielobjekts, eines Polygonmodells, das die Form des Zielobjekts mit Polygonen annähert, falls eine Restdifferenz mit Bezug auf das geometrische Merkmal nicht kleiner ist als ein Schwellenwert, und eines Modells einer parametrischen gekrümmten Oberfläche, das die Form des Zielobjekts mit einer parametrischen gekrümmten Oberfläche annähert, falls die Restdifferenz kleiner ist als der Schwellenwert; eine Recheneinrichtung zum Platzieren des ausgewählten Modells hinsichtlich des geometrischen Merkmals mit der groben Position und Orientierung und zum Erhalten eines Abstands zwischen dem geometrischen Merkmal und einem entsprechenden geometrischen Merkmal des platzierten Modells; eine Modifikationseinrichtung zum Modifizieren der groben Position und Orientierung basierend auf dem Abstand, der für jedes geometrische Merkmal auf einer Oberfläche des Zielobjekts erhalten wird; und eine Einrichtung zum Platzieren des ausgewählten Modells, für jedes geometrische Merkmal auf einer Oberfläche des Zielobjekts, mit der modifizierten groben Position und Orientierung und zum Erhalten eines Abstands zwischen dem geometrischen Merkmal und einem entsprechenden geometrischen Merkmal des ausgewählten Modells als die Restdifferenz mit Bezug auf das geometrisch Merkmal.
  11. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, wobei die Speichereinrichtung Informationen eines ersten Modells und eines zweiten Modells speichert, die mit jedem Bereich des Zielobjekts in Zusammenhang stehen, wobei das zweite Modell genauer ist als das erste Modell, und die Verknüpfungseinrichtung zusätzlich eine Festlegungseinrichtung zum Festlegen eines geometrischen Merkmals des ersten Modells durch Verknüpfen eines geometrischen Merkmals des Zielobjekts in dem Bild mit einem geometrischen Merkmal des ersten Modells aufweist, das mit der groben Position und Orientierung platziert ist, und die Verknüpfungseinrichtung ein geometrisches Merkmal eines zweiten Modells, das mit dem festgelegten geometrischen Merkmal des ersten Modells in Zusammenhang steht, mit dem geometrischen Merkmal des Zielobjekts verknüpft.
  12. Informationsverarbeitungsvorrichtung gemäß Anspruch 11, wobei: das erste Modell ein Polygonmodell ist; und das zweite Modell ein Modell einer stückweisen parametrischen gekrümmten Oberfläche ist.
  13. Informationsverarbeitungsvorrichtung gemäß Anspruch 11 oder 12, wobei die Festlegungseinrichtung einen Abstand zwischen dem geometrischen Merkmal des Zielobjekts und einem entsprechenden geometrischen Merkmal des ersten Modells berechnet; und die Festlegungseinrichtung eine Position und Orientierung des Zielobjekts schätzt, indem ein Bewertungswert des berechneten Abstands in Bezug auf das geometrische Merkmal verwendet wird, für das der berechnete Abstand nicht kleiner ist als ein Schwellenwert, und indem ein Verknüpfungsergebnis unter Verwendung des zweiten Modells in Bezug auf das geometrische Merkmal verwendet wird, für das der berechnete Abstand kleiner ist als ein Schwellenwert.
  14. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, zusätzlich mit: einer Einrichtung zum Erfassen eines Bilds eines Zielobjekts, das aus einer Perspektive an einer vorbestimmten Position aufgenommen ist; und einer Einrichtung zum Extrahieren eines geometrischen Merkmals aus dem aufgenommenen Bild; wobei die Schätzeinrichtung ein aus der Vielzahl von Modellen ausgewähltes Modell basierend auf der groben Position und Orientierung auf das Bild projiziert, wobei die Vielzahl von Modellen eine Form des Zielobjekts mit unterschiedlicher Genauigkeit bezeichnen; und die Schätzeinrichtung die Position und Orientierung des Zielobjekts basierend auf dem extrahierten geometrischen Merkmal und einem entsprechend geometrischen Merkmal des projizierten Modells schätzt.
  15. Informationsverarbeitungsvorrichtung gemäß Anspruch 1, zusätzlich mit einer Einrichtung zum Übertragen einer Anweisung an eine Steuereinrichtung zum Steuern eines Roboters, wobei die Anweisung den Roboter dazu veranlasst, sich in die geschätzte Position und Orientierung zu bewegen.
  16. Informationsverarbeitungsverfahren: Aufnehmen eines Bilds, das ein Zielobjekts umfasst; Erfassen einer groben Position und Orientierung des Zielobjekts; Speichern von Informationen einer Vielzahl von Modellen, die eine Form des Zielobjekts mit unterschiedlicher Genauigkeit bezeichnen; Verknüpfen eines geometrischen Merkmals des Zielobjekts in dem aufgenommenen Bild mit einem geometrischen Merkmal, das durch zumindest eines der Vielzahl von Modellen bezeichnet wird, die mit der groben Position und Orientierung platziert sind; und Schätzen einer Position und Orientierung des Zielobjekts basierend auf dem Verknüpfungsergebnis.
  17. Programm zum Anweisen eines Computers zum: Aufnehmen eines Bilds, das ein Zielobjekts umfasst; Erfassen einer groben Position und Orientierung des Zielobjekts; Speichern von Informationen einer Vielzahl von Modellen, die eine Form des Zielobjekts mit unterschiedlicher Genauigkeit bezeichnen; Verknüpfen eines geometrischen Merkmals des Zielobjekts in dem aufgenommenen Bild mit einem geometrischen Merkmal, das durch zumindest eines der Vielzahl von Modellen bezeichnet wird, die mit der groben Position und Orientierung platziert sind; und Schätzen einer Position und Orientierung des Zielobjekts basierend auf dem Verknüpfungsergebnis.
DE102013216902.7A 2012-08-28 2013-08-26 Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Programm Ceased DE102013216902A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012188074 2012-08-28
JP2012-188074 2012-08-28
JP2013-118301 2013-06-04
JP2013118301A JP6323993B2 (ja) 2012-08-28 2013-06-04 情報処理装置、情報処理方法、及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
DE102013216902A1 true DE102013216902A1 (de) 2014-03-06

Family

ID=50098676

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013216902.7A Ceased DE102013216902A1 (de) 2012-08-28 2013-08-26 Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Programm

Country Status (4)

Country Link
US (1) US9275461B2 (de)
JP (1) JP6323993B2 (de)
CN (1) CN103678754B (de)
DE (1) DE102013216902A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017118276B4 (de) * 2016-08-17 2020-10-08 Fanuc Corporation Robotersteuerungsvorrichtung

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5787642B2 (ja) * 2011-06-28 2015-09-30 キヤノン株式会社 対象物保持装置、対象物保持装置の制御方法、およびプログラム
JP6323993B2 (ja) * 2012-08-28 2018-05-16 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム
JP6429450B2 (ja) 2013-10-31 2018-11-28 キヤノン株式会社 情報処理装置、情報処理方法
JP5905549B1 (ja) * 2014-09-16 2016-04-20 ファナック株式会社 バラ積みされた物品を取出す物品取出装置
JP6256702B2 (ja) * 2014-12-25 2018-01-10 株式会社ダイフク 物品搬送用容器昇降搬送装置
EP3040941B1 (de) * 2014-12-29 2017-08-02 Dassault Systèmes Verfahren zur kalibrierung einer tiefenkamera
JP6635690B2 (ja) * 2015-06-23 2020-01-29 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US10335951B2 (en) * 2015-07-29 2019-07-02 Canon Kabushiki Kaisha Information processing apparatus, information processing method, robot control apparatus, and robot system
JP6711591B2 (ja) * 2015-11-06 2020-06-17 キヤノン株式会社 ロボット制御装置およびロボット制御方法
JP6677522B2 (ja) * 2016-02-15 2020-04-08 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP6846661B2 (ja) * 2016-04-13 2021-03-24 パナソニックIpマネジメント株式会社 3次元的な投影対象のための投影方法及び装置
US10380767B2 (en) * 2016-08-01 2019-08-13 Cognex Corporation System and method for automatic selection of 3D alignment algorithms in a vision system
JP2018034242A (ja) * 2016-08-31 2018-03-08 セイコーエプソン株式会社 ロボット制御装置、ロボット、及びロボットシステム
JP6845929B2 (ja) * 2017-06-12 2021-03-24 株式会社日立製作所 三次元計測装置、および方法
CN111164958A (zh) * 2017-09-29 2020-05-15 深圳市大疆创新科技有限公司 用于基于姿态信息处理和显示图像数据的系统及方法
JP6886906B2 (ja) * 2017-10-10 2021-06-16 東芝テック株式会社 読取装置およびプログラム
US11453123B2 (en) * 2017-12-27 2022-09-27 Stmicroelectronics, Inc. Robotic device with time-of-flight proximity sensing system
JP6879238B2 (ja) * 2018-03-13 2021-06-02 オムロン株式会社 ワークピッキング装置及びワークピッキング方法
JP7237496B2 (ja) * 2018-09-10 2023-03-13 株式会社東芝 ピッキングシステム、情報処理装置及び情報処理プログラム
WO2020121406A1 (ja) * 2018-12-11 2020-06-18 三菱電機株式会社 3次元計測装置、移動ロボット、手押し車型移動装置および3次元計測処理方法
CN110160528B (zh) * 2019-05-30 2021-06-11 华中科技大学 一种基于角度特征识别的移动装置位姿定位方法
JP7362776B2 (ja) * 2019-12-11 2023-10-17 株式会社京都製作所 部品供給装置および部品搬送システム
JP2024518862A (ja) * 2020-12-01 2024-05-08 クリアエッジ・スリー・ディー インコーポレイテッド 施工検証システム、方法およびコンピュータプログラム製品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020671A (ja) 2007-07-11 2009-01-29 Saitama Univ 曲面形状と視線との交差座標導出方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3512992B2 (ja) * 1997-01-07 2004-03-31 株式会社東芝 画像処理装置および画像処理方法
EP1754201A1 (de) * 2004-05-27 2007-02-21 Canon Kabushiki Kaisha Informationsverarbeitungsverfahren, informationsverarbeitungsvorrichtung und bilderfassungsvorrichtung
JP4081553B2 (ja) * 2005-09-13 2008-04-30 防衛省技術研究本部長 距離推定装置
US8050473B2 (en) * 2007-02-13 2011-11-01 The Trustees Of The University Of Pennsylvania Segmentation method using an oriented active shape model
JP5253066B2 (ja) * 2008-09-24 2013-07-31 キヤノン株式会社 位置姿勢計測装置及び方法
JP2011175477A (ja) * 2010-02-24 2011-09-08 Canon Inc 3次元計測装置、処理方法及びプログラム
JP5618569B2 (ja) * 2010-02-25 2014-11-05 キヤノン株式会社 位置姿勢推定装置及びその方法
JP5746477B2 (ja) 2010-02-26 2015-07-08 キヤノン株式会社 モデル生成装置、3次元計測装置、それらの制御方法及びプログラム
JP5430456B2 (ja) 2010-03-16 2014-02-26 キヤノン株式会社 幾何特徴抽出装置、幾何特徴抽出方法、及びプログラム、三次元計測装置、物体認識装置
JP5170154B2 (ja) * 2010-04-26 2013-03-27 オムロン株式会社 形状計測装置およびキャリブレーション方法
JP5496008B2 (ja) 2010-08-06 2014-05-21 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
US8467596B2 (en) * 2011-08-30 2013-06-18 Seiko Epson Corporation Method and apparatus for object pose estimation
JP5991730B2 (ja) * 2012-01-30 2016-09-14 キヤノン株式会社 計測装置、計測方法及びプログラム
JP6323993B2 (ja) * 2012-08-28 2018-05-16 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020671A (ja) 2007-07-11 2009-01-29 Saitama Univ 曲面形状と視線との交差座標導出方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
K. S. Arun, T. S. Huang und S. D. Blostein, "Least-Squares Fitting of Two 3-D Point Sets", PAMI, Bd. 9, Nr. 5, 1987
Oishi, Nakazawa und Ikeuchi, "Fast Simultaneous Alignment of Multiple Range Images Using Index Images", Bd. J89-D, Nr. 3, Seiten 513-521, 2006
T. Drummond und R. Cipolla, "Real-time visual tracking of complex structures", IEEE Transactions on Pattern Analysis and Machine Intelligence, Bd. 24, Nr. 7, S. 932-946, 2002
Tateno, Kotake und Uchiyama, "A Model Fitting Method Using Intensity and Range Images for Bin-Picking Applications", Bd. J94-D, Nr. 8, S. 1410-1422, 2011

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017118276B4 (de) * 2016-08-17 2020-10-08 Fanuc Corporation Robotersteuerungsvorrichtung

Also Published As

Publication number Publication date
CN103678754A (zh) 2014-03-26
CN103678754B (zh) 2017-06-06
US9275461B2 (en) 2016-03-01
US20140067126A1 (en) 2014-03-06
JP2014063475A (ja) 2014-04-10
JP6323993B2 (ja) 2018-05-16

Similar Documents

Publication Publication Date Title
DE102013216902A1 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Programm
DE102015011914B4 (de) Konturlinienmessvorrichtung und Robotersystem
DE102015101710B4 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
DE112011100652T5 (de) Dreidimensionale messvorrichtung, verarbei- tungsverfahren und nichtflüchtiges computer- lesbares speichermedium
DE102015002760B4 (de) Robotersimulationssystem, das den Prozess des Entnehmens von Werkstücken simuliert
JP6573354B2 (ja) 画像処理装置、画像処理方法、及びプログラム
DE102013012224B4 (de) Vorrichtung zum Entnehmen von lose gespeicherten Gegenständen durch einen Roboter
DE112010004767B4 (de) Punktwolkedaten-Verarbeitungsvorrichtung, Punktwolkedaten-Verarbeitungsverfahren und Punktwolkedaten-Verarbeitungsprogramm
DE102014212304B4 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Speichermedium
DE102018109774B4 (de) Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm
DE102016013274A1 (de) Bildverarbeitungsvorrichtung und verfahren zur erkennung eines bilds eines zu erkennenden objekts aus eingabedaten
DE102013211240A1 (de) Bereichsmessvorrichtung und Bereichsmessverfahren
DE102017116952A1 (de) System und verfahren für verbessertes scoring von 3d-lagen und entfernen von störpunkten in 3d-bilddaten
DE102015005267A1 (de) Informationsverarbeitungsvorrichtung, Verfahren dafür und Messvorrichtung
DE102016003294A1 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Speichermedium
DE102014000982A1 (de) Positions- und Orientierungsmessvorrichtung, Informationsverarbeitungsvorrichtung und Informationsverarbeitungsverfahren
WO2020104102A1 (de) Erkennung von bearbeitungsfehlern eines laserbearbeitungssystems mithilfe von tiefen faltenden neuronalen netzen
DE112012005350T5 (de) Verfahren zum Schätzen der Stellung eines Objekts
DE102014016069A1 (de) Vorrichtung und Verfahren zum Aufnehmen eines Gegenstandes im 3- dimensionalen Raum mit einem Roboter
EP2791903A1 (de) Verfahren und vorrichtung zur schätzung einer pose
DE112014004190T5 (de) Positurschätzverfahren und Roboter
DE102019104310A1 (de) System und Verfahren zur simultanen Betrachtung von Kanten und normalen bei Bildmerkmalen durch ein Sichtsystem
DE102018207414A1 (de) Bildverarbeitungssystem
DE102017116853A1 (de) System und Verfahren zur automatischen Auswahl von 3D-Ausrichtungsalgorithmen in einem Sehsystem
DE112014006911T5 (de) Verfahren und System zum Scannen eines Objekts unter Verwendung eines RGB-D-Sensors

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: TBK, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009780000

Ipc: G06V0030200000

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final