-
Die vorliegende Erfindung betrifft
Robotersysteme und insbesondere ein bewegliches Robotersystem, das
sich über
eine Oberfläche
bewegen und die Oberfläche
behandeln kann.
-
Herkömmliche Robotersysteme oder
Roboter dieses Typs können
als halbselbstständig
beschrieben werden, d. h. sie werden selbstständig angetrieben, sie sind
jedoch für
die Navigationsführung auf
Sender, Empfänger
und Sensoren angewiesen, um ein Koordinatensystem herzustellen,
durch das der Roboter navigiert, wobei er die Lage von Hindernissen
in seinem Bewegungsfeld lernt. Kürzlich
ist vorgeschlagen worden, einem Roboter zu ermöglichen, sich ohne Aufstellen
eines Koordinatensystems zu bewegen, anstatt auf das Erfassen von
aktuellen Reizen angewiesen zu sein, um den Roboter zu befähigen, um
Hindernisse zu navigieren. Es ist z. B. vorgeschlagen worden, einen
Roboter-Staubsauger zu
schaffen, der nach diesen Vorgaben arbeitet. Selbst navigierende
Robotersysteme dieses Typs werden als selbstständige Roboter bezeichnet.
-
Roboter dieses Typs sind jedoch häufig für einen
Betrieb in einer privaten Umgebung vorgesehen, benötigen ein
Steuerungssystem, das eine sichere Bewegung des Roboters in seiner
Umgebung ermöglichen
kann, und benötigen
deswegen eine Art Kollisionserfassungssystem, das in der Lage ist,
Informationen über
Kollisionen oder drohende Kollisionen an ein Steuerungssystem zu
liefern, das sehr schnell reagieren kann, um die Kollision zu verhindern
oder andernfalls den Aufprall minimal zu machen, und eine Kollisionsvermeidung
durch Neuorientierung des Roboters vor einer weiteren Bewegung auszuführen. Leider
ist die eingebaute Verarbeitungsleistung insbesondere durch Kostenbeschränkungen
unvermeidlich begrenzt und deswegen besitzen gegenwärtige Systeme
zur Vermeidung unangemessener Kosten verhältnismäßig begrenzte Navigationsfähigkeiten,
die im Gebrauch zur Folge haben, dass der Roboter einen Weg abfährt, der
das mehrfache Passieren der gleichen Bereiche auf der Oberfläche beinhaltet.
Während
das z. B. bei einem Staubsauger möglicherweise nicht problematisch
ist, kann eine derartige redundante Bewegung dann, wenn der Roboter
die Funktion zur Behandlung der Oberfläche auf andere Art besitzt,
zu einer Überbehandlung
der Oberfläche
führen,
die nicht nur das für die
Behandlung verwendete Produkt verschwendet (ein ernsthaftes Problem,
wenn die Nutzlast begrenzt ist), sondern außerdem die Oberfläche beschädigen oder
in anderer Weise tatsächlich
gefährlich
sein kann.
-
Die vorliegende Erfindung zielt darauf,
einen Roboter mit Eigenantrieb zu schaffen, der derartige Probleme überwinden
kann.
-
DE-A-3 536 974 (D1) beschreibt einen
Roboter, der Streifen aus einer Flüssigkeit oder aus einem pulverförmigen Feststoff
ablegt, wobei die Streifen anschließend als eine "Führungsbahn" für
die Maschine wirken. Der Roboter von US-A-5.613.261 ist außerdem so
beschaffen, dass er sich längs
im Allgemeinen paralleler Arbeitslinien bewegt. In diesem Fall legt
der Roboter den Verschmutzungsgrad des Bodens anhand des Reflexionsvermögens der
Oberfläche
fest, wobei er dann entweder Bereiche der Oberfläche, die als sauber betrachtet
werden, überquert
oder Bereiche der Oberfläche,
die als verschmutzt betrachtet werden, reinigt.
-
Gemäß der vorliegenden Erfindung
wird ein selbstständiger
Roboter mit Eigenantrieb geschaffen, der sich über eine zu behandelnde Oberfläche bewegen
kann, wobei der Roboter umfasst:
eine Leistungsversorgung;
einen
Fortbewegungsmechanismus, der Leistung von der Leistungsversorgung
empfängt
und den Roboter über
die Oberfläche
bewegt;
einen Mechanismus, der auf der Oberfläche ein
flüssiges
Material steuerbar ablagert;
mehrere Navigationssensoren, die
Signale bereitstellen, um den Roboter in die Lage zu versetzen, über die
Oberfläche
zu navigieren;
einen oder mehrere Detektoren, die das Vorhandensein
des Materials auf der Oberfläche
erfassen und Signale, die dies angeben, bereitstellen können; und
ein
Steuersystem, das die Signale von den Sensoren und von den Detektoren
empfängt
und den Fortbewegungsmechanismus und den Ablagerungsmechanismus
in Abhängigkeit
von den von den Sensoren und den Detektoren empfangenen Signalen
steuert. Das Steuersystem arbeitet in der Weise, dass es die Ablagerung
des flüssigen
Materials durch eine Kombination von Strategien steuert, die eine
Navigationsstrategie und eine Ablagerungsraten-Steuerstrategie umfassen,
die nachfolgend beschrieben werden.
-
Durch das Erfassen der Ablagerung
des flüssigen
Materials, das ein flüssiges oder
gasförmiges Fluid
oder andernfalls ein fließfähiges Pulver
sein kann, kann die übermäßige Ablagerung
von Material vermieden oder minimal gemacht werden, entweder indem
der Roboter um bereits behandelte Bereiche navigiert wird und/oder
indem der Ablagerungsmechanismus so gesteuert wird, dass die Ablagerung von
Material über
derartigen bereits behandelten Bereichen angehalten wird.
-
Das Material für die Behandlung ist vorzugsweise
in einem Vorratsbehälter
an dem Roboter enthalten und kann ein geeignetes Mittel für die Behandlung
von Fußböden, Teppichen
oder anderen Bodenbelägen
umfassen. Der Roboter kann bei Bedarf außerdem Mittel zum Reinigen
des Bodens oder der Bodenbeläge
vor der Behandlung, z. B. in Form einer Unterdruckreinigungsvorrichtung
enthalten.
-
Ein Verfahren zum Behandeln einer
Oberfläche
unter Verwendung eines Roboters in der oben beschriebenen Weise
wird außerdem
beschrieben. Das Behandlungsverfahren kann für verschiedene Anwendungen
auf Teppichen und anderen Bodenbelägen verwendet werden, wie etwa
Reinigen, Schutzbehandlung z. B. für der Schutz gegen Ablagerungen und
Schmutz, Brandschutz, UV-Schutz,
Abnutzungsschutz, Schutz gegen Staubmilben, Antimikrobenbehandlung
und dergleichen, sowie eine Behandlung, um einen ästhetischen
Nutzen zu erzielen, wie etwa eine Odorisierung/Desodorierung. Das
Behandlungsverfahren kann außerdem
auf anderen Oberflächen,
wie etwa synthetischen Bodenbelägen,
Keramik oder Holz, eine Anwendung finden. Neben dem Polieren von
harten Oberflächen
kann der Roboter außerdem
verwendet werden, um Beschichtungen aufzubringen, die entweder die Ästhetik
verbessern oder als eine Schutzschicht wirken.
-
Somit wird ein Verfahren zum gesteuerten Ablagern
eines flüssigen
Materials auf Böden,
Teppichen und anderen Bodenbelägen
unter Verwendung des selbstständigen
Roboters mit Eigenantrieb, der Ablagerungen erfasst, geschaffen.
Das abgelagerte Material kann z. B. ein Teppichreinigungsmittel,
ein Mittel zum Reinigen harter Oberflächen oder eines von mehreren
Mitteln sein, die gleichzeitig oder nacheinander aufgebracht werden,
und kann einen Markierungsstoff enthalten, dessen Vorhandensein
erfasst werden kann, um eine Erfassung des Umfangs der Ablagerung
des Behandlungsmaterials zu schaffen. Ein derartiger Markierungsstoff
kann eine begrenzte Lebensdauer von z. B. 12, 24 oder 48 Stunden
besitzen.
-
Durch den erfindungsgemäßen Roboter kann
außerdem
eine unsichtbare Behandlung geschaffen werden, z. B. zur Duftsteuerung
oder zur antibakteriellen Wirkung gegen Staubmilben.
-
Der Roboter umfasst mehrere Navigationssensoren,
die Signale bereitstellen, um den Roboter in die Lage zu versetzen, über die
Oberfläche
zu navigieren, und einen oder mehrere Detektoren, die das Vorhandensein
des Materials auf der Oberfläche
erfassen und Signale, die dies angeben, bereitstellen können. Die
Navigationssensoren können
einen oder mehrere Kollisionssensoren und/oder Annäherungssensoren
enthalten. Die Kollisionssensoren können einen oder mehrere Querverlagerungssensoren,
die an einem Umfangssensorring angeordnet sind, um eine Kollisionserfassung
zu schaffen, und/oder einen oder mehrere Vertikalverlagerungssensoren
enthalten.
-
Die Verwendung einer im Allgemeinen
kreisförmigen
Form gemeinsam mit einem Steuerungsregime, das nach der besten Fluchtrichtung
abtastet, nachdem der Roboter (z. B. in einer Ecke) blockiert wurde,
ist besonders vorteilhaft. Es kann außerdem vorteilhaft sein, den
Winkel jeder Kollision zu erfassen, um den nachfolgenden Bewegungswinkel
des Roboters weg von dem Hindernis zu optimieren.
-
Der Fortbewegungsmechanismus enthält vorzugsweise
linke und rechte, koaxial angebrachte Antriebsräder mit entsprechenden Antriebsmotoren, die
vorzugsweise mit impulsbreitenmodulierten Antriebssignalen versorgt
werden.
-
Zum Ablagern von Material auf der
Oberfläche
kann sich eine Anordnung von Abgabeöffnungen, z. B. Sprühdüsen, im
Allgemeinen parallel mit der Antriebsradachse erstrecken, die sich
vorzugsweise in dem gleichen Umfang wie die Ablagerungsdetektoren
seitlich erstreckt.
-
Die Detektoren können einen oder mehrere Sensoren
umfassen, die so angeordnet sind, dass sie die Kante eines Abschnitts
eines zuvor abgelagerten Produkts erfassen. Geeignete Ablagerungsdetektoren
enthalten eine oder mehrere Strahlungsquellen und/oder -detektoren,
Feuchtigkeitsdetektoren, Reflexionsvermögenmesser, Leitfähigkeitsmesser
usw. Detektoren können
seitlich von den Antriebsrädern
und vorzugsweise vor diesen angeordnet sein.
-
Der Roboter umfasst ferner ein Steuersystem,
das die Ablagerung des Materials in Abhängigkeit von den von dem einen
oder von den mehreren Detektoren und Sensoren empfangenen Signalen steuert.
Das Steuersystem arbeitet, um die Ablagerung des Materials (z. B.
um eine übermäßige Ablagerung
zu vermeiden oder minimal zu machen) durch eine Kombination von
Strategien zu steuern, die umfassen a) das Navigieren des Roboters
um bereits behandelte Bereiche der Oberfläche (was hier nachfolgend als "Navigationsstrategie" bezeichnet wird); und
b) das Steuern des Ablagerungsmechanismus in der Weise, dass er
die Ablagerung des flüssigen
Materials auf der Oberfläche
anhält
oder verringert, wenn sich der Roboter über solche bereits behandelte
Bereiche bewegt (was hier nachfolgend als "Ablagerungsraten-Steuerstrategie" bezeichnet wird).
In der Praxis entscheidet das Steuersystem zwischen den beiden Strategien
in Abhängigkeit
von den von den Navigationssensoren und Ablagerungsdetektoren empfangenen
Signalen. Die Fähigkeit
des Steuersystems, zwischen den beiden Strategien zu entscheiden,
um z. B. eine rasche Entscheidung zu treffen, ob Bereiche überquert
werden oder um bereits behandelte Bereiche navigiert wird und die
Ablagerung dementsprechend beibehalten, verringert oder angehalten
wird, ist ein wichtiges Merkmal zum Sicherstellen einer gesteuerten
Ablagerung im Kontext eines vollständig selbstständigen Roboters,
der geschaffen wurde, um in der ungeordneten, nicht strukturierten
Umgebung ohne Führungsschienen
betrieben zu werden, die typischerweise in Wohnungen und Behörden angetroffen
wird.
-
Das Steuersystem besitzt vorzugsweise
eine hierarchische Architektur und enthält einen oder mehrere Mikroprozessor-Controller
oder Mikrocontroller zur Steuerung Funktionen höherer Ebene und zum Bereitstellen
Befehle höherer
Ebene und mehrerer Funktionsmodule niedrigerer Ebene, die geeignet sind,
Signale von den Sensoren und Detektoren zu empfangen und in Reaktion
darauf Steuersignale bereitzustellen. Die Steuersignale des Fortbewegungsmechanismus
und für
die Produktabgabe werden vorzugsweise an einen Fortbewegungsmechanismus-Controller
und an einen Produktabgabe-Controller über einen Verteiler oder einen
Bus ausgegeben, der so beschaffen ist, dass er Signaleingänge von
dem Mikroprozessor und mehreren Unter-Prozessoren empfängt, wovon
jeder einem entsprechenden Navigationssensor oder dergleichen entspricht. Dadurch
kann ein verteiltes Verarbeitungssystem verwendet wer den, um einen
hohen Grad der Flexibilität
bei der Steuerstrategie zu schaffen, während eine einfache Verbindung
zwischen den Unter-Prozessoren ermöglicht ist, um dadurch die
Komplexität und
die Kosten des Steuersystems zu verringern. Die verschiedenen Prozessoren
enthalten vorzugsweise eine Funktionalität eines neuronalen Netzes,
um Verhaltenseigenschaften bereitzustellen, die für die gewählte Aufgabe
des Roboters geeignet sind, wobei die Verhaltenseigenschaften der
Prozessoren vorzugsweise durch eine Gruppe generischer Moderatoren
moderiert werden, die eine notwendige Entscheidung zwischen den
Steuerbefehlen von den verschiedenen Prozessoren bereitstellen.
Die Funktionen höherer
Ebene enthalten vorzugsweise eine oder mehrere Funktionen, die aus
der Bestimmung, dass der Roboter blockiert ist, der Raumgrößenabschätzung, der
Bestimmung des Störsignalpegels und
der Batterieüberwachung
ausgewählt
sind. Module niedrigerer Ebene sind vorzugsweise analoge neuronale
Netze, die z. B. Kantenverfolgungs- und Abgabesteuerungsfunktionen
vorzugsweise gemeinsam mit Klippenerfassungs-, Kollisionserfassungs-, Geschwindigkeitsverringerungs-
und Zufallsbewegungsfunktionen bereitstellen.
-
Ein Beispiel eines Roboters mit Eigenantrieb,
der gemäß der vorliegenden
Erfindung aufgebaut ist, und sein Betriebsverfahren werden nun unter
Bezugnahme auf die beigefügte
Zeichnung beschrieben, in der:
-
1 eine
Unteransicht des Roboters ist;
-
2 ein
Funktionsplan des Roboters ist; und
-
die 3A–C Aspekte des neuronalen Netzes eines Teils
des Steuersystems des Roboters veranschaulichen.
-
Aus 1 ist
ersichtlich, dass der Roboter der vorliegenden Erfindung in einer
Gesamtdraufsicht im Wesentlichen kreisförmig ist. Ein einfaches plattenähnliches
Fahrgestell 1 trägt
sowohl die mechanischen als auch die elektrischen Komponenten des
Roboters. Das plattenähnliche
Fahrgestell 1 trägt den
Körper 2 des
Roboters auf elastischen Gummihalterungen 3, die eine Bewegung
des Körpers
relativ zu dem Fahrgestell ermöglichen,
wenn eine Kraft, z. B. durch eine Kollision mit einem Objekt, auf
einen Sensorring 20, der um den Umfang des Körpers angeordnet
ist, ausgeübt
wird. Vier Verlagerungssensoren 4, die in 90°-Intervallen
um den Roboter angebracht sind, messen die Seitenverlagerung des
Körpers 2 relativ
zu dem Fahrgestell 1 und informieren das Steuersystem über den
Kontakt mit einem externen Objekt. Die Verlagerungssensoren 4 basieren auf
Vorrichtungen des linearen Hall-Effekts, die eine Spannung erzeugen,
die der Stärke
des Magnetfelds, in das sie eingetaucht sind, proportional ist.
Jeder Sensor enthält
einen kleinen Permanentmagneten, der an dem Körperhüllen-Unterstützungsring 20 angebracht
ist, und eine Hall-Effekt-Vorrichtung, die an dem Hauptchassis 1 angebracht
ist. Wenn sich der Körper
relativ zu dem Chassis bewegt (was während einer Kollision vorkommt), ändert sich
die von der Hall-Effekt-Vorrichtung erzeugte Spannung und kann verwendet
werden, um dem Steuersystem anzuzeigen, dass ein Objekt getroffen
wurde. Durch Überprüfen aller
Signale von allen vier Sensoren können der Winkel und die Stärke der
Kollision abgeleitet werden. Diese Sensoren ermöglichen, dass Verlagerungen
in der Größenordnung
von 0,1 mm zuverlässig
erfasst werden können.
Ein fünfter
Sensor 18 des gleichen Typs wie die Verlagerungssensoren 4 misst die
vertikale Verlagerung der Körperhülle, um
durch Objekte erzeugte Kräfte
aufzunehmen, die ausreichend groß sind, um eine seitliche Körperbewegung zu
bewirken. In einem alternativen Aufbau können diese Sensoren durch einen
einzigen kundenspezifischen eingebauten Sensor ersetzt sein, der
eine seitliche und eine vertikale Verlagerung gleichzeitig messen
kann. Ein solcher integrierter Sensor kann ein optischer Sensor
sein, der eine Anordnung von Photodetektoren, die auf dem Fahrgestell
angebracht sind, und eine Lichtquelle, die auf dem Körperunterstützungsring
angebracht ist, verwendet.
-
Ein einzelner, nach vorne weisender
Fahrzeit-Ultraschallsensor 13 ist an der Vorderseite des Roboters
angebracht und wird verwendet, damit der Roboter mehr Informationen
in Bezug auf seine Umgebung erlangen kann als das lediglich durch
die Verlagerungssensoren 4 möglich ist. Dieser Ultraschallsensor 13 basiert
auf einer sonarbetriebenen Vermessungsvorrichtung mit einem Polaroid®-Vermessungsmodul
der Polaroid-Serie 6500, Polaroid-Referenznummer 615077, deren Daten
durch eine spezielle Einheit 5, auf welcher der Sensor
angeordnet ist, vorverarbeitet werden. Eine Ultraschallsensoreinheit 5,
die den eigentlichen Ultraschallsensor 13 enthält, und
eine geeignete elektronische Schnittstelle sind auf dem Körper angebracht,
um Nahbereichsinformationen an das Steuersystem des Roboters bereitzustellen.
-
Linke und rechte Motoren 6, 7 sind
vorgesehen, um entsprechende linke bzw. rechte Räder 8, 9, die
jeweils einen weichen Gummireifen aufweisen, über ein integriertes Untersetzungsgetriebe
anzutreiben, um den Roboter mit Bewegungsenergie zu versorgen. Eine
einzelne Schwenkrolle 10, die an der Rückseite des Roboters angebracht
ist, vervollständigt
das Antriebs/Bewegungssystem und ermöglicht dem Fahrgestell, sich
vor und zurück
zu bewegen und auf der Stelle zu drehen. Eine Änderung der Drehzahl der linken
und rechten Motoren 6, 7 ermöglicht, dass der Roboter in
jede Richtung gelenkt wird. Die Drehzahl der Motoren wird gesteuert,
indem die an die Motoren angelegte Spannung impulsbreitenmoduliert
wird. Das schließt
das sehr schnelle Ein- und Ausschalten des Motorstroms (100000 mal
pro Sekunde) und das Verändern
des Tastverhältnisses zwischen
eingeschaltetem und ausgeschaltetem Zustand ein. Das ist eine sehr
wirkungsvolle Art, die an die Motoren gelieferte Leistung und somit
ihre Drehzahl zu steuern.
-
Leistung für den Roboter, einschließlich für die Motoren 6, 7 und
das Steuersystem wird von einem Batteriepack 11, der an
dem Fahrgestell angebracht ist, bereitgestellt. Um die Komponenten
des Roboters gegen Diebstahl und vor Beschädigung zu schützen, ist
an dem Körper 2 eine
(nicht gezeigte) Abdeckung oder ein Gehäuse befestigt, um die Roboterkomponenten
aufzunehmen. In der bevorzugten Ausführungsform besitzt dieses Gehäuse eine kugelabschnittförmige oder
kuppelähnliche
Form.
-
Eine Reihe von Sprühdüsen 16 und
eine Pumpe 15 (in 1 nicht
gezeigt) schaffen ein Mittel zum Abgeben von Behandlungsfluid auf
die zu behandelnde Oberfläche
und Detektoren 14, 15, 17 sind vorgesehen,
um das Vorhandensein des Behandlungsfluids (oder eines geeigneten
zusätzlichen Markierungsfluids)
zu erfassen. Die drei Sensoreinheiten 14, 15, 17,
wovon jeweils eine Einheit vor jedem der Antriebsräder und
die dritte Einheit 17 mittig angeordnet sind, senden Licht
bei einer Wellenlänge aus,
die einen fluoreszierenden Farbstoff in dem zu erfassenden Produkt
anregt. Diese Sensoren enthalten ein Paar lichtempfindliche Vorrichtungen,
die unter einem Winkel von 90° zur
Bewegungsrichtung des Roboters und um 20 mm voneinander beabstandet angeordnet
sind und von dem fluoreszierenden Farbstoff erzeugtes Licht erfassen
können.
Durch Prüfen der
Intensität
des Lichts, das durch diese Vorrichtungen erfasst wird, kann die
Kante eines Abschnitts eines bereits abgelagerten Produkts erfasst
und somit verfolgt werden. Bei einem alternativen Aufbau leiten die
drei Sensoreinheiten 14, 15, 17 einen
kleinen elektrischen Strom durch die Bodenbeläge mit Hilfe einer Anordnung
aus Kontakten aus rostfreiem Stahl, die ge eignet sind, über die
den Boden bedeckende Oberfläche
zu gleiten. Die Leitfähigkeit
des Bodenbelags schwankt in Abhängigkeit
davon, ob er kürzlich mit
dem Produkt besprüht
wurde oder nicht. Durch Prüfen
der Leitfähigkeit
des Bodenbelags kann die Kante des bereits abgelagerten Produkts
erfasst und somit verfolgt werden.
-
Bei einem alternativen Aufbau, bei
dem ein Fluid an eine Kante oder Ecke abgegeben werden soll, ist
die Positionierung des Sprühnebels
modifiziert. Die Modifikation ist derart, dass der Sprühnebel an
der Kante des Roboters oder darüber
hinaus abgegeben werden kann, entweder indem z. B. Düsen am äußersten
Umfang der Unterseite positioniert werden, oder durch zusätzliche
Düsen,
die von dem Gehäuse
vorstehen und so gerichtet sind, dass sie über den Umfang des Roboters
hinaus sprühen.
-
Das Steuersystem des Roboters umfasst verschiedene
Leiterplatten und Komponenten, die in 1 nicht
im Einzelnen gezeigt sind, die jedoch in 1 durch das Bezugszeichen 12 allgemein
angegeben sind.
-
Das Steuersystem wird nun genauer
beschrieben.
-
Zwei Zwecke des Steuersystem eines selbstständigen mobilen
Roboters, wie etwa der Zweck des Beispiels, bestehen darin, dass
sich der Roboter in einer physikalischen Umgebung sicher bewegen
kann und in der Lage ist, nützliche
Aufgaben zu erfüllen.
Dazu muss sich der Roboter seiner unmittelbaren Umgebung bewusst
sein und muss in der Lage sein, auf bestimmte Umstände auf
bestimmte Arten zu reagieren. Ein Roboter, der für eine uneingeschränkte häusliche
Umgebung vorgesehen ist, muss bestimmte Grundfertigkeiten aufweisen, wie
etwa eine Fertigkeit zur Kollisionserfassung, die bewirken könnten, dass
er bei der Kollision mit einem Objekt anhält und dann eine ausweichende
Aktion ausführt,
bevor seine vorherige Aktivität
wieder aufnimmt.
-
Bei der Kollisionserfassung werden
die Sensoren 4, 18, 13, die das Anstoßen an Objekte
und die Nähe
zu Objekten erfassen, das Steuersystem über den Winkel des Anstoßes und über seine
Kraft informieren. Das Steuersystem muss auf diesen Reiz sehr schnell
reagieren und jede weitere Bewegung in diese Richtung verhindern.
Ein herkömmlicher
Lösungsansatz
dieses Problems würde
darin bestehen. dass ein Computer die Kollisionssensoren überwacht und
auf die Daten reagiert, um die Motoren anzuhalten, und dann eine
bestimmte Art von Ausweichmanöver
ausführt.
Das ist perfekt machbar, wenn jedoch der gleiche Computer gleichzeitig
andere Aufgaben ausführen
muss, wie etwa in dem vorliegenden Fall die Überwachung anderer Sensoren
und die Ausführung
von Navigationsberechnungen, wird schnell ein Punkt erreicht, an
dem die Geschwindigkeit und die Leistung des Computers, der sich
an Bord befinden muss, unbezahlbar teuer wird, wenn die Reaktionszeiten
annehmbar sein müssen.
-
Die in der vorliegenden Erfindung
realisierte Alternative besteht darin, diskrete Module zu verwenden,
die Funktionen in einer Weise ausführen, die den Reflexen eines
biologischen Organismus analog ist. Der Vorteil dieses Systems ist
offensichtlich: Der Hauptprozessor kann lediglich Befehle höherer Ebene,
wie etwa für
eine Bewegung oder Drehung, ausgeben und ist davon befreit, andere
abstrakte Aufgaben auszuführen.
-
Diese Alternative ist eine Form der
hierarchisch verteilten Verarbeitung und ermöglicht, dass das Steuersystem
einzelne Module enthält,
die gemeinsam schnellere Reaktionszeiten erreichen als ein nicht
verteiltes System bei gleichen Kosten. Ein weiterer wesentlicher
Vorteil der verteilten Verarbeitung ist ihre inhärente Robustheit. Wenn ein
System, das eine herkömmliche
Einzelprozessorlösung
verwendet, einen Ausfall erleidet, bleibt das System möglicherweise
in einem unsicheren Zustand, wobei es dann möglich sein könnte, dass
ein Roboter mit Objekten oder Personen zusammenstößt. Die
verteilte Lösung
kann so beschaffen sein, dass eine viel größere Fehlertoleranz vorhanden
ist, wodurch das Auftreten eines vollständigen Systemausfalls viel
weniger wahrscheinlich wird.
-
Eine verteilte Verarbeitung kann
unter Verwendung herkömmlicher
Computer implementiert werden, die untereinander durch eine Form
eines Netzes verbunden sind, wobei dieser Aufbau und diese Implementierung
teuer sind. Die in der vorliegenden Erfindung verwendete Lösung besteht
darin, biologische neuronale Netze in einer realen analogen Hardware
zu simulieren, um ein System zu schaffen, das Verhaltensmodule enthält. die
zum Ausführen
individueller Aufgaben aufgebaut sind. Diese Verhaltensweisen werden
durch einen einfachen Mikrocontroller verwaltet. der Aufgaben höherer Ebene,
wie etwa mathematische Funktionen, ausführt, um eine Raumgröße abzuschätzen oder eine
Strategie für
einen Fluchtweg von einer Stelle unter einem Tisch zu entwickeln.
-
Das Steuersystem 100 wird
nun unter Bezugnahme auf die 2 und 3 beschrieben. 2 veranschaulicht die funktionelle
Beziehung zwischen den Komponenten des Steuersystems.
-
Die Verhaltenssteuerung, die bei
dem Roboter verwendet wird, kann in zwei Basistypen unterteilt werden,
die Verhaltensweisen höherer
Ebene und die Verhaltensweisen niedrigerer Ebene. Verhaltensweisen
höherer
Ebene sind in der Hardware als diskrete neuronale Blöcke oder
Module 101–105 implementiert,
während
Verhaltensweisen niedrigerer Ebene Software-Algorithmen sind, die
auf einem Mikrocontroller 106 ablaufen.
-
Die Funktionen der Verhaltensmodule
niedrigerer Ebene 101–105 werden
anschließend
genau beschrieben:
-
Klippe: Um zu verhindern, dass der
Roboter eine Treppe hinunter fällt,
ist er mit vier Klippendetektoren 21 ausgestattet, die
vor vertikalen Gefahren warnen und Signale an das Klippenverhaltensmodul 101 bereitstellen.
Die Klippendetektoren 21 sind aktive Infrarot-Näherungssensoren,
die eine modulierte Lichtquelle, die einen Strahl Infrarot-Licht
aussendet, der auf das Ziel gerichtet ist (in diesem Fall der Fußboden),
sowie einen Infrarot-Detektor, der die Intensität des reflektierten Lichts überwacht,
enthalten. Wenn der Sensor über
eine Klippe gerichtet ist, verringert sich die Intensität des reflektierten
Lichts und der Sensor informiert das Steuersystem über die
Gefahr. Diese Verhaltensfunktion besitzt sehr hohe Priorität und wenn
sie aktiv ist, wirkt sie, um den Roboter von der Gefahr weg zu manövrieren
und ihn auf einen Kurs zurück
zu bringen, der so modifiziert ist, dass das Stürzen von Klippen vermieden
wird.
-
Kantenverfolgung: Das Kantenverfolgungsmodul 104 schafft
eine Verhaltensfunktion, die Informationen von den Sensoren 14, 15, 17 verwendet, die
es dem Roboter ermöglichen.
die Kante eines bereits behandelten Bereichs zu finden (wie oben
beschrieben wurde) und sich längs
dieser Kante zu bewegen, um eine schnellere Abtastung der Bodenoberfläche zu erreichen.
-
Zufallsfuntion: Beim Fehlen von Kanten
bewegt sich der Roboter in einer willkürlichen Richtung unter der
Wirkung eines Zufallsbewegungsmoduls 114, bis es auf ein
Objekt trifft und das Kantenverfolgungsverhalten aktiviert wird.
-
Kollision: Das Kollisionserfassungsmodul 102 erhält eine
Eingabe von den Verlagerungssensoren 4, 18 und
wirkt so, dass der Roboter beim Aufreffen auf ein Hindernis anhält, eine
kurze Strecke zurück
fährt,
sich dann weg von dem Objekt in eine Richtung dreht, die von dem
Auftreffwinkel abhängt, der
aus den Signalen der Verlagerungssensoren 4, 18 bestimmt
wird.
-
Geschwindigkeitsreduzierung: Wenn
ein Objekt durch die Ultraschallsensor-Einheit 5 innerhalb einer voreingestellten
Bereichsgrenze erfasst wird, wird die Vorwärtsgeschwindigkeit des Roboters durch
das Geschwindigkeitsreduzierungsmodul 103 verringert, um
die Auftreffkraft minimal zu machen, die erzeugt wird, wenn der
Kontakt mit dem Objekt erfolgt.
-
Abgabe: Ein Abgabesteuerungsmodul 105 erhält Eingaben
von einem Fluidpegelsensor 203 und den Sensoren 14, 15, 17 über das
Kantenverfolgungsmodul 104. Wenn die UV-Sensoren 14, 15, 17 unbehandelten
Teppich in der Fahrrichtung melden, wird ein Behandlungschemikalie
abgegeben, bis behandelte Bereiche angetroffen werden oder der Fluidpegel
eine untere Grenze erreicht.
-
Verhaltensweisen höherer Ebene
sind in dem Mikrocontroller 106 festgelegt und umfassen
die folgenden Funktionsmodule:
-
Blockierung: Eine Routine 107 bestimmt,
ob innerhalb einer ausgewählten
Zeitperiode mehr als eine gewählte
Anzahl von Kollisionen erfolgt sind und bewirkt, dass der Roboter
anhält
und die Ultraschall-Bereichsfinder 5, 13 verwendet,
um den längsten
freien Weg zu finden und sich in diese Richtung zu bewegen. Der
Roboter dreht sich auf der Stelle, indem die Räder 8, 9 in
entgegengesetzte Richtungen betätigt
werden, während
er nach dem längsten
freien Weg sucht. Wenn die beste Richtung entdeckt wurde, bewegt
sich der Roboter weiter in diese Richtung.
-
Raumgrößenabschätzung: Unter Verwendung statistischer
Werte, die von dem Ultraschall-Sensor 13 erhalten werden,
und durch Messen der Zeit zwischen Kollisionen ist die Routine 108 in
der Lage, die Fläche
des Raums abzuschätzen. Diese
Angabe wird verwendet, um zu bestimmen, wie lange der Roboter braucht,
um einen bestimmten Raum zu behandeln.
-
Abschätzen des Störsignalpegels: Durch Vergleichen
der Abschätzungen
von Raumgröße mit den
Kollisionen pro Minute ist eine Routine 109 in der Lage,
einen Faktor abzuleiten, der die Komplexität des Raums beschreibt. Dieser
kann dann verwendet werden, um die Laufzeit zu modifizieren, um
sie dem Störsignalpegel
anzupassen.
-
Batterieüberwachung: Eine Batterieüberwachungsroutine 110 prüft den Zustand
der Batterie durch Überwachung
der Ausgangsspannung und des Stroms. Sie verwendet diese Informationen,
um abzuschätzen,
wie lange die Batterie in der Lage sein wird, die Robotersysteme
zu unterstützen,
bevor ein Wiederaufladen erforderlich ist. Wenn die Überwachungsroutine
entscheidet, dass sich der Batteriezustand dem Punkt nähert, an
dem ein zuverlässiger Betrieb
nicht mehr möglich
ist, wird der Benutzer durch das Beleuchten einer Anzeige Batterietiefstand gewarnt.
Wenn ein weiterer Betrieb des Roboters ohne Wiederaufladen zugelassen
wird, wird die Überwachungsroutine
den Roboter in sicherer und kontrollierter Weise abschalten, wenn
der Leistungspegel einen vorgegebenen Punkt erreicht. Nickel-Cadmium-
oder Nickel-Metallhydrid-Batterien erfordern ein sorgfältiges Aufladen,
um eine maximale Kapazität
und eine maximale Lebensdauer sicherzustellen, wobei die Überwachungsroutine
außerdem
den Ladungszyklus der Batterie steuert, um sicherzustellen, dass
diese Erfordernisse erfüllt
sind.
-
Entwickler neuronaler Netze haben
traditionell darauf bestanden, dass jedes Neuron in einem Netz mit
jedem anderen Neuron in diesem Netz verbunden ist. Obwohl das dem
Netz den höchsten
Grad der Flexibilität
ermöglicht,
werden sehr viele (sogar bis zu 90%) dieser Verbindungen niemals
verwendet. Die vorliegende Erfindung ermöglicht, dass vorkonfigurierte
neuronale Netze in einer viel weniger komplexen Art untereinander
verknüpft
werden, wodurch möglich
ist, das Verhalten des Roboters auf die unmittelbare Umgebung in
einer kontinuierlichen Weise dynamisch einzustellen.
-
Diese so genannte "Verteiler-Architektur" enthält einen
analogen Bus oder einen Verteiler 111, der alle Verhaltensmodule 101–105 und
ihre zugehörigen
Aktuatoren untereinander verbindet. Vier generische Moderatoren
entscheiden zwischen den Verhaltensweisen und bewirken ein eigenes
Prototyp-Verhalten, das die Gesamtaktivität des Roboters über einen
Motorcontroller 112 und einen Fluidabgabepumpen-Controller 113,
der die Pumpe 115 antreibt, regelt. Diese generischen Moderatoren
summieren alle Anregungs- und Sperreingänge und wenden auf die Ergebnisse
eine nicht lineare Funktion an. Die Ausgänge von diesen Moderatoren
bilden die Eingänge
für die
Motorcontroller.
-
Um die Funktion der Verteiler-Architektur
zu erläutern,
ist es erforderlich, die grundlegenden neuronalen Aspekte des Steuersystems
zu beschreiben. Zu diesem Zweck wird auf die 3A–C Bezug genommen.
-
Ein einzelnes Neuron (siehe 3A) besitzt drei Typen von
Verbindungen, Anregungseingänge, die
bewirken, dass das Neuron "aktiviert" wird, Sperreingänge, die
eine Aktivität
unterdrücken,
und den Ausgang, der den Zustand des Neurons repräsentiert.
Zusätzliche
Neuronen können
weitere Eigenschaften besitzen, wie etwa eine Verzögerung,
die bewirkt, dass der Ausgang zeitlich langsam abfällt, und
ein Schwellenwert, der jeden Ausgang unterdrückt, bis die Summe aller Eingänge einen
bestimmten Pegel übersteigt.
-
3B zeigt
(beispielhaft) ein vereinfachtes Bild des Kollisionsverhaltens und
des Verteilersystems in einer neuronalen Darstellung.
-
Die Kollisionssensoren 4 sind
in 3B mit den Bezugszeichen 1, 2, 3 und 4 bezeichnet
und werden durch die Sensor-Vorprozessoren 5, 6, 7 und 8 gepuffert
und normalisiert. Die Ausgänge
der Sensor-Vorprozessoren werden jeweils zu einem einzelnen Neuron 9, 10, 11 bzw. 12 geleitet,
das jeweils als eine Impulsdehnungseinrichtung mit einer Zeitkonstante
von etwa 5 Sekunden konfiguriert ist. Die Ausgänge dieser Neuronen sind mit
dem Rest des Netzes, das durch die Neuronen 13 bis 28 gebildet
ist, verbunden, wobei das Muster der Verbindungen und die Übertragungseigenschaften
der Neuronen das eigentliche Verhalten bestimmen. Die Ausgänge dieses
Netzes sind über
die Verbindungen 41 bis 48 mit den Verteiler-Summenbildnern
(generische Moderatoren) 29 bis 32 verbunden,
bei denen die Signale summiert werden, wobei die Ausgänge 37 bis 40 die Eingänge in die
linken und rechten Motorcontroller (die in dieser Figur nicht gezeigt
sind) bilden. Verbindung von einem anderen nicht spezifizierten
Verhalten (von denen viele vorhanden sein können) sind mit den Bezugszeichen 50 bis 57 gezeigt.
Die Verbindung 49 ist ein Summierungseingang, der verwendet wird,
um das gesamte Verhalten unter der Steuerung der Steuerprogrammsoftware,
die auf einem Mikrocontroller läuft,
oder eines anderen neuronalen Verhaltens mit hoher Priorität zu sperren.
Die Sensorausgänge
werden außerdem
an den Mikrocontroller bereitgestellt, so dass die Verhaltensweisen
höherer Ebene,
wie etwa die Abschätzung
des Störsignalpegels,
einen Zugriff auf alle erzeugten Daten haben können.
-
Bei einer direkten Kollision bei
Geradeausfahrt gilt das Folgende:
-
Der Frontkollisionsdetektor 1 erzeugt
einen Impuls, wenn der Kontakt mit einem Hindernis erfolgt. Dieser
Impuls wird durch das Vorverarbeitungs-Sensorelement 5 verstärkt und
an das Eingangsneuron 9 geleitet. Dieses Neuron ist so
konfiguriert, dass es die Breite eines Eingangsimpulses (wenn dieser
Impuls einen vorgegebenen Eingangsschwellenwert übersteigt) auf etwa 5 Sekunden
dehnt. Der Ausgang des Eingangsneurons 9 wird gleichzeitig
zu vier weiteren Neuronen 13, 14, 15 und 16 geleitet.
Diese Neuronen der "versteckten
Ebene" sind so konfiguriert,
dass sie als Dämpfungselemente
oder in neuronalen Termen als "Gewichtungen" wirken und somit die
Amplitude der angelegten Signale ändern. Die Neuronen 13 und 15 sind
so eingestellt, dass die bei Anregung einen Ausgangspegel von 10
(Maximum) erzeugen und die Ausgänge
sind mit den Ausgangsneuronen 22 und 26 verbunden,
die bei Anregung Signale an den Verteiler anlegen, die die Motoren
anweisen, eine Vorwärtsbewegung
anzuhalten. Die Neuronen 14 und 16 sind so eingestellt,
dass sie bei Anregung einen Ausgang von 5 (halber Wert) erzeugen
und ihre Ausgänge
sind mit den Ausgangsneuronen 23 und 27 verbunden,
die bei Anregung Signale an den Verteiler anlegen, die die Motoren
anweisen, den Roboter rückwärts zu bewegen.
Dieser Teil des eigentlichen Verhaltens würde theoretisch dazu führen, dass
der Roboter wiederholt mit einem Hindernis kollidieren und von diesem
in einer geraden Linie zurücktreten
würde,
aber inhärente
Ungenauigkeiten in dem Steuersystem und in der Antriebsmechanik
in Verbindung mit der Tatsache, dass die Wahrscheinlichkeit einer
vollkommen mittigen Kollision gering ist, bedeuten, dass andere
Kollisionsstrategien, die die linken und rechten Sensoren enthalten,
bewirken, dass sich der Roboter dreht, wenn er an einem Hindernis
umkehrt, und ein sinnvolles Verhalten erzeugt.
-
Die Verteiler-Funktion wird nun unter
Bezugnahme auf 3C genau
beschrieben. Der Verteiler führt,
wie es seine Bezeichnung nahelegt, alle Ausgänge von den verschiedenen neuronalen
Verhaltensweisen des Roboters zu sammen, addiert sie und liefert
die Eingänge
an die Motorcontroller. 3C zeigt
den Abschnitt, der den rechten Motorcontroller steuert, wobei der
linke Abschnitt identisch ist.
-
Die Verbindung 41 ist effektiv
der Eingang "Gehe
vorwärts
nach rechts" und 42 ist
der Eingang "Gehe
nicht vorwärts
nach rechts". Diese
beiden entgegengesetzten Eingänge
werden in den Anregungs- bzw. in den Sperreingang des Neurons 29 geleitet.
Wenn die Werte "Gehe
vorwärts" 6 und "Gehe nicht vorwärts" 3 gleichzeitig
angelegt werden, gibt das Neuron 29 einen Wert 3 aus,
wenn die Werte jedoch umgekehrt sind, d. h. "Gehe vorwärts" ist 3 und "Gehe nicht vorwärts" ist 6, erzeugt das Neuron 29 eine
0. Das ist sehr wichtig, da das ein Verhalten ermöglicht,
um eine Bewegung in eine bestimmte Richtung zu sperren, ohne eine
Bewegung in die entgegengesetzte Richtung zu bewirken.
-
Das Neuron 30 führt die
gleiche Aufgabe aus, mit der Ausnahme, dass seine Eingänge "Gehe rückwärts" 43 und "Gehe nicht rückwärts" 44 sind.
-
Das Neuron 29 ist mit dem
Anregungseingang von 33 verbunden, der wiederum über die
Verbindung 37 den Eingang "Gehe vorwärts" des rechten Motcrcantrollers ansteuert.
Die Neuronen 30 und 34 sind über die Verbindung 38 mit
dem Eingang "Gehe
rückwärts" des rechten Motorcontrollers
verbunden. Die Motorcontroller summiert diese Eingänge, so
dass die Werte "Gehe
vorwärts" 8 und "Gehe rückwärts" 4, die
gleichzeitig an die Verbindungen 37 und 38 angelegt
werden, zur Folge haben, dass sich das rechte Rad bei einer Geschwindigkeit
von 4 vorwärts
dreht.
-
Die Neuronen 33 und 34 besitzen
außerdem Sperrverbindungen,
bei denen der Vorwärts-Signalweg
mit dem Rückweg
verbunden ist und umgekehrt. Das ermöglicht ein nicht lineares Verhalten
des Verteilers und wenn die Stärke
dieser Verbindungen verbessert wird, besteht eine geringere Wahrscheinlichkeit,
dass der Roboter in einen stabilen Zustand eintritt, in dem keine
Bewegung auftritt infolge der Verhaltensweisen mit widersprüchlichen
Interessen, die gleichzeitig zugewiesen werden.
-
Weitere Einzelheiten von einigen
der verschiedenen Sensoren und ihre Funktionsweise werden nun dargestellt:
-
Die Ultraschallsensoreinheit 5 besitzt
einen Vorprozessor, der den Sensor 13 verwaltet, Taktimpulse
bereitstellt usw. und das Verhalten höherer Ebene mit kontinuierlichen
Daten "Bereich zum
Ziel" und eine einfache
Bereichswarnung an das Geschwindigkeitsverringerungs-Verhaltensmodul 103 bereitstellt.
Der kontinuierliche Ausgang wird von dem Blockierverhalten-Modul 107 verwendet,
das den Roboter um 360° dreht,
während
es nach einem freien Weg sucht, über
den der Roboter entkommen kann, und wird außerdem von den Verhalten-Modulen 109, 108 der
Raumgröße bzw.
der Störsignalabschätzung verwendet.
-
Um die Aufgabe der Abgabe der Behandlungsmittel
(z. B. eine Teppichreinigungslösung,
von der an sich bekannt ist, dass sie eine wässrige Lösung eines anionischen Tensids,
wahlweise zusammen mit einem Polycarboxylat-Schmutzentfernungsmittel
enthält)
auf einer Oberfläche
auszuführen,
sollten die Bereiche der Oberfläche
bekannt sein, die bereits behandelt wurden.
-
Ein Markierungsmittel, das der fraglichen
Lösung
zugesetzt wird, besitzt charakteristische Eigenschaften, wie etwa
die Absorption oder die Emission von Licht bei einer bekannten Frequenz
oder ein Fluoreszenzverhalten, die durch den Roboter erfasst werden
können.
Beispiele derartiger Markierungsmittel sind Luminal, das veranlasst
werden kann, mit Wasserstoffperoxid zu reagieren, um Licht auszusenden,
und substituierte Cumarine, wie etwa 7-Hydroxy- oder 4-Mathyl-7-Hydroxy-Varianten,
die stark fluoreszierend sind, jedoch Reaktionen der Ringöffnung unterzogen
werden, damit sie ein nicht fluoreszierendes Derivat bilden.
-
Für
Erfassungszwecke werden eine Lichtquelle und entsprechende Photodioden-Detektoren 14, 15, 17 links
und rechts vor den Antriebsrädern 6, 7 des
Roboters angeordnet, um diese Markierungschemikalien zu erfassen
und dem Steuersystem zu ermöglichen,
die Kante eines vorherigen Durchlaufs zu verfolgen. Auf diese Weise
kann ein strukturiertes Abgabemuster hergestellt werden. Darüber hinaus kann
der Detektor über
ein Gegenkopplungssystem mit der Abgabeanordnung verbunden sein,
um dadurch die Ablagerung der Lösung
auf einem Bereich zu vermeiden, der bereits behandelt wurde. Wenn kein
Bereich des Bodens gefunden wird, der noch nicht behandelt wurde,
wird die tatsächlich
benötigte Zeit
mit Daten verglichen, die durch das Raumgröße-Verhaltensmodul 108 bereitgestellt
werden. und wenn die beiden Werte innerhalb an nehmbaren Grenzen
liegen, wird die Behandlung des Bodens als abgeschlossen betrachtet.
Die charakteristischen Eigenschaften, durch die die Markierung erfasst
wird, klingen innerhalb von 24–48
Stunden nach der Aufbringung ab (durch Luftoxidation oder photolytische Zerlegung)
oder bei einem zweistufigen Behandlungsverfahren kann eine zweite
Chemikalie über
der ersten aufgebracht werden, wodurch die charakteristischen Eigenschaften
der Markierungschemikalie neutralisiert werden.
-
Ein alternatives Mittel zum Erreichen
dieses gewünschten
Verhaltens besteht darin, eine Feuchtigkeitserfassung zu verwenden,
um Bereiche zu identifizieren, die bereits behandelt wurden. Dabei wird
die inhärente
Feuchtigkeit einer flüssigen
Lösung
verwendet, um behandelte Oberflächen über Anordnungen
zur Feuchtigkeitserfassung zu erfassen, die links und rechts vor
den Antriebsrädern 6, 7 des
Roboters angeordnet sind. Dieses System kann ebenfalls verwendet
werden, um den Roboter zu befähigen,
der Kante eines vorherigen Durchlaufs zu folgen.
-
Wenn eine harte Bodenoberfläche behandelt wird
(z. B. mit einer wässrigen
Reinigungslösung,
die ein nicht ionisches Tensid mittlerer Kettenlänge mit Carbonatcitrat und
Natronlauge enthält),
können
die Reflexionseigenschaften des Bodens verwendet werden, um zu erfassen,
welche Bereiche des Bodens bereits behandelt wurden. Eine Lichtquelle
mit hoher Intensität
richtet Licht auf den Boden, das nach der Reflexion durch einen
Photodioden-Detektor erfasst wird. Diese sind links und rechts vor
den Antriebsrädern 6, 7 des
Roboters angeordnet. Dieses System kann ebenfalls verwendet werden,
um den Roboter zu befähigen,
der Kante eines früheren Durchlaufs
zu folgen. Dabei wird die Fähigkeit
einer Lösung,
das Reflexionsvermögen
des Bodens zu verringern, ausgenutzt, um ihre Erfassung zu ermöglichen.