DE102016216221A1 - Zweidimensionale Codeanordnung, Arbeitsanordnung und Verfahren zum Betreiben der Arbeitsanordnung - Google Patents

Zweidimensionale Codeanordnung, Arbeitsanordnung und Verfahren zum Betreiben der Arbeitsanordnung Download PDF

Info

Publication number
DE102016216221A1
DE102016216221A1 DE102016216221.7A DE102016216221A DE102016216221A1 DE 102016216221 A1 DE102016216221 A1 DE 102016216221A1 DE 102016216221 A DE102016216221 A DE 102016216221A DE 102016216221 A1 DE102016216221 A1 DE 102016216221A1
Authority
DE
Germany
Prior art keywords
basic symbols
parcel
arrangement
code arrangement
symbols
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102016216221.7A
Other languages
English (en)
Inventor
Joachim Frangen
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102016216221.7A priority Critical patent/DE102016216221A1/de
Publication of DE102016216221A1 publication Critical patent/DE102016216221A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/26Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light
    • G01D5/32Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light
    • G01D5/34Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells
    • G01D5/347Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells using displacement encoding scales
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D2205/00Indexing scheme relating to details of means for transferring or converting the output of a sensing member
    • G01D2205/90Two-dimensional encoders, i.e. having one or two codes extending in two directions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/14Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage
    • G01D5/24Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage by varying capacitance
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

Das Positionieren und/oder die Positionsbestimmung von Objekten in einem Raum und/oder auf einer Fläche stellt eine zentrale Aufgabe in der Automatisierung dar. Es wird eine zweidimensionale Codeanordnung 10 vorgeschlagen. Die zweidimensionale Codeanordnung 10 umfasst Basissymbole 1, wobei die Basissymbole 1 auf einer Fläche angeordnet sind und die Basissymbole 1 auf der Fläche ein zweidimensionales periodisches Raster 2 bilden, mit mehreren gleichartigen Parzellen 7, wobei die Parzellen 7 jeweils eine Mehrzahl an Basissymbolen 1 aufweisen, wobei die Parzellen 7 jeweils mindestens einen ersten und einen zweiten Parzellenbereich 12 und 13 aufweisen.

Description

  • Stand der Technik
  • Das Positionieren von Objekten im Raum ist eine häufig gestellte Aufgabe in der Automatisierungstechnik, beispielsweise bei Handhabungsprozessen und/oder bei Transportprozessen. Die technische Umsetzung erfolgt häufig mit Achsensystemen in einer oder mehreren Dimensionen, wie beispielsweise Portalachsensystemen oder Robotern. Diese Systeme umfassen Antriebe, die einen Läufer auf eine vorgegebene Soll-Position fahren. Hierzu ist eine Erfassung der Ist-Position des Läufers erforderlich. Zur Bestimmung der Ist-Position benötigen diese Arbeitssysteme einen absoluten und/oder relativen Ortsmaßstab. Dieser Maßstab ist entweder konstruktiver Bestandteil der Achsen bzw. des Roboters oder eine inhärente Funktion eines Bauteils. Andere technologische Ansätze verwenden zur Positionierung von Objekten Positionscodes auf Oberflächen.
  • Die Druckschrift US 2014 0139428 A1 , die wohl den nächstkommenden Stand der Technik bildet, offenbart eine Vorrichtung und eine Methode zum Detektieren eines Positionscodes. Der Positionscode umfasst eine Mehrzahl von zyklischen Sequenzen, bestehend aus ganzen Zahlen. Die Sequenzen sind um einen vorbestimmten Betrag versetzt und in eindimensionaler Richtung angeordnet. Jede dieser Sequenzen umfasst Zahlen zu einer Zahlenbasis b und weist eine Länge K auf. Ferner umfasst die Sequenz K unterschiedliche Teilsequenzen. Ein Detektionsausschnitt umfasst mindestens zwei benachbarte Sequenzen. Auf Basis des Detektionsausschnittes ist die Position in dieser Dimension bestimmbar.
  • Im Rahmen der Erfindung wird eine zweidimensionale Codeanordnung mit den Merkmalen des Anspruches 1, eine Arbeitsanordnung mit den Merkmalen des Anspruches 10 und ein Verfahren zum Betreiben der Arbeitsanordnung mit den Merkmalen des Anspruches 13 vorgeschlagen. Bevorzugte oder vorteilhafte Ausgestaltungsformen ergeben sich aus den Unteransprüchen, der nachfolgenden Beschreibung sowie den beigefügten Figuren.
  • Im Rahmen der Erfindung wird eine zweidimensionale Codeanordnung vorgeschlagen. Die Codeanordnung ist insbesondere von einem Sensor lesbar, wobei mit Hilfe des Sensors z.B. die absolute Position einer Maschine oder eines Maschinenteils in zwei bis sechs Freiheitsgraden messbar ist. Insbesondere ist die Codeanordnung ausgebildet, vom Sensor durch berührungsloses Ablesen detektiert zu werden, wobei durch die berührungslose Detektion durch den Sensor eine mehrdimensionale Ist-Positionsbestimmung durchführbar ist. Vorzugsweise kann die zweidimensionale Codeanordnung in einer Produktions- und/oder Prüfanlage eingesetzt werden, in der Werkstücke und/oder Prüf- und/oder Arbeitsmittel positioniert werden müssen.
  • Die zweidimensionale Codeanordnung umfasst Basissymbole, wobei die Basissymbole auf einer Fläche angeordnet sind und die Basissymbole auf der Fläche ein zweidimensionales periodisches Raster bilden. Die Basissymbole sind vorzugsweise geometrische Figuren, wie beispielsweise Kreise, Quadrate, Dreiecke oder Striche. Sie repräsentieren vorzugsweise Ziffern eines Zahlensystems. Insbesondere umfasst die zweidimensionale Codeanordnung mindestens zwei unterschiedliche Basissymbole. In einer möglichen Ausgestaltung der Erfindung umfasst das zweidimensionale periodische Raster Leerstellen an Rasterplätzen und/oder Gitterplätzen, die nicht mit Basissymbolen besetzt sind.
  • Die Basissymbole sind auf der Fläche angeordnet, wobei die Fläche eine gekrümmte oder eine nicht gekrümmte Fläche sein kann. Beispielsweise ist die Fläche der Boden einer Produktions- und/oder Prüfanlage. Die Basissymbole sind in der Fläche zu einem zweidimensionalen Raster angeordnet, wobei vorzugsweise die Flächenschwerpunkte der Basissymbole Rasterpunkte bilden.
  • Die Rasterpunkte werden im Folgenden auch als Rasterplätze und/oder Gitterplätze bezeichnet. Insbesondere bildet das zweidimensionale periodische Raster ein zweidimensionales Gitter.
  • Die Fläche ist vorzugsweise in gleichartige, regelmäßig angeordnete Parzellen eingeteilt, wobei die Parzellen beispielsweise eine quadratische, eine rechteckige, eine dreieckige oder sechseckige Grundform aufweisen. Als gleichartige Parzellen werden insbesondere gleich große und/oder gleichförmige Parzellen verstanden. Vorzugsweise umfasst jede Parzelle n Basissymbole. Die Parzellen umfassen insbesondere eine ganzzahlige Anzahl von Basissymbolen und im Speziellen eine gerade Anzahl an Basissymbolen. Vorzugsweise umfassen die Parzellen mehr als zehn Basissymbole, insbesondere mehr als zwanzig Basissymbole und im Speziellen mehr als fünfzig Basissymbole. Ferner ist die Anzahl der Basissymbole in einer Parzelle vorzugsweise kleiner als einhundert. Die von den Basissymbolen gebildeten Parzellen können optisch in der Codeanordnung angezeigt sein, wie beispielsweise durch eine Umrandung oder nicht optisch angezeigt sein und nur eine gedankliche und/oder logische Einheit bilden.
  • Die Parzellen weisen mindestens einen ersten und einen zweiten Parzellenbereich auf. Ein X-Parzellenbereich umfasst den ersten Parzellenbereich und ein Y-Parzellenbereich umfasst den zweiten Parzellenbereich. Insbesondere belegt jeder Parzellenbereich eine zusammenhängende Fläche oder mehrere verteilte, nicht zusammenhängende Teilflächen innerhalb der Parzelle.
  • Jeder Parzellenbereich umfasst mehrere Basissymbole. Insbesondere umfassen der X-Parzellenbereich und der Y-Parzellenbereich gleich viele Basissymbole. Insbesondere sind die mindestens zwei Parzellenbereiche so in der Parzelle angeordnet, dass diese eine p-zählige Drehsymmetrie in Bezug zum Mittelpunkt der Parzelle als Drehpunkt aufweisen, wobei die p-zählige Drehsymmetrie beispielsweise eine zweizählige, dreizählige oder vierzählige Drehsymmetrie ist.
  • Die Parzellen weisen jeweils mindestens ein Parzellensymbol auf, welches einen ortsfesten Bezugspunkt innerhalb jeder Parzelle darstellt. Das Parzellensymbol ermöglicht das Lesen und/oder Decodieren der Basissymbole in einer festgelegten Reihenfolge. Die Parzellensymbole sind insbesondere regelmäßig und/oder periodisch in dem zweidimensionalen periodischen Raster der Basissymbole angeordnet. Die Parzellensymbole können auf oder neben den Rasterpunkten liegen. Die Parzellensymbole sind insbesondere jeweils an einer gleichen Position innerhalb einer Parzelle angeordnet, wie beispielsweise im Mittelpunkt einer Parzelle. Die Parzellensymbole sind beispielsweise andere grafische Elemente als die Basissymbole, wie beispielsweise Dreiecke, Sechsecke oder Linien. Alternativ und/oder ergänzend werden die Parzellensymbole durch ein Weglassen eines oder mehrerer Basissymbole in einer Parzelle dargestellt. In einer möglichen Ausgestaltung bildet das Parzellensymbol den Symmetriepunkt der p-zähligen Drehsymmetrie der Parzelle. Insbesondere ist die Leserichtung und/oder Decodierreihenfolge, also die Reihenfolge, in der die Basissymbole innerhalb des X-Parzellenbereiches und/oder innerhalb des Y-Parzellenbereiches gelesen werden müssen, festgelegt. Vorzugsweise entspricht die Leserichtung und/oder Decodierreihenfolge der Vorgabe, welche Basissymbole nacheinander zu lesen und/oder zu decodieren sind.
  • In dem X-Parzellenbereich ist ein X-Koordinatenwert durch die Basissymbole codiert und ein Y-Koordinatenwert ist in dem Y-Parzellenbereich durch die Basissymbole codiert. Insbesondere ist der X-Koordinatenwert und der Y-Koordinatenwert die Koordinate eines Basissymbols in der Parzelle, wobei die Koordinate in einem kartesischen Koordinatensystem der durch die Basissymbole aufgespannten Fläche angegeben ist. Alternativ und/oder ergänzend kann der X-Koordinatenwert und der Y-Koordinatenwert eine Position innerhalb der Fläche auch als Koordinaten in einem anderen Koordinatensystem angeben sein, wie beispielsweise einem schrägwinkligem Koordinatensystem, in Zylinderkoordinaten oder Kugelkoordinaten.
  • Es ist eine Überlegung der Erfindung, eine Codeanordnung vorzuschlagen, von der ein Teilbereich beispielsweise durch einen bildgebenden Sensor wie einer Kamera lesbar ist und so aus der Bildinformation des Teilbereiches die Lage des Sensors in Bezug auf die Codeanordnung in bis zu sechs Raumrichtungen ermittelbar ist. Ferner ergeben sich als Vorteile gegenüber dem Stand der Technik eine einfache Installation, geringer Installationsaufwand und geringere Kosten als bei Achsensystemen und herkömmlichen Robotern. Die Anordnung eines optischen Codes ermöglicht eine Genauigkeit, wie sie in typischen Produktionsanlagen nötig ist und ist für den jeweiligen Anwendungsbereich skalierbar. Insbesondere ist der Code leicht und preiswert herstellbar, wie zum Beispiel in einem Standarddruckverfahren.
  • In einer besonders bevorzugten Ausgestaltung der Erfindung ist das zweidimensionale periodische Raster ein rechteckiges Raster, wobei die Parzellen auch rechteckig sind. Insbesondere sind die rechteckigen Raster und die rechteckigen Parzellen quadratische Raster und/oder quadratische Parzellen. Vorzugsweise ist der Abstand der Basissymbole entlang einer Längen- und Breitenachse des rechteckigen Rasters gleich groß. Beispielsweise sind für ein quadratisches Raster mit quadratischen Parzellen die Anzahl an Basissymbolen in X- und in Y-Richtung des flächigen zweidimensionalen periodischen Rasters gleich. Insbesondere besteht der X-Parzellenbereich und der Y-Parzellenbereich jeweils aus zwei räumlich getrennten, rechteckigen Teilflächen innerhalb einer Parzelle, wobei die Teilflächen eine Längserstreckung aufweisen. Die Längserstreckung der Teilflächen des X-Parzellenbereichs steht vorzugsweise senkrecht auf der Längserstreckung der Teilflächen des Y-Parzellenbereiches. Vorzugsweise kann die vom X-Parzellenbereich belegte Fläche durch eine 90°-Drehung in die vom Y-Parzellenbereich belegte Fläche überführt werden.
  • In einer besonders bevorzugten Ausgestaltung der Erfindung weist das periodische Raster eine Rasterlänge und eine Rasterbreite auf. Die Rasterlänge erstreckt sich in X-Richtung eines kartesischen Koordinatensystems, die Rasterbreite in Y-Richtung. Das so gebildete Koordinatensystem ordnet jedem Punkt der Codierungsfläche einen eindeutig bestimmten Ortsvektor (X, Y) zu.
  • Eine Anzahl von g aufeinanderfolgenden Basissymbolen bildet insbesondere eine Gesamtsequenz. Die Gesamtsequenz ist in die X-Parzellenbereiche eingetragen, insbesondere in mehreren in X-Richtung benachbarten Parzellen eingetragen. Der Eintrag der Basissymbole erfolgt insbesondere entsprechend ihrer Reihenfolge in der Gesamtsequenz vorzugsweise in aufsteigender X-Richtung der Parzellen, innerhalb jeder Parzelle in einer zuvor festgelegten Lese- und/oder Decodierreihenfolge in die X-Parzellenbereiche. Die Anzahl g ist hinreichend groß, so dass die X-Parzellenbereiche aller in X-Richtung benachbarten Parzellen vollständig gefüllt werden können. Insbesondere ist g größer als fünfzig, insbesondere größer als tausend und im Speziellen größer als eine Million. Die Inhalte der X-Parzellenbereiche von in Y-Richtung benachbarten Parzellen sind identisch.
  • Besonders bevorzugt ist es, dass ein Ausschnitt von t aufeinanderfolgenden Basissymbolen in der Gesamtsequenz eine Teilsequenz bildet. Insbesondere bildet jeder Ausschnitt von t aufeinanderfolgenden Basissymbolen der Gesamtsequenz eine Teilsequenz, wobei die aufeinanderfolgenden Basissymbole in Decodier- und/oder Lesereihenfolge aufeinanderfolgen. Insbesondere ist die Gesamtsequenz ausgebildet, dass jede Teilsequenz von t aufeinanderfolgenden Basissymbolen vorwärts gelesen in der Gesamtsequenz nur einmal enthalten ist und jede rückwärts gelesene Teilsequenz in der Gesamtsequenz vorwärts gelesen nicht enthalten ist. Vorzugsweise umfasst eine Teilsequenz mindestens fünf aufeinanderfolgende Basissymbole, insbesondere mindestens zwanzig aufeinanderfolgende Basissymbole und im Speziellen mindestens dreißig Basissymbole. Ferner umfasst die Teilsequenz vorzugsweise weniger als fünfzig Basissymbole und im Speziellen weniger als dreißig Basissymbole. Insbesondere gilt t < g.
  • In einer besonders bevorzugten Ausgestaltung der Erfindung sind die Basissymbole ausgebildet, Ziffern zu einer Zahlenbasis b zu codieren. Die Zahlenbasis b ist vorzugsweise die Basis eines Stellenwertsystems. Vorzugsweise ist die Zahlenbasis b = 2, die Basis eines Dualsystems, wobei die Ziffern des Dualsystems 0 und 1 umfassen. Ferner ist es möglich, dass die Zahlenbasis b = 10 ist und die Basis eines Dezimalsystems bildet, wobei das Dezimalsystem die Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8 und 9 umfasst. Alternativ ist die Zahlenbasis b = 16, die Basis eines Hexadezimalsystems, wobei das Hexadezimalsystem die Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E und F umfasst. Insbesondere ist die Zahlenbasis b beliebig wählbar, wobei die Ziffern der Zahlenbasis die Elemente 0, 1, ... b – 1 umfasst. Alternativ und/oder ergänzend ist die Zahlenbasis b die Basis eines additiven Zahlensystems, wie beispielsweise des Römischen.
  • In einer besonders bevorzugten Ausgestaltung der Erfindung ist die Zahlenbasis b = 2 gewählt. Insbesondere bildet die gewählte Zahlenbasis b = 2 ein Binärsystem. Das Binärsystem und/oder das Zahlensystem mit der Zahlenbasis b = 2 umfasst zwei Ziffern, insbesondere die Ziffer 0 und die Ziffer 1. Vorzugsweise codieren zwei unterschiedliche Basissymbole die Ziffern 0 und 1 des Binärsystems. Die beiden unterschiedlichen Basissymbole werden von zwei Kreisen gebildet, einem ersten Kreis mit einem Radius R1 und einem zweiten Kreis mit Radius R2. Insbesondere ist der Radius R1 kleiner als der Radius R2 gewählt. Insbesondere ist das Verhältnis von Radius R2 zu Radius R1 größer als die Quadratwurzel aus 2. Beispielsweise ist der Radius R2 so gewählt, dass er kleiner ist als das halbe Rastermaß des Coderasters, sodass zwei im periodischen Raster benachbarte Kreise mit R2 sich nicht tangieren. Dieser Ausgestaltung liegt die Überlegung zugrunde, dass einerseits eine besonders hohe Informationsdichte erreicht wird, andererseits eine sichere Lesbarkeit mit Standardverfahren der Bildverarbeitung wie der Segmentierung mittels Blobanalyse erreicht wird.
  • In einer möglichen Ausgestaltung der Erfindung ist die Gesamtsequenz so ausgebildet, dass eine Quersumme einer Teilsequenz kleiner als die Hälfte der maximal möglichen Quersumme einer Teilsequenz ist. Insbesondere ist die Quersumme für jede beliebige aus der Gesamtsequenz herausgegriffenen Teilsequenz kleiner als die Hälfte der maximal möglichen Quersumme einer Teilsequenz. Beispielsweise ist die Quersumme jeder Teilsequenz mit der Länge t zu einem Zahlensystem mit der Basis b kleiner t·(b – 1)/2.
  • In einer besonders bevorzugten Ausgestaltung der Erfindung umfasst die zweidimensionale Codeanordnung eine invertierte Gesamtsequenz. Die invertierte Gesamtsequenz stellt vorzugsweise eine Invertierung der Gesamtsequenz dar. Vorzugsweise ist die invertierte Gesamtsequenz in die Y-Parzellenbereiche mehrerer in Y-Richtung benachbarter Parzellen eingetragen. Der Eintrag der Basissymbole erfolgt insbesondere entsprechend ihrer Reihenfolge in der invertierten Gesamtsequenz vorzugsweise in aufsteigender Y-Richtung der Parzellen, innerhalb jeder Parzelle in der zuvor festgelegten Lese- und/oder Decodierreihenfolge in die Y-Parzellenbereiche. Die Anzahl g ist hinreichend groß, so dass die Y-Parzellenbereiche aller in Y-Richtung benachbarten Parzellen vollständig gefüllt werden können. Insbesondere sind die Inhalte der Y-Parzellenbereiche von in X-Richtung benachbarten Parzellen identisch.
  • In einer möglichen Ausgestaltung der Erfindung ist das Basissymbol an der k-ten Stelle der invertierten Gesamtsequenz die codierte Ziffer m(k), wobei die Ziffer m(k) mit der durch das Basissymbol an der k-ten Stelle in der Gesamtsequenz codierten Ziffer n(k) die Relation erfüllt: m(k) = b – n(k) – 1. Beispielsweise bildet die invertierte Gesamtsequenz und die Gesamtsequenz für die Wahl eines Dualsystems mit der Basis b = 2 die Relation: m(k) = 1 – n(k).
  • Einen weiteren Gegenstand der Erfindung bildet eine Arbeitsanordnung mit einem flächigen Arbeitsbereich und einem Arbeitsmodul. Der flächige Arbeitsbereich kann beispielsweise der Bereich einer Produktions- und/oder Prüfanlage sein und insbesondere gekrümmt oder ungekrümmt ausgebildet sein. Das Arbeitsmodul ist beispielsweise ein Roboterfahrzeug. Im Allgemeinen ist das Arbeitsmodul beispielsweise ausgebildet, eine Funktion, einen Produktionsschritt oder einen Prüfschritt innerhalb der Arbeitsanordnung durchzuführen. Die zweidimensionale Codeanordnung ist im Arbeitsbereich angeordnet. Beispielsweise ist die Codeanordnung in Form von Plaketten und/oder Etiketten im Arbeitsbereich angeordnet. Vorzugsweise ist die Codeanordnung am Boden einer Halle und/oder eines Raumes angebracht, wobei dieser Boden den Arbeitsbereich bildet.
  • Das Arbeitsmodul umfasst eine optische Sensoreinheit zum Erfassen eines Ausschnittes der Codeanordnung als ein Bild. Die optische Sensoreinheit ist beispielsweise als eine Kamera ausgebildet, insbesondere eine Farbkamera oder Schwarz-Weiß-Kamera. Die optische Sensoreinheit ist ausgebildet, ein einzelnes Bild eines Ausschnittes der Codeanordnung bereitzustellen und/oder eine Sequenz von Bildern zum Beispiel in Form eines Videos. Das Arbeitsmodul ist ausgebildet, den X-Koordinatenwert und den Y-Koordinatenwert, welcher im Ausschnitt der Codeanordnung codiert ist, zu decodieren.
  • Insbesondere ist der Ausschnitt der Codeanordnung mindestens so groß wie eine Parzelle. Alternativ und/oder ergänzend ist der Ausschnitt der Codeanordnung, der als Bild von der Sensoreinheit erfasst wird, größer als eine Parzelle und insbesondere größer als 1,5 mal die Parzellengröße. Im Speziellen ist die Breite eines Ausschnittes mehr als m mal so groß wie die Diagonale der Parzelle, so dass das Bild der Sensoreinheit ein Feld von mindestens m × m benachbarten Parzellen darstellt. Der Ausschnitt ist ferner so gewählt, dass sowohl mindestens t Basissymbole in X-Richtung als auch t Basissymbole in Y-Richtung erfasst werden.
  • Das Arbeitsmodul ist beispielsweise ein Roboterfahrzeug, welches frei beweglich im Arbeitsbereich ist und Transportfunktionen, Bearbeitungsfunktionen wie zum Beispiel Montagefunktionen und/oder Prüffunktionen übernimmt. Vorzugsweise ist das Arbeitsmodul ausgebildet, sich anhand der decodierten X-Koordinatenwerte und/oder Y-Koordinatenwerte im Arbeitsbereich zu orientieren und/oder zu navigieren.
  • Besonders bevorzugt umfasst der Ausschnitt einen Aufpunkt. Der Aufpunkt ist beispielsweise der Schnittpunkt der optischen Achse der Sensoreinheit mit dem Arbeitsbereich. Alternativ und/oder ergänzend ist für ein Polygon als Ausschnitt der Aufpunkt in einer Ecke angeordnet. Vorzugsweise ist die Sensoranordnung ausgebildet, auf Basis des durch die Sensoreinheit aufgenommenen Bildes die Position der Sensoranordnung in Bezug zum Arbeitsbereich zu bestimmen, wie beispielsweise die X-Koordinate und die Y-Koordinate des Aufpunkts in einem Koordinatensystem, welches durch den Arbeitsbereich und/oder die Basissymbole aufgespannt wird.
  • In einer besonders bevorzugten Ausgestaltung der Erfindung ist die Sensoreinheit ausgebildet, die Position und/oder die Lage des Arbeitsmoduls bezüglich des Arbeitsbereiches in bis zu sechs Freiheitsgraden zu bestimmen. Beispielsweise umfassen die sechs Freiheitsgrade der Position und/oder Lage des Arbeitsmoduls zum Arbeitsbereich die Koordinaten X und Y bezüglich des kartesischen Koordinatensystems aufgespannt durch die Basissymbole, den Abstand Z des Arbeitsmoduls zum Arbeitsbereich, sowie die drei unabhängigen Drehwinkel des Arbeitsmoduls. Alternativ und/oder ergänzend umfasst das Arbeitsmodul einen Inertialsensor, um eine Positions- und/oder Lageänderung des Arbeitsmoduls zu bestimmen, beispielsweise für den Fall, dass die optische Sensoreinheit keine validen Daten aus dem erfassten Bild bestimmen kann.
  • Einen weiteren Gegenstand der Erfindung bildet ein Verfahren zum Betreiben der Arbeitsanordnung. Das Verfahren ist gekennzeichnet dadurch, dass der X Koordinatenwert und der Y-Koordinatenwert auf Basis des durch die Sensoreinheit aufgenommenen Bildes decodiert und/oder bestimmt wird.
  • In einer möglichen Weiterentwicklung des Verfahrens wird auf Basis des im Bild aufgenommenen Ausschnittes der Codeanordnung die Orientierung des Ausschnittes bezüglich dreier Koordinatenachsen bestimmt. Insbesondere wird die Orientierung des im Bild aufgenommenen Ausschnittes bezüglich der X Achse und der Y-Achse des kartesischen Koordinatensystems, welches durch die Basissymbole aufgespannt wird, bestimmt. Alternativ und/oder ergänzend werden die Koordinaten der Position des Aufpunktes in der Codeanordnung durch Decodierung des im Bild enthaltenen Ausschnittes der Codeanordnung bestimmt.
  • In einer besonders bevorzugten Ausgestaltung der Erfindung wird in dem Verfahren zum Betreiben der Arbeitsanordnung die Lage des Arbeitsmoduls zum Arbeitsbereich in bis zu sechs Freiheitsgraden bestimmt. Insbesondere wird dabei die Lage des Arbeitsmoduls im Arbeitsbereich in drei kartesischen Koordinaten X, Y, Z bestimmt, wobei X und Y die Koordinaten des durch die Basissymbole aufgespannten Koordinatensystems sind und Z der Abstand des Arbeitsmoduls zum Arbeitsbereich ist. Ferner werden bei dem Verfahren zum Beispiel die drei Eulerwinkel des Arbeitsmoduls bestimmt.
  • Weitere mögliche Ausgestaltungen der Erfindungen sind ferner:
    Aufbau der zweidimensionalen Codeanordnung so, dass diese die Möglichkeit zur Fehlererkennung und/oder zur Fehlerkorrektur bietet, beispielsweise beim Decodieren. Dies erfolgt beispielsweise durch Ablage von Prüfwerten oder durch redundante Ablage der Positions-Information. Im Speziellen erfolgt dies, indem der von der Sensoranordnung aufgenommene Ausschnitt ein Feld von mindestens 2 × 2 benachbarten Parzellen erfasst, so dass mindestens vier unabhängige Positionscodes gelesen werden können. Die so gewonnene Positionsinformation ist mindestens vierfach redundant, da sich die Positionsinformationen benachbarter Parzellen um einen bekannten Betrag unterscheiden. Die Redundanz wird zur Fehlererkennung und/oder Fehlerkorrektur genutzt, beispielsweise durch Anwendung des Verfahrens der Mehrheitsauswahl.
  • Insbesondere sind im zweidimensionalen Code zusätzliche Informationen codiert, beispielsweise in zusätzlichen reservierten Parzellenbereichen, durch den Einsatz zusätzlicher Codesymbole, die von den Basissymbolen unterscheidbar sind, durch Erhöhung der Anzahl von Basissymbolen in den Parzellen, durch lokalen Ersatz der Ortsinformation, insbesondere X-Koordinate und/oder Y-Koordinate, durch andere Informationsinhalte wie bildhafte Darstellungen oder Klarschrift, durch Erhöhung der Zahlenbasis, durch Verwendung eines alternativen Codierverfahrens und/oder beliebige Kombinationen der genannten Möglichkeiten.
  • Ferner können die Rasterpunkte des periodischen Rasters mit Hilfe anderer ausgezeichneter Punkte der Basissymbole als dem Flächenschwerpunkt festgelegt und/oder bestimmt werden, beispielsweise mit den Ecken der Basissymbole, mit Kreuzungspunkten von Geraden oder mit imaginären, aus einer Vorschrift bestimmten Punkten. In einer möglichen Ausgestaltung dienen die Basissymbole zur Markierung der Rasterpunkte, während die Positionsinformation in separaten Symbolen codiert ist, wie beispielsweise Darstellung eines quadratischen Rasters mit einem kreisförmigen Symbol an den Rasterpunkten und Kennzeichnung jedes Kreises mit einem daneben stehenden Positionscode in Klarschrift.
  • Eine Sensorlesbarkeit der zweidimensionalen Codeanordnung ist insbesondere in unterschiedlichen Verfahren herstellbar. Beispielsweise in einem optischen Verfahren, die auf unterschiedlichen Intensitäten, Farben/Wellenlängen und/oder Polarisationen beruhen, insbesondere der Basissymbole. Möglich sind auch Basissymbole in Form von Klarschrift, also von Buchstaben und Zahlen. Ferner sind mechanische Verfahren, die unterschiedliche geometrische Merkmale nutzen, magnetische Verfahren, die auf unterschiedlichen Richtungen, Intensitäten, Amplituden und/oder Frequenzen eines magnetischen Feldes beruhen, und/oder kapazitive Verfahren, die auf unterschiedlichen Richtungen, Intensitäten, Amplituden und/oder Frequenzen eines elektrischen Feldes beruhen, möglich. Vorzugsweise umfasst das Arbeitsmodul zum Lesen und/oder Decodieren von nicht optischen Basissymbolen einen mechanischen Sensor, einen Magnetsensor und/oder einen kapazitiven Sensor. Insbesondere ist die Codeanordnung durch Ausgabe auf einem Display und/oder Monitor und/oder durch optische Projektion auf eine Objektoberfläche erzeugbar und/oder nutzbar.
  • Insbesondere ist eine Anordnung mehrerer getrennter zweidimensionaler Codeanordnungen an verschiedenen und/oder ausgezeichneter Orten und ggf. in verschiedenen Orientierungen möglich, um an diesen Orten jeweils einen genauen Maßstab und/oder eine genau Positionsinformation zur Verfügung zu stellen. Ferner kann die zweidimensionale Codeanordnung zusammen mit anderen Codeanordnungen und/oder Maßstäben genutzt werden.
  • Insbesondere ermöglicht die zweidimensionale Codeanordnung eine Vermessung von mehr als sechs Freiheitsgraden von mehreren mechanisch getrennten Objekten und/oder von mechanisch verbundenen Objekten mit inneren Freiheitsgraden, durch Applikation von einer oder mehreren zweidimensionalen Codeanordnungen und/oder durch den Einsatz von einem oder mehreren optischen Sensoren zur Aufnahme der Codeanordnungen auf den Objekten. Ferner kann die zweidimensionale Codeanordnung auf bewegten Objekten angebracht sein, wobei diese mit einem stationären Sensor erfasst und/oder decodiert wird, um beispielsweise die Bewegungstrajektorie der Objekte orts- und zeitaufgelöst zu erfassen. Durch Verwendung unterschiedlicher Gesamtsequenzen für die mehreren getrennten Codeanordnungen und/oder durch Zusatzinformationen in den Codeanordnungen wird die Identifikation der Objekte möglich, auf denen die Codeanordnungen angebracht sind.
  • Alternativ und/oder ergänzend wird die zweidimensionale Codeanordnung in Bereichen außerhalb der Automatisierungstechnik, zum Beispiel zum Monitoring von Bewegungsabläufen in Natur und Umwelt, Biologie und Medizin, Architektur, Unterhaltungselektronik und/oder Sensorik eingesetzt.
  • Weitere Merkmale, Vorteile und Wirkungen der Erfindung ergeben sich aus den nachfolgenden Beschreibungen von Ausführungsbeispielen der Erfindung sowie den beigefügten Figuren. Dabei zeigen:
  • 1a, 1b und 1c mögliche Anordnungen von Basissymbolen zu periodischen Rastern;
  • 2 Einteilung eines periodischen Rasters aus Basissymbolen in Parzellen;
  • 3 Zusammenfassung von Basissymbolen in einer Parzelle zu Parzellenbereichen;
  • 4 vier Parzellen mit fortlaufender Leserichtung und/oder Decodierreihenfolge;
  • 5 vier Parzellen mit Basissymbolen zum Codieren eines Codes zur Zahlenbasis b = 2;
  • 6 eine zweidimensionale Codeanordnung;
  • 7 zweidimensionales periodisches Raster mit Ausschnitten und Aufpunkt;
  • 8 mögliche Winkellagen von Ausschnitten;
  • 9a und 9b Codeanordnung mit vier Parzellen;
  • 10 Anordnung eines Arbeitsmoduls 1 mit einer Sensoreinheit relativ zum Arbeitsbereich;
  • 11 Ablaufdiagram für ein Verfahren zur Bestimmung der Lage;
  • 12a–e Zuordnung einer Lese- und/oder Decodierreihenfolge zu den Rasterpunkten und/oder Basissymbolen innerhalb einer Parzelle.
  • Die 1a, 1b und 1c zeigen mögliche erfindungsgemäße Anordnungen von Basissymbolen zu einem periodischen Raster. Die Basissymbole sind in diesen Figuren als Kreise ausgebildet.
  • Zur besseren Übersicht sind in den Figuren immer nur beispielhaft einige Basissymbole, Basisabstände, Parzellen und Rasterlinien mit Bezugszeichen versehen.
  • In 1a sind die kreisförmigen Basissymbole 1 in einem quadratischen periodischen Raster 2 angeordnet. Die Basissymbole 1 spannen ein kartesisches Koordinatensystem 3 mit einer X-Achse 4 und einer Y-Achse 5 auf. Die X-Achse 4 und die Y-Achse 5 sind jeweils in eine der Hauptrichtungen des quadratischen periodischen Rasters 2 angeordnet. Die Basissymbole 1 sind in X-Richtung in einem äquidistanten Abstand, dem sogenannten X-Basisabstand dx, angeordnet. Ebenso sind in Y-Richtung die Basissymbole 1 äquidistant in einem Abstand, dem Y-Basisabstand dy, angeordnet. Insbesondere sind der X-Basisabstand dx und der Y-Basisabstand dy für das quadratische periodische Raster 2 gleich groß. Beispielsweise ist der Basisabstand für kreisförmige Basissymbole mit den Radien R1 und R2, wobei R1 < R2, größer als 2·R2. Die Basissymbole 1 sind in dem periodischen Raster 2 an Rasterpunkten, auch als Gitterpunkte und/oder Gitterplätze bezeichnet, angeordnet. Insbesondere sind die Basissymbole 1 mit ihrem Flächenschwerpunkt auf den Rasterpunkten angeordnet. Die Basisabstände dx und dy sind vorzugsweise die Abstände zwischen zwei in x- und y-Richtung benachbarten Rasterpunkten. In diesem Ausführungsbeispiel weisen alle Punkte einen Radius R1 auf. Zur besseren Kenntlichmachung des periodischen quadratischen Rasters 2 sind hier hilfsweise Rasterlinien 6, auch Gitterlinien genannt, eingezeichnet. Die Rasterlinien 6 verbinden die Basissymbole 1 beziehungsweise die Rasterpunkte in X- und Y-Richtung miteinander.
  • 1b zeigt eine Anordnung von Basissymbolen 1 zu einem periodischen Raster 2, wobei die Basissymbole 1 hier zu nicht quadratischen Rechtecken angeordnet sind. Auch hier spannen die Basissymbole 1, welche zu dem periodischen Raster 2 angeordnet sind, ein kartesisches Koordinatensystem 3 mit einer X-Achse 4 und einer Y-Achse 5 auf. Die Basissymbole 1 sind in X-Richtung ebenfalls in einem X-Basisabstand dx angeordnet und in Y-Richtung sind diese in einem Y-Basisabstand dy angeordnet. Für nicht quadratische Rechtecke als periodisches Raster 2 gilt wie hier, dass der X-Basisabstand dx ungleich dem Y-Basisabstand dy ist. In diesem Ausführungsbeispiel ist der X-Basisabstand dx größer als der Y-Basisabstand dy gewählt. Auch hier sind in X- und in Y-Richtung die Basissymbole 1 mit Rasterlinien 6 verbunden, wobei durch die Raster die rechteckigen Elementarzellen des periodischen Rasters 2 erkennbar sind.
  • Die 1c zeigt eine weitere mögliche Anordnung von Basissymbolen 1 zu einem periodischen Raster 2, wobei hier das periodische Raster 2 ein hexagonales periodisches Raster 2 ausbildet. Die Basissymbole 1 in 1c spannen ebenso ein kartesisches Koordinatensystem 3 mit einer X-Achse 4 und einer Y-Achse 5. Alternativ und/oder ergänzend kann als Achsensystem für die hexagonale Anordnung von Basissymbolen 1 ein hexagonales Achsensystem verwendet werden. Insbesondere ist jedoch ein orthohexagonales Achsensystem als Grundlage für die X-Achse 4 und Y-Achse 5 wählbar. Jedes Basissymbol 1 im hexagonalen Raster 2 ist durch Rasterlinien 6 mit seinen sechs nächstgelegenen Basissymbolen 1 verbunden. Der Abstand zwischen zwei Basissymbolen 1 bildet den Basisabstand d, wobei der Basisabstand d für das hexagonale Gitter für alle Abstände zwischen benachbarten Basissymbolen 1 gleich ist.
  • 2 zeigt eine mögliche Einteilung von zu einem periodischen Raster 2 angeordneten Basissymbolen 1 in gleichartige Parzellen 7. Die Basissymbole 1 sind in diesem Ausführungsbeispiel in einem quadratischen periodischen Raster 2 angeordnet. Das quadratische periodische Raster 2 spannt auch hier ein kartesisches Koordinatensystem 3 mit einer X-Achse 4 und einer Y-Achse 5 auf. Die Parzellen 7 sind in diesem Ausführungsbeispiel als Flächen mit fünfundzwanzig Rasterpunkten ausgebildet. Jede Parzelle umfasst fünf Rasterpunkte in X-Richtung und fünf Rasterpunkte in Y-Richtung. Inbesondere umfassen quadratische Parzellen in X-Richtung und in Y-Richtung gleich viele Rasterpunkte. Zur besseren Erkennbarkeit sind die Parzellen 7 mit einer Parzellenumrandung 8 als logische Einheit gekennzeichnet. In Richtung der X-Achse 4 ist die Rasterlänge angeordnet und entlang der Y-Achse 5 ist die Rasterbreite angeordnet. Sowohl entlang der Rasterlänge als auch entlang der Rasterbreite sind mehrere Parzellen 7 angeordnet, wobei die mehreren Parzellen 7 ein periodisches quadratisches Parzellenraster bilden. Insbesondere weisen alle Parzellen 7 die gleiche Form und die gleiche Größe auf. Auf dem Parzellenpunkt, welcher dem Mittelpunkt einer Parzelle am nächsten liegt, ist ein Parzellensymbol 9 angeordnet. Das Parzellensymbol 9 ist in diesem Ausführungsbeispiel als eine Leerstelle, also durch ein Weglassen eines Basissymbols 1, ausgebildet. Alternativ kann das Parzellensymbol 9 an einen beliebigen Punkt innerhalb einer Parzelle 7 angeordnet sein, wobei die Anordnung des Parzellensymbols 9 innerhalb einer Parzelle 7 für alle Parzellen 7 der Codeanordnung 10 (6) gleich ist. Das Parzellensymbol 9 dient insbesondere dazu, die Lese- und/oder Decodierrichtung der Basissymbole 1 innerhalb einer Parzelle 7 vorzugeben und/oder festzulegen.
  • 3 zeigt eine Parzelle mit fünfundzwanzig Rasterpunkten, von denen vierundzwanzig Rasterpunkte mit Basssymbolen 1 besetzt sind und ein Rasterpunkt, der zentrale Rasterpunkt, mit einer Leerstelle als Parzellensymbol 9 besetzt ist. Weiterhin zeigt sie eine mögliche Aufteilung der Zellenfläche in einen X-Parzellenbereich 12 und einen Y-Parzellenbereich 13. Jeder der beiden Parzellenbereiche belegt zwei nicht zusammenhängende Teilflächen, der X-Parzellenbereich belegt die Teilflächen 11a und 11c, der Y-Parzellenbereich belegt die Teilflächen 11b und 11d. Jeder Parzellenbereich bietet Platz für zwölf Basissymbole 1.
  • Insbesondere weist die vom X-Parzellenbereich 12 belegte Fläche eine zweizählige Drehsymmetrie auf, gleiches gilt für den Y-Parzellenbereich 13. Durch eine 90°-Drehung kann die vom X-Parzellenbereich 12 belegte Fläche in die vom Y-Parzellenbereich 13 belegte Fläche überführt werden und umgekehrt. Bezugspunkt der Drehsymmetrie ist das Parzellensymbol 9.
  • 4 zeigt die Zuordnung einer Lese- und/oder Decodierreihenfolge zu den Rasterpunkten und/oder Basissymbolen 1 innerhalb einer Parzelle 7.
  • Die Bezugszeichen x(i) mit i = 0–11 bezeichnen den Ort, an dem die Ziffer i der Gesamtsequenz als Basissymbol 1 dargestellt ist. Die Bezugszeichen y(i) mit i = 0–11 bezeichnen den Ort, an dem die Ziffer i der invertierten Gesamtsequenz als Basissymbol dargestellt ist. Die Teilsequenz mit den zwölf Ziffern x0, x1, ... x11 codiert den X-Positionswert der Parzelle 7, die Teilsequenz mit den zwölf Ziffern y0, y1, ... y11 codiert den Y-Positionswert der Parzelle 7. Insbesondere ist die Ziffernfolge x0 bis x11 in dem X-Parzellenbereich 12 in monoton ansteigender Richtung der X-Achse 4 eingetragen, gleiches gilt für die Ziffernfolge y0 bis y11 in Bezug auf die Y-Achse 5.
  • 5 zeigt eine Anordnung von vier Parzellen 7, wobei jede Parzelle 7 einen X-Parzellenbereich 12 bestehend aus zwei Teilflächen 11a und 11c sowie einen Y-Parzellenbereich 13 bestehend aus den zwei Teilflächen 11b und 11d umfasst. Die Positionen der Basissymbole in den Parzellenbereichen sind jeweils markiert mit einem Label x oder y und einem Index, der die Position der Ziffer innerhalb der Gesamtsequenz oder der invertierten Gesamtsequenz angibt, die hier codiert ist. In diesem Ausführungsbeispiel sind die ersten vierundzwanzig Ziffern einer Gesamtsequenz auf den Positionen x0, x1, ... x23 angeordnet. Die ersten vierundzwanzig Ziffern der invertierten Gesamtsequenz sind auf den Positionen y0, y1, ... y23 angeordnet. Die Gesamtsequenz erstreckt sich über eine Parzelle hinaus, sodass, wie hier gezeigt, beispielsweise zwischen den Positionen mit x11 und x12 ein Sprung von einer Parzelle 7 zu einer weiteren Parzelle 7 erfolgt. Für die Y-Richtung gilt dies analog, auch hier ist die invertierte Gesamtsequenz über mehrere Parzellen verteilt. Insbesondere enthalten die in Y-Richtung benachbarten X-Parzellenbereiche 12 gleiche Inhalte, sinngemäß enthalten die in X-Richtung benachbarten Y-Parzellenbereiche 13 gleiche Inhalte.
  • 6 zeigt eine Codeanordnung 10 mit den vier Parzellen 7 aus 5, wobei an den Rasterpunkten nun unterschiedliche Basissymbole 1 angeordnet sind. Die Basissymbole 1 sind Kreise mit einem ersten Radius R1 und einem zweiten Radius R2, wobei der erste Radius R1 kleiner ist als der zweite Radius R2. Die Basissymbole 1 codieren ein Dualsystem, insbesondere ein Binärsystem, wobei ein kleiner Kreis mit Radius R1 für die Ziffer 0 steht und ein großer Kreis mit Radius R2 für die Ziffer 1 steht. In den X-Parzellenbereichen 12 ist eine Gesamtsequenz mit Hilfe der Basissymbole 1 entlang der Leserichtung und/oder Decodierreihenfolge eingetragen. Die hier codierte Gesamtsequenz, die an den Rasterpunkten x0, x1, ... x23 eingetragen ist, entspricht der Ziffernfolge 110001000000110001100100. Sinngemäß ist in den Y-Parzellenbereichen 13 an den Rasterpunkten y0, y1 ... y23 die invertierte Gesamtsequenz mit Hilfe der Basissymbole 1 eingetragen. Die durch die Basissymbole 1 codierte invertierte Gesamtsequenz lautet 001110111111001110011011. Die zugrunde liegende Zahlenbasis zur Gesamtsequenz und/oder zur invertierten Gesamtsequenz ist b = 2. Die Gesamtsequenz umfasst Teilsequenzen, wobei die Teilsequenzen hier eine Länge von t = 12 aufweisen. Jede Teilsequenz der Gesamtsequenz kommt vorwärts gelesen nur einmal in der Gesamtsequenz vor und jede Teilsequenz kommt rückwärts gelesen in der Gesamtsequenz nicht vor. Selbiges gilt für die invertierte Gesamtsequenz, nämlich dass die invertierte Gesamtsequenz Teilsequenzen einer Länge t = 12 umfasst, wobei jede Teilsequenz der invertierten Gesamtsequenz vorwärts gelesen in der invertierten Gesamtsequenz nur einmal vorkommt und rückwärts gelesen in der invertierten Gesamtsequenz keinmal vorkommt. Die Teilsequenzen der Gesamtsequenz codieren insbesondere die X-Koordinaten, beispielsweise die X-Koordinaten der Startposition des Lesevorgangs. Ebenso codiert eine Teilsequenz der invertierten Gesamtsequenz eine Y-Koordinate, beispielsweise die Position, von welchem an die Teilsequenz gelesen wird. In diesem Beispiel zeigt die folgende Tabelle eine Zuordnung von X-und Y-Werten zu den Teilsequenzen der Gesamtsequenz und/oder invertierten Gesamtsequenz.
    Position X/Y Teilsequenz für X Teilsequenz für Y
    0 1100 0100 0000 0011 1011 1111
    1 0001 0000 0011 1110 1111 1100
    2 0100 0000 1100 1011 1111 0011
    3 0000 1100 0110 1111 0011 1001
    4 0011 0001 1001 1100 1110 0110
    5 1100 0110 0100 0011 1001 1011
  • 7 zeigt ein zweidimensionales Raster 2 mit zwei eingezeichneten Ausschnitten 16, welche als Bild beispielsweise von einer Sensoreinheit eines Arbeitsmoduls 17 (10) aufgezeichnet wurden. Die Ausschnitte 16 umfassen jeweils einen Aufpunkt 18, wobei der Aufpunkt 18 eine feste Lage innerhalb des Ausschnittes 16 aufweist. Beispielsweise ist der Aufpunkt 18 jeweils in einer Ecke des Ausschnittes 16 angeordnet.
  • Die hier gezeigten Ausschnitte 16 weisen jeweils eine unterschiedliche Winkellage auf, wobei die Winkellage dadurch definiert ist, an welcher Ecke des Ausschnittes 16 sich der Aufpunkt relativ zu dem kartesischen Koordinatensystem 3 mit der X-Achse 4 und Y-Achse 5 befindet. Der Ausschnitt 16 ist insbesondere so gewählt, dass dieser mindestens die Fläche einer Parzelle 7 abbilden kann, in diesem Beispiel also ein quadratisches Feld mit 5 × 5 Rasterpunkten. Insbesondere ist jedem Ausschnitt 16 die Position seines Aufpunktes 18 in dem kartesischen Koordinatensystem 3 zugeordnet, welches durch die Basissymbole 1 aufgespannt wird. Alternativ und/oder ergänzend kann der Ausschnitt 16 so gewählt sein, dass dieser mehr als eine Parzelle 7 abbilden kann, beispielsweise ist dieser so gewählt, dass der Ausschnitt 16 zwei Parzellen 7 in X-Richtung und zwei Parzellen 7 in Y-Richtung abbildet. Dies hat den Vorteil, dass so für jede Dimension mehrere unabhängige Leseergebnisse vorliegen und so beispielsweise unplausible Abweichungen der Ergebnisse durch Mehrheitsauswahl der Positionswerte ausschließbar sind. Alternativ können Teilsequenzen gelesen werden, die sich über mehrere Parzellen 7 erstrecken, da sie mehr Basissymbole 1 besitzen, als ein Parzellenbereich aufnehmen kann.
  • 8 zeigt mögliche Winkellagen von Ausschnitten 16a, 16b, 16c und 16d in Bezug auf das kartesische Koordinatensystem 3, wobei das Koordinatensystem 3 von den Basissymbolen 1 aufgespannt wird.
  • Für den Fall, dass sich der Aufpunkt 18 in der linken unteren Ecke eines rechteckigen, insbesondere quadratischen, Ausschnittes 16a befindet, wird dem Ausschnitt 16a die Winkellage 0 Grad zugeordnet. Insbesondere entspricht die linke untere Ecke des Ausschnittes 16a, dem Rasterpunkt mit minimalem X-Wert und minimalem Y-Wert in dem Ausschnitt 16. Die Winkellage 90 Grad entspricht einer Drehung des Ausschnittes 16a mit Winkellage 0 Grad um 90 Grad in mathematisch positive Richtung. Dabei befindet sich der Aufpunkt 18 in der rechten unteren Ecke des Ausschnittes 16b, also der Ecke des Ausschnittes 16b mit maximalem X-Wert und minimalem Y-Wert. Die Winkellage 180 Grad entspricht einer Drehung des ersten Ausschnittes 16a um 180 Grad in positive Richtung. Der Aufpunkt 18 ist in diesem Fall in der rechten oberen Ecke des Ausschnittes 16c angeordnet, also dem Bereich mit maximalem X-Wert und maximalem Y-Wert. Die Winkellage 270 Grad entspricht einem Ausschnitt 16d, wobei der Aufpunkt 18 in der linken oberen Ecke des Ausschnittes 16d angeordnet ist, also der Ecke des Ausschnittes 16d mit maximalem Y-Wert und minimalem X-Wert. Insbesondere sind die Ausschnitte 16 nur mit ganzzahligen Vielfachen einer Drehung um 90 Grad von der Winkellage 0 Grad in der Codeanordnung 10 anordenbar.
  • 9a zeigt ein Beispiel der Codeanordnung 10 mit vier Parzellen 7, wobei die Basissymbole 1 Kreise mit zwei unterschiedlichen Radien darstellen. Kreise mit einem größeren Radius R2 codieren die Zahl 1, Kreise mit dem kleinen Radius R1 codieren die Zahl 0. Ferner ist ein Ausschnitt 16 mit Aufpunkt 18 eingezeichnet, der beispielsweise von der Sensoreinheit eines Arbeitsmoduls 17 zur Bestimmung der Lage und/oder der Position auswertbar ist. Der Aufpunkt 18 befindet sich in diesem Fall an der Position X = 4 und Y = 2. Der Ausschnitt 16 erstreckt sich hier über vier Parzellen 7, wobei das Parzellensymbol 9 relativ zum Aufpunkt 18 um drei Einheiten in X-Richtung verschoben und um 0 Einheiten in Y-Richtung verschoben ist.
  • Die 9b zeigt die Positionen der Rasterpunkte und/oder Basissymbole 1 innerhalb der Gesamtsequenz und/oder innerhalb der invertierten Gesamtsequenz an und kann zur Bestimmung der Decodierreihenfolge und/oder Leserichtung relativ zum Parzellensymbol 9 genutzt werden. Der relativen Position des Parzellensymbols 9 in Bezug auf den Aufpunkt 18 werden die Koordinaten (XP, YP) zugeordnet, hier ist (XP, YP) = (3, 0). Im allgemeinen Fall ist der Ausschnitt 16 gegenüber dem Zentrum der Parzelle 18, deren Parzellensymbol 9 im Ausschnitt 16 zu sehen ist, um einen Differenzvektor (DX, DY) verschoben, hier ist (DX, DY) = (1, –2). Zur Bestimmung der Position des Ausschnittes 16 wird der durch die Basissymbole 1 codierte Code in X-Richtung und in Y-Richtung gemäß der Decodierreihenfolge und/oder Leserichtung bestimmt. Die Decodierreihenfolge und/oder Leserichtung entspricht dem Lesen der Basissymbole für aufsteigende Rasterpositionen Xn und aufsteigende Yn, hier ist die Lesereihenfolge X10, X11, ... X21. Für den Y-Wert ergibt sich für diesen Ausschnitt die Lesereihenfolge Y4, Y5, ... Y15. Liest man die Basissymbole 1 in dieser Reihenfolge, so ergibt sich beispielsweise für den X-Wert die Teilsequenz 001100011001 und für den Y-Wert die Teilsequenz 101111110011. Diese Information kann in einem Verfahren zum Betreiben der Arbeitsanordnung ausgewertet werden.
  • 10 zeigt eine mögliche Anordnung eines Arbeitsmoduls 17 mit einer Sensoreinheit relativ zu einem Arbeitsbereich 19. Der Arbeitsbereich 19 bildet eine ebene Fläche, wobei die ebene Fläche gleichzeitig die x-y-Ebene des kartesischen Koordinatensystems 3 bildet. Senkrecht auf der x-y-Ebene des kartesischen Koordinatensystems 3 steht die z-Achse, wobei die Achsen x-y-z ein Rechtssystem bilden. Die Position des Arbeitsmoduls 17 und/oder der optischen Sensoreinheit ist in den Koordinaten (x, y, z) angebbar, wobei die optische Sensoreinheit die Koordinaten (xk, yk, zk) besitzt. Neben den Koordinaten der Position (xk, yk, zk) sind zur Bestimmung der Lage noch die Kippwinkel (ϕ1, ϕ2, ϕ3) des Arbeitsmoduls 17 nötig. Die Kippwinkel ϕ1 und ϕ2 sind die Kippwinkel der optischen Achse der optischen Sensoreinheit zur Oberflächennormalen der x-y-Ebene. Beispielsweise blickt die Kamera für ϕ1 = ϕ2 = 0 senkrecht auf den Arbeitsbereich 19. Der Kippwinkel ϕ3 ist der Drehwinkel der optischen Sensoreinheit um ihre optische Achse.
  • Die optische Achse schneidet den Arbeitsbereich 19 in einem Aufpunkt. Der Aufpunkt hat die Koordinaten (xP, yP, 0). Der Vektor ZP liegt auf der optischen Achse, seine Länge entspricht dem Abstand des Arbeitsmoduls 17, insbesondere der optischen Sensoreinheit, vom Aufpunkt. Die optische Sensoreinheit ist ausgebildet, die Koordinaten der optischen Sensoreinheit (xk, yk, zk) aus den Koordinaten des Aufpunktes (xP, yP, 0) und des Vektors ZP zu berechnen. Insbesondere erhält die optische Sensoreinheit die Koordinaten (xk, yk, zk) des Arbeitsmoduls 17 durch Addition von Aufpunkt (xP, yP, 0) und dem Vektor ZP.
  • 11 zeigt ein Verfahren zur Bestimmung der Lage und/oder der Position eines Arbeitsmoduls 17 und/oder der Sensoreinheit des Arbeitsmoduls 17 relativ zum Arbeitsbereich 19. Nachfolgend wird das Verfahren anhand des in 9 dargestellten Beispiels beschrieben.
  • In einem Bildaufnahmeschritt 100 wird ein Bild der Codeanordnung 10 aufgenommen. Das Bild umfasst einen Ausschnitt 16 der Codeanordnung 10 von mindestens der Größe einer Parzelle 7, wobei der dargestellte Ausschnitt 16 durch die Betrachtungsperspektive oder das Abbildungsverfahren verzerrt sein kann.
  • In einem Bildverarbeitungsschritt 200 werden mit Standardverfahren der Bildverarbeitung wie der Segmentierung mittels Blobanalyse die im Bild sichtbaren Basissymbole identifiziert und in Ziffern decodiert. Ein quadratischer Ausschnitt 16 mit 5 × 5 Rasterpunkten wird identifiziert. Da der wahre Aufpunkt vor dem Lesen der X- und Y-Teilsequenzen noch nicht bekannt ist, wird zunächst ein beliebiger Eckpunkt des Ausschnittes als Aufpunkt geschätzt. Der Aufpunkt definiert den Ursprung (0, 0) eines Koordinatensystems, welches den 25 Rasterpunkten eindeutige Koordinaten (X‘, Y‘) zuordnet, wobei X‘ und Y‘ die Werte 0, 1, 2, 3, 4 annehmen können. Den Rasterpunkten werden die decodierten Ziffern zugeordnet. In dem Ausschnitt befindet sich ein Parzellensymbol 9. Die Koordinaten (XP, YP) des Parzellensymbols 9 werden in dem Koordinatensystem (X‘, Y‘) ermittelt, hier ist (XP, YP) = (3, 0).
  • Anschließend wird in dem Sequenzierungsschritt 300 die Lesereihenfolge für die Ziffern des X-Wertes und des Y-Wertes ermittelt. Die Lesereihenfolge des Ausschnittes 16 wird aus der Lesereihenfolge einer Parzelle 7 errechnet, die in einer Tabelle beschrieben ist. Im Folgenden wird das Verfahren beispielhaft für den X-Wert des in 9 dargestellten Falles beschrieben, sinngemäß wird es auch für den Y-Wert angewendet. Die Lesereihenfolge für die Ziffern des X-Wertes in einer Parzelle 7 ist als Folge von Koordinaten von Basissymbolen 1 (XRi, YRi) mit dem Index i = 0 ... 11 festgelegt, wobei das Basissymbol 1 am Ort (XRi, Yri) die Ziffer i des X-Wertes repräsentiert. zeigt die Lesereihenfolge für den X-Wert einer Parzelle 7, gekennzeichnet mit x0, x1, ... x11:
    Index i Basissymbol Koordinate (XRi, YRi) Lesebeginn für DX =
    0 x0 (0, 4) 0
    1 x1 (0, 3)
    2 x2 (1, 4) –1
    3 x3 (1, 3)
    4 x4 (2, 4) –2
    5 x5 (2, 3)
    6 x6 (2, 1)
    7 x7 (2, 0)
    8 x8 (3, 1) 2
    9 x9 (3, 0)
    10 x10 (4, 1) 1
    11 x11 (4, 0)
  • Das Parzellensymbol 9 befindet sich in jeder Parzelle 7 auf der Mittelpunktsposition (XM, YM) = (2, 2). Wenn der zu lesende Ausschnitt 16 genau mit einer Parzelle 7 zusammenfällt, liegt das Parzellensymbol 9 ebenfalls auf den Koordinaten (XP, YP) = (2, 2). Im Allgemeinen ist der Ausschnitt 16 gegenüber einer Parzelle 7 jedoch um den Vektor (DX, DY) = ((XP – XM), (YP – YM)) verschoben, wobei DX und DY Werte im Intervall [–2 ... 2] annehmen. In diesem Beispiel ist (DX, DY) = (3 – 2, 0 – 2) = (1, –2).
  • Anhand der o.g. Tabelle wird der Lesebeginn ermittelt, also die Position des ersten zu lesenden Basissymbols 1, abhängig von DX: Im Beispiel ist DX = 1, also beginnt der Lesevorgang bei Index i = 10, hier ist (XR, YR) = (4, 1). Dieser Vektor wird durch Verschiebung um den Vektor (DX, DY) und Bildung der Modulo-Funktion nach folgender Gleichung in die Koordinaten (X‘, Y‘) des Ausschnittes 16 umgerechnet: X’i = ((XRi + DX) mod L); Y’i = ((YRi + DY) mod L) mit L: Kantenlänge der quadratischen Parzelle, hier ist L = 5.
  • Der Lesebeginn liegt demzufolge auf der Position (X‘, Y‘) = ((4 + 1) mod 5, (1 – 2) mod 5) = (0, 4). Der Lesebeginn ist in der Tabelle so festgelegt, dass die Lesung stets in monoton aufsteigender Reihenfolge von X‘ erfolgt. Die Modulo-Funktion bewirkt, dass ein potentieller Zugriff auf ein Basissymbol 1 außerhalb des Ausschnittes 16 durch einen Zugriff auf ein gleichwertiges Basissymbol 1 innerhalb des Ausschnittes 16 ersetzt wird. Sie nutzt die Eigenschaft der Codeanordnung, dass sich die Information in den X-Teilbereichen zyklisch in Y-Richtung wiederholt und die Information in den Y-Teilbereichen zyklisch in X-Richtung wiederholt, dass also alle Ziffern einer Teilsequenz für den X-Wert sowie für den Y-Wert in dem Ausschnitt 16 enthalten sind.
  • Die weitere Lesereihenfolge wird durch zyklischen Zugriff auf die nachfolgenden Koordinaten (XRi, YRi) in der o.g. Tabelle ermittelt, indem der Index i ausgehend vom Lesebeginn i = 10 jeweils um 1 erhöht und Modulo 12 berechnet wird. Alle Koordinaten (XRi, YRi) werden gemäß Gleichung (1) in Ausschnittskoordinaten (X’i, Y’i) umgerechnet:
    Index i Koordinate (XRi, YRi) Koordinate (X’i, Y’i) Basissymbol (X’i, Y’i)
    10 (4, 1) (0, 4) x10
    11 (4, 0) (0, 3) x11
    0 (0, 4) (1, 2) x12
    1 (0, 3) (1, 1) x13
    2 (1, 4) (2, 2) x14
    3 (1, 3) (2, 1) x15
    4 (2, 4) (3, 2) x16
    5 (2, 3) (3, 1) x17
    6 (2, 1) (3, 4) x18
    7 (2, 0) (3, 3) x19
    8 (3, 1) (4, 4) x20
    9 (3, 0) (4, 3) x21
  • Die Tabelle zeigt, dass das Verfahren die Ziffern x10 ... x21 in aufsteigender Reihenfolge adressiert.
  • In einem vierten Schritt, dem Leseschritt 400, wird eine erste Teilsequenz für eine erste Raumrichtung gelesen. Für 9 ergibt sich die erste Teilsequenz 001100011001 und für die zweite Teilsequenz ergibt sich 101111110011.
  • Da die Winkellage des Ausschnittes 16 unbekannt ist, ist auch noch unbekannt, welche der Teilsequenzen der X-Achse 4 beziehungsweise der Y-Achse 5 zuzuordnen sind und in welche Richtung (vorwärts oder rückwärts) die Teilsequenzen gelesen wurden. Um dies herauszufinden, schließt sich ein Quersummenbestimmungsschritt 500 an. Hierbei werden die Quersummen der gelesenen Teilsequenzen bestimmt. Für die erste Teilsequenz ergibt sich eine Quersumme Q = 5. Dieser Wert ist kleiner als die Hälfte der maximal möglichen Quersumme. Die maximal mögliche Quersumme ist gegeben durch t·(b – 1)/2, wobei sich hier beispielsweise für x = 12 und b = 2 eine maximal mögliche Quersumme von 6 ergibt. Dadurch kann die der erste gelesene Teilausschnitt mit Q = 5 der X-Achse 4 zugeordnet werden. Folglich ergibt sich für die zweite gelesene Teilsequenz eine Zuordnung zur Y-Achse 5, insbesondere auch dadurch, dass die Quersumme der zweiten gelesenen Teilsequenz größer ist als 6 und ist damit größer als die Hälfte der maximal möglichen Quersumme einer Teilsequenz.
  • In einem Koordinatenbestimmungsschritt 600 werden die gelesenen Teilsequenzen sowohl vorwärts als auch rückwärts in der Gesamtsequenz und/oder der invertierten Gesamtsequenz gesucht, beispielsweise durch Abgleich der gelesenen Teilsequenzen mit der Tabelle, die den Teilsequenzen der Gesamtsequenz und/oder invertierten Gesamtsequenz Koordinatenwerte zuordnet. Auf diese Weise werden den gelesenen Teilsequenzen die Koordinatenwerte der X-Position und Y-Position zugeordnet. Für das Beispiel aus aus ergibt sich für die erste Teilsequenz X = 4 (vorwärts) und Y = 2 (vorwärts). Die so gefundene Position entspricht den Koordinaten (4, 2). Da die beiden Richtungen vorwärts gelesen wurden, beträgt der Winkelversatz bezüglich des zufällig gewählten Aufpunktes 0 Grad, es ergibt sich somit die Position des Aufpunktes im Koordinatensystem der Codeanordnung zu (X, Y)= (4, 2). Allgemein ergibt sich ein Winkelversatz von 0 Grad, 90 Grad, 180 Grad oder 270 Grad zwischen dem wahren Aufpunkt der Codeanordnung und dem in Bildverarbeitungsschritt 200 geschätzten Aufpunkt.
  • Ferner kann das Verfahren einen Lagebestimmungsschritt 700 zur Bestimmung der Lage des Arbeitsmoduls 17 relativ zum Arbeitsbereich 19 in bis zu sechs Dimensionen umfassen. Dabei werden beispielsweise die genaue Position der Basissymbole 11 im Ausschnitt und/oder Bild vermessen und ausgewertet. Insbesondere wird auf Basis des aus den Basissymbolen abgebildeten Musters und dessen Geometrie und/oder Gestalt die Lage des Arbeitsmoduls 17 relativ zum Arbeitsbereich 19 ermittelt.
  • 12 zeigt weitere Beispiele für die Zuordnung einer Lese- und/oder Decodierreihenfolge zu den Rasterpunkten und/oder Basissymbolen 1 innerhalb einer Parzelle 7.
  • 12a zeigt eine quadratische Parzelle 7 mit 5 × 5 Rasterpunkten und einem Parzellensymbol 9 in der Mitte der Parzelle 7, dargestellt als fehlendes Basissymbol 1. Die Parzelle 7 hat zwei Parzellenbereiche, einen X-Parzellenbereich 12 und einen Y-Parzellenbereich 13 mit jeweils 12 Basissymbolen 1. Jeder Parzellenbereich ist auf 8 Teilflächen verteilt, im Unterschied zu 4, dort ist jeder Parzellenbereich auf 2 Teilflächen verteilt.
  • 12b zeigt eine quadratische Parzelle 7 mit 6 × 6 Rasterpunkten und einem Parzellensymbol 9 in der Mitte der Parzelle 7, dargestellt als 2 × 2 fehlende Basissymbole 1. Die Parzelle 9 hat zwei Parzellenbereiche, einen X-Parzellenbereich 12 und einen Y-Parzellenbereich 13 mit jeweils 16 Basissymbolen 1. Die von den zwei Parzellenbereichen belegten Flächen können durch eine 90°-Drehung ineinander überführt werden. Das Drehzentrum ist der geometrische Mittelpunkt des Parzellensymbols 9, also die 2 × 2 nicht mit Basissymbolen 1 besetzten Rasterpunkte.
  • 12c zeigt eine quadratische Parzelle 7 mit 6 × 6 Rasterpunkten und einem Parzellensymbol 9 in der Mitte der Parzelle 7, dargestellt als quadratische Fläche mit schwarzer Umrandung auf weißem Hintergrund. Der Inhalt dieser Fläche kann vom Anwender mit beliebigen Inhalten gefüllt werden, beispielsweise mit Bildern, mit Text in Klarschrift oder mit dreidimensionalen Strukturen wie Vertiefungen oder Erhebungen aus der Zeichenebene hinaus. Die Parzelle 7 hat zwei Parzellenbereiche, einen X-Parzellenbereich 12 und einen Y-Parzellenbereich 13 mit jeweils 10 Basissymbolen 1.
  • 12d zeigt eine quadratische Parzelle 7 mit 7 × 7 Rasterpunkten und einem Parzellensymbol 1 in der Mitte der Parzelle 7, dargestellt als fehlendes Basissymbol 1. Die Parzelle 7 hat sechs Parzellenbereiche. Ein X-Parzellenbereich 12 und ein Y-Parzellenbereich 13 mit jeweils acht Basissymbolen enthalten den codierten Positionswert. Die vier weiteren Parzellenbereiche, gekennzeichnet mit A, B, C und D, besitzen ebenfalls jeweils acht Basissymbole 1, die beispielsweise für anwenderspezifische Daten genutzt werden oder für Identifikationsnummern der Objekte, auf denen der Positionscode aufgebracht ist. In einem weiteren Beispiel werden die Flächen zur redundanten Ablage der Positionsinformation innerhalb einer Parzelle 7 genutzt, indem die A- und B-Parzellenbereiche Kopien des X-Parzellenbereiches 12 beinhalten und die C- und D-Parzellenbereiche Kopien des Y-Parzellenbereiches 13. Durch die Dreifach-Ablage wird eine besonders störungssichere Decodierung erreicht, die auch eine Möglichkeit zur Fehlerkorrektur durch Anwendung der Mehrheitsauswahl ermöglicht.
  • 12e zeigt vier quadratische Parzellen 7 mit jeweils 3 × 3 Rasterpunkten und einem Parzellensymbol 9 in der Mitte der Parzelle 7, dargestellt als fehlendes Basissymbol 1. Jede Parzelle 7 hat zwei Parzellenbereiche, einen X-Parzellenbereich 12 und einen Y-Parzellenbereich 13 mit jeweils 4 Basissymbolen 1. Die Teilsequenz, die einen Positionswert codiert, kann sich über mehrere Parzellen 7 erstrecken. Beispielsweise nimmt die Sensoreinheit ein Bild von mindestens 3 × 3 Parzellen 7 auf und decodiert die Inhalte der neun Parzellen 9. Durch Aneinanderfügen der Codes von drei in X-Richtung benachbarten Zellen zu einer X-Teilsequenz und der Codes von drei in Y-Richtung benachbarten Zellen zu einer Y-Teilsequenz werden Teilsequenzen mit jeweils 12 Stellen gewonnen.
  • 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
    • US 20140139428 A1 [0002]

Claims (15)

  1. Zweidimensionale Codeanordnung (10), mit Basissymbolen (1), wobei die Basissymbole (1) auf einer Fläche angeordnet sind und die Basissymbole (1) auf der Fläche ein zweidimensionales periodisches Raster (2) bilden, mit mehreren gleichartigen Parzellen (7), wobei die Parzellen (7) jeweils eine Mehrzahl an Basissymbolen (1) aufweisen, wobei die Parzellen (7) jeweils mindestens einen ersten und einen zweiten Parzellenbereich aufweisen, wobei ein X-Parzellenbereich (12) den ersten Parzellenbereich umfasst und ein Y-Parzellenbereich (13) den zweiten Parzellenbereich umfasst, dadurch gekennzeichnet, dass die Parzellen (7) jeweils mindestens ein Parzellensymbol (9) zur Vorgabe einer Lesereihenfolge und/oder Decodierreihenfolge der Basissymbole (1) in dem X-Parzellenbereich (12) und in dem Y-Parzellenbereich (13) aufweisen, wobei ein X-Koordinatenwert in dem X-Parzellenbereich (12) durch die Basissymbole (1) codiert ist und ein Y-Koordinatenwert in dem Y-Parzellenbereich (13) durch die Basissymbole (1) codiert ist.
  2. Zweidimensionale Codeanordnung (10) nach Anspruch 1, dadurch gekennzeichnet, dass die Parzellenbereiche jeweils eine oder mehrere getrennte Teilflächen (11, 11a, 11b, 11c, 11d) umfassen.
  3. Zweidimensionale Codeanordnung (10) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das zweidimensionale perodische Raster (2) ein rechteckiges Raster bildet und die Parzellen (7) rechteckig sind.
  4. Zweidimensionale Codeanordnung (10) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das periodische Raster (2) eine Rasterlänge und eine Rasterbreite aufweist, wobei eine Anzahl von g aufeinanderfolgender Basissymbolen (1) eine Gesamtsequenz bilden, wobei die X-Parzellenbereiche (12) von entlang der Parzellenlänge benachbarten Parzellen (7) die Gesamtsequenz in Leserichtung und/oder in Decodierreihenfolge umfassen.
  5. Zweidimensionale Codeanordnung (10) nach Anspruch 4, dadurch gekennzeichnet, dass ein Ausschnitt von t aufeinanderfolgenden Basissymbolen (1) in der Gesamtsequenz eine Teilsequenz bildet, wobei die Gesamtsequenz die Teilsequenz nur einmal umfasst und jede rückwärtsgelesene Teilsequenz in der Gesamtsequenz nicht enthalten ist.
  6. Zweidimensionale Codeanordnung (10) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Basissymbole (1) Ziffern zu einer Zahlenbasis b codieren.
  7. Zweidimensionale Codeanordnung (10) nach Anspruch 6, dadurch gekennzeichnet, dass die Zahlenbasis b=2 ist und ein Binärsystem bildet, wobei die Basissymbole (1) einen ersten Kreis mit Radius R1 und einen zweiten Kreis mit Radius R2 umfassen und R1 < R2 ist oder die Basissymbole (1) Symbole unterschiedlicher Farbe und/oder Transparenz sind oder die Basissymbole (1) Bereiche unterschiedlicher Magnetisierung oder kapazitiver Eigenschaften sind.
  8. Zweidimensionale Codeanordnung (10) nach Anspruch 6 oder 7, dadurch gekennzeichnet, dass die Quersumme über die von den Basissymbolen (1) codierten Ziffern der Teilsequenz kleiner als die Hälfte der maximal möglichen Quersumme einer Teilsequenz ist.
  9. Zweidimensionale Codeanordnung (10) nach einem der Ansprüche 6 bis 8 gekennzeichnet durch eine invertierte Gesamtsequenz, wobei die Y-Parzellenbereiche (13) von entlang der Rasterbreite benachbarten Parzellen (7) die invertierte Gesamtsequenz in Leserichtung und/oder Decodierreihenfolge umfassen.
  10. Zweidimensionale Codeanordnung (10) nach Anspruch 9, dadurch gekennzeichnet, dass das Basissymbol (1) an der Stelle k der invertierten Gesamtsequenz die Ziffer m(k) codiert, wobei die Ziffer m(k) mit der durch das Basissymbol (1) an der Stelle k in der Gesamtsequenz codierten Ziffer n(k) die Relation m(k) = b – n(k) – 1 erfüllt.
  11. Arbeitsanordnung mit einem flächigen Arbeitsbereich (19) und einem Arbeitsmodul (17) und mit einer zweidimensionalen Codeanordnung (10) nach einem der Ansprüche 1 bis 10, wobei die zweidimensionale Codeanordnung (10) im Arbeitsbereich (19) angeordnet ist, wobei das Arbeitsmodul (17) eine optische Sensoreinheit zum Erfassen eines Ausschnittes (16) der Codeanordnung (10) als ein Bild umfasst und ausgebildet ist, den X-Koordinatenwert und den Y-Koordinatenwert zu decodieren.
  12. Arbeitsanordnung nach Anspruch 10, dadurch gekennzeichnet, dass der Ausschnitt (16) mindestens die Größe einer Parzelle (7) und einen Aufpunkt (18) besitzt, wobei die optische Sensoreinheit ausgebildet ist, auf Basis des Bildes und/oder des Ausschnittes (16) die Position des Aufpunktes (18) in dem Arbeitsbereich (19) zu bestimmen.
  13. Verfahren zum Betreiben einer Arbeitsanordnung nach Anspruch 11 bis 12, dadurch gekennzeichnet, dass der X-Koordinatenwert und der Y-Koordinatenwert decodiert werden.
  14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass die Orientierung des im Bild aufgenommenen Ausschnittes (16) der Codeanordnung (10) bezüglich zweier Koordinatenachsen bestimmt wird und/oder die Koordinaten der Position des Aufpunktes (18) in der Codeanordnung (10) durch Decodierung des im Bild enthaltenen Ausschnittes (16) der Codeanordnung (10) bestimmt werden.
  15. Verfahren nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass die Lage des Arbeitsmoduls (17) zum Arbeitsbereich (19) in bis zu sechs Freiheitsgraden bestimmt wird.
DE102016216221.7A 2016-08-29 2016-08-29 Zweidimensionale Codeanordnung, Arbeitsanordnung und Verfahren zum Betreiben der Arbeitsanordnung Pending DE102016216221A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016216221.7A DE102016216221A1 (de) 2016-08-29 2016-08-29 Zweidimensionale Codeanordnung, Arbeitsanordnung und Verfahren zum Betreiben der Arbeitsanordnung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016216221.7A DE102016216221A1 (de) 2016-08-29 2016-08-29 Zweidimensionale Codeanordnung, Arbeitsanordnung und Verfahren zum Betreiben der Arbeitsanordnung

Publications (1)

Publication Number Publication Date
DE102016216221A1 true DE102016216221A1 (de) 2018-03-01

Family

ID=61166434

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016216221.7A Pending DE102016216221A1 (de) 2016-08-29 2016-08-29 Zweidimensionale Codeanordnung, Arbeitsanordnung und Verfahren zum Betreiben der Arbeitsanordnung

Country Status (1)

Country Link
DE (1) DE102016216221A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021205867A1 (de) 2021-06-10 2022-12-15 Robert Bosch Gesellschaft mit beschränkter Haftung Fertigungsanlage und Arbeitsverfahren
DE102021205893A1 (de) 2021-06-10 2022-12-15 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Lagebestimmung, Modul für eine Positionierungsanordnung und Positionierungsanordnung
WO2022258295A1 (de) 2021-06-10 2022-12-15 Robert Bosch Gmbh Zweidimensionale codeanordnung, positionsbestimmungseinrichtung und verfahren zur positionsbestimmung
CN117291631A (zh) * 2023-10-27 2023-12-26 广州通赢科技有限公司 一种隐藏式的商品追溯方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140139428A1 (en) 2012-05-31 2014-05-22 Panasonic Corporation Device and method for detecting position code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140139428A1 (en) 2012-05-31 2014-05-22 Panasonic Corporation Device and method for detecting position code

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021205867A1 (de) 2021-06-10 2022-12-15 Robert Bosch Gesellschaft mit beschränkter Haftung Fertigungsanlage und Arbeitsverfahren
DE102021205893A1 (de) 2021-06-10 2022-12-15 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Lagebestimmung, Modul für eine Positionierungsanordnung und Positionierungsanordnung
WO2022258295A1 (de) 2021-06-10 2022-12-15 Robert Bosch Gmbh Zweidimensionale codeanordnung, positionsbestimmungseinrichtung und verfahren zur positionsbestimmung
DE102021205874A1 (de) 2021-06-10 2022-12-15 Robert Bosch Gesellschaft mit beschränkter Haftung Zweidimensionale Codeanordnung, Positionsbestimmungseinrichtung und Verfahren zur Positionsbestimmung
CN117291631A (zh) * 2023-10-27 2023-12-26 广州通赢科技有限公司 一种隐藏式的商品追溯方法及系统

Similar Documents

Publication Publication Date Title
DE112018002048T5 (de) Hochgenaues kalibriersystem und kalibrierverfahren
DE102016216221A1 (de) Zweidimensionale Codeanordnung, Arbeitsanordnung und Verfahren zum Betreiben der Arbeitsanordnung
EP2417561B1 (de) Zweidimensionaler symbolcode und verfahren zum lesen des symbolcodes
DE102006055758B4 (de) Verfahren zur Kalibrierung von Kameras und Projektoren
EP3290861B1 (de) Sensoranlage mit einer optischen sensoreinheit und automatisierungsanlage
EP3139132B1 (de) Flächen-absolutcodierung
DE102015212352A1 (de) Verfahren, Anordnung und Computerprogrammprodukt zur Lageerfassung eines zu untersuchenden Objekts
DE102018108042A1 (de) Optisches Messsystem
EP1333402B1 (de) Redundanter zweidimensionaler Code und Decodierverfahren
DE102018119691A1 (de) Kamerasystem zur Erfassung von Kodierungen
DE102018008539B4 (de) Kalibriervorrichtung und Verfahren zur Kamerakalibrierung für die Photogrammetrie
DE10112732C2 (de) Verfahren zur Bestimmung der Lage von Meßbildern eines Objektes relativ zum Objekt
DE102015118836B4 (de) Optisch lesbarer Code und Verfahren zur Kennzeichnung von Leiterplatten mittels eines optisch lesbaren Codes
DE19632058C1 (de) Optoelektronisch erfaßbares Identifizierungs- oder Zielelement sowie Verfahren zu seiner Erfassung
DE10332161B4 (de) Kalibrationskörper und Kalibrationsverfahren für ein Kamerasystem
DE102011009791B4 (de) Messelement zur Vermessung von beliebig übereinanderliegenden Markierungen
DE102020119243A1 (de) Verfahren und System bzw. Vorrichtung zum Erkennen eines Objektes in einem elektronischen Bild
DE102021205874A1 (de) Zweidimensionale Codeanordnung, Positionsbestimmungseinrichtung und Verfahren zur Positionsbestimmung
DE102010034875A1 (de) Positionskennzeichen
DE10233153A1 (de) Verfahren zur Positionserkennung und Datenträger hierzu
DE102017005060A1 (de) Zweidimensionales Messelement zur hochgenauen Messung der Lage einer Struktur oder Kante
DE102021213358A1 (de) Posenbestimmung bei Parallelkinematiken mit Referenzmarkern
EP3762870B1 (de) Entfernungsmesselement
DE102004050942B4 (de) Bootstrap-Verfahren zum überwachten Einlernen eines Mustererkennungssystems
DE102021205860A1 (de) Sensoranlage, Positionsbestimmungsvorrichtung, Automatisierungsanlage und Verfahren zur Positionsbestimmung

Legal Events

Date Code Title Description
R012 Request for examination validly filed