DE68925558T2 - Rückgekoppeltes Navigationssystem für mobile Roboter - Google Patents

Rückgekoppeltes Navigationssystem für mobile Roboter

Info

Publication number
DE68925558T2
DE68925558T2 DE68925558T DE68925558T DE68925558T2 DE 68925558 T2 DE68925558 T2 DE 68925558T2 DE 68925558 T DE68925558 T DE 68925558T DE 68925558 T DE68925558 T DE 68925558T DE 68925558 T2 DE68925558 T2 DE 68925558T2
Authority
DE
Germany
Prior art keywords
agv
navigation system
agvs
camera
node
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.)
Expired - Fee Related
Application number
DE68925558T
Other languages
English (en)
Other versions
DE68925558D1 (de
Inventor
Thomas J Doty
Anh V Ho
Phen-Lan Huang
Chuan-Fu Lin
Haradon J Rice
Martin A Wand
John P Williston
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE68925558D1 publication Critical patent/DE68925558D1/de
Publication of DE68925558T2 publication Critical patent/DE68925558T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0297Fleet control by controlling means in a control room
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
    • G05D1/0282Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal generated in a local control room

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Navigation (AREA)

Description

  • Diese Erfindung ist mit den gleichzeitig anhängigen europäischen Patentanmeldungen Nr. 89311168.2 (0 367 527) und 89311169.0 (0 367 528) verwandt.
  • HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf Leit- und Steuerungsverfahren für automatisch geleitete Fahrzeug(AGV)-Systeme wie mobile Roboter und insbesondere auf Verfahren zum Koordinieren der Bewegung von sich frei bewegenden Fahrzeugen durch Schließen des Regelkreises zwischen den stationären Steuerungsrechnern und den mobilen Steuerungsrechnern.
  • 2. Stand der Technik
  • Automatisch geleitete Fahrzeug(AGV)-Systeme verwenden typischerweise ein Leitschema, das es den Fahrzeugen erlaubt, sich lediglich vorwärts oder rückwärts entlang einem festgelegten Weg zu bewegen. Dieser Weg ist normalerweise durch einen Führungsdraht definiert, der in den Fabrikboden eingelassen ist, wie in der U.S.-Patentschrift 4 530 056 offenbart. Solch ein Schema erfordert sorgfältig ausgearbeitete installationsverfahren, wie in den U.S.-Patentschriften 4 554 724 und 4 562 635 offenbart. Andere AGV-Leit- und Steuerungsverfahren enthalten Mittel zur Erkennung von Markierungen entlang dem Weg eines AGVs eingeschlossen, wie die Verfahren, die in den U.S.-Patentschriften 4 593 238 und 4 593 239 beschrieben sind. Noch andere Verfahren erfordern ein mit einem Scanner ausgerüstetes AGV, um einem ultraviolettreflektierenden Streifen zu folgen, der auf den Boden gemalt ist. Zu neueren technologischen Entwicklungen gehören Verfahren, die optische Verfolgung mit rotierendem Laser einsetzen, wobei codierte reflektierende Erkennungszeichen an Punkten entlang erlaubten Routen plaziert sind und Systeme, deren Basis die AGVs sind, diese Erkennungszeichen beleuchten und beobachten, wobei herkömmliche Triangulierung verwendet wird, um die Position des AGVs zu bestimmen. Trägheitsleitverfahren haben viele Vorteile, erfordern jedoch letzten Endes regelmäßige Aktualisierungen der absoluten Positionen durch die entsprechenden beschriebenen Mittel. Alle diese zum Stand der Technik gehörenden Verfahren bedingen das Anbringen entweder eines kontinuierlichen physischen Leitmittels oder physischer Leitziele in der gesamten Fabrik, entweder auf oder in dem Boden oder an oder in der Nähe von Maschinen, Ladestationen, kritischen Punkten oder dergleichen. Selbst wenn die AGVs bordeigene Möglichkeiten zur Koppelnavigation enthalten, führen diese Schemata dazu, daß es schwierig oder zeitaufwendig ist, die AGV-Systeme zu installieren, zu programmieren oder zu modifizieren.
  • Unter merklichen Betriebsproblemen leiden ebenfalls Systeme mit bestehenden Leitschemata. Zum Beispiel können tote Punkte (Gebiete, in denen physische Hindernisse die Führungsmarkierungen verbergen oder elektrische Störung die funk- oder drahtgeführte Kommunikation verhindert) zum Verlust der AGV-Steuerung führen. Staus oder Blockaden können ebenfalls bei drahtgeführten Systemen auftreten, wo ein AGV "ausfällt" und andere AGVs an diesem nicht vorbei fahren können, oder wo sich zwei AGVs einem Kreuzungspunkt von verschiedenen Richtungen aus nähern.
  • Texas Instruments entwickelte eine Anordnung für stärker autonome Leitung und setzte sie in die Praxis um (beschrieben in EP-A-0 221 643 (oben beschriebene US-Patentanmeldung mit dem Aktenzeichen 771,397)), die eine Art optisches Navigationssystem verwendete, um die Positionsangaben von AGVs zu aktualisieren, die mit der Fähigkeit zu automatischer Koppelnavigation ausgestattet sind. Dieses System enthält die Mittel, um mehrere unabhängig geleitete und gesteuerte AGVs zu beobachten, die innerhalb derselben Umgebung ohne physische Wegbeschränkungen in Betrieb sind. Die AGVs in diesem System enthalten eine bordeigene Koppelnavigationsleitung. Das hierin offenbarte optische Navigationssystem dient dazu, den Leit-Regelkreis zu schließen, indem die AGVs mit regelmäßigen Aktualisierungen der absoluten Positionen versorgt werden. Die einzigen Beschränkungen für die AGVs in diesem System bestehen darin, daß sie in Betrieb und sichtbar sind (ihre Baken müssen leuchten und sie müssen sich innerhalb des Blickfeldes irgendeiner Systemleitungskamera befinden). Solch ein System ist dem Stand der Technik in vielerlei Hinsicht überlegen: Es braucht kein Leitstreifen oder eingelassener Draht in oder auf dem Fabrikboden angebracht zu werden; die AGVs sind nicht auf die Bewegung in einer oder in zwei Richtungen beschränkt, sondern können sich frei bewegen; die Wege der AGVs sind leicht umprogrammierbar.
  • Das optische Navigationssystem von Texas Instruments, das in EP-A-0 221 643 (US-Patentanmeldung mit dem Aktenzeichen 771,397) offenbart ist, arbeitete ohne zu wissen, wo sich das AGV befinden sollte. Es verwendete das Verfahren, daß zu jedem Zeitpunkt, an dem das Videosystem ein Bild aufnahm, lediglich die Lichtbaken des interessierenden AGVs eingeschaltet waren. Daher mußten die durch das Videosystem zu diesem Zeitpunkt eingefangenen Lichter das interessierende AGV darstellen. Es berechnete dann den Flächenschwerpunkt jedes Lichts und transformierte alle drei Flächenschwerpunkte von Kamera (Bildebenen)-Koordinaten in Fabrikboden- Koordinaten. Unter Verwendung der gespeicherten dreieckigen Form und Abmessung zur Bestimmung der Position und Orientierung des AGVs leitete das Videosystem diese Daten durch das Datenübertragungsglied (beschrieben in EP-A-0 221 643 (US- Patentanmeldung mit dem Aktenzeichen 771,322)) zum AGV, um eine Rückkopplung zu liefern, so daß dem AGV erlaubt wurde, Ungenauigkeiten bezüglich der Koppelnavigation zu kompensieren. Das AGV-Koppelnavigations- und Positionsaktualisierungsverfahren ist in EP-A-0 213 939 (US-Patentanmeldungen mit den Aktenzeichen 771,321 und 771,432) beschrieben.
  • Da das System die geplante Strecke des Roboters nicht kannte, konnten verschiedene Probleme auftreten:
  • 1. Das Videosystem konnte nicht wissen, ob sich ein AGV "auf Kurs" befand, da die Navigationssoftware kein Wissen über die "Kurse" oder die geplante Strecke hatte. Das in EP-A-0 213 939 (US-Patentanmeldung mit dem Aktenzeichen 771,329) offenbarte Verfahren enthält ein Streckenvorhersageverfahren, das lediglich eine Schätzung im Sinne einer "besten Vermutung" für die nächste Kamera, die bei einer Suche verwendet werden soll, angeben konnte, wobei angenommen wurde, daß das Navigationssystem die aktuelle Position des AGVs sicher identifizieren konnte. Das Verfahren schloß kein Streckenplanungsverfahren ein.
  • 2. Die Anzahl der AGVs, die das Videosystem gleichzeitig navigieren konnte, war begrenzt, da das Ausmaß des Nachrichtenverkehrs groß war, der erforderlich war, um ein einzelnes AGV unter vielen richtig zu identifizieren.
  • 3. Die Geschwindigkeit des Navigationssystems war durch Mangel an Wissen über die geplante Strecke des AGVs begrenzt. Dieses Verfahren, das in EP-A-0 221 643 (US-Patentanmeldung mit dem Aktenzeichen 771,459) offenbart ist, erforderte einen ständig wachsenden Suchradius (als Unsicherheitsringe bezeichnet), wenn ein AGV das Blickfeld einer Kamera verließ. Im schlimmsten Fall konnte dieser die gesamte Auswahl an Kameras einschließen.
  • 4. Das Abtasten gesamter Blickfelder konnte zur Verarbeitung von unwichtigen Lichtern, Reflexionen, Blendlicht oder Lichtern von dem falschen AGV (im Falle einer Störung der Nachrichtenverbindung) führen. Das in EP-A-0 221 643 (US-Patentanmeldung mit dem Aktenzeichen 771,380) offenbarte Verfahren wurde verwendet, um zwischen Bakenbildern und Fremdbildern wie Reflexionen zu unterscheiden. Selbst bei diesem "Filterungs"-Verfahren waren die Bildverarbeitungsfenster des ursprünglichen Schemas so groß, daß die AGVs durch einen weiten Sicherheitsraum abgeschirmt bleiben mußten, da die Möglichkeit bestand, daß wenigstens ein Licht eines AGVs in ein Bild eines anderen störend hineinkommen und so die Navigationssoftware durcheinanderbringen könnte.
  • 5. Fehlendes Wissen über die geplante Bewegung verhinderte das Bestimmen der AGV-Orientierung, wenn ein AGV-Licht blockiert war, wie in Fig. 1 dargestellt. Vorher existierende Verfahren, die in EP-A-0 221 643 (US-Patentanmeldung mit dem Aktenzeichen 772,061) offenbart sind, erforderten zur Bestimmung der Orientierung das Sichtbarsein aller Lichter eines AGVs.
  • Ein an Bord befindlicher Roboterarm oder eine Nutzlast verdeckten wenigstens eine Bake für wenigstens 50% der Zeit. Das Mittel zur Bestimmung des Ortes einer verdeckten Bake war eine Extrapolation, die auf der Kenntnis ihrer aktuellsten bekannten Position basierte. Die AGV-Steuerung war regellos, wenn Roboterarme auf der Fläche für die Nutzlast angebracht waren. Ein undurchsichtiges Objekt, das größer als die Bakenständer war, konnte irgendeine von allen Baken verdecken und eine richtige Navigation verhindern.
  • 6. Die Wiederholbarkeit bezüglich der Positionen war beeinträchtigt, da der Mangel an Wissen über die Knotenpunkte auf den erlaubten Strecken es einem AGV erlaubte, sich einem bestimmten Knotenpunkt, der durch mehr als eine Kamera abgedeckt wurde, von irgendeiner Richtung aus zu nähern. Um die Wiederholbarkeit zu steuern, ist es wünschenswert, an einem bestimmten Punkt immer unter Verwendung derselben Kamera vorbeizulaufen.
  • Zusammenfassung der Erfindung
  • Gemäß einem Gesichtspunkt der vorliegenden Erfindung wird ein Navigationssystem für automatisch geleitete Fahrzeuge (AGVs) geschaffen, um sie entlang einem Streckennetzwerk mit mehreren Knotenpunkten zu ihren Bestimmungsorten zu leiten, in dem jedes AGV Mittel enthält, die es ihm ermöglichen, sich durch Koppelnavigation über Streckenabschnitte zu seinem Bestimmungsort zu bewegen, und in dem ein Steuersystem mit mehreren Kameras bereitgestellt wird, die auf die Knotenpunkte des Netzwerkes gerichtet sind, so daß jeder Knotenpunkt von wenigstens einer Kamera betrachtet wird, wobei das Steuersystem mit den AGVs regelmäßig in Verbindung tritt, um ihnen Angaben über ihre Positionen im Netzwerk zu senden, um ihre Koppelnavigationsmittel zu aktualisieren, wobei das Steuersystem Einzelheiten der Routen, die von den AGVs zu ihren Bestimmungsorten eingeschlagen werden sollen, und Aufstellungen der geplanten Bewegungen der AGVs speichert, und Mittel enthält, die auf die gespeicherten Informationen reagieren, um vorherzusagen, wo sich jedes der AGVs zu einer bestimmten Zeit befinden wird und um eine geeignete der Kameras auszuwählen, um dieses AGV zu dieser Zeit zu beobachten.
  • Gemäß einem zweiten Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren zur Navigation automatisch geleiteter Fahrzeuge (AGVs) geschaffen, um sie entlang einem Streckennetzwerk mit mehreren Knotenpunkten zu leiten, umfassend
  • Bereitstellen von Mitteln in jedem AGV, um es ihm zu ermöglichen, sich durch Koppelnavigation über Streckenabschnitte zu seinem Bestimmungsort zu bewegen,
  • Bereitstellen eines statischen Steuersystems mit mehreren Kameras, die auf die Knotenpunkte des Netzwerkes gerichtet sind, so daß jeder Knotenpunkt von wenigstens einer Kamera betrachtet wird,
  • Veranlassen des Steuersystems mit den AGVs regelmäßig in Verbindung zu treten, um ihnen Angaben über ihre Positionen zu senden, und
  • Verwendung der Positionsangaben in den AGVs, um die Koppelnavigationsmittel zu aktualisieren, dadurch gekennzeichnet, daß das Steuersystem Einzelheiten der Routen, die von den AGVs eingeschlagen werden sollen, und Aufstellungen der geplanten Bewegungen der AGVs speichert, und das Steuersystem ebenfalls aus den gespeicherten Informationen vorhersagt, wo sich jedes der AGVs zu einer bestimmten Zeit befindet und eine geeignete der Kameras auswählt, um dieses AGV zu dieser Zeit zu beobachten.
  • Die Erfindung wendet sich diesen Problemen zu, indem sie (1) die Fabrik-Wissensbasis zu dem Bildaufnahmesystem liefert, indem sie (2) ein dynamisches "Fenster" liefert, das etwas größer als das AGV, jedoch kleiner als die größte zulässige Wegbreite in der Bewegungsrichtung ist, und indem sie (3) drei verschiedene Typen von "Zonen" auf und um einen Weg schafft.
  • 1. Der System-Kontroller sendet den Fabrikplan, mit dessen Wissen über alle erlaubten AGV-Wege, Kamerazuordnungen und Knotenpunktzuordnungen zu dem Videosystem, wenn das Navigationssystem dieses anfordert.
  • So wird dem Navigationssystem der Ort der Kameras und Knotenpunkte innerhalb der Fabrik mitgeteilt. Das Navigationssystem bestimmt den Ort der AGVs, indem es die Bakenbilder verarbeitet, indem es den Flächenschwerpunkt jedes AGVs berechnet und indem es den Ort des Flächenschwerpunktes mit "Zonen" der Bewegung vergleicht, die für die AGVs definiert sind.
  • 2. Das Navigationssystem weiß nun, von welcher Kamera es das Blickfeld für ein AGV zu einer bestimmten Zeit zu prüfen hat. Das vermindert stark die Zeit, die zur Lokalisierung eines AGVs erforderlich ist, wenn es einen Knotenpunkt verläßt, was es erlaubt, daß eine größere Anzahl von AGVs gleichzeitig mit dem Navigationssystem betrieben werden.
  • 3. Nun, wo das Videosystem den Fabrikplan enthält, ist die Zeit, die erforderlich ist, um ein AGV zu lokalisieren, wenn es das Blickfeld einer Kamera verläßt, stark reduziert. Genau gesagt kennt das Navigationssystem nicht nur die absolute Position eines interessierenden AGVs, sondern auch die Knotenpunkte, über die es auf seinem Weg zu seinem geplanten Bestimmungsort laufen muß. Es kennt daher die Kameranummern, unter denen es nach dem AGV suchen soll. Die Software ist so optimiert, daß das Navigationssystem normalerweise lediglich die Kameranummer prüft, unter der angenommen wird, daß sich das AGV zur Zeit der Prüfung befindet. Wenn das AGV ein Blickfeld verläßt, weiß das Navigationssystem, welche einzelne Kamera als nächstes zu prüfen ist, usw. Es wird lediglich notwendig, mehrere Kameras zu prüfen, wenn ein AGV seine geplante Strecke verläßt oder wenn ein AGV, das behindert war, freigegeben wird. Da das Navigationssystem nun nicht länger unnötigerweise leeren Raum oder mehrere Kameras prüft, wird seine Geschwindigkeit nicht mehr durch solches zeitraubendes Suchen begrenzt.
  • 4. Ein dynamisches Bildverarbeitungsfenster löst das Problem des Prüfens nichtzugehöriger Lichter, Reflexionen, Blendlichter oder Lichter von dem falschen AGV. Das Fenster entspricht einem Verarbeitungsbereich, der nur leicht größer als das AGV selbst ist, wodurch die Möglichkeit vollkommen ausgeschlossen wird, daß ein anderes AGV in den Bildverarbeitungsbereich störend hineinkommt. Das schließt auch Reflexionen von nahen Objekten aus.
  • 5. Da das Navigationssystem nun weiß, wo es nach einem speziellen AGV suchen muß, in welche Richtung sich das AGV bei der letzten Positionsaktualisierung bewegt hat und welches seine Orientierung sein sollte, ist es möglich, ein AGV zu navigieren, selbst wenn seine Baken teilweise blockiert sind, wie in Fig. 1 dargestellt. Das ist eine wesentliche Verbesserung, da wenigstens eine Bake der AGVs, die an Bord Roboterarme oder hohe Nutzlasten tragen, wenigstens 50% der Zeit blockiert ist.
  • 6. Die Wiederholbarkeit bezüglich der Position wird an den Maschinenknotenpunkten (wo die AGVs andocken) verbessert, da das Navigationssystem immer dieselbe Kamera beim Parken verwendet, wenn sich die Blickfelder von mehr als einer Kamera an dem Knotenpunkt überlappen, wie in Fig. 2 dargestellt. Das bedeutet, daß alle AGVs, die an einem bestimmten Knotenpunkt andocken, dieselbe Kamera verwenden werden, ohne Rücksicht darauf, wie sie sich dem Maschinenknotenpunkt nähern.
  • Bei der Beschreibung der Erfindung verwendete Begriffe
  • Die folgenden Beschreibungen der Erfindung enthalten mehrere Schlüsselbegriffe, unter denen die folgenden sind: Fabrikkoordinaten, der "Fabrikplan", Knotenpunkte, Streckenabschnitte, Bildverarbeitungs- "Fenster", eindeutig identifizierbare AGVs und AGV-"Zustände".
  • Es wird angenommen, daß die physische Betriebsumgebung der Erfindung eine Fabrik ist. Wenn das AGV-System in der Fabrik installiert wird, wählen die Systembetreiber eine willkürliche physische Markierung als den "Fabriknullpunkt" aus. Unter Verwendung von Meßbändern oder Vermessungsgeräten wird der Ort jeder Kamera, jeder Maschine und jedes Knotenpunktes bestimmt und dann in die Systemrechner als der "Fabrikplan" eingegeben. Ein Knotenpunkt ist ein bestimmter Ort (in Fabrikboden-Koordinaten) in der Fabrik. Fabrikboden-Koordinaten sind Positionen in kartesischen Koordinaten, wobei der Fabriknullpunkt als der Punkt (0,0) verwendet wird. Die Maßeinheiten sind Fuß (in Dezimalschreibweise, z. B. 10,5 Fuß statt 10 Fuß 6 Inch).
  • Es wird normalerweise angenommen, daß ein Knotenpunkt das Zentrum des Blickfeldes einer bestimmten Kamera ist, jedoch kann eine Kamera mehrere verschiedene Knotenpunkte betrachten, je nach dem Layout der Maschinen und Wege in der Fabrik. Ein Knotenpunkt wird an jeder zu bedienenden Maschine plaziert, an jedem Platz in der Fabrik, wo es für ein AGV nötig sein kann geparkt zu werden (Wartungsbereiche, Batterieladestationen und dgl.) und an jedem Punkt in der Fabrik, wo es für AGVs routinemäßig erforderlich sein kann zu wenden oder zu drehen. Wenn ein Knotenpunkt definiert wird, wird er ebenfalls mit der Kamera identifiziert, die ihn "sehen" kann.
  • Streckenabschnitte verbinden jedes Nachbarpaar von Knotenpunkten. Z.B. besteht ein streckenabschnitt aus einem Startknotenpunkt, einem Endknotenpunkt und dem gesamten "leeren" (d. h. nicht zugeordneten) Raum dazwischen. Statt ein AGV so zu lenken, daß es sich von einem Knotenpunkt zu einem anderen bewegt, "reserviert" der System-Kontroller für das AGV die Streckenabschnitte, die die zwei Knoten verbinden. Das erlaubt es dem System, Kollisionen oder Blockaden zu verhindern.
  • "Fenster" sind die Bereiche des Blickfeldes einer Kamera, die durch das Rechner-Videosystem verarbeitet werden, um Licht- "Flecken" zu lokalisieren. Diese Lichtflecken repräsentieren entweder AGV-Navigationsbaken oder Fremdlichtquellen (z. B. Maschinenlichter, Reflexionen und dgl.). Da eine genaue Navigation den genauen Ort der Navigationsbaken erfordert, müssen alle Fremdflecken eliminiert werden. Die Erfindung erreicht das durch Verarbeitung lediglich der Flecken, die innerhalb des Fensters erscheinen, das für ein bestimmtes AGV definiert ist. Die Fenster sind so definiert, daß sie gerade groß genug sind, um das AGV einzuschließen.
  • Während es verfolgt wird, ist ein AGV durch die Abstände zwischen seinen Navigationsbaken einzeln identifizierbar. Für jedes AGV gibt es vier mögliche rechtwinklige Dreiecke, die durch Sehnen gebildet werden können, die zwischen drei seiner vier Baken gezogen werden. Wenn ein AGV zum ersten Mal in das System eingeführt wird, "unterrichtet" ein Bediener das System, das AGV zu erkennen. Der Unterrichtsprozeß besteht darin, das AGV unter einer Kamera zu parken und Aufforderungen vom Programm des optischen Navigationssystems zu beantworten, um jedes der Lichter zu identifizieren. Dieser Prozeß erzeugt eine Datenbasis für das AGV, die die Länge jeder der sechs möglichen Sehnen und den Umfang jedes der vier möglichen Dreiecke enthält. Dieses Verfahren erlaubt es dem optischen Navigationssystem, die Identität und Orientierung eines AGVs während der Verfolgung zu bestimmen.
  • Wenn eine kritische Suche abläuft, enthält die Erfindung ein zusätzliches Identifikationsmittel, das dazu dient, dem Ziel-AGV und lediglich dem Ziel-AGV Befehle zur Beleuchtung seiner Baken zu erteilen.
  • Da die AGVs halbautonom sind, erfordert jede Entscheidung, die das optische Navigationssystem bezüglich eines einzelnen AGVs trifft, das Wissen darüber, was das AGV zu der Zeit tut. Um dieses zu vereinfachen, werden eine Reihe von möglichen "Zuständen" (z. B. tot, kritisch, verdächtig, in Ordnung, freigegeben, zurückgesetzt, etc.) für die AGVs definiert. Wenn das System ein AGV abfragt, oder wenn der System-Kontroller Zustandsinformation auf Anfrage zum optischen Navigationssystem übermittelt, enthält die Nachricht ein "Zustandsbit", das den gegenwärtigen Zustand des AGVs anzeigt. Dieses Verfahren hilft Probleme zu vermeiden wie: einem AGV einen Befehl zum Stoppen geben, obwohl dieses sich tatsächlich nicht bewegt, oder eine Suche fortsetzen, selbst wenn das Ziel-AGV schon gefunden wurde und dgl.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 ist eine Abbildung, die zeigt, wie ein Roboterarm oder eine Nutzlast die Navigationsbaken an einem AGV verdecken können.
  • Fig. 2 ist eine Darstellung der möglichen Überlappung von Blickfeldern verschiedener Kameras und wie mit dieser Überlappung unter Verwendung von Knotenpunktzuordnungen umgegangen wird.
  • Fig. 3 ist eine Darstellung der Erfindung im Einsatz in einer typischen Fabrikumgebung, die die obenliegenden Kameras des Navigationssystems darstellt, die ein sich einem Knotenpunkt näherndes AGV betrachten.
  • Fig. 4 ist eine Darstellung eines AGVs, die die Navigationsbaken zeigt, die durch das Navigationssystem betrachtet werden.
  • Fig. 5 ist eine funktionale schematische Darstellung der Kommunikationsverbindungen des Navigationssystems.
  • Fig. 6 ist ein Blockdiagramm, das die elektrischen und elektronischen Komponenten des Navigationssystems zeigt.
  • Fig. 7 ist eine Darstellung eines Fabrikbodenplans mit der installierten Erfindung, die die Wege der AGVs und die freistehenden Maschinen, die sie bedienen, zeigt.
  • Fig. 8 ist eine Darstellung der Weise, in der sich Knotenpunkte, Knotenpunktlisten und Kameranummerzuordnungen auf die physische Realität von Wegen und AGVs beziehen.
  • Fig. 9 ist eine Darstellung des Verfahrens zur Vermeidung von Kollisionen, das auf den Knotenpunktlisten und der Wegeüberwachung basiert.
  • Fig. 10 ist eine Darstellung der Knotenpunktlisten für die zwei in Fig. 9 dargestellten AGVs, die den Knotenpunkt eines möglichen Konflikts (Kollision) zeigt.
  • Fig. 11 ist eine von oben aufgenommene Sicht auf ein AGV auf einem Weg mit erlaubten Bewegungszonen und einem dynamischen Fenster, das im Verhältnis zur Größe und Orientierung des AGVs dargestellt ist.
  • Fig. 12 ist ein Flußdiagramm, das den gesamten Ausführungsablauf des optischen Navigationssystems darstellt.
  • Fig. 13 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um das Wissen über die Betriebsumgebung des AGVs, den "Fabrikplan", anzufordern und zu erhalten.
  • Fig. 14 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um ein AGV zu finden und seine Position festzuhalten.
  • Fig. 15 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um zu entscheiden, ob genügend Navigationsbaken sichtbar sind, um die Position eines AGVs zu bestimmen.
  • Fig. 16 ist ein Flußdiagramm, das darstellt, wie das optische Navigationssystem den Winkel der Bewegung des AGVs aus dessen Lichterkonfiguration bestimmt.
  • Fig. 17 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um eine einzelne Navigationsbake eines AGVs zu erkennen.
  • Fig. 18 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um die Anzahl der sichtbaren Navigationsbaken zu prüfen.
  • Fig. 19 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um Gruppen von Navigationsbaken-Lichtflecken zu bilden, z. B. wenn drei oder mehr Baken sichtbar sind.
  • Fig. 20 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um einen dritten Navigationsbaken-Lichtflecken künstlich zu erzeugen, z. B. wenn lediglich zwei Baken sichtbar sind, da eine oder mehrere Baken blockiert sind.
  • Fig. 21 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um den besten von zwei Kandidaten für einen dritten Lichtflecken einer Navigationsbake eines AGVs auszuwählen, z. B. wenn lediglich zwei Baken sichtbar sind.
  • Fig. 22 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um zu entscheiden, welche Kamera für die Suche nach einem AGV verwendet werden soll.
  • Fig. 23 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um die geeignete Kamera zur Bildverarbeitung auszuwählen.
  • Fig. 24 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um den Ort eines AGVs relativ zu den Zonen erlaubter Bewegung in einem streckenabschnitt zu prüfen.
  • Fig. 25 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um Bewegungsstreckenabschnitte zu definieren.
  • Fig. 26 ist eine Fortsetzung von Fig. 25.
  • Fig. 27 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um eine kritische Suche nach einem AGV durchzuführen, z. B. wenn ein AGV als "verloren" gemeldet wird.
  • Fig. 28 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um die Position eines AGVs zu aktualisieren.
  • Fig. 29 ist ein Flußdiagramm, das das Verfahren darstellt, das das optische Navigationssystem verwendet, um die geeignete Größe und Lage für das Bildverarbeitungsfenster einzustellen.
  • Fig. 30 ist ein Flußdiagramm, das darstellt, wie der AGV-Kontroller auf die Positionsaktualisierung des optischen Navigationssystems reagiert, wenn das optische Navigationssystem anzeigt, daß es sich nicht sicher ist, was die Position des AGVs angeht.
  • Fig. 31 ist eine Darstellung, die zeigt, wie der senkrechte Abstand von einer aktuellen Strecke eines AGVs zu einem Bewegungsbereich gemessen wird.
  • Fig. 32 ist eine Darstellung, die alle möglichen Sehnen zeigt, die durch die Lichter eines AGVs gebildet werden können, und wie diese Sehnen wichtige Maße kennzeichnen, die zu einem einzelnen AGV gehören.
  • Fig. 33 ist eine Darstellung, die die erlaubten Bewegungszonen für ein AGV für einen Streckenabschnitt zeigt, der zwei Endknotenpunkte enthält.
  • Fig. 34 ist eine Darstellung, die ein typisches Lichterdreieck zeigt, wie es durch das optische Navigationssystem betrachtet wird.
  • Fig. 35 ist eine Darstellung, die zeigt, wie ein AGV, bei dem eines oder mehrere Lichter verdeckt sind, betrachtet werden kann, wobei ein bestimmtes Lichterpaar sichtbar ist und ein drittes Licht in zwei möglichen (Kandidaten-)Positionen künstlich hergestellt ist.
  • Fig. 36 ist eine Darstellung, die die geometrischen Beziehungen für ein AGV innerhalb des Bildverarbeitungsfensters des optischen Navigationssystems zeigt, wenn sich das AGV von einem Knotenpunkt zu einem anderen bewegt, ohne sich an einem der beiden Knotenpunkte zu drehen.
  • Fig. 37 ist eine Darstellung, die die geometrischen Beziehungen für ein AGV innerhalb des Bildverarbeitungsfensters des optischen Navigationssystems zeigt, wenn sich das AGV von einem Knotenpunkt zu einem anderen bewegt, wobei sich das AGV an dem ersten Knotenpunkt dreht.
  • Fig. 38 ist eine Darstellung, die die geometrischen Beziehungen für ein AGV innerhalb des Bildverarbeitungsfensters des optischen Navigationssystems zeigt, wenn das AGV sich von einem Knotenpunkt zu einem anderen bewegt, wobei sich das AGV an dem zweiten Knotenpunkt dreht.
  • Beschreibung der bevorzugten Ausführungsformen
  • Die bevorzugte Ausführungsform, die in den Fig. 3, 7 und 9 dargestellt ist, verwendet nach unten gerichtete Fernsehkameras 1, 2, um eine Fabrik von oben zu betrachten. Die Kameras liegen so, daß die Blickfelder 3, 4 alle Strecken enthalten, entlang denen es den AGVs 5, 36, 37 erlaubt ist, sich zu bewegen. Punkte von Interesse (wie Maschinen oder Belade/Entladestationen) entlang diesen Routen sind gekennzeichnete Knotenpunkte und zugeordnete Beschreibungen in der Software des Navigationssystems.
  • Jedes AGV ist mit mehreren Navigationsbaken, wie in Fig. 4 dargestellt, ausgestattet. So wird sichergestellt, daß wenigstens immer zwei Baken sichtbar sind (Fig. 4, Elemente 6, 7, 8, 9).
  • Das optische Navigationssystem ist kalibriert, um die Übereinstimmung zwischen dem physischen Abstand in der Ebene, die durch die Navigationsbaken des AGVs gebildet wird, und den physischen Orten in der Fabrik (Fabrikbodenkoordinaten) zu bestimmen.
  • Wie in Fig. 5 dargestellt, kann das optische Navigationssystem 10 mit dem System-Kontroller in der Basisstation 11 und mehreren AGVs 12, 13, einzeln oder als Gruppe, über einen Kommunikations-Kontroller kommunizieren, der sich ebenfalls in der Basisstation befindet. Das Arbeitsmodell des hierin beschriebenen Systems steuert ein bis sechs AGVs gleichzeitig.
  • Das optische Navigationssystem 10 enthält, wie in Fig. 6 dargestellt, eine Zentraleinheit oder einen Video-Kontroller 14, eine Bildverarbeitungseinheit 15 und ausreichend Speicher 16, um Videobilder richtig aufzunehmen, zu verarbeiten und zu speichern, um die Navigation der AGV 17 zu steuern.
  • Ein Netz von erlaubten Strecken 18, siehe Fig. 7, wird unter Verwendung eines Rechners 285 und eines Programms definiert, das die einzelnen Streckenabschnitte dem Fabrikraum zuordnet. Dieser "Fabrikplan" wird gespeichert und zum System- Kontroller 300, siehe Fig. 6, über den Kommunikations-Kontroller 301 geliefert. Auf Anforderung durch das optische Navigationssystem 10, liefert der System-Kontroller 300 den Fabrikplan. Jeder Maschine 19-23, siehe Fig. 7, wird eine Knotenpunktnummer so zugeordnet, daß ihr Platz auf oder entlang einer Strecke 18 individuell identifiziert werden kann. Jede Kamera, die auf die Fabrik herabblickt, hat ein begrenztes Blickfeld. Manchmal, wie in Fig. 2, überlappt 24 das Blickfeld 3 einer Kamera 1 einen Teil des Blickfeldes 4 einer anderen 2, oder es enthält mehrere ganze Knotenpunkte. Jeder Knotenpunkt ist jedoch einer und nur einer Kamera zugeordnet, um die Wiederholbarkeit bezüglich des Andockens zu verbessern. Der Fabrikplan enthält alle diese Informationen.
  • Das Verfahren zur Vorhersage der nächsten Position basiert auf dem Wissen über die Knotenpunkte und die Kamerazuordnungen. Der System-Kontroller, der in Fig. 6 mit 300 bezeichnet ist, enthält ein Streckenführungsprogramm, das die Knotenpunkte bestimmt, über die ein bestimmtes AGV auf seinem Weg von seinem Ausgangspunkt 28 zu seinem Bestimmungsort 34 laufen muß, wie in Fig. 8 dargestellt. Wenn der System-Kontroller die Route eines AGVs bestimmt, wie in Fig. 9 und 10, werden Knotenpunkte für ein spezielles AGV 36 oder 37 reserviert (in kurzen Listen). Das maximiert den Zugang zu den Wegen, während gleichzeitig die Möglichkeit von Kollisionen minimiert wird. Jede Knotenpunktliste ist einzigartig.
  • Zum Beispiel besteht, wie in den Fig. 9 und 10 dargestellt, die geplante Strecke für ein AGV 36 aus der Knotenpunktfolge 38+39+40+41. Ein anderes AGV 37 kann die Strecke reserviert haben, die durch die Knotenpunktfolge 43+42+40+44 definiert ist. Der System-Kontroller löst jeden möglichen Konflikt am Knotenpunkt 40 dadurch, daß er ihn lediglich einem AGV zu jeder Zeit zuordnet. Wenn daher einem AGV 36 das Wegerecht über den Knotenpunkt 40 zugestanden werden soll, würde die Knotenpunktzuordnungsliste des anderen AGVs 37 lediglich die Knotenpunkte 43+42 enthalten, bis das erste AGV 36 den Knotenpunkt 40 freimacht. In der Praxis wurde die Erfindung mit nur drei Knotenpunkten pro Liste erfolgreich eingesetzt. Die untere Grenze der Knotenpunktlistenlänge wird durch die Länge der AGVs und den Abstand zwischen den Knotenpunkten bestimmt. Wenn ein AGV so groß ist, daß es gleichzeitig zwei beliebige Knotenpunkte besetzen kann, beträgt die kleinste praktikable Listengröße drei Knotenpunkte pro Liste. Drei Knotenpunkte definieren zwei Streckenabschnitte; zwei Streckenabschnitte sind (als Minimum) erforderlich, um eine gesamte Strecke zu definieren, da in vielen Fällen ein AGV groß genug ist, um gleichzeitig zwei Knotenpunkte zu besetzen; daher wäre eine Liste mit zwei Knotenpunkten in einigen Fällen zweideutig.
  • Um dieses oder irgendein anderes solches geschlossenes servomäßiges Regelungsschema zu betreiben, ist es wichtig, den Ort jedes AGVs in Fabrikbodenkoordinaten zu kennen. Bei typischen AGV-Systemen ist diese Kenntnis auf bestimmte kleine und isolierte Bereiche der Fabrik beschränkt (die Drahtkreuzungsorte, die auf den Fußboden gemalten Kontrollmarkierungen oder der Ort der Strichcodemarkierungen etc.). Diese Orte sind physisch festgelegt, d. h. nicht programmierbar. Bei solchen Systemen ist echte Punkt-zu-Punkt-Bewegung nicht möglich, da ein AGV, um sich zwischen zwei weit voneinander entfernten Punkten (willkürlich Punkt A bis Punkt n) zu bewegen, über alle zwischendrin liegenden Punkte in Folge laufen muß. Die hier beschriebene Erfindung löst dieses Problem durch Implementierung von programmierbaren Wegen, so daß sich ein AGV direkt von einem Punkt zu einem anderen Punkt (wie in dem vorhergehenden Beispiel: Punkt A bis Punkt n) über irgendeine mögliche Folge von anderen Punkten, d. h. über eine programmierbare (nicht physisch festgelegte) Strecke bewegen kann.
  • Um diese Fähigkeit zu liefern, implementiert die Erfindung, wie in Fig. 11 dargestellt, ein dynamisches Bildverarbeitungsfenster 48 für jedes AGV und lokalisiert die AGVs innerhalb ihrer Verarbeitungsfenster relativ zu den erlaubten Bewegungszonen entlang den programmierbaren Wegen.
  • Die Orientierung des AGVs auf seinem Weg bestimmt die Orientierung, Form und Größe des Bildverarbeitungsfensters, das das Navigationssystem verwendet, um das AGV zu lokalisieren.
  • Wie in Fig. 11 dargestellt, gibt es für ein bestimmtes AGV 5 drei Bewegungszonen, die auf seiner Bewegungsachse zentriert sind und parallel zu seiner Bewegungsrichtung verlaufen: In Ordnung oder "erlaubt" 45, verdächtig 46 und kritisch 47. Alle Bereiche der Fabrik, die außerhalb dieser Zonen liegen, werden "tote Zonen" genannt. Ein Bildverarbeitungssystem, wie es in der US-Patentanmeldung mit dem Aktenzeichen 771,433 beschrieben ist, verarbeitet die Bilder der Baken 6-9 für ein AGV, so daß das optische Navigationssystem den Mittelpunkt 49 der Diagonalen berechnen kann, die durch Baken in der Ebene 48 der Baken gebildet wird, und vergleicht diesen Ort mit der Beschreibung der Strecke und ihrer Zonen im Fabrikplan. Die Abmessungen der Zonen sind berechnete Prozentanteile der Breite 50 in Bewegungsrichtung des AGVs plus einer geringen Toleranzabmessung. Wenn sich das Zentrum des AGVs zwischen den Grenzen der erlaubten Zone 45 befindet, fährt das Navigationssystem mit routinemäßigen Positionsaktualisierungen fort.
  • Wenn das Zentrum des AGVs innerhalb der verdächtigen Zone 46 entlang einer der beiden Seiten der erlaubten Zone liegt, enthält die Positionsaktualisierung des Navigationssystems Daten, die das AGV veranlassen zu stoppen, wenn das AGV die Aktualisierung empfängt.
  • Wenn das Zentrum des AGVs innerhalb der kritischen Zone 47 entlang einer der beiden Seiten der verdächtigen Zone liegt, enthält die Positionsaktualisierung des optischen Navigationssystems Daten, die den System-Kontroller, in Fig. 6 mit 300 bezeichnet, veranlassen, allen AGVs in dem System mitzuteilen, daß sie anhalten sollen.
  • Da ein Vorteil der Erfindung darin besteht, AGV-Bewegung in allen Richtungen zu erlauben, müssen sowohl die Bildverarbeitungsfenster als auch die Bewegungszonen dynamisch sein. Das ist besonders wichtig, wenn ein AGV wendet oder "krebst" (sich in einem Winkel entweder zu seiner langen oder zu seiner kurzen Achse bewegt).
  • Die Erfindung bezieht diese Schwierigkeiten dadurch mit ein, daß sie die lange Achse des Fensters parallel zur langen Achse des AGVs einrichtet und daß sie die Mittelachse der erlaubten Bewegungszone parallel zum Kopfende des AGVs und durch den Mittelpunkt der Diagonalen einrichtet, die durch die Bilder der Eckbaken gebildet wird, die in Fig. 11 mit 6, 7, 8 und 9 gekennzeichnet sind.
  • Das Fenster muß die Form des AGVs beibehalten, um die Möglichkeit auszuschließen, daß Fremdlicht (Reflexion, Maschinenlicht oder Bake von dem falschen AGV) als Teil des Bildes eines AGVs eingeschlossen wird. Daher sind die Achsen des Fensters parallel zu denen des AGVs, ohne Rücksicht auf die Bewegung des AGVs, außer wenn sich das AGV dreht (in diesem Fall ist das Fenster kreisförmig). Diese sich in alle Richtungen bewegenden AGVs können sich um ihr Zentrum drehen, mit 49 in Fig. 11 gekennzeichnet, um irgendeinen anderen Punkt auf dem AGV oder um irgendeinen Punkt auf dem Fabrikboden. Um der Einfachheit in dieser Erörterung willen wird jedoch angenommen, daß die in den Zeichnungen dargestellte Drehung immer eine Drehung um das Zentrum 49 des AGVs genau an einem Knotenpunkt ist. Z.B. dreht sich im Fall, der in der Fig. 37 dargestellt ist, das AGV zunächst um den Knotenpunkt N1, und es bewegt sich dann seitwärts zum Knotenpunkt N2. Während sich das AGV dreht, muß das Bildverarbeitungsfenster 303 kreisförmig sein, so daß alle Navigationsbaken, ohne Rücksicht auf die Orientierung, eingeschlossen werden. Während sich das AGV seitwärts bewegt, ist das Bildverarbeitungsfenster 302 rechteckig, so daß die Lichter von Maschinen und anderen AGVs ausgeschlossen werden, wie in Fig. 11 mit 48 gekennzeichnet.
  • Die Zonen erlaubter Bewegung müssen sich auf das Kopfende eines AGVs beziehen. Der in Fig. 11 dargestellte Fall ist eine einfache geradlinige Bewegung entlang der Längsachse des AGVs. Der schlimmste Fall tritt auf, wenn ein AGV wendet oder krebst. In solch einem Fall ordnen sich die Bewegungszonen nicht parallel zu den Achsen des AGVs oder Fensters an, sondern sie werden statt dessen als parallel zur Bewegungsrichtung angenommen. Das ist möglich, da das optische Navigationssystem ein AGV lokalisieren und den Bewegungswinkel berechnen kann. Das optische Navigationssystem verwendet diesen Bewegungswinkel für Berechnungen, die die erlaubten Bewegungszonen erzeugen. Wenn sich ein AGV auf der Stelle dreht oder um einen Knotenpunkt wendet, nimmt das Verarbeitungsfenster die kreisförmige Form an, die in Fig.
  • 37 und 38 mit 303 bezeichnet ist, wobei sie zentriert auf dem Bakendiagonalen-Zentrum des AGVs liegt, um die Möglichkeit auszuschließen, daß ein wesentliches Licht (Bake) nicht miteingeschlossen wird.
  • Zu Zwecken der Klarheit beim Lesen der Zeichnungen sind die Bildverarbeitungsfenster 302 und 303 in Fig. 36, 37 und 38 in der Größe übertrieben. In der Praxis sind sie lediglich etwas größer als die AGVs selber, wie durch die Geometrie in den Zeichnungen angezeigt. Das Entwicklungsziel ist es, sie so klein wie möglich zu halten, um längere Berechnungszeiten für die Bildverarbeitungsalgorithmen zu vermeiden und sie dennoch groß genug zu machen, um Unregelmäßigkeiten in der AGV-Bewegung zu erlauben, wobei sie so groß sind, daß sie Fremdlichtquellen einschließen.
  • Was passiert, nachdem ein AGV stoppt, wie in Fig. 27 dargestellt, hängt davon ab, ob das AGV stoppt, weil seine neueste Positionsaktualisierung ein Kursabweichungs-Zeichen enthält (dargestellt als das "Verdächtig-Zeichen" 206 in Fig. 24) oder weil das AGV eine "Alle stoppen"-Nachricht 236 vom System-Kontroller 300 empfangen hat. Im ersten Fall weicht das AGV vom Kurs ab, während das im zweiten Fall nicht sein muß. Wenn es sich auf Kurs befindet, empfängt ein gestopptes AGV eine "Fortsetzen"-Nachricht vom System-Kontroller, und es fährt auf seinem Weg fort, sobald das Problem gelöst wurde, das die Nachricht zum Stoppen verursachte. Wenn es vom Kurs abgewichen ist, bleibt ein AGV, das gestoppt wurde, da das optische Navigationssystem anzeigte, daß sich das AGV in der "verdächtigen" Zone befand, im gestoppten Zustand, bis es eine Positionsaktualisierung ohne das "Verdächtig"-Bitmuster empfängt. Dann startet das AGV, um sich mit geringerer als der normalen Geschwindigkeit zu bewegen, bis es vier zusätzliche Positionsaktualisierungen empfängt (bevor es die normale Geschwindigkeit wiederaufnimmt). Dieses Verfahren läßt für das AGV eine Chance zu, sich zu erholen und auf den Weg zurückzukehren, ohne das systemverhalten negativ zu beeinträchtigen. Die Wahl von vier Aktualisierungen ist ein wenig zufällig. Bei der hier beschriebenen Ausführungsform liefert dieses Intervall einen guten Kompromiß zwischen effizientem Betrieb (kurzes Erholungszeitintervall) und Sicherheit (kurze Distanz).
  • Wenn sich ein AGV so weit vom Kurs entfernt, daß das Navigationssystem es nicht finden kann, verwendet das Navigationssystem das Wissen über die zugeordneten Knotenpunkte des betroffenen AGVs, um zu entscheiden, welche Kameras für eine direkte Suche verwendet werden sollen. Das ergibt eine Suche, deren Dauer ein Drittel bis ein Viertel so lang ist, wie die, die durch frühere Verfahren geliefert wurde, z. B. die in der US-Patentanmeldung mit dem Aktenzeichen 771,459 beschriebenen. Auch wird das dynamische Bildverarbeitungsfenster während "kritischer" Suchprozesse leicht erweitert, um die Fähigkeit des Systems zu verbessern, AGVs ohne Bedienereingriff zurückzugewinnen.
  • Die Identifikation eines einzelnen AGVs ist auf vier Faktoren zurückzuführen: (a) Das Navigationssystem hat Zugang auf die vermutete Position jedes AGVs in dem Fabrikplan; (b) die eindeutige Bakenkonfiguration jedes AGVs ist dem Navigationssystem beschrieben worden; (c) das Navigationssystem kann alle AGVs außer dem interessierenden dazu auffordern, ihre Navigationsbaken auszuschalten; (d) das Navigationssystem kann das interessierende AGV dazu auffordern, seine Baken einzeln oder in irgendeiner Kombination ein- oder auszuschalten.
  • Für die oben beschriebenen Identifikationsfaktoren gilt: (a) steuert die routinemäßige Navigation und Verfolgung; (b) liefert dazu Information, die notwendig ist, um die Orientierung eines AGVs zu bestimmen; (c) hilft dem Navigationssystem darüber hinaus bei der Lokalisierung "nicht identifizierter" AGVs (alle AGVs beim Systemstart, oder diejenigen, die später weit vom Kurs abkommen); und (d) gibt dem Navigationssystem die Fähigkeit, ein einzelnes AGV zu identifizieren und zu verfolgen, selbst wenn eine oder zwei seiner Baken nicht erkannt werden können.
  • Ausführung des Steuerungsprogramms
  • Das optische Navigationssystem 10 schließt den Regelkreis zwischen dem Steuerungsrechner des Systems 300 und den AGVs 12 und 13, indem es regelmäßige Positionsaktualisierungen zu den AGVs liefert und indem es den System-Kontroller informiert, wenn ein AGV von seinem Weg abweicht.
  • Bevor das optische Navigationssystem 10 diese Aufgaben ausführen kann, benötigt es Wissen über die Umgebung der AGVs und einen Satz von Regeln, um zu entscheiden, was zu tun ist (wo zu suchen und wann). Die Wissensbasis wird, wie vorher beschrieben, als "Fabrikplan" bezeichnet. Die Regeln für die Suche sind in einem in Fig. 27 dargestellten Steuerungsprogramm enthalten und in der Fähigkeit des optischen Navigationssystems, die geplante Strecke eines AGVs zu bestimmen.
  • Die Flußdiagramme, Fig. 12-30, zeigen, wie das optische Navigationssystem die Position eines AGVs bestimmt und meldet, wie es die Beziehung eines AGVs zu seiner geplanten Strecke bestimmt und wie es die Bewegungszonen und die Bildverarbeitungsfenster eines AGVs erzeugt und überwacht.
  • Programmüberblick
  • Das Überblicksflußdiagramm in Fig. 12 zeigt die gesamte Abfolge des normalen Betriebs. Wenn das optische Leitsystem (10 in Fig. 6) gestartet wird 51, nimmt das optische Leitsystem einen bekannten Anfangszustand an und fordert dann 52 von der Basisstation den Fabrikplan an. Der Fabrikplan enthält die bekannten Betriebsparameter der Arbeitsumgebung des AGVs. Hierin sind solche Punkte wie die Positionen der obenliegenden Kameras, die Orte der zu bedienenden Maschinen auf dem Fabrikboden und die gesamte Beschreibung des Knotenpunktnetzwerkes enthalten. Ist diese Information empfangen worden und das optische Navigationssystem 10 betriebsbereit 53, so benachrichtigt es die Basisstation 11, daß es auf Befehle wartet 54.
  • Befehle von der Basisstation erreichen die Schleife des optischen Navigationssystems am Punkt L (Block 54). Verfolgungsbefehle lassen das optische Navigationssystem versuchen, ein AGV zu lokalisieren 55. Falls gefunden wurde, daß sich das AGV auf Kurs befindet, meldet das optische Navigationssystem die Position des AGVs wie beim Punkt E (Block 57) und springt zurück zum Punkt L, um auf weitere Befehle zu warten. Wenn, wie am Punkt G (Block 56) das AGV entweder nicht lokalisiert werden kann oder seine Position verdächtig ist, prüft das optische Navigationssystem, ob es den Ort des Zentrums des AGVs relativ zu den erlaubten Bewegungszonen bestimmen soll 56. Falls sich das AGV "zurückgewinnen" läßt, wie das durch die Zonenprüfung 56 festgestellt wird, meldet das optische Navigationssystem die Position des AGVs und kehrt zur Überwachung der Fabrik zurück. Der bordeigene Kontroller des AGVs wird auf die Positionsmeldung 57 hin wirksam, um es auf seinen richtigen Weg zurückzubewegen. Wenn sich das AGV wirklich weitab von seinem Kurs befindet, wie beim Punkt F, leitet das optische Navigationssystem eine kritische Suche 58 ein, die letztendlich dazu führt, daß entweder das AGV lokalisiert ist oder daß die gesamte AGV- Bewegung gestoppt wird, um den Bedienern ein sicheres Mittel zu bieten, das Problem zu bestimmen und zu beheben.
  • Im normalen Betrieb liefert das optische Navigationssystem daher einen einem geschlossenen Regelkreis entsprechenden, servomäßigen Betrieb für mehrere sich frei bewegende AGVs.
  • Der Fabrikplan
  • Ein kritischer Faktor beim Betrieb des optischen Navigationssystems ist das Wissen über die Umgebung, in der sich die sich frei bewegenden AGVs bewegen. Wie in Fig. 13 dargestellt, fordert das optische Navigationssystem dieses Wissen vom System-Kontroller 300 am Block 59 über die Basisstation 11 beim Systemstart an. Es empfängt die Information als eine Sammlung von Datenbank-Datensätzen, jeweils einen zu jeder Zeit, 60. Wenn die Information erhalten wurde, wird sie analysiert und auf ihren Datensatztyp hin geprüft 61. Wenn ein Datensatz eine Maschine 62 anzeigt, ordnet das optische Navigationssystem deren Beschreibung einem passenden Knotenpunkt zu. Dieses erlaubt es dem optischen Navigationssystem, einen bestimmten Ort in Fabrikbodenkoordinaten als eine bestimmte Maschine wiederzuerkennen, angezeigt beim Block 65. Wenn ein Datensatz einen freien Knotenpunkt anzeigt (d. h. einen, der nicht einer Maschine zugeordnet ist) 63, ordnet das optische Navigationssystem ihn der Kamera zu, die mit seiner Beschreibung verbunden ist. Ein Knotenpunkt hat eine bekannte Nummer, einen Winkel und eine zugeordnete Kamera 66. Eine Knotenpunktnummer ist einfach ein Kennzeichen, das verwendet wird, um die Beschreibung des Knotenpunktes im Speicher zu lokalisieren. Ein Knotenpunktwinkel ist der Winkel (in Fabrikkoordinaten), an dem das AGV parken wird, wenn es den Knotenpunkt besucht. Das ist wichtig, da ein Knotenpunkt ein Platz sein kann, wo ein AGV parkt, um eine Maschine in der Fabrik zu bedienen. Da das AGV eine Art von Vorrichtung zur Materialhandhabung beinhaltet, muß die Parkposition und -orientierung irgendwie beschrieben werden. Das ist die Funktion des Knotenpunktwinkels. Eine Kamerazuordnung eines Knotenpunktes definiert, welche (und lediglich welche einzige) der obenliegenden Fernsehkameras des optischen Leitungssystems zu verwenden ist, um AGVs an diesem Knotenpunkt zu betrachten. Das ist wichtig, da das Blickfeld einer einzelnen Kamera oft größer als ein einziger Knotenpunkt ist, und in vielen Teilen der Fabrik ist es wünschenswert, Blickfelder überlappen zu lassen. Jedoch ist es für zuverlässigen und effizienten Betrieb besser, einen Knotenpunkt lediglich einer und nur einer Kamera zuzuordnen.
  • So überprüft das optische Navigationssystem die Beschreibung des ankommenden Knotenpunktes auf gültige Werte für Knotenpunkt, Winkel und Kamera. Wenn die Werte gültig sind 69, meldet das Programm 68 den Datensatz als erhalten, und kehrt zurück, um den nächsten Datensatz aufzunehmen. Wenn die Werte nicht gültig sind, ist der zugeordnete Fehlerwert nicht Null, wie bei 71, was es den Systembetreibern erlaubt, das Problem zu bestimmen und den Knotenpunkt wiederzuprogrammieren. Der letzte Datensatz in einem Fabrikplanstrom ist ein Ende-des-Plans-Datensatz 64. Wenn das optische Navigationssystem diesen Datensatz erhält, führt es eine Überprüfung durch, um sicher zu sein, daß allen verfügbaren Kameras wenigstens ein Knotenpunkt zugeordnet ist 67. Wenn ein ankommender Datensatz einen ungültigen Wert enthält oder wenn es wenigstens eine freigegebene Kamera gibt, der kein Knotenpunkt zugeordnet ist, weist das optische Leitsystem dem Datensatz einen Fehlerwert zu 71. Dieser Fehlerwert wird verwendet, um mögliche Probleme anzuzeigen, nachdem der gesamte Fabrikplan geladen wurde.
  • Auffinden von Baken
  • Das Verfahren zum Auffinden von Navigationsbaken und zum Umwandeln der Bildebenenorte der Bakenbilder in Fabrikbodenkoordinaten ist detailliert in der bewilligten US-Patentanmeldung mit dem Aktenzeichen 771,433 erläutert. Im wesentlichen lokalisiert ein Rechner-Videosystem die wichtigsten Punkte in einer Bildebene, wobei ein Verfahren verwendet wird, das unterschiedlich als Flächenschwerpunktsbildung, Flecken-Findung oder Konnektivitätsanalyse bezeichnet wird. Das durch Rasterabtastung erzeugte Bild enthält helle Flecken (Bakenbilder), deren Zentren in der Bildebene lokalisiert werden können. Die Bildebenenkoordinaten werden dann in Fabrikbodenkoordinaten umgewandelt, wodurch eine Beziehung zwischen den beobachteten Baken und den realen physischen Orten geliefert wird. Die Erfindung verwendet diesen Prozeß, um Baken und den Mittelpunkt der Diagonale, die durch die Eckbaken gebildet wird (die Hypotenuse des rechtwinkligen Dreiecks, das durch die Bilder von drei Baken, oder durch zwei Baken und ein künstlich erzeugtes Bakenbild gebildet wird), zu lokalisieren. Der Mittelpunkt der Diagonale wird als der Ort des AGVs angenommen. Die Baken, die die Diagonale bilden, und die anderen Sehnen zeigen den Kopf des AGVs an. Die Bezugnahmen auf Lichtflecken, Bakenbilder, AGV-Flächenschwerpunkte, Lichtdreiecke und Bildverarbeitung, sind hierin gemacht, um die Verfahren einzuschließen, die in der US-Patentanmeldung mit dem Aktenzeichen 771,433 gemacht werden, einzuschließen, wenn nicht das Gegenteil angegeben ist.
  • Auffinden der Position eines AGVs
  • Wenn das optische Navigationssystem ein AGV "verfolgt", wie in Fig. 14 bei 72 dargestellt, weiß es, daß das AGV Teil des Systems ist, und es kennt die Lichtkennzeichnung des AGVs. Das bedeutet, daß es trainiert wurde, das AGV anhand der Größe und Form seines Navigationsbakenmusters zu erkennen. Das optische Navigationssystem führt zuerst eine Überprüfung durch, um den Zustand des AGVs zu bestimmen 73. Es gibt eine begrenzte Anzahl von möglichen Zuständen; das optische Leitungssystem 10 muß lediglich wissen, daß das AGV gekennzeichnet ist, sich in einem dieser Zustände zu befinden. Wenn sich das AGV nicht in einem bekannten Zustand befindet, z. B., wenn es zum ersten Mal in das System eingeführt wird oder hinter einem Hindernis verlorengegangen ist, sendet das optische Leitsystem 10 eine "Lichter aus"-Nachricht 74 zu allen AGVs in dem System. Es teilt dann dem Ziel-AGV mit, seine Lichter einzuschalten 78. Das setzt sich fort 79, bis das AGV das optische Navigationssystem davon benachrichtigt, daß seine Lichter eingeschaltet sind. Wenn sich das AGV bei 73 in einem bekannten Zustand befindet, wird das System zunächst die aktuelle Laufstrecke des AGVs definieren 77 und dann dem AGV mitteilen, seine Lichter einzuschalten (wenn sie nicht schon eingeschaltet sind) 79, 78. Das System wählt dann die geeignete Kamera aus, um das AGV zu betrachten 81 (dieses Verfahren ist in Fig. 23, die später beschrieben wird, detailliert dargestellt). Wenn das dazu führt, daß die Lichter des AGVs lokalisiert werden, beginnt das optische Navigationssystem damit, die Lichtfleckenorte in Fabrikbodenkoordinaten umzuwandeln 88. Andernfalls stellt das optische Navigationssystem ein neues Bildverarbeitungsfenster 83 ein, wie in Fig. 29 (später diskutiert) beschrieben, nimmt ein weiteres Bild 84 und überprüft, ob Lichtflecken vorhanden sind. Das System benötigt wenigstens zwei Lichtflecken, um ein AGV zu identifizieren 85. Einige AGVs haben drei Baken, während andere vier haben 86. Nutzlasten, Mechanismen zur Materialhandhabung oder Fabrikhindernisse können einige der Sichtlinienstrecken zwischen den ausgewählten obenliegenden Kameras und den Baken eines AGVs blockieren. Daher muß das optische Navigationssystem in der Lage sein, die Anzahl der Bakenlichtflecken festzustellen und selbst dann damit fortzufahren, genaue Positionsaktualisierungen zu liefern, wenn einige der Lichter eines AGVs blockiert sind, wie in Fig. 18 dargestellt.
  • Wenn das optische Navigationssystem genügend Lichtflecken gewonnen hat, wandelt es die Bildebenenkoordinaten in Fabrikbodenkoordinaten um 88. Da ein bedeutender vertikaler Abstand zwischen den obenliegenden Kameras und den AGV-Baken bestehen kann, führen die Weitwinkellinsen, die in dem obenliegenden Kamerasystem verwendet werden, optische Verzerrungen ein, die Verschiebungen zwischen Fabrikboden- und Bildebenenkoordinaten erforderlich machen. Ein Satz von Gleichungen liefert die erforderlichen Koordinatentransformationen. Die US-Anmeldung mit dem Aktenzeichen 771,433 enthält das Verfahren zur Durchführung der Transformationen.
  • Wenn keine Strecke für das AGV definiert wurde 89-90, überprüft das optische Navigationssystem die Anzahl der sichtbaren Lichter 108, um sicherzustellen, daß wenigstens drei sichtbar sind, wie in Fig. 15 bei 111 und in Fig. 19 bei 158. Wenn weniger als drei sichtbar sind, erzeugt es künstlich ein drittes Licht, wie in Fig. 15 bei 111 und Fig. 20, beginnend bei 170. Drei Lichter werden benötigt, um eine Gruppe von Lichtflecken zuverlässig als ein bestimmtes AGV (wie oben beschrieben) zu identifizieren. Da es möglich ist, daß die drei Lichter nicht zu einem einzigen AGV gehören können (z. B. wenn ein AGV an einer beleuchteten Maschine oder einem anderen AGV vorbeifährt), wird das aus drei Lichtern bestehende Muster überprüft (Fig. 15 bei 113), um zu entscheiden, ob das Dreieck, das durch die Lichter gebildet wird, einen Umfang besitzt, der zu einem bekannten AGV (P- Satz) paßt und ob es einen rechten Winkel (V-Satz) enthält 116. Wenn ein Lichtersatz diese beiden Bedingungen erfüllt, berechnet das optische Navigationssystem 117 den Ort und den Winkel der Lichter. Fig. 35 stellt die geometrische Beziehung zwischen den drei Baken und dem AGV-Winkel dar. Obwohl das Dreieck durch Baken an drei beliebigen der vier Ecken des AGVs gebildet werden kann, wird die Grundlinie (Fahrzeugwinkel) immer in Bezug auf den Schlüssel des AGVs wie dargestellt genommen. Fig. 36 zeigt, wie sich der Fahrzeugwinkel zur Bewegungsrichtung verhält (der in Fig. 36 dargestellte Streckenabschnittswinkel). Wenn sich das AGV bewegt, dient der Steuerung-Regelkreis dazu, den Fahrzeugwinkel und die Streckenabschnittswinkel parallel zu halten. Nun zu Fig. 16: wenn der Bewegungswinkel des AGVs definiert ist, dann wird der berechnete AGV-Winkel gegenüber dem definierten AGV-Winkel überprüft 119 und als ein guter V-Satz angesehen (wenn er die Überprüfung 120 besteht). Falls erforderlich, wird eine weitere Strecke oder Kamera geprüft (127 und Fig. 22, beginnend beim Schritt 133), um an einen guten Lichtersatz heranzukommen. Da es auch die Möglichkeit gibt, daß zwei AGVs gleichzeitig identifiziert werden können, führt das optische Navigationssystem eine Überprüfung durch 128, um sicher zu sein, daß ein Lichtersatz, der einen rechten Winkel enthält, zu einem AGV gehört. Wenn zwei Sätze mit drei Lichtern abgebildet werden, gibt es drei Möglichkeiten: 1.) beide Sätze gehören zu demselben AGV; 2.) ein Satz gehört zu einem zweiten AGV; 3.) die "zusätzlichen" Lichter sind Fremdlichter (Reflexionen, Maschinenlichter, etc.). Um zu erkennen, ob der zusätzliche Lichtersatz zu dem Ziel-AGV gehört, bestimmt das Programm den Mittelpunkt der Hypotenuse jedes Dreiecks und vergleicht dann die Orte dieser zwei Mittelpunkte, um die Verschiebung zwischen ihnen zu bestimmen.
  • Die Baken auf einem AGV sind so angeordnet, daß die Mittelpunkte der Hypotenusen aller möglicher rechtwinkliger Dreiecke, die durch AGV-Lichter gebildet werden, in einen sehr kleinen Toleranzkreis fallen. Das bedeutet, daß unabhängig davon, welcher Satz mit drei Lichtern das Dreieck bildet, der so bestimmte Mittelpunkt der Hypotenuse für alle möglichen Dreiecke für dieses AGV gleich ist. Wenn daher das Programm beim Schritt 128 erkennt, daß es eine merkliche Verschiebung zwischen den berechneten Mittelpunkten gibt, setzt das Programm ein Zeichen, das anzeigt, daß mehr als ein AGV lokalisiert wurde 129. Im anderen Fall wählt es den Lichtersatz mit dem besseren Winkel 131. Der gewünschte Winkel ist aus der "Positions-Geschichte" des AGVs während der Verfolgung bekannt.
  • Definieren einer Strecke für ein AGV
  • Wenn die Basisstation dem optischen Navigationssystem mitteilt hat, daß es ein einzelnes AGV lokalisieren soll, bestimmt das System den Zustand des AGVs, setzt einen Streckenabschnittszähler zurück und wählt eine Kamera aus, um das AGV zu finden. Es sucht jedoch solange nicht wirklich nach dem AGV, bis es zunächst einen Streckenabschnitt und Bewegungszonen definiert. Diese Streckenplanung macht es möglich, den AGVs zu erlauben, autonome Läufer zu sein, während durch das optische Navigationssystem eine Form von regelkreismäßiger Regelung beibehalten wird.
  • Das optische Navigationssystem plant Strecken, die aus zwei zusammenhängenden Streckenabschnitten und drei Knotenpunkten bestehen, wobei die Abschnitte den mittleren Knotenpunkt teilen. Wie in Fig. 25, beginnend bei 207, muß das System zunächst wissen, welchen Abschnitt es herstellen soll. Es überprüft, ob ein Knotenpunkt schon für die Strecke definiert ist, indem es (wie bei 208 und 211) das Zuweisungsbit des Knotenpunktes überprüft (wenn es gleich 0 ist, ist der Knotenpunkt undefiniert, und das Programm stellt die Parameter ein; wenn es ungleich 0 ist, ist der Knotenpunkt schon definiert und die Parameter sind im Fabrikplan). Wenn das Programm die Position definieren muß, stellt es die Parameter basierend auf der letzten bekannten guten Position des AGVs ein 209.
  • Diese Parameter sind:
  • x1 = letztes gutes x
  • y1 = letztes gutes y
  • A1 = letztes gutes A
  • T1 = R-M
  • c1 = letzte gute Kameranummer,
  • wobei R-M bedeutet, sich zuerst drehen, und dann fortbewegen.
  • A ist der Fahrzeugwinkel
  • y ist die y-Koordinate des Ortes in der Fabrik
  • x ist die x-Koordinate des Ortes in der Fabrik
  • c1 ist die Kameranummer für diesen Abschnitt
  • Wenn der aktuelle Knotenpunkt nicht der erste ist 208 (d. h. er ist schon definiert), prüft 210 das System den Fabrikplan auf die Positionsparameter dieses Knotenpunktes. Diese Parameter aus dem Fabrikplan sind (wie oben definiert):
  • Position = x1, y1
  • Winkel = A1
  • Trajektorie vom System-Kontroller = T1
  • Kamera = c1
  • Entsprechend bestimmt bei 211 das optische Navigationssystem die Parameter für den zweiten Knotenpunkt (die Parameter entsprechen denjenigen, die oben bei 209 und 210 angegeben sind, wenn der Index 1 durch den Index 2 ersetzt wird). Nachdem die Orte der zwei Streckenknotenpunkte 208, 211 bestimmt sind, vergleicht 214 das System die Fahrzeugwinkel für diese zwei Knotenpunkte. Wenn die Winkel um weniger als 5 Grad (ein willkürlicher einfacher Toleranzwert) voneinander abweichen, akzeptiert das System die Winkel 215. Wenn der Winkel um 5 Grad oder mehr abweicht 214, nimmt das optische Navigationssystem an, daß die Abschnitte einen Wendepunkt eines AGVs (d. h. einen Drehknotenpunkt wie in Fig. 37 und 38) 216 enthalten, wobei in diesem Fall abhängig davon, was an dem Wendepunkt passiert, verschiedene Bewegungswinkel eingestellt werden müssen. Die Wahl von 5 Grad ist etwas willkürlich: ein zu großer Toleranzwinkel würde die Genauigkeit des Systems vermindern, während ein zu kleiner Toleranzwinkel das Leistungsvermögen des Systems vermindern würde (es verlangsamen würde). Die bevorzugte Ausführungsform liefert bei Verwendung des Wertes von 5 Grad ein gutes Leistungsvermögen.
  • Es gib zwei mögliche Trajektorien an einem Knotenpunkt: entweder dreht sich das AGV und bewegt sich dann fort 218 (definiert als R-M), oder es bewegt sich und dreht sich dann 217 (definiert als M-R). In dem zweiten Fall ist es für ein AGV auch möglich, sich fortzubewegen, ohne sich später zu drehen (z. B. wenn es an einem zweiten Knotenpunkt ankommt, für den die Trajektorie gleichermaßen M-R ist, d. h. eine Folge von Knotenpunkten, für die "bewege dich jetzt fort, drehe dich später" definiert ist, so daß das "später" aufgeschoben bleibt, bis das AGV einen Knotenpunkt mit "drehe dich jetzt, bewege dich später fort" erreicht. Die "Trajektorie" ist daher lediglich ein Parameter, der eingestellt oder geprüft werden kann, um die Art der AGV-Bewegung (Drehung oder Fortbewegung) an einem Knotenpunkt zu bestimmen. Wiederum ist dieses wichtig, da die Form des Bildverarbeitungsfensters davon abhängt, welche Art von AGV-Bewegung an einem Knotenpunkt vermutet wird.
  • In jedem Fall wird der relevante Bewegungswinkel dazu verwendet, um die Breite des Bildverarbeitungsfensters in Bewegungsrichtung einzustellen. In Fig. 11 ist zu erkennen, daß das Bildverarbeitungsfenster groß genug sein muß, um die gesamte Breite 50 des AGVs entlang seiner Bewegungsrichtung unterzubringen. Da ein AGV je nach seiner Bewegungsrichtung verschiedene Breiten haben kann, ist die Unterscheidung wichtig, und das optische Navigationssystem muß in der Lage sein, sie zu machen.
  • Sind die Streckenabschnittsorte und Bewegungswinkel eingestellt 219 und Fig. 26, beginnend bei 220, stellt das optische Navigationssystem die Toleranzen für die erlaubten Bewegungszonen ein 221. Diese Zonen dienen als "Polster", um den AGVs genügend Spielraum entlang der Strecke zu lassen, um sich leicht abseits des Kurses zu bewegen, um leichte Korrekturen oder Nachkorrekturen durchzuführen, und schließlich zum richtigen Kurs zurückzukommen - alles ohne mit anderen AGVs oder stationären Objekten zu kollidieren oder den Systembetrieb für kritisches Suchen zu unterbrechen. Die optimalen Toleranzen sind diejenigen, die klein genug sind, daß die AGVs richtig auf die Strecken ausgerichtet bleiben und groß genug, um AGV-Autonomie zuzulassen. Je autonomer die AGVs sind, umso effizienter ist der Betrieb des Systems.
  • Die Lichtertoleranzabstände (d. h. die Größe des rechteckigen Lichterfensters) hängen von dem Streckenabschnittswinkel 224 und der Größe des AGVs ab (Verschiebung seiner Lichter entlang und auf beiden Seiten der Streckenachse). Das optische Navigationssystem berechnet diese Toleranzen 225-227 gemäß den in Fig. 36-38 definierten Geometrien. Das Verfahren, das zur Berechnung dieser Abstände verwendet wird, hängt von den Arten der betroffenen Knotenpunkte ab. Wie in Fig. 36-38 dargestellt, hängt die Geometrie der Position eines AGVs relativ zu einem Streckenabschnitt davon ab, was das AGV an jedem der zwei Knotenpunkte des Abschnitts tun soll. In dem Fall, der in Fig. 36 dargestellt ist, soll das AGV an jedem Knotenpunkt eine geradlinige Bewegung zeigen. Das bedeutet, daß der Bewegungswinkel des AGVs sich an einem Knotenpunkt nicht ändern wird. Die Berechnungen sind jedoch unterschiedlich, wie in Fig. 37 und 38 dargestellt, wenn das AGV an einem Knotenpunkt drehen muß.
  • Der Unterschied ist wichtig. Wenn sich ein AGV geradlinig (d. h. sich nicht um sein Zentrum drehend) bewegt, ist seine einzige mögliche "Form" rechteckig. Das heißt, daß ein rechteckiges Bildverarbeitungsfenster so eingestellt werden kann, daß es leicht größer als die Länge und Breite des AGVs ist und dennoch eine hohe Wahrscheinlichkeit aufweist, alle Baken des AGVs zu enthalten. Wenn sich jedoch das AGV an einem Knotenpunkt dreht, muß das Bildverarbeitungsfenster an diesem Knotenpunkt kreisförmig sein, um eine angemessene Chance zu haben, die Baken einzuschließen.
  • Die Mathematik, die mit der Berechnung der Abmessungen des Bildverarbeitungsfensters verbunden ist, ist unkompliziert. Die betreffende Geometrie ist in den Fig. 31-38 dargestellt. In Fig. 36 zeigt die gestrichelte Linie, die das große Rechteck beschreibt, die definierten Grenzen eines "Fensters" an, das im Speicher des Rechners des optischen Navigationssystems existiert. Das Fenster stellt den Teil des Rechnerspeichers dar, der nach Bildern von AGV-Baken durchsucht werden wird (für ein AGV an einem oder zwischen den zwei Knotenpunkten). Das Programm verwendet die unten definierten mathematischen Beziehungen, um die Abmessungen dieses Verarbeitungsbereiches so einzustellen, daß alle möglichen Positionen der Baken plus ein geringer Toleranzwert (EPSLON) eingeschlossen sind, ohne irgendwelche anderen Fremdlichter zu umfassen. In den Fig. 36-38 wird ein AGV durch das kleine gestrichelte Rechteck mit abgerundeten Ecken repräsentiert. Es wird angenommen, daß sich das AGV vom Knotenpunkt N1 zum Knotenpunkt N2 bewegt. In Fig. 36 wird angenommen, daß die Bewegung zwischen den Knotenpunkten geradlinig ist, jedoch nicht hundertprozentig (das heißt, daß sich das Zentrum des AGVs nicht exakt entlang dem Linienabschnitt N1N2 bewegt). Das kommt der typischen tatsächlichen Bewegung eines AGVs sehr nahe. Vorausgesetzt, daß das Bildverarbeitungssystem die Orte der Baken identifizieren und berechnen kann (die kleinen Kreise an den Ecken des AGVs), sind die anderen in Fig. 36-38 dargestellten Beziehungen durch einfache Trigonometrie definiert. Es ist wichtig, in der Lage zu sein, die Abstände D1 und D2 (von den rechtwinkligen Dreiecken, definiert durch eine Bake, das AGV-Zentrum und die Strecke N1N2) zu definieren.
  • Nun zu Fig. 36, in der die Verarbeitung der Orte der Baken B1 und B2 mehrere wichtige Beziehungen definiert. D1 ist der senkrechte Abstand von der Bake B1 zum streckenabschnitt N1N2. D2 ist der senkrechte Abstand von der Bake B2 zum Streckenabschnitt N1N2. P1 ist der parallele Abstand von B1 zum AGV-Zentrum (der berechnete Mittelpunkt der Hypotenuse des Dreiecks, das durch die Baken gebildet wird). P2 ist der parallele Abstand von B2 zum AGV-Zentrum.
  • Unter der Annahme, daß das berechnete AGV-Zentrum genau an einem Knotenpunkt liegt, muß das Programm, um sicher zu sein, daß alle AGV-Baken in dem Verarbeitungsfenster eingeschlossen sind, den abschließenden Rand des Fensters dann so einstellen, daß
  • P = max(P1, P2),
  • und den senkrechten Abstand von dem Knotenpunkt zum Fensterrand so einstellen, daß
  • D = max(D1, D2).
  • Um eine kleine Toleranz zu lassen, wird EPSLON (ungefähr 6 Inch für die hier beschriebene Ausführungsform) zu jeder dieser Abmessungen hinzuaddiert.
  • Entsprechende Berechnungen werden an jedem Knotenpunkt vorgenommen. Grundsätzlich bestimmt dann dieser Teil des Programms, welche Bake am weitesten von dem streckenabschnitt entfernt ist, berechnet den senkrechten Abstand P und den parallelen Abstand D und fügt den Toleranzabstand EPSLON hinzu, um die Grenzen des Softwarefensters im Speicher für einen bestimmten Streckenabschnitt mit zwei Knotenpunkten zu beschreiben.
  • Das Bildverarbeitungssystem liefert eine Beziehung zwischen den Orten im Speicher und der physischen Welt, indem es Transformationstabellen enthält, die eine Eins-zu-Eins- Zuordnung zwischen Punkten (Lichtflecken wie Baken) in der Bildebene und zweidimensionalen Orten in der Ebene des Fabrikbodens liefern (wie in der bewilligten US-Anmeldung mit dem Aktenzeichen 771,433 beschrieben).
  • Nun zu den Fign. 37 und 38, in denen die Abbildungen sowohl das rechteckige als auch das kreisförmige Bildverarbeitungsfenster zeigen, das notwendig ist, um die Fälle abzudecken, in denen sich das AGV an einem Knotenpunkt (N1 in Fig. 37, N2 in Fig. 38) dreht. Das kreisförmige Fenster besitzt einen Radius R, der der Hälfte der Hypotenuse zwischen zwei diagonalen Baken plus der Quadratwurzel aus 2 mal EPSLON entspricht. Das ist das radiale Äquivalent des Toleranzabstandes, der oben für das rechteckige Fenster beschrieben wurde. Es wird angelegt, um es dem kreisförmigen Fenster zu erlauben, immer ein bißchen größer als das Minimum zu sein, das erforderlich ist, um alle Baken eines AGVs ohne Rücksicht auf dessen Rotation einzuschließen. Z.B., wie in Fig. 37 dargestellt, soll sich ein AGV an N1 drehen. Um sicherzustellen, daß alle AGV-Baken eingeschlossen werden, muß das Fenster im Speicher einen Kreis um den Knotenpunkt einschließen, dessen Radius wenigstens der Hälfte der Länge der Hypotenuse des Bakendreiecks entspricht. Der "Puffer" EPSLON des Bildverarbeitungsfensters läßt den AGVs genügend Spielraum an Drehknotenpunkten. Das rechteckige Fenster ist das gleiche, wie es in Fig. 36 für geradlinige Bewegung beschrieben wurde. Das gleiche gilt für den in Fig. 38 dargestellten Fall, die Drehung an dem anderen Knotenpunkt N2. Wenn sich daher ein AGV an einem Knotenpunkt dreht, sucht das Bildverarbeitungssystem einen kreisförmigen Bereich seiner Bildebene, der groß genug ist, um alle Baken des AGVs bei allen Drehwinkeln einzufangen.
  • Das optische Navigationssystem muß in der Lage sein, unzweideutige Positionsaktualisierungen an einem Knotenpunkt beliebiger Art und an allen Positionen der Bewegung zwischen Knotenpunkten zu geben. Die hier beschriebene Ausführungsform liefert die Mittel, um die erforderlichen Strecken zu berechnen und die Position des AGVs relativ zu diesen Strecken an allen Punkten entlang der Strecke zu messen. Ist eine Strecke für das AGV definiert, wie in Fig. 14 bei 89, sucht das optische Navigationssystem die Strecke nach AGV-Lichtern ab 91.
  • Auswählen der geeigneten Kamera
  • Die Sensoren für das optische Navigationssystem sind Fernsehkameras. In der Fabrik liegen fest verdrahtet eine ausreichende Anzahl von Kameras, um alle Knotenpunkte zu betrachten, die für die Fabrik definiert sind. Es ist nicht erforderlich, daß die Anzahl an Kameras mit der Anzahl an Knotenpunkten übereinstimmt; es ist manchmal besser, daß eine Kamera mehrere Knotenpunkte betrachtet. Es muß jedoch jeder Knotenpunkt für wenigstens eine Kamera sichtbar sein.
  • Während diese Kameras die Fabrik betrachten, produziert jede kontinuierlich Rasterabtastungsaufnahmen, die als "Bilder" bezeichnet werden. Ein Bild hat die Eigenschaft, daß es eine "Schnappschuß"-Aufnahme eines speziellen Blickfeldes an einem bestimmten Zeitpunkt ist. Ein Bild kann die Aufnahme der Navigationsbaken eines AGVs einschließen oder nicht. Zusätzlich zu der Fähigkeit, bestimmen zu können, ob ein Bild tatsächlich AGV-Baken enthält, muß das optische Navigationssystem die Fähigkeit besitzen, entscheiden zu können, von welcher Kamera die Bilder stammen sollen, die dem Bildprozessor des Rechner-Videosystems zugeführt werden sollen. Wie oben beschrieben, enthält der Fabrikplan das Wissen darüber, welche Kamera welchen Knotenpunkt betrachtet. Zusätzlich dazu enthält die für ein AGV definierte Strecke das Wissen darüber, welche Knotenpunkte für das AGV definiert sind.
  • Strecken sind durch zwei Streckenabschnitte bestimmt, die drei aufeinanderfolgende Knotenpunkte verbinden. Daher "kennt" das System immer wenigstens zwei Kameras (die Kamera für den ersten der zwei Knotenpunkte und die Kamera für den zweiten der zwei Knotenpunkte), die logische Kandidaten für die Betrachtung eines speziellen sich bewegenden AGVs sind.
  • Nun zu 145 in Fig. 23, deren Flußdiagramm das Verfahren darstellt, um eine geeignete Kamera für die Leitung einer Suche auszuwählen. Als erstes überprüft 146 das System den Zustand des Ziel-AGVs. Wenn der Zustand unbekannt ist (z. B. wenn es zum ersten Mal in das System eingeführt wurde, oder wenn es, nachdem es zurückgestellt wurde, freigegeben wurde), verwendet 154 das optische Navigationssystem die nächste Kamera in der Kameraliste (definiert für die Strecke). Da das AGV einen unbekannten Zustand angenommen hat, ist die beste Auswahl, die getroffen werden kann, die nächste Kamera in der Liste. Zurück zu Fig. 14, wo die Kameranummer jeweils um Eins erhöht wird, bis die Lichter des AGVs lokalisiert sind oder die Kameraliste zu Ende ist. Wie beim Schritt 82 dargestellt, kann eine von zwei Kameras ausgewählt werden: entweder die "alte" Kamera (die Kamera, die für den vorhergehenden Abschnitt verwendet wurde) oder eine "neue" Kamera (die Kamera, die dem nächsten Abschnitt zugeordnet wurde). Da bis jetzt noch kein Streckenabschnitt für ein "unbekanntes" AGV definiert wurde, wird das System die "neue" Kamera auswählen.
  • Wie in Fig. 23 dargestellt, überprüft, 147, wenn sich das AGV in einem bekannten Zustand befindet 146, das optische Navigationssystem jedoch, ob die den Knotenpunkten 1 und 2 zugeordneten Kameras tatsächlich übereinstimmen. Wenn sie nicht übereinstimmen, besteht offensichtlich kein Bedürfnis, die Kameras für das nächste Bild umzuschalten. Wenn sie nicht übereinstimmen, muß das optische Navigationssystem in der Lage sein, zu entscheiden, welche Kamera für das nächste Bild verwendet werden soll. Diese Entscheidung kann auf zwei Arten vorgenommen werden: Verwendung derselben Kamera, die für das aktuellste Bild verwendet wurde oder Wechsel zu einer anderen Kamera (je nach den Umständen).
  • Die hier verwendeten Knotenpunktnummern sind willkürlich, wobei sie lediglich anzeigen, daß der Knotenpunkt 1 auf einer Strecke vor dem Knotenpunkt 2 kommt. Für das in Fig. 23 dargestellte Flußdiagramm gilt dann:
  • c1 = Kamera, die dem Knotenpunkt 1 zugeordnet ist
  • c2 = Kamera, die dem Knotenpunkt 2 zugeordnet ist
  • cp = Kamera, die für das vorhergehende Bild verwendet wurde
  • Diese Bedingung ist wichtig, wenn sich das Ziel-AGV einem Knotenpunkt nähert, der als Maschine definiert ist. Um die Genauigkeit (Wiederholbarkeit) bezüglich des Parkens an Maschinen zu maximieren, ist es am besten, unter Verwendung derselben Kamera zu parken, ohne Rücksicht auf die Bewegungsrichtung. Es sei z. B. angenommen, daß ein AGV sich einem Knotenpunkt aus einer von zwei Richtungen nähern kann. Wenn sich das AGV dem Knotenpunkt nähert, wird es durch eine Kamera abgedeckt. Obwohl es möglich ist, daß eine Kamera beide Annäherungen betrachtet, ist es ebenso möglich, daß sich die Blickfelder von zwei Kameras an dem Knotenpunkt überlappen, wobei dann eine Entscheidung gefällt werden muß, welche Kamera verwendet werden soll. Wie in Fig. 23 bei 152 dargestellt, wählt das System, wenn die Kameras, die beiden Knotenpunkten zugeordnet sind, übereinstimmen, die Kamera für den Knotenpunkt 1 als Kamera für die Suche aus. Wenn sie verschieden sind, überprüft 148 das optische Navigationssystem, welche der Kameras für das vorhergehende Bild (cp) verwendet wurde. Wenn die Kamera, die für das letzte Bild verwendet wurde 155 die Kamera für den Knotenpunkt 2 war, prüft das System 156, ob das Ziel-AGV in dem vorhergehenden Bild gefunden wurde; wenn das so ist, wählt das System 157 diese Kamera als aktuelle Kamera aus. Wenn das AGV nicht in dem vorhergehenden Bild war 156, wählt 152 das System die Kamera für den Knotenpunkt 1 (den einzigen anderen wahrscheinlichen Kandidaten) aus. Wenn die Kamera, die für das vorhergehende Bild verwendet wurde, die Kamera für den Knotenpunkt 1 war 148, überprüft das System 149, ob das aktuelle Bild das erste für diesen Abschnitt ist. Wenn das aktuelle Bild nicht das erste ist, wählt 157 das System die Kamera für den Knotenpunkt 2 für das nächste Bild aus (denn: wenn dieses wenigstens das zweite Bild ist, während sich das AGV sich vom Knotenpunkt 1 zum Knotenpunkt 2 bewegt, dann gibt es eine bessere Chance als je zuvor, daß sich das AGV aus dem Blickfeld der ersten Kamera heraus und in das Blickfeld der zweiten Kamera hinein bewegt hat). Wenn jedoch das aktuelle Bild das erste ist, das für diesen Streckenabschnitt 149 aufgenommen wurde (d. h. das Bild kommt von der Kamera, die als erste Kamera in der Folge der Kameras, in deren Blickfeld der erste Streckenabschnitt liegt, definiert ist), dann besteht keine Notwendigkeit, zwischen den Kameras umzuschalten, so daß das System das Bild für die Verarbeitung auswählt 150.
  • Um, wie oben erwähnt, die Genauigkeit bezüglich des Parkens an Maschinenknotenpunkten zu verbessern, stellt das System fest, ob der Abstand d2 geringer als 1 Fuß ist 151. Dieser Abstand ist der Abstand vom Parkknotenpunkt (z. B. einer Maschine) zur letzten guten Position des Ziel-AGVs. Die Abstandsüberprüfung erlaubt es dem optischen Navigationssystem sicherzustellen, daß ein einparkendes AGV immer wenigstens eine Gelegenheit dazu hat, mit der Kamera zu parken, die dem Parkknotenpunkt zugeordnet ist. Z.B. wird, solange d2 größer als 1 Fuß ist, die zugeordnete Kamera 152 die Kamera sein, die-für das vorhergehende Bild verwendet wurde (während sich das AGV bewegt, wobei es sich dem Parkplatz nähert). Wenn jedoch d2 kleiner als ein Fuß ist, schaltet 157 das optische Navigationssystem zur zweiten Kamera um (die Kamera, die dem nächsten Knotenpunkt, dem Parkknotenpunkt zugeordnet ist). Fig. 2 stellt graphisch dar, was passiert, wenn sich die Blickfelder 3 und 4 zweier Kameras 1 und 2 am selben Knotenpunkt 26 überlappen. Ein AGV, das sich einem solchen Knotenpunkt 26 nähert, kann durch Kamera 1 oder 2 geleitet werden, während es für beide sichtbar ist. Jedoch kann, wegen der Effekte, die durch Linsenverzerrung eingebracht werden, wenn der Knotenpunkt 26 ein Parkknotenpunkt ist, der durch den Leitprozeß bedingte Fehler größer als die erforderliche Parkgenauigkeit sein. Um dieses Problem zu minimieren, ist es erforderlich, sicherzustellen, daß ein AGV, das an dem Knotenpunkt 26 einparkt, immer unter der Leitung derselben Kamera einparkt. Daher muß der Knotenpunkt 26 immer derselben Kamera zugeordnet sein (z. B. Kamera 1).
  • Die in Fig. 23 beschriebene Abfolge ist ein Mittel um auszuwählen, welche der zwei Kameras eine bessere Wahl für die aktuelle Kamera ist. Durch schrittweise Wiederholung kann die Abfolge für eine beliebige Anzahl von Kameras verwendet werden. In der Praxis besteht die beste Methode darin, die Anzahl der abgetasteten Kameras an die Anzahl der Knotenpunkte in einem einzelnen Streckenabschnitt anzupassen und Eins dazuzuaddieren. Dies führt zu einem maximalen Abtastbereich (zwei Streckenabschnitte) und zu minimaler Abtastzeit.
  • Einstellung von Größe und Ort des groben Verarbeitungsfensters
  • Das optische Navigationssystem vermeidet die Verarbeitung von falschen Bildern wie Reflexionen und Lichtern von Maschinen, indem es lediglich diejenigen Lichtflecken verarbeitet, die innerhalb eines gesteuerten Bereichs des Bildes, wie in Fig. 29 bei 251 dargestellt, auftreten. Die Größe und der Ort dieses "Fensters" sind durch den Zustand des Ziel- AGVs 252-253 und durch dessen letzte bekannte Position in der Bildebene (Pcx, Pcy) 254 bestimmt. Diese Parameter sind wichtig, da das optische Navigationssystem ein großes Fenster 256 (das gesamte Blickfeld) während einer kritischen Suche 253 verwendet, um seine Chancen zu verbessern, ein vom Kurs abgeratenes AGV zu lokalisieren. Das trifft auch zu, wenn der Zustand des AGVs unbekannt ist 252 (z. B. wenn das optische Navigationssystem den Zustand des AGVs nicht kennt, muß es in der Lage sein, so viel wie möglich von einem Bild zu betrachten, um seine Chancen zur Lokalisierung des AGVs zu verbessern).
  • Wenn jedoch der Zustand bekannt und nicht kritisch ist (z. B. bei normaler Bewegung innerhalb der Steuerung des Regelkreises) wird ein kleines Fenster zur Bildverarbeitung verwendet. Die exakten Abmessungen eines kleinen Fensters sind durch Werte in einer Bildverzerrungstabelle 254 bestimmt, bei der der Index der Abstand X und Y (Fabrikkoordinaten) vom AGV-Zentrum zur optischen Achse der Kamera ist:
  • wx1 = Pcx - delta x = negative Verschiebung in x-Richtung
  • wx2 = Pcx + delta x = positive Verschiebung in x-Richtung
  • wy1 = Pcy - delta y = negative Verschiebung in y-Richtung
  • wy2 = Pcy + delta y = positive Verschiebung in y-Richtung
  • Der Prozeß des Definierens des Fensters beginnt damit, zu bestimmen, ob sich das Ziel-AGV in einem unbekannten Zustand oder einem kritischen Zustand befindet 252. In jedem dieser Fälle wählt das optische Navigationssystem ein großes Verarbeitungsfenster aus 256. Wenn sich jedoch das Ziel-AGV in einem bekannten, nicht kritischen Zustand befindet, überprüft das optische Navigationssystem dann die Bildverzerrungstabelle in bezug auf die Bildverzerrungsfaktoren für den vorhergehenden Ort des AGVs in der Bildebene und stellt das Verarbeitungsfenster so klein wie möglich ein 255, während die Effekte der Verzerrung noch berücksichtigt werden.
  • Auffinden eines AGV-Lichtes
  • Da es zwei Arten von Knotenpunkten gibt, an denen AGV-Bewegung zulässig ist, interpretiert das optische System zwei Arten von Lichtersuche, wie in Fig. 17 dargestellt. Wenn anzunehmen ist, daß das AGV wendet (sich dreht), wird der aktuelle Knotenpunkt auf der Strecke als kreisförmig interpretiert 260 und das optische Navigationssystem führt eine Überprüfung durch 261, um zu sehen, ob sich das Licht innerhalb der Grenzen des kreisförmigen Fensters befindet. Wenn dem so ist, wird das Licht als gefunden gekennzeichnet 262 und in eine Speichermatrix kopiert 263. Der Prozeß wird für alle Lichtflecken innerhalb des groben Bildverarbeitungsfensters wiederholt 264. Die Matrixnummer wird auf P zurückgesetzt 265 (in der unteren rechten Ecke der Fig. 14 bei 92, und genauer in Fig. 15 dargestellt), wo das optische Navigationssystem die Anzahl sichtbarer Lichter prüft und versucht, ein AGV zu erkennen. Wenn jedoch angenommen wird, daß sich das AGV seitwärts bewegt (sich bewegt ohne sich zu drehen), wird der aktuelle Knotenpunkt auf der Strecke als rechteckig definiert 260 und das optische Navigationssystem führt eine Überprüfung durch 266, um sicher zu sein, daß sich das Licht innerhalb der Grenzen des Rechteckfensters befindet. Wenn dem so ist, wird es wie vorher 263 gespeichert; anderenfalls wird das Licht überprüft 268, um zu sehen, ob es innerhalb der Grenzen einer kreisförmigen Zone liegt (wenn der nächste Knotenpunkt als kreisförmig definiert ist). Diese Prozesse werden wiederholt 264, bis alle Lichter innerhalb des groben Bildverarbeitungsfensters verarbeitet worden sind.
  • Überprüfung auf genügend sichtbare Lichter
  • Die Bildverarbeitungssoftware des optischen Navigationssystems isoliert Lichtquellen und definiert ihre Orte als die Flächenschwerpunkte der Flecken, die durch die Bildverarbeitungsalgorithmen identifiziert werden.
  • Wie vorher beschrieben, ist ein AGV durch die Dreiecke definiert, die durch drei seiner Baken gebildet werden (Fig. 34). Die Position eines AGVs ist folgendermaßen definiert: durch die Fabrikbodenkoordinaten des Mittelpunktes der Diagonale, die durch zwei Lichtquellen gebildet wird, die als Eckbaken identifiziert wurden, durch den senkrechten Abstand dieses AGV-Zentrums von der Linie, die den Streckenabschnitt bildet (eine Linie zwischen den zwei Knotenpunkten) und durch den parallelen Abstand des AGV-Zentrums (der geradlinige Abstand vom AGV-Zentrum zum Ende des Streckenabschnitts, entlang einer Linie, die parallel zur Achse der Strecke ist). Daher sind drei Lichter erforderlich, um die Position und Orientierung eines AGVs festzulegen.
  • In der Praxis kann wenigstens eine der drei erforderlichen Baken verdeckt sein. Die zwei Baken, die sichtbar sind, bilden eine Sehne, die für das optische Navigationssystem erkennbar ist. Wie in Fig. 32 dargestellt, gibt es eine Reihe solcher möglicher Sehnen. Die Sehnennummern (11-16) sind von Bedeutung, wenn das optische Navigationssystem die Position eines AGVs meldet, ohne sicher zu sein. Wie unten beschrieben wird (künstliches Erzeugen eines dritten Lichtes, wenn die anderen blockiert sind), tritt diese Situation sehr wahrscheinlich auf, wenn eine Bake verdeckt ist.
  • Bestimmung der Anzahl sichtbarer Lichter
  • Da es bei dem hier beschriebenen System zwei Typen von AGVs gibt (einen mit vier Lichtern, der andere mit dreien), wie in den Fign. 15 und 18 dargestellt, bestimmt das optische Navigationssystem 109, 110, 93, 94, welchen Typ von AGV es sucht. Es führt dann eine Überprüfung durch, um zu entscheiden, ob eine weitere Kamera oder ein weiter Streckenabschnitt nach Lichtern abgesucht werden soll 99 (detailliert in Fig. 22). Wenn das optische Navigationssystem lediglich ein Licht "sieht" 95, sendet es eine Nachricht zum AGV, daß es ein und nur ein Licht seiner aktuellen Lichterkonfiguration einschalten soll 96. Es "sucht" dann nach diesem Licht 97 (unter Verwendung der vorher beschriebenen Bildverarbeitungsverfahren und in der US-Anmeldung mit dem Aktenzeichen 771,433 offenbart), bis es dieses identifiziert 100 oder alle Lichter dieses AGVs getestet hat 98. Wenn es das Licht schließlich nicht finden kann, führt es wie in Fig. 22 bei 133 eine Überprüfung durch, um zu entscheiden, ob es eine weitere Kamera oder einen weiteren streckenabschnitt verwenden soll. Wenn das optische Navigationssystem ein Licht wie in Fig. 18 bei 100 identifiziert, versucht es dann das vierte Licht zu finden 101. Findet es das Licht 102, so erhöht es den Lichterzähler um Eins und wechselt zu einer neuen Lichterkonfiguration 103 für den nächsten Verfolgungszyklus. Der Lichterzähler löst die AGV-Identifikation aus, wenn er zwei erreicht 105, 107.
  • Gruppierung von Lichtern
  • Wie vorher beschrieben, identifiziert das optische Navigationssystem den Ort eines AGVs als Mittelpunkt einer imaginären Linie, die zwischen zwei Lichtflecken gezogen wurde, die zu Baken gehören, die an diagonal entgegengesetzten Ecken des AGVs liegen. Werden mehr als drei Lichter eingefangen, vereinfacht das optische Navigationssystem die Situation, indem es die Lichter "gruppiert", Fig. 19 bei 158, um den besten Satz mit drei Lichtern für die Verwendung bei der Verfolgung zu bilden. Um das durchzuführen, wählt 160 es einen Satz mit drei Lichtern aus und berechnet 161 den Umfang des Dreiecks, das durch diese Lichter gebildet wird. Beim Schritt 160:
  • l i n
  • n 8
  • j = i + 1
  • k = i + 2
  • Das optische Navigationssystem überprüft 164 alle solchen Kombinationen aus drei Lichtern, wobei es jede mit dem vorhergehenden Satz vergleicht 162, um festzustellen, welcher Satz eine Differenz ergibt, die im Bereich von plus oder minus 10 Prozent des erwarteten Wertes liegt. Der Wert 10 Prozent ist willkürlich ausgewählt, was zu einem guten Leistungsvermögen bei der bevorzugten Ausführungsform führt. Beim Schritt 162:
  • P = programmierter Umfang dieses AGVs
  • 10% von P = Toleranz wegen der Verzerrung durch die Weitwinkellinse
  • Es wählt 163 den Satz aus, der in diesen Bereich fällt und leitet die Auswahlen an Lichtern zu der Routine, die feststellt, ob irgendein guter Lichterdreiecksumfang gefunden wurde 165 und an die Umfangüberprüfungsroutine zurückgegeben wurde, dargestellt in Fig. 15 bei 113.
  • Künstliches Erzeugen eines 3. Lichtes, wenn andere blockiert sind
  • Wenn die AGVs schwere Nutzlasten tragen, oder wenn ein Mechanismus zur Materialhandhabung wie ein Roboter an Bord ist, besteht die Möglichkeit, daß eine oder mehrere Baken verdeckt sein können, und sie daher für die obenliegenden Kameras des optischen Navigationssystems unsichtbar sein können. Wie in Fig. 20 dargestellt, kann der Bedarf an drei Lichtern gegebenenfalls durch künstliches Erzeugen 170 eines dritten Lichtes befriedigt werden. Wenn lediglich zwei Lichter sichtbar sind, berechnet 171 das optische Navigationssystem die Länge der Sehne, die durch die zwei sichtbaren Lichter gebildet wird, findet 172 die beste Anpassung an die Seiten des Lichterdreiecks des AGVs und verwendet Tabellen im Speicher, um den richtigen einbeschriebenen Winkel 176, die Verschiebung 177 und die Sehnenwinkelverschiebung 178 auszuwählen. Das System berechnet 179 dann zwei mögliche Kandidaten für das dritte Licht.
  • Das optische Navigationssystem wählt Fig. 21 bei 185 einen Kandidaten für die dritte Lichterposition, basierend auf der besten Anpassung zwischen dem hergeleiteten Sehnenwinkel und dem wahren Sehnenwinkel 184, aus, der wiederum auf der definierten AGV-Winkelgleichung 183 basiert. Wie in Fig. 35 dargestellt, können die Lichterpositionen und der AGV-Winkel (beide real und extrapoliert) definiert werden durch:
  • Canx1 = Licht1x + [DISP * CosA]
  • Cany1 = Licht1y + [DISP * SinA]
  • Canx2 = Licht2x - [DISP * CosA]
  • Cany2 = Licht2y - [DISP * SinA]
  • Wahrer-Sehnenwinkel = ANGT + Fahrzeugwinkel, wobei ANGT der Winkel des Vektors (Licht2, Licht1) relativ zum Fahrzeugwinkel ist,
  • und der Fahrzeugwinkel der Fahrzeugbewegungswinkel dieser Streckenverbindung ist.
  • Der so ausgewählte Satz aus drei Lichtern liefert einen guten Umfangssatz, wie in Fig. 21 bei 189, um bei der Identifikation des AGVs verwendet zu werden, siehe Fig. 15 bei 113.
  • Wenn kein wahrer Sehnenwinkel definiert wurde, wie bei 182 in Fig. 21, berechnet das Bildverarbeitungssystem Sehnen, die die möglichen Lichterpaare verbinden. Wenn nur zwei Lichter sichtbar sind, "erzeugt" das optische Navigationssystem zwei Kandidaten für das dritte Licht, wie in Fig. 35. Es meldet die Orte der Kandidaten und stellt den Vertrauenswert auf die Sehnennummer ein, die eine "bekannte gute" Sehne repräsentiert.
  • Der Vertrauenswert ist einfach ein Maß für das Vertrauen in die Positionsaktualisierung des optischen Navigationssystems. Wenn der Vertrauenswert "00" ist, ist sich das optische Navigationssystem bezüglich seiner Berechnungen sicher. Wenn das optische Navigationssystem drei Lichter für ein AGV nicht finden kann und das ausgewählte künstlich erzeugte dritte Licht willkürlich (nicht "sicher") ist, stellt es den Vertrauenswert auf die Sehnennummer der Sehne ein, die es verwendet, um die Position des AGVs zu berechnen, um seine Unsicherheit anzuzeigen.
  • Fig. 32 zeigt alle möglichen gültigen Sehnennummern (11-16) und ihre Beziehung zum AGV. Wie im Flußdiagramm in Fig. 30 dargestellt, erkennt der autonome Kontroller des AGVs 275, daß in dem Fall, wo der Vertrauenswert nicht "00" ist, sich das optische Navigationssystem in bezug auf seine Lichterauswahl nicht sicher ist. In solchen Fällen entscheidet 276- 284 der bordeigene Kontroller des AGVs (17 in Fig. 6), ob das optische Navigationssystem eine logische Auswahl getroffen hat. Die Entscheidung des AGVs basiert auf der Positionsgeschichte in seiner Speichereinheit. Wenn das optische Navigationssystem 10 z. B. eine Auswahl eines Kandidaten meldet, die einen AGV-Winkel 277 liefert, der um mehr als 90 Grad von dem AGV-Winkel in vorhergehenden Positionen 278 abweicht, steht es dem Kontroller 17 des AGVs frei, anzunehmen, daß sich das optische Navigationssystem 10 geirrt hat. Wenn der Kontroller 17 des AGVs die Auswahl des optischen Leitsystems außer Kraft setzt 279, stellt es 280 Winkel und Position basierend auf Daten von den vorhergehenden Koppelnavigationspositionen ein.
  • - Es gibt drei mögliche Zustände. Im ersten 275 (ja) teilt das optische Navigationssystem dem AGV mit, daß seine Positionsaktualisierung sicher ist, so daß der Kontroller des AGVs die Aktualisierung akzeptiert.
  • In dem zweiten Fall liefert das optische Navigationssystem eine Sehnennummer für den Vertrauenswert (FOM), 276 (ja), der den Kontroller des AGVs veranlaßt, die optische Positionsaktualisierung zu modifizieren. In beiden dieser Fälle fährt das AGV je nachdem mit der Positionseinstellung oder der Zeitsynchronisation fort 281. Der Teil des Regelkreises, der tatsächlich die Position des AGVs und die Zeitsynchronisation einstellt, befindet sich an Bord des AGVs (jedes AGVs). Noch genauere Informationen über diese Prozesse sind in der US-Patentanmeldung mit dem Aktenzeichen 771,432 enthalten.
  • In dem dritten Fall enthält eine durch den Kontroller des AGVs empfangene Aktualisierung eine ungültige Sehnennummer (für den Vertrauenswert). In diesem Fall 276 (nein) weist der Kontroller des AGVs die Positionsaktualisierung zurück 282, stoppt die Bewegung 283, signalisiert den Fehler 283 und wartet auf Befehle 284 vom System-Kontroller.
  • Feststellen, ob nach einer weiteren Kamera oder nach einem weiteren Streckenabschnitt gesucht werden kann
  • Wenn das optische Navigationssystem den Betrieb beginnt, fordert es eine Kopie des Fabrikplans von der Basisstation an. Dieser Plan enthält das Wissen darüber, welche obenliegende Kamera welchem Knotenpunkt in dem Streckennetzwerk zugeordnet ist. Während des Betriebs kennt das optische Navigationssystem die Position eines AGVs relativ zu einem Knotenpunkt. Wenn sich daher das AGV in einem bekannten Zustand befindet, Fig. 22 bei 134, weiß das optische Navigationssystem, welche Kamera es zur Betrachtung eines AGVs verwenden soll. Wenn sich das AGV nicht in einem bekannten Zustand befindet 137, kann das System entweder eine Fehlermeldung zurücksenden 138 oder die nächste freigegebene Kamera auswählen 136. Es gibt ebenfalls die Möglichkeit 135, daß ein AGV gegenwärtig in ein Blickfeld eintritt oder es verläßt, wobei in diesem Fall das optische Navigationssystem die nächste Kamera entlang dem aktuellen Streckenabschnitt auswählt 136. Die letzte Möglichkeit ist die, daß das AGV den aktuellen Streckenabschnitt verläßt 135, wobei in diesem Fall das optische Navigationssystem entweder 139 eine Fehlermeldung 140 zurücksendet oder den nächsten zu durchsuchenden Streckenabschnitt auswählt 141.
  • Überprüfung des Ortes eines AGVs relativ zu den Streckenzonen
  • Das optische Navigationssystem bestimmt den Ort eines Ziel- AGVs relativ zum Fabrikboden und zu den erlaubten Bewegungszonen auf der Strecke des AGVs, wie in Fig. 12 bei 56 und in Fig. 24 bei 193 dargestellt. Die Bewegungszonen erlauben es dem AGV, autonom ohne physische Streckenleitvorrichtungen oder Drähte zu operieren, wobei Regelungs- und Sicherheitsmerkmale vorgesehen sind, um ein AGV zu stoppen, das beginnt, von seiner geplanten Strecke abzuweichen.
  • Der erste Schritt für die Bestimmung, ob sich ein Ziel-AGV auf Kurs befindet, besteht darin, den Abstand (die Verschiebung Dist) zwischen dem Zentrum des AGVs und der Bewegungsstrecke zu berechnen 194. Wenn dieser Abstand einmal bekannt ist, kann er mit der Breite der erlaubten Zone (Dist EPSOK) verglichen werden 195, um zu bestimmen, ob sich das AGV in der erlaubten Zone befindet. Wenn sich das AGV in der erlaubten Zone befindet und das System keine kritische Suche nach dem AGV durchführt 196, führt das optische Navigationssystem keine Aktion in bezug auf das AGV durch 200. Wenn das Ziel-AGV vom Kurs abgewichen war und nun gerade auf seinen geplanten Weg zurückgekehrt ist 196, informiert 197 das optische Navigationssystem den System-Kontroller, daß sich das AGV nun auf Kurs befindet, was es dem System-Kontroller erlaubt, mit der Bewegung von allen anderen AGVs fortzufahren 198. Das löscht ebenfalls den kritischen Suchmodus 199.
  • Wenn das Ziel-AGV außerhalb der erlaubten Zone aufgefunden wird 195, führt das optische Navigationssystem eine Überprüfung durch 201, um zu sehen, ob es sich in der verdächtigen Zone befindet. Falls nicht, beginnt das Steuerungsprogramm eine kritische Suche 202 und Fig. 27, 229. Wenn sich das Ziel-AGV in der verdächtigen Zone (Dist EPSLON) 201 befindet, gibt es zwei Möglichkeiten: dieses ist das erste Mal, daß das AGV in der fragwürdigen Zone gewesen ist, oder ein wiederholtes Mal. Falls dieses das erste Mal ist, ist es möglich, daß das AGV noch keine kritische Suche ausgelöst hat 204, wobei in diesem Falle das optische Navigationssystem ein Zeichen für eine verdächtige Zone 206 setzt und die Verfolgung fortsetzt. Wenn jedoch eine kritische Suche schon im Gange ist 204, meldet das optische Navigationssystem 205 das AGV als verdächtig, bevor es weiter fortfährt. Das ist wichtig, da das AGV sich in einer von zwei Richtungen bewegen kann: in Richtung auf die erlaubte Zone (Wiederherstellung) oder von der erlaubten Zone weg. Bei nachfolgenden Überprüfungen nach dem Laufen in die verdächtige Zone fährt das optische Navigationssystem nur damit fort, die Position des AGVs zu melden, bis das AGV entweder in die erlaubte oder die kritische Zone eintritt.
  • Diese Regelkreisabfolge der Streckenüberprüfung und Positionsmeldung liefert eine servomäßige Regelung mehrerer AGVs ohne physische Verbindungen zu den AGVs. Ein Teil des Regelkreises ist optisch (die obenliegenden Kameras, die die AGV- Baken überwachen, wie in Fig. 3 als Elemente 1 und 2 dargestellt), ein Teil ist elektronisch (die in Fig. 6 dargestellte Steuerungshardware) und ein Teil besteht aus Datenübertragungseinrichtungen (die drahtlosen IR-Transceiver, Modems und Nachrichtenvermittler, wie in Fig. 5 und 6 dargestellt). Die Steuerungsprogramme liefern ein Analogon zum Draht bei herkömmlichen Servosystemen: sie "verbinden" die verschiedenen Elemente des Regelkreises miteinander.
  • Aktualisierung der Position eines AGVs
  • Wenn die Position eines Ziel-AGVs bekannt ist (nun wird auf Fig. 28 Bezug genommen), bei 241, verwendet das optische Navigationssystem einen Vertrauenswert, der davon abhängt, ob die Position sicher ist 242. Wie vorher beschrieben, zeigt die Einstellung des Vertrauenswertes auf "00" 243 an, daß diese Position sicher ist. Die Einstellung 244 des Vertrauenswertes auf eine Sehnennummer (die gültigen Nummern sind 11-16) informiert das AGV darüber, daß diese Position eine willkürliche Auswahl eines von zwei Kandidaten ist, Fig. 20 bei 179; daher muß der bordeigene Kontroller des AGVs seine Positionsinformation, die auf seiner Positionsgeschichte und der Sehnennummer basiert, neu einstellen. Fig. 35 stellt den Fall dar, wo die Orientierung eines AGVs durch eine von zwei möglichen Positionen für ein drittes Licht beschrieben werden kann. Die zwischen den Lichtern 1 und 2 gebildete Sehne ist bekannt, aber kein drittes Licht ist sichtbar. Das optische Navigationssystem "kennt" daher die zwei Kandidatenpositionen (CAND1, CAND2) für das extrapolierte dritte Licht. Der bordeigene Kontroller des AGVs muß feststellen, welcher der zwei Kandidaten der beste ist.
  • Die Positionsgeschichte ist eine Aufzeichnung der Position und Orientierung eines AGVs, die in einer Speichereinheit an Bord des AGVs gespeichert ist. Wenn das optische Navigationssystem einem AGV eine "unsichere" Position meldet, gibt es zwei Möglichkeiten: entweder ist die Position richtig oder sie ist falsch. In dem Fall, daß eine Positionsaktualisierung deswegen unsicher ist, weil das optische Navigationssystem dazu gezwungen wurde, seine Positionsaktualisierung auf der Basis einer einzigen Sehne durchzuführen, gibt es zwei Möglichkeiten: entweder stimmt der Bewegungswinkel mit dem vorhergehenden Bewegungswinkel (innerhalb einer kleinen Toleranz) überein oder der Bewegungswinkel ist um ungefähr 180 Grad versetzt. Es ist der bordeigene Kontroller des AGVs und nicht das optische Navigationssystem, der entscheidet, ob eine gemeldete Position als "unsicher" verwendet wird.
  • Wenn sich ein AGV entweder in einer verdächtigen Zone zum ersten Mal befindet, wie in Fig. 28 beim Schritt 245 oder in das Blickfeld einer Kamera eintritt 249, stellt das optische Navigationssystem zusätzlich zum Vertrauenswert entweder ein "Verdächtig-Bit" 246 oder ein "Neue Kamera-Bit" 250 ein. Das Navigationssystem meldet dann 247 in bezug auf das AGV Position, Winkel, Vertrauenswert und den Zeitpunkt, an dem das Bild aufgenommen wurde.
  • Kritisches Suchen (wenn sich ein AGV abseits der Strecke befindet)
  • Wenn ein AGV von seiner geplanten Strecke abweicht, wie in Fig. 27 bei 229 angezeigt, erkennt das optische Navigationssystem den Fehler, indem es die Position des Zentrums des AGVs (definiert durch seine Baken) relativ zu den Zonen erlaubter Bewegung beobachtet. Wenn das Zentrum des AGVs in die verdächtige Zone eintritt, enthält die Positionsaktualisierung des optischen Navigationssystems ein "Verdächtig- Bit", das nur für diese eine Aktualisierung eingestellt wird. So wird dem bordeigenen Kontroller des AGVs mitgeteilt, daß das optische Navigationssystem es als in der verdächtigen Zone befindlich identifiziert. Das Einstellen des Verdächtig-Bits zwingt den bordeigenen Kontroller eines AGVs dazu, seinen Zeitgeber erneut mit dem optischen Navigationssystem erneut in Synchronisation zu bringen, um richtige Korrekturen für die folgenden Positionsaktualisierungen sicherzustellen. Das optische Navigationssystem führt keine AGV-Bewegungskorrekturen durch. Statt dessen meldet das optische Navigationssystem regelmäßig jedem AGV seine aktuelle Position (in Fabrikbodenkoordinaten), seinen aktuellen Bewegungswinkel und den Zeitpunkt, an dem das Aktualisierungsbild aufgenommen wurde. Ein bordeigener Kontroller des AGVs speichert diese Information, so daß er die gegenwärtige Aktualisierung mit der vorhergehenden vergleichen kann. Das bordeigene Navigationsprogramm vergleicht dann die Positionsveränderung mit Daten von der Codiereinrichtung des Antriebsrades, um den Winkel und die Größe der erforderlichen Korrektur zu bestimmen. Im Normalbetrieb sind diese Korrekturen gering.
  • Wenn sich jedoch das AGV einmal "in eine kritische Lage begibt", wie in Fig. 27 bei 230, beginnt das optische Navigationssystem einen kritischen Suchmodus. Nach diesem Punkt 231 gibt es zwei Möglichkeiten: entweder streute das AGV bereits entfernt von seiner geplanten Strecke und das optische Navigationssystem war schon dabei, es in einem kritischen Modus zu suchen 237; oder die aktuelle Positionsaktualisierung stellt das erste Mal 232 dar, daß das AGV weit genug von seinem Kurs ab beobachtet wurde, um als "kritisch" bezeichnet zu werden. Im letzteren Fall beginnt das optische Navigationssystem das nächste Mal eine neue kritische Suche durch die Positionsaktualisierungsschleife. Es berechnet eine neue (weitere) verdächtige Zone 234, die dem AGV Raum läßt, um zu versuchen, seinen eigenen Fehler zu korrigieren, ohne durch das optische Navigationssystem gestoppt zu werden. Es informiert 235 den System-Kontroller darüber, daß sich ein AGV abseits vom Kurs befindet. Der System-Kontroller sendet dann 236 eine "Alle stoppen-Nachricht" zu den anderen AGVs, um Kollisionen oder Gefährdungen des Personals vorzubeugen. Das optische Navigationssystem führt dann eine Überprüfung 233 auf einen "Freigabe"-Befehl von der Basisstation hin durch, um die Suche nach einem "verlorenen" AGV fortzusetzen.
  • In dem Fall, daß ein AGV schon "kritisch" ist, und nicht bloß "verdächtig", führt das optische Navigationssystem eine Überprüfung durch 231, um zu sehen, ob die aktuelle Position die erste Aktualisierung seit der Kursabweichung des AGVs ist. Wenn es das erste Mal ist, teilt das optische Navigationssystem dem System-Kontroller mit 232, daß das AGV in die "tote Zone" eingetreten ist und führt eine Überprüfung 233 auf einen Befehl von der Basisstation hin durch. Der System-Kontroller, das optische Navigationssystem und das AGV-Steuerungsprogramm arbeiten zusammen, um es dem AGV zu erlauben, zu versuchen, sich wie vorher beschrieben, zu regenerieren. Wenn sich das AGV jedoch mehr als einmal in einem kritischen Zustand befunden hat 231 und bei der aktuellen Positionsaktualisierung in kritischem Zustand bleibt, gibt das optische Navigationssystem entweder die Steuerung 237, 233 an den System-Kontroller über die Basisstation zurück oder berechnet 239 neue Grenzen für die kritische Zone, wobei es sie um 3 Inch in jeder Richtung erweitert, um dem AGV einen weiteren Versuch zur Selbstregeneration zu ermöglichen.
  • In jedem Fall, wenn ein AGV nach einer Anzahl von Versuchen zur Regeneration in die tote Zone eintritt, benachrichtigt der System-Kontroller menschliche Bediener über die Bedienerschnittstelle, daß das AGV manuelle Unterstützung benötigt.

Claims (9)

1. Navigationssystem für automatisch geleitete Fahrzeuge (AGVs), um sie entlang einem Streckennetzwerk mit mehreren Knotenpunkten zu ihren Bestimmungsorten zu leiten, in dem jedes AGV Mittel enthält, die es ihm ermöglichen, sich durch Koppelnavigation über Streckenabschnitte zu seinem Bestimmungsort zu bewegen, und in dem ein Steuersystem mit mehreren Kameras bereitgestellt wird, die auf die Knotenpunkte des Netzwerks gerichtet sind, so daß jeder Knotenpunkt von wenigstens einer Kamera betrachtet wird, wobei das Steuersystem mit den AGVs regelmäßig in Verbindung tritt, um ihnen Angaben über ihre Positionen im Netzwerk zu senden, um ihre Koppelnavigationsmittel zu aktualisieren, wobei das Steuersystem Einzelheiten der Routen, die von den AGVs zu ihren Bestimmungsorten eingeschlagen werden sollen, und Aufstellungen der geplanten Bewegungen der AGVs speichert, und Mittel enthält, die auf die gespeicherten Informationen reagieren, um vorherzusagen, wo sich jedes der AGVs zu einer bestimmten Zeit befinden wird und um eine geeignete der Kameras auszuwählen, um dieses AGV zu dieser Zeit zu beobachten.
2. System nach Anspruch 1, in dem jedes AGV ein ihm eigenes optisches Muster aufweist und das Steuersystem eingerichtet ist, um die AGVs durch ihre optischen Muster, wie sie von den Kameras beobachtet werden, zu identifizieren.
3. System nach Anspruch 2, in dem das einzigartige optische Muster eines AGVs durch mehrere Lichter erzeugt wird, die auf dem AGV angebracht sind.
4. System nach Anspruch 1, 2 oder 3 in dem an wenigstens einem Knotenpunkt mehr als eine Kamera in der Lage ist, ein AGV zu beobachten und das Steuersystem während des Gebrauchs so eingerichtet ist, daß es die Bewegung eines AGVs in der Nähe des wenigstens einen Knotenpunkts unter Verwendung derselben Kamera verfolgt.
5. Verfahren zur Navigation automatisch geleiteter Fahrzeuge (AGVs), um sie entlang einem Streckennetzwerk mit mehreren Knotenpunkten zu leiten, umfassend
Bereitstellen von Mitteln in jedem AGV, um es ihm zu ermöglichen, sich durch Koppelnavigation über Streckenabschnitte zu seinem Bestimmungsort zu bewegen,
Bereitstellen eines statischen Steuersystems mit mehreren Kameras, die auf die Knotenpunkte des Netzwerks gerichtet sind, so daß jeder Knotenpunkt von wenigstens einer Kamera betrachtet wird,
Veranlassen des Steuersystems mit den AGVs regelmäßig in Verbindung zu treten, um ihnen Angaben über ihre Positionen zu senden, und
Verwendung der Positionsangaben in den AGVs, um die Koppelnavigationsmittel zu aktualisieren, dadurch gekennzeichnet, daß das Steuersystem Einzelheiten der Routen, die von den AGVs eingeschlagen werden sollen, und Aufstellungen der geplanten Bewegungen der AGVs speichert, und das Steuersystem ebenfalls aus den gespeicherten Informationen vorhersagt, wo sich jedes der AGVs zu einer bestimmten Zeit befindet und eine geeignete der Kameras auswählt, um dieses AGV zu dieser Zeit zu beobachten.
6. Verfahren nach Anspruch 5, in dem jedes AGV ein ihm eigenes optisches Muster aufweist und das Steuersystem jedes AGVs anhand seines ihm eigenen optischen Musters, wie es von den Kameras beobachtet wird, identifiziert.
7. Verfahren nach Anspruch 5, in dem auf jedem AGV das ihm eigene optische Muster aus einer Anordnung von mehreren Lichtern besteht.
8. Verfahren nach einem der Ansprüche 5 bis 7, in dem das Steuersystem eine digitalisierte Darstellung des Blickfeldes der ausgewählten Kamera im Direktzugriffsspeicher abspeichert.
9. Verfahren nach Anspruch 8, umfassend das Bilden eines Fensters um das Bild eines AGVs, wie es von der ausgewählten Kamera betrachtet wird, und das Verwenden dieses Fensters zur Definition des Blickfelds dieser Kamera.
DE68925558T 1988-10-31 1989-10-30 Rückgekoppeltes Navigationssystem für mobile Roboter Expired - Fee Related DE68925558T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/265,196 US4940925A (en) 1985-08-30 1988-10-31 Closed-loop navigation system for mobile robots

Publications (2)

Publication Number Publication Date
DE68925558D1 DE68925558D1 (de) 1996-03-14
DE68925558T2 true DE68925558T2 (de) 1996-11-14

Family

ID=23009429

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68925558T Expired - Fee Related DE68925558T2 (de) 1988-10-31 1989-10-30 Rückgekoppeltes Navigationssystem für mobile Roboter

Country Status (4)

Country Link
US (1) US4940925A (de)
EP (1) EP0367526B1 (de)
JP (1) JP2791140B2 (de)
DE (1) DE68925558T2 (de)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179329A (en) * 1989-04-25 1993-01-12 Shinko Electric Co., Ltd. Travel control method, travel control device, and mobile robot for mobile robot systems
JPH04227507A (ja) * 1990-07-02 1992-08-17 Nec Corp 移動ロボット用のマップを作成し保持する方法
US5390118A (en) 1990-10-03 1995-02-14 Aisin Seiki Kabushiki Kaisha Automatic lateral guidance control system
DE69130147T2 (de) 1990-10-03 1999-04-01 Aisin Seiki Automatisches Steuersystem für Seitenführung
US5202742A (en) * 1990-10-03 1993-04-13 Aisin Seiki Kabushiki Kaisha Laser radar for a vehicle lateral guidance system
JP2589901B2 (ja) * 1991-11-26 1997-03-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 能動型センサを備えた移動機械
JP2895672B2 (ja) * 1992-01-28 1999-05-24 ファナック株式会社 複数ロボット制御方法
JPH0680203A (ja) * 1992-03-24 1994-03-22 East Japan Railway Co 床面洗浄ロボットの制御方法
JP3176701B2 (ja) * 1992-04-15 2001-06-18 本田技研工業株式会社 移動体の現在位置認識処理装置
US5300869A (en) * 1992-07-30 1994-04-05 Iowa State University Research Foundation, Inc. Nonholonomic camera space manipulation
GB2287045B (en) * 1994-03-04 1997-05-14 Joseph Michael Programmable materials
JPH08271274A (ja) * 1995-03-28 1996-10-18 Mitsubishi Electric Corp 移動経路生成装置
US5764014A (en) * 1996-02-01 1998-06-09 Mannesmann Dematic Rapistan Corp. Automated guided vehicle having ground track sensor
US5995884A (en) * 1997-03-07 1999-11-30 Allen; Timothy P. Computer peripheral floor cleaning system and navigation method
JP2001121461A (ja) * 1999-10-26 2001-05-08 Denso Corp ロボットシステム
US6542083B1 (en) * 1999-11-23 2003-04-01 Xerox Corporation Electronic tag position detection using radio broadcast
US6741928B2 (en) 2000-03-07 2004-05-25 Magellan Dis, Inc. Navigation system with figure of merit determination
AT412196B (de) * 2000-03-17 2004-11-25 Keba Ag Verfahren zur zuordnung einer mobilen bedien- und/oder beobachtungseinrichtung zu einer maschine sowie bedien- und/oder beobachtungseinrichtung hierfür
US6377888B1 (en) 2000-04-03 2002-04-23 Disney Enterprises, Inc. System for controlling movement of a vehicle
JP3721940B2 (ja) * 2000-05-16 2005-11-30 松下電器産業株式会社 移動作業ロボット
JP3721939B2 (ja) * 2000-05-16 2005-11-30 松下電器産業株式会社 移動作業ロボット
US6757586B2 (en) * 2001-09-05 2004-06-29 Abb Automation Inc. Multiple arm robot arrangement
JPWO2004032086A1 (ja) * 2002-10-04 2006-02-02 富士通株式会社 ロボットシステムおよび自律走行ロボット
WO2004067232A2 (en) * 2003-01-31 2004-08-12 Thermo Crs Ltd. Syntactic inferential motion planning method for robotic systems
US7063256B2 (en) * 2003-03-04 2006-06-20 United Parcel Service Of America Item tracking and processing systems and methods
BE1016001A3 (nl) * 2004-04-30 2006-01-10 Egemin Nv Automatisch geleid voertuig met verbeterde navigatie.
ES2254025B1 (es) * 2004-11-25 2007-07-01 SATOR & FATA, S.L. Sistema de localizacion por video para transporte.
WO2006065563A2 (en) 2004-12-14 2006-06-22 Sky-Trax Incorporated Method and apparatus for determining position and rotational orientation of an object
DE102005006554B4 (de) 2005-02-12 2019-03-07 Sew-Eurodrive Gmbh & Co Kg Verfahren zum Betreiben einer Anlage und fahrerloses Transportsystem
WO2007033273A2 (en) * 2005-09-13 2007-03-22 Romer Incorporated Vehicle comprising an articulator of a coordinate measuring machine
US8381982B2 (en) 2005-12-03 2013-02-26 Sky-Trax, Inc. Method and apparatus for managing and controlling manned and automated utility vehicles
US20070131754A1 (en) * 2005-12-12 2007-06-14 Brandon Frank L Method and system of collecting data using unmanned vehicles having releasable data storage devices
US8204643B2 (en) * 2006-03-31 2012-06-19 Murata Kikai Kabushiki Kaisha Estimation device, estimation method and estimation program for position of mobile unit
US7873469B2 (en) * 2006-06-19 2011-01-18 Kiva Systems, Inc. System and method for managing mobile drive units
US8432449B2 (en) * 2007-08-13 2013-04-30 Fuji Xerox Co., Ltd. Hidden markov model for camera handoff
US8554475B2 (en) * 2007-10-01 2013-10-08 Mitac International Corporation Static and dynamic contours
US8210435B2 (en) 2008-01-14 2012-07-03 Sky-Trax, Inc. Optical position marker apparatus
US8565913B2 (en) 2008-02-01 2013-10-22 Sky-Trax, Inc. Apparatus and method for asset tracking
US8346468B2 (en) 2008-07-08 2013-01-01 Sky-Trax Incorporated Method and apparatus for collision avoidance
WO2010083259A2 (en) * 2009-01-13 2010-07-22 Meimadtek Ltd. Method and system for operating a self-propelled vehicle according to scene images
IT1394283B1 (it) * 2009-05-07 2012-06-06 Scuola Superiore Di Studi Universitari E Di Perfez Sistema robotico autonomo per l'esecuzione di task in ambienti urbani, non strutturati e/o parzialmente strutturati
JP5493097B2 (ja) * 2010-04-06 2014-05-14 株式会社国際電気通信基礎技術研究所 ロボット自己位置同定システム
US8831878B2 (en) * 2010-09-13 2014-09-09 Systec Conveyors, Inc. Ground location of work truck
US9014971B2 (en) * 2010-09-13 2015-04-21 Systec Corporation Ground location of work truck
DE102011100281B4 (de) 2011-04-29 2022-11-24 Christian Vorwerk Unbemanntes Transportfahrzeug, Transportsystem und Verfahren
TWI439404B (zh) * 2011-12-15 2014-06-01 Ind Tech Res Inst 自動搬運車導引系統及自動搬運車導引方法
JP5761238B2 (ja) * 2013-03-15 2015-08-12 株式会社安川電機 ロボットシステム及び被作業物の製造方法
DK3067770T3 (en) * 2013-11-07 2019-04-23 Fuji Corp Automatic driving system and automatic driving machine
US20150128717A1 (en) * 2013-11-13 2015-05-14 Gary J. May Automated dynamic laser bond inspection system
US20150293533A1 (en) * 2014-04-13 2015-10-15 Bobsweep Inc. Scanned Code Instruction and Confinement Sytem for Mobile Electronic Devices
US9152149B1 (en) * 2014-06-06 2015-10-06 Amazon Technologies, Inc. Fiducial markers with a small set of values
US9494934B2 (en) 2014-06-06 2016-11-15 Amazon Technologies, Inc. Robotic communication with fiber-optics
US9878398B2 (en) 2014-11-13 2018-01-30 Lsp Technologies, Inc. Automated dynamic laser peening system
EP3040508B1 (de) * 2014-12-29 2021-07-28 Sandvik Mining and Construction Oy Zonendurchgangskontrolle an Arbeitsplatz
WO2016106715A1 (en) * 2014-12-31 2016-07-07 SZ DJI Technology Co., Ltd. Selective processing of sensor data
US9904283B2 (en) * 2016-03-08 2018-02-27 Fuji Xerox Co., Ltd. Systems and methods employing coded light to dock aerial drones, self-driving cars and surface robots
US10318836B2 (en) * 2016-03-22 2019-06-11 Sensormatic Electronics, LLC System and method for designating surveillance camera regions of interest
US11216847B2 (en) 2016-03-22 2022-01-04 Sensormatic Electronics, LLC System and method for retail customer tracking in surveillance camera network
US10665071B2 (en) 2016-03-22 2020-05-26 Sensormatic Electronics, LLC System and method for deadzone detection in surveillance camera network
US10192414B2 (en) * 2016-03-22 2019-01-29 Sensormatic Electronics, LLC System and method for overlap detection in surveillance camera network
US11601583B2 (en) 2016-03-22 2023-03-07 Johnson Controls Tyco IP Holdings LLP System and method for controlling surveillance cameras
US10764539B2 (en) 2016-03-22 2020-09-01 Sensormatic Electronics, LLC System and method for using mobile device of zone and correlated motion detection
US10347102B2 (en) 2016-03-22 2019-07-09 Sensormatic Electronics, LLC Method and system for surveillance camera arbitration of uplink consumption
US10733231B2 (en) 2016-03-22 2020-08-04 Sensormatic Electronics, LLC Method and system for modeling image of interest to users
US10475315B2 (en) 2016-03-22 2019-11-12 Sensormatic Electronics, LLC System and method for configuring surveillance cameras using mobile computing devices
US9965680B2 (en) 2016-03-22 2018-05-08 Sensormatic Electronics, LLC Method and system for conveying data from monitored scene via surveillance cameras
US20180018880A1 (en) * 2016-07-12 2018-01-18 Caterpillar Inc. System and method for worksite route management
CN109564430B (zh) * 2016-07-29 2022-07-12 日本电产株式会社 移动体引导系统、移动体、引导装置以及计算机程序
CA3026002C (en) * 2016-09-06 2021-04-20 Advanced Intelligent Systems Inc. Mobile work station for transporting a plurality of articles
DE102017102256A1 (de) * 2016-11-14 2018-05-17 Osram Oled Gmbh Vorrichtung, referenzobjekt für eine vorrichtung und verfahren zum betreiben einer vorrichtung zum ermitteln einer vorgegebenen information eines objektes entlang einer transportstrecke
CN107284544A (zh) * 2017-07-30 2017-10-24 福州大学 一种多功能的通用移动机器人底盘及其应用方法
US20190057715A1 (en) * 2017-08-15 2019-02-21 Pointr Data Inc. Deep neural network of multiple audio streams for location determination and environment monitoring
US10387727B2 (en) 2017-09-13 2019-08-20 Wing Aviation Llc Backup navigation system for unmanned aerial vehicles
CN107844117B (zh) * 2017-10-23 2020-10-30 上海木木聚枞机器人科技有限公司 一种基于云端的道路锁定系统及方法
CN109129463B (zh) * 2018-07-06 2020-10-16 华中科技大学 一种基于视觉的移动机械臂末端定位装置及方法
CN109213156A (zh) * 2018-08-27 2019-01-15 芜湖智久机器人有限公司 一种用于agv小车的全局引导系统及其方法
CN109591051B (zh) * 2018-12-06 2021-08-10 英华达(上海)科技有限公司 复合机器人作业精度补偿方法、系统及存储介质
DE102019208577A1 (de) * 2019-03-29 2020-10-01 Robert Bosch Gmbh Verfahren zum Betrieb eines Spurführungssystems und hierfür eingerichtetes Doppelbodenelement
US11661750B2 (en) * 2019-03-29 2023-05-30 Robert Bosch Gmbh Method for operating a track guidance system and raised floor element configured for this purpose
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
CN111026125B (zh) * 2019-12-26 2023-10-10 上海信耀电子有限公司 一种自动导航小车自动纠偏方法
CN111624995B (zh) * 2020-05-09 2023-02-28 太仓臻溢科技有限公司 移动机器人高精度导航定位的方法
CN111504270A (zh) * 2020-06-16 2020-08-07 常州市盈能电气有限公司 一种机器人定位装置
CN112859831B (zh) * 2020-07-07 2022-10-04 陈凤阳 一种基于可见激光铺设路径的agv行走引导系统及其方法
CN113310492B (zh) * 2021-05-27 2023-04-14 青岛星华智能装备有限公司 一种基于a星算法的单舵轮agv路径规划方法和系统
CN113870602B (zh) * 2021-09-28 2022-07-29 湖南大学 一种多agv泊车调度的方法和系统
CN114253290B (zh) * 2021-12-15 2024-03-19 成都飞机工业(集团)有限责任公司 一种飞机部件运输车自动循迹和精确定位的方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5764818A (en) * 1980-10-08 1982-04-20 Toshihiro Tsumura Steering signal generator of traveling object
JPS6089213A (ja) * 1983-10-19 1985-05-20 Komatsu Ltd 無人走行車の位置および方向の検出方法
JPS613210A (ja) * 1984-06-18 1986-01-09 Mitsubishi Heavy Ind Ltd 物流システムにおける移送用台車の合流点制御方法
JPS61134812A (ja) * 1984-12-05 1986-06-21 Ishikawajima Kensa Keisoku Kk 自走車の走行制御方法
JPS61183716A (ja) * 1985-02-08 1986-08-16 Hitachi Ltd 誘導装置
SE448407B (sv) * 1985-08-22 1987-02-16 Tellus Carrago Ab Navigationssystem
US4750123A (en) * 1985-08-30 1988-06-07 Texas Instruments Incorporated Method for predicting tracking cameras for free-roaming mobile robots
DE3686379T2 (de) * 1985-08-30 1993-03-11 Texas Instruments Inc Regler fuer ein ferngesteuertes fahrzeug unter verwendung der verzoegerten absoluten positionsdaten fuer lenkung und navigation.
AU7484287A (en) * 1986-11-28 1988-06-16 Denning Mobile Robotics Inc. Node map system and method for vehicle

Also Published As

Publication number Publication date
EP0367526A2 (de) 1990-05-09
EP0367526B1 (de) 1996-01-31
JP2791140B2 (ja) 1998-08-27
US4940925A (en) 1990-07-10
EP0367526A3 (en) 1990-06-06
JPH02244306A (ja) 1990-09-28
DE68925558D1 (de) 1996-03-14

Similar Documents

Publication Publication Date Title
DE68925558T2 (de) Rückgekoppeltes Navigationssystem für mobile Roboter
DE60011674T2 (de) Autonomes mehrplattform robotersystem
DE68919542T2 (de) System zur Anzeige der momentanen Position eines sich bewegenden Objektes.
EP3250443B1 (de) Valet parking-verfahren und valet-parking system
DE68928565T2 (de) Methode zur Steuerung der Bewegungen eines mobilen Roboters in einer Fabrik mit mehreren Kurs-Knotenpunkten
DE3686301T2 (de) Eigensichere bremse fuer ein mehrraedriges fahrzeug mit motorgesteuerter lenkung.
DE69812673T2 (de) Verfahren und geraet zur zuweisung von anonymen reflektoren zur erkannten winkelposition
DE3686379T2 (de) Regler fuer ein ferngesteuertes fahrzeug unter verwendung der verzoegerten absoluten positionsdaten fuer lenkung und navigation.
DE3787003T2 (de) Lenkvorrichtung für sich unbemannt bewegende körper.
DE102015203016B4 (de) Verfahren und Vorrichtung zur optischen Selbstlokalisation eines Kraftfahrzeugs in einem Umfeld
DE102021115630A1 (de) Verfahren zum Betreiben einer mobilen Vorrichtung
DE102015201317A1 (de) Vermessen einer Abmessung auf einer Oberfläche
EP3581886B1 (de) Verfahren und vorrichtung zum bestimmen einer position eines kraftfahrzeugs
DE3741259A1 (de) Verfahren und vorrichtung zur autonomen steuerung eines fahrzeuges
DE4013168A1 (de) Fahrsteuerverfahren, fahrsteuereinrichtung, und mobiler roboter fuer ein mobilrobotersystem
DE102020211017B3 (de) Zuordnung von Ampeln zu zugehörigen Fahrspuren
DE102006054083A1 (de) Verfahren und Navigationssystem zum Navigieren eines Transportmittels für Waren, deren Anwendungen und Verwendungen sowie Computerprogramm und Datenspeichermedium
DE112018006048T5 (de) Bildverarbeitungsvorrichtung, steuersystem für einen mobilen roboter und steuerverfahren für einen mobilen roboter
DE4305022A1 (de) Führungs-Steuersystem für ein sich bewegendes Fahrzeug
DE102021212648A1 (de) Routensuchsystem und -verfahren für autonomes Parken anhand eines kognitiven Sensors
DE102018009114A1 (de) Verfahren zur Bestimmung der Position eines auf einer Verfahrfläche bewegbaren Mobilteils und Anlage mit Mobilteil zur Durchführung des Verfahrens
DE102020105334A1 (de) Verfahren für ein Steuern eines fahrerlosen Transportfahrzeugs und Steuerungssystem, das angepasst ist, um das Verfahren auszuführen
EP3482622B1 (de) Verfahren zur automatischen führung eines fahrzeugs entlang eines virtuellen schienensystems
EP0261450B1 (de) Leitsystem für den Individualverkehr
DE102022214021A1 (de) Verwaltungsverfahren für mobiles objekt, steuerverfahren für mobiles objekt, mobiles objekt, und computerprogramm

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee