-
Die Erfindung betrifft einen selbstfahrenden Roboter, insbesondere ein selbstfahrendes Bodenbearbeitungsgerät, der bzw. das eine Kamera zur Aufnahme von Bildern einer Umgebung des Roboters und eine Steuereinrichtung zur Auswertung der Bilder der Kamera aufweist. Die Erfindung betrifft weiterhin ein Verfahren zur Hinderniserkennung bei einem derartigen selbstfahrenden Roboter.
-
Selbstfahrende Roboter dienen der automatisierten Verrichtung von nicht ortsgebundenen Tätigkeiten. In Form von selbstfahrenden Bodenbearbeitungsgeräten dienen solche Roboter der automatisierten Bearbeitung, beispielsweise Reinigung, von Flächen, ohne dass sie von einem Benutzer geschoben oder geführt werden müssen. Zu solchen selbstfahrenden Bodenbearbeitungsgeräten zählen für den Innenbereich beispielsweise selbstfahrende Staubsauger, auch Saugroboter genannt. Weiterhin werden für den Innenbereich selbstfahrende Reinigungsgeräte zum Wischen von Bodenbelägen eingesetzt. Für den Außenbereich sind als selbstfahrende Bodenbearbeitungsgeräte Mähroboter zum Rasen mähen bekannt und, für eine landwirtschaftliche Nutzung, selbstständig arbeitende Landwirtschaftsmaschinen, beispielsweise zum Pflügen, Säen oder Ernten von Feldern.
-
Zur Erkennung von Hindernissen und zur Vermeidung von Zusammenstößen mit Hindernissen und/oder zur Unterstützung der Navigation weisen selbstfahrende Roboter häufig Abstandssensoren auf, die einen Abstand zu einem Gegenstand bestimmen, der sich in der Umgebung des Roboters befindet. Derartige Abstandssensoren bestehen häufig aus einer kombinierten Sende- und Empfangseinheit, oder es werden getrennte Einheiten benutzt. Für die Messung werden Signale erzeugt, die an Gegenständen, beispielsweise den genannten Hindernissen, reflektiert werden. Dabei sind verschiedene Funktionsprinzipien mit unterschiedlichen Signalarten bekannt. Bei Infrarotsensoren trifft ein reflektierter Strahl – abhängig vom Hindernisabstand – auf eine bestimmte Position eines Empfängers, der ortsaufgelöste Messungen zulässt (Position Sensitive Device, PSD). Aus der Messposition kann über Triangulationsmethoden auf den Abstand zum Gegenstand geschlossen werden.
-
Neben Triangulationsmethoden werden zur Bestimmung eines Abstands zu einem Gegenstand auch Laufzeitmessungen verwendet. Bei einer optischen Abstandsmessung ist es beispielsweise bekannt, Laserpulse auszusenden, wobei aus der Laufzeit bis zum Eintreffen eines reflektierten Signals die Entfernung zum reflektierenden Gegenstand berechnet wird (Light Detection and Ranging, LIDAR). Alternativ kann auch eine Phasenverschiebung eines reflektierten Laserstrahls für die Messung des Abstands herangezogen werden. Neben optischen sind auch akustische Laufzeitmessungen bekannt, bei denen bevorzugt Ultraschallsensoren verwendet werden.
-
Häufig weisen selbstfahrende Roboter eine Kamera zur Aufnahme von Bildern einer Umgebung des Roboters auf. Beispielsweise ist aus der Druckschrift
DE 10 2007 016 802 B3 ein selbstfahrender Roboter bekannt, bei dem von einer Kamera in regelmäßigen Zeitabschnitten Umgebungsbilder aufgenommen und abgespeichert werden. Durch einen Vergleich von aktuellen mit gespeicherten Bildern kann durch ein sogenanntes visuelles Homing-Verfahren eine odometrisch, also über Fahrinformation der Antriebsräder bestimmte Position des Roboters korrigiert werden.
-
Bei Verwendung einer Kamera zur Aufnahme von Umgebungsbildern, die zur Positionsbestimmung und zu Navigationszwecken ausgewertet werden, ist es darüber hinaus bekannt, die Kamerabilder zusätzlich im Hinblick auf ein Erkennen möglicher Hindernisse auszuwerten. Aus dem Dokument
US 2007/0090973 A1 wird ein sogenanntes Simultaneous Localisation and Mapping(SLAM)-Verfahren beschrieben, bei dem aus den Umgebungsbildern charakteristische Merkmale extrahiert werden, die einzelnen Gegenständen (Hindernissen) zugeordnet werden. Das Auftreten charakteristischer Merkmale kann in Folgebildern nachvollzogen werden, so dass im Laufe der Zeit Artefakte in den Aufnahmen von tatsächlichen Gegenständen unterschieden werden können. Mit Hilfe von Triangulation kann auf die Position des Gegenstands geschlossen werden und der Gegenstand in einer Hinderniskarte kartographiert werden. Die Merkmalsauswertung der Umgebungsbilder und das Nachverfolgen der entsprechenden Merkmale ist jedoch sehr rechenintensiv und daher bei begrenzt zur Verfügung stehender Rechenkapazität insbesondere bei kleineren selbstfahrenden Robotern nur schwierig und mit einem unangemessen hohen Energiebedarf umsetzbar.
-
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren zur Hinderniserkennung bei einem selbstfahrenden Roboter, der eine Kamera zur Aufnahme von Bildern einer Umgebung aufweist, zu schaffen, mit dem Hindernisse in den Umgebungsbildern auf schnelle und möglichst wenig rechenintensive Art und Weise erfasst werden können. Es ist eine weitere Aufgabe, einen selbstfahrenden Roboter zur Durchführung eines derartigen Verfahrens bereitzustellen.
-
Diese Aufgabe wird durch ein Verfahren bzw. einen selbstfahrenden Roboter mit den Merkmalen des jeweiligen unabhängigen Anspruchs gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen des Verfahrens bzw. des selbstfahrenden Roboters sind in den jeweiligen abhängigen Ansprüchen angegeben.
-
Ein erfindungsgemäßes Verfahren zur Hinderniserkennung bei einem selbstfahrenden Roboter, der eine Kamera zur Aufnahme von Bildern einer Umgebung des Roboters und eine Steuereinrichtung zur Auswertung der Bilder der Kamera aufweist, weist die folgenden Schritte auf: Es wird ein Referenzbild der Umgebung des Roboters durch die Kamera aufgenommen und der Roboter um eine Fahrstrecke bewegt. Danach wird ein aktuelles Bild der Umgebung des Roboters durch die Kamera aufgenommen. Es wird eine Mehrzahl von Vorschaubildern anhand des Referenzbildes, anhand der Fahrstrecke sowie jeweils eines angenommenen Objektabstands berechnet. Das aktuelle Bild wird mit jedem der Vorschaubilder verglichen und als Ergebnis des Vergleichs wird jeweils eine Fehlermatrix mit Fehlerwerten berechnet. Anschließend werden Bereiche der Fehlermatrizen, in denen Werte der Fehlermatrizen ein Minimum aufweisen, als ein Hindernis identifiziert.
-
Bei der Berechnung der Vorschaubilder aus dem Referenzbild wird die seit Aufnahme des Referenzbildes zurückgelegte Fahrstrecke berücksichtigt. Nach dem Zurücklegen der Fahrstrecke kann der Roboter eine andere Position und/oder Ausrichtung haben. Beides fließt in die Berechnung der Vorschaubilder ein.
-
Die Objektabstände gelten jeweils für ein gesamtes Vorschaubild, sind jedoch für die verschiedenen Vorschaubilder unterschiedlich. Es wird so eine Abfolge an Vorschaubildern generiert, bei denen jeweils unterschiedliche Objektabstände angenommen sind. Befindet sich in dem angenommenen Objektabstand tatsächlich ein Objekt, z.B. ein Hindernis, wird sich das Vorschaubild nicht oder nur wenig vom später aufgenommenen, aktuellen Bild unterscheiden. Entsprechend wird sich ein kleiner Fehlerwert für einen bestimmten Bildbereich in derjenigen Fehlermatrix einstellen, bei der der angenommene Objektabstand am bestem dem tatsächlichen Objektabstand eines in diesem Bildbereich abgebildeten Objekts entspricht. Umgekehrt kann aus einem Minimum der Fehlerwerte in einem bestimmten Bildbereich in einer der Fehlermatrizen darauf geschlossen werden, dass in dem angenommenen Objektabstand sich in diesem Bildbereich ein Objekt befindet, das dann als Hindernis identifiziert werden kann.
-
Im Rahmen der Anmeldung ist als Minimum der Fehlerwerte einer der Fehlermatrizen zu verstehen, dass der Fehlerwert in diesem Bildbereich bei dieser Fehlermatrix kleiner ist als bei den anderen Fehlermatrizen, die anhand eines Vorschaubilds mit einem anderen angenommenen Objektabstand bestimmt wurden. Sortiert nach dem angenommenen Objektabstand bilden die Fehlermatrizen einen Matrizenstapel, der Fehlerwerte dreidimensional repräsentiert. Es wird innerhalb des Stapels für einen Bildbereich das Minimum somit entlang der Objektabstandsachse gesucht.
-
Ein Hindernis wird so erkannt, ohne dass eine Merkmalsauswertung (z.B. eine Kanten- oder Eckenidentifizierung) am aktuellen Bild durchgeführt werden muss. Das Verfahren kann dadurch effizient implementiert werden und liefert durch seine holistische, nicht merkmalsbasierte Auswertung auch bei einer geringen Auflösung der zugrundeliegenden Umgebungsbilder gute Ergebnisse.
-
In einer Ausgestaltung des Verfahrens wird ein Abstand des Hindernisses gleich dem Objektabstand desjenigen Vorschaubildes angenommen, bei dem die dem Objektabstand zugeordnete Fehlermatrix verglichen mit den Fehlermatrizen bei anderen Objektabständen die kleinsten Fehlerwerte aufweist. In einer alternativen vorteilhaften Ausgestaltung ergibt sich der Abstand des Hindernisses aus dem Minimalwert einer Fehlerkurve, wobei die Fehlerkurve näherungsweise an die Fehlerwerte von zumindest zwei der Fehlermatrizen angepasst ist und genäherte Fehlerwerte abhängig vom Abstand angibt. Bevorzugt ist dabei die Fehlerkurve ein Polynom und besonders bevorzugt eine Parabel. Auf diese Weise tragen die Ergebnisse mehrerer, beispielsweise benachbarter Fehlermatrizen zum Ergebnis der Abstandsbestimmung bei, wodurch deren Genauigkeit steigt.
-
In einer weiteren vorteilhaften Ausgestaltung des Verfahrens werden die Schritte des Bewegens des Roboters und des Aufnehmens und Vergleichens der Bilder mehrfach durchgeführt, wobei jeweils eine Wahrscheinlichkeitsverteilung für das Vorliegen eines Hindernisses in der Bewegungsebene des Roboters aus der jeweiligen Fehlermatrix berechnet wird. Anschließend werden die Wahrscheinlichkeitsverteilungen zu einer Gesamtwahrscheinlichkeitsverteilung aufaddiert, anhand derer Hindernisse identifiziert werden. Auf diese Weise werden die Ergebnisse mehrerer Zyklen der Bildvorausberechnung und des Bildvergleichs zusammengeführt, wodurch die Genauigkeit der Hinderniserkennung sukzessive gesteigert wird. Die Gesamtwahrscheinlichkeitsverteilung kann dabei nach dem Aufaddieren normiert werden. Um diesen zusätzlichen Rechenschritt zu sparen, ist es jedoch auch möglich, mit einer Gesamtwahrscheinlichkeitsverteilung zu arbeiten, die rein rechnerisch in Summe einen Wert größer 1 annimmt. Auch eine solche Verteilung wird im Rahmen der Anmeldung als Wahrscheinlichkeitsverteilung bezeichnet.
-
In einer bevorzugten Ausgestaltung dieses Verfahrens ist ein Schwellenwert vorgegeben, wobei in den Bereichen der Bewegungsebene, in denen ein Wahrscheinlichkeitswert der Gesamtwahrscheinlichkeitsverteilung den Schwellenwert überschreitet, das Hindernis identifiziert wird.
-
Bei einem erfindungsgemäßen selbstfahrenden Roboter der eingangs genannten Art ist dessen Steuereinrichtung dazu eingerichtet, ein derartiges Verfahren durchzuführen. Es ergeben sich die im Zusammenhang mit dem Verfahren genannten Vorteile. Insbesondere bei einem nicht kabelgebundenen Roboter kann das Verfahren vorteilhaft eingesetzt werden, da es mit geringem Rechen- und somit Energieaufwand durchgeführt werden kann. In einer vorteilhaften Ausgestaltung des Roboters weist die Kamera ein weites Blickfeld auf und ist insbesondere eine Panorama-Kamera. Weiter bevorzugt ist der Roboter als selbstfahrendes Bodenbearbeitungsgerät und insbesondere als Saugroboter ausgebildet.
-
Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen mithilfe von Figuren näher erläutert. Die Figuren zeigen:
-
1 ein zur Durchführung eines erfindungsgemäßen Verfahrens geeignetes Bodenbearbeitungsgerät in einer schematischen Darstellung;
-
2a eine Aufsicht auf ein Bodenbearbeitungsgerät und eine Hindernisse aufweisende Umgebung zur Illustration eines erfindungsgemäßen Verfahrens;
-
2b–d Darstellungen von Abweichungen zwischen jeweils einem aktuellen Umgebungsbild und einem vorhergesagten Umgebungsbild, wobei die Vorhersage auf unterschiedlichen angenommenen Hindernisabständen beruht;
-
3 eine Illustration eines Teilschrittes eines Verfahrens zur Hinderniserkennung.
-
In der 1 ist ein mobiles Bodenbearbeitungsgerät, konkret ein Saugroboter 1, als Beispiel für einen selbstfahrenden Roboter schematisch in einer Seitenansicht dargestellt. Der Saugroboter 1 weist angeordnet an bzw. in einem Gehäuse 2 ein Antriebssystem 3 auf, das auf zwei Antriebsräder 4, eins auf jeder Seite des Saugroboters 1, wirkt. Die Antriebsräder 4 können unabhängig voneinander über hier nicht einzeln dargestellte Antriebsmotoren angetrieben werden. Weiter ist ein Stützrad 5 vorgesehen, das entweder verschwenkbar oder als eine in alle Richtungen drehbare Kugel ausgebildet ist. Bei voneinander unabhängiger Ansteuerung der Drehrichtungen und Drehgeschwindigkeiten der Antriebsräder 4 kann der Saugroboter 1 Bewegungen mit unabhängig voneinander einstellbaren Rotations- und Translationsgeschwindigkeiten auf einer zu reinigenden Fläche ausführen.
-
Weiterhin ist ein Saugbereich 6 in der Figur angedeutet, in dem nicht dargestellte Saugdüsen angeordnet sind, die beispielsweise in bekannter Weise mit einem Filtersystem, zum Beispiel einem Staubsaugerbeutel, mit einem Gebläsemotor zusammenwirken. Unterstützend ist in dem dargestellten Ausführungsbeispiel im Saugbereich 6 eine rotierende Bürste angeordnet. Der Saugbereich 6 mit der rotierenden Bürste repräsentiert die Reinigungseinrichtungen des Saugroboters 1. Weitere für den Betrieb des Saugroboter 1 vorhandene Elemente, beispielsweise eine wiederaufladbare Batterie zur Stromversorgung, Ladeanschlüsse für die Batterie oder eine Entnahmemöglichkeit für den Staubsaugerbeutel, sind in der Figur aus Gründen der Übersichtlichkeit nicht wiedergegeben.
-
Der Saugroboter 1 weist eine Steuervorrichtung 7 auf, die mit dem Antriebssystem 3 sowie den Reinigungseinrichtungen zu deren Steuerung verbunden ist. Auf der Oberseite des Saugroboters 1 ist eine Kamera 8 angeordnet, die zur Abbildung der Umgebung des Saugroboters mit einem weiten Gesichtsfeld ausgebildet ist. Ein derartiges weites Gesichtsfeld kann zum Beispiel durch die Verwendung eines sogenannten Fish-Eye-Objektivs erzielt werden. Beispielhaft sind einige von der Kamera 8 aufnehmbare Abbildungsstrahlen 9 dargestellt. Die Kamera 8 weist ein weites Blickfeld mit einem Öffnungswinkel Θ auf, der im dargestellten Beispiel mehr als 180 Grad beträgt. Bevorzugt ist die Kamera 8 eine Panorama-Kamera, die ein 360°-Panoramabild aufzeichnen kann.
-
Im Betrieb des Saugroboters 1 erfasst die Kamera 8 fortlaufend das Umfeld des Saugroboters 1 und sendet eine Folge aufgenommener Bilder als Signale an die Steuereinrichtung 7.
-
Im Blickfeld der Kamera 8 liegen Hindernisse 10a und 10b, deren Anzahl (hier zwei) und Form (hier Tonnenform) rein beispielhaft ist.
-
Ein erfindungsgemäßes Verfahren zum Erkennen von Hindernissen und zum Bestimmen der Position der Hindernisse wird nachfolgend anhand der 2a bis 2d dargestellt. Das Verfahren kann beispielsweise von dem in 1 gezeigten Saugroboter 1 durchgeführt werden und wird daher beispielhaft mit Bezug auf das Ausführungsbeispiel der 1 erläutert.
-
In 2a ist zunächst die zugrundeliegende Situation in einer Aufsicht auf die Bewegungsebene, in der sich der Saugroboter 1 bewegt, skizziert. Die Ebene wird auch als xy-Ebene mit den Koordinatenrichtungen x und y bezeichnet. Es wird wie bei 1 von zwei tonnenförmigen Hindernissen 10.1 und 10.2 ausgegangen, die sich in einem Sichtfeld eines Saugroboters 1 befinden, der sich im unteren mittleren Bereich der 2a an einer aktuellen Position 11a befindet. Der Saugroboter 1 ist in der 2a nur durch ein stilisiertes Sichtfeld angedeutet. Die Abstände von einem Referenzpunkt des Saugroboter 1, der z.B. durch das Zentrum seiner Kamera 8 (vgl. 1) gegeben ist, zu den Hindernissen werden als Abstände d1 bzw. d2 bezeichnet.
-
Weiter ist in der 2a eine vorherige Position 11b des Saugroboters 1 eingezeichnet, die nachfolgend auch als Referenzposition 11b bezeichnet wird. Die Referenzposition 11b ist in der 2a durch ein gestrichelt eingezeichnetes Sichtfeld angedeutet. Von der Referenzposition 11b bis zur aktuellen Position 11a hat sich der Saugroboter 1 um die durch den Bewegungspfeil 13 dargestellte Fahrstrecke und Richtung bewegt. Der Bewegungspfeil 13 entspricht der Entfernung und Richtung der Bewegung des Saugroboters. Fahrgeschwindigkeit und Fahrrichtung, zusammenfassend als Fahrinformationen bezeichnet, werden während der Fahrt des Saugroboters 1 laufend ermittelt, beispielsweise odometrisch aus Drehinformationen der Antriebsräder 4 des Saugroboters 1.
-
Sowohl an der Referenzposition 11b, als auch an der aktuellen Position 11a, werden von der Kamera 8 Umgebungsbilder aufgezeichnet. Nachfolgend werden die an der Referenzposition 11b aufgenommenen Bilder als Referenzbilder bezeichnet und die an der aktuellen Position 11a aufgenommenen Bilder als aktuelle Bilder.
-
Bei dem erfindungsgemäßen Verfahren werden ausgehend von den Referenzbildern und den Fahrinformationen verschiedene Vorschaubilder berechnet, wobei jeweils unterschiedliche Objektabstände für die in den Referenzbildern abgebildeten Objekte zugrunde gelegt werden. Bei jedem der Vorschaubilder wird ein einheitlicher, für das gesamte Bild geltender Objektabstand angenommen. Ausgehend von dieser Information kann für jeden Bildpunkt ein Verschiebungsvektor berechnet werden, welcher zur Berechnung des jeweiligen Vorschaubildes genutzt wird. Es wird dann eine Mehrzahl von Vorschaubildern für verschiedene Objektabstände berechnet, beispielsweise Objektabstände von 0,3m (Metern), 0,6m, 1m, 2m, 5m und unendlich. Die Anzahl der berechneten Vorschaubilder und die gewählten Objektabstände können je nach Auflösung der zugrunde liegenden Bilder, der gewünschter Genauigkeit und der zur Berechnung zur Verfügung stehenden Rechenleistung ausgewählt werden.
-
In einem nächsten Schritt werden die Vorschaubilder jeweils mit dem tatsächlichen Bild an der aktuellen Position 11a verglichen und für jedes Vorschaubild eine Fehlermatrix erstellt. Die Fehlermatrix enthält für jeden Bildpunkt des Vorschaubildes einen Fehlerwert, der die Abweichung zwischen dem Vorschaubild und dem aktuellen Bild in einer Umgebung des jeweiligen Bildpunktes wiedergibt.
-
In den 2b bis 2d ist jeweils das aktuelle Bild, das der Saugroboter 1 von den Hindernissen 10.1 und 10.2 an der aktuellen Position 11a aufgenommen hat, mit durchgezogenen Strichen dargestellt. Weiter ist jeweils ein berechnetes Vorschaubild für unterschiedliche Objektabstände mit gestrichelten Linien eingezeichnet. Im Bereich der Hindernisse 10.1 und 10.2 sind in den 2b bis 2d Schraffuren eingezeichnet, die Informationen aus der jeweiligen Fehlermatrix wiedergeben. Dabei entspricht eine Schraffur mit geringer Dichte (großer Linienabstand) einem kleinen Wert der Fehlermatrix und eine Schraffur mit hoher Dichte (kleinem Linienabstand) einem hohen Wert der Fehlermatrix in diesem Bildbereich. Bei 2b ist das Vorschaubild für einen Objektabstand d berechnet, der dem Abstand d1 zwischen dem Saugroboter 1 und dem Hindernis 10.1 entspricht. In 2c ist eine Situation wiedergegeben, bei der der Objektabstand für das berechnete Vorschaubild d dem Abstand d2 zwischen dem Saugroboter 1 und dem Hindernis 10.2 entspricht. In 2d ist das Vorschaubild für einen Objektabstand d berechnet, der gegen unendlich geht.
-
Für jedes der berechneten Vorschaubilder werden in einem nächsten Schritt die Fehlermatrizen auf Minima untersucht. Ein Minimum, das in den 2b bis 2d durch einen Bereich mit geringer Schraffurdichte gekennzeichnet ist, zeigt an, dass sich ein in dem aktuellen Umgebungsbild und dem Referenzbild abgebildetes Objekt sich in dem angenommenen Objektabstand d bzw. annähernd in dem angenommenen Objektabstand d befindet. Eine Auswertung der 2b bis 2d würde hier ergeben, dass sich im linken Bereich ein Objekt im Abstand d1 (nämlich das Hindernis 10.1) und im rechten Bildbereich ein Objekt mit einem Objektabstand d2, nämlich das Hindernis 10.2, befindet.
-
Es wird angemerkt, dass bei dem Verfahren bis zu diesem Zeitpunkt nur ein ganzheitlicher (holistischer) Bildvergleich erfolgt ist. Die Fehlermatrizen bilden einen Matrizenstapel, der Fehlerwerte dreidimensional repräsentiert. Mögliche Hindernisobjekte können aus den Minima des Fehlermatrixstapels erkannt werden, ohne dass eine rechenaufwendige Merkmalsanalyse (zur Identifizierung von Kanten, Ecken, usw.) der Umgebungsbilder selbst durchgeführt wird.
-
Bei dem schematischen Beispiel, das der 2 zugrunde liegt, entspricht der angenommene Objektabstand d bei den 2b und 2c zur leichteren Illustration des Verfahrens gerade dem Abstand d1 bzw. d2 zwischen dem Saugroboter 1 und den Hindernissen 10.1 und 10.2. Bei einer Folge von Vorschaubildern mit unterschiedlichen angenommenen Objektabständen d liegt eine solche Situation natürlich üblicherweise nicht oder nur zufällig vor. Häufig tritt die Situation auf, dass ein tatsächlicher Hindernisabstand nicht durch eines der Vorschaubilder erfasst ist, sondern beispielsweise zwischen dem angenommen Objektabstand von zwei Vorschaubildern liegt. Zur Ermittlung eines wahrscheinlichsten Hindernisabstands ist es dann vorteilhaft, den Wert der Fehlermatrix für einen Bildbereich oder auch für jeden einzelnen Bildpunkt zwischen den angenommenen Objektabständen der Vorschaubilder zu interpolieren. Die Interpolierten Werte geben die Abhängigkeit der Fehlerwerte von dem Objektabstand wieder. Diese Abhängigkeit wird nachfolgend auch als Fehlerkurve bezeichnet. Für die Annäherung durch eine derartige Fehlerkurve ist beispielsweise ein Polynom zweiter Ordnung (quadratische Parabel) geeignet. In dem Fall basiert die Interpolation bevorzugt auf drei benachbarten Fehlermatrizen.
-
Um aus der Lage des Minimums im Fehlermatrizenstapels auf das Vorliegen eines Hindernisses zu schließen und dessen Position zu bestimmen, wird bei dem anmeldungsgemäßen Verfahren eine Hinderniskarte der Umgebung angelegt. Durch Bildrauschen der Umgebungsbilder, durch Ungenauigkeiten bei der (odometrischen) Bestimmung der Fahrinformation und auch durch eine Varianz bei der Interpolation des Abstands des lokalen Minimums in der Fehlermatrix ist die Position eines möglichen Hindernisses, die sich aus der Lage des Minimums in dem Fehlermatrixstapels ergibt, mit einer abschätzbaren Ungenauigkeit belegt. Das in 2 dargestellte Verfahren wird vorteilhaft bei Bewegung des Saugroboters 1 mehrfach durchgeführt, wobei die angegebene aktuelle Position 11a für einen nachfolgenden Schritt die Referenzposition darstellt und ausgehend von dieser Position als Referenzposition wiederum Vorschaubilder erstellt werden, die mit einer neuen aktuellen Position verglichen werden. Für jede aktuelle Position, an der ein Bildvergleich vorgenommen wird und die resultierende Fehlermatrix ausgewertet wird, werden Informationen zur Lage eines bzw. mehrerer lokaler Minima in der Fehlermatrix gewonnen. Diese können vorteilhaft zur Hinderniserkennung und zur Bestimmung eines erkannten Hindernisses kombiniert werden. Dieses ist in 3 schematisch illustriert.
-
Die 3 zeigt eine Aufsicht auf die Umgebung des Saugroboters 1, der sich in diesem Beispiel entlang der x-Koordinate in der Bewegungsebene bewegt. Dargestellt sind drei verschiedene Positionen 11a, 11b, 11c des Saugroboters, von denen die Position 11a die aktuelle Position ist, an der ein Bildvergleich mit Vorschaubildern erfolgt, die an einer vorherigen Position, nämlich der Position 11b als Referenzposition, erstellt wurden. An der Position 11a wurde ein Minimum in den Fehlermatrizen unter einem Winkel von βa und in einem wahrscheinlichsten Abstand da ermittelt. Sowohl die Bestimmung des Winkels βa, unter dem das lokale Minimum von Saugroboter 1 aus erscheint, als auch die Bestimmung des wahrscheinlichsten Abstands da sind fehlerbehaftet, wobei die Größe des Fehlers jeweils durch eine Gaußverteilung angenähert ist. Dabei wird im Allgemeinen die Fehlergröße in der Richtungsbestimmung des Winkels βa kleiner sein als die in der Bestimmung des Abstands da. Die daraus resultierende Wahrscheinlichkeitsverteilung für die wahrscheinlichste Position des lokalen Minimums der Fehlermatrizen ist in der Projektion auf die xy-Ebene durch eine Ellipse 14a symbolisiert. Die Ellipse 14a gibt die Varianz bei der Bestimmung des Winkels βa bzw. des Abstands da wieder.
-
In gleicher Weise werden für die zuvor eingenommenen Positionen 11b und 11c die Ergebnisse der an diesen Positionen ermittelten lokalen Minima in den Fehlermatrizen in Form von Ellipsen 14b und 14c eingetragen. Die den Ellipsen 14a bis 14c zugrunde liegenden Gaußverteilungen werden zu einer Gesamtwahrscheinlichkeitsverteilung aufsummiert. Aus dieser Gesamtwahrscheinlichkeitsverteilung ergibt sich nun die Lage des Hindernisses bzw. der Hindernisse. Beispielsweise kann das Maximum dieser Gesamtwahrscheinlichkeitsverteilung als wahrscheinlichste Position 15 eines Hindernisses in die Hinderniskarte eingetragen werden. Auch kann ein Schwellenwert vorgegeben sein. An den Positionen, an denen die Werte der Gesamtwahrscheinlichkeitsverteilung den Schwellenwert überschreiten, wird ein Hindernis angenommen..