DE19522932A1 - Korridorlaufroboter - Google Patents

Korridorlaufroboter

Info

Publication number
DE19522932A1
DE19522932A1 DE19522932A DE19522932A DE19522932A1 DE 19522932 A1 DE19522932 A1 DE 19522932A1 DE 19522932 A DE19522932 A DE 19522932A DE 19522932 A DE19522932 A DE 19522932A DE 19522932 A1 DE19522932 A1 DE 19522932A1
Authority
DE
Germany
Prior art keywords
vehicle
corridor
robot
distance
center line
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.)
Withdrawn
Application number
DE19522932A
Other languages
English (en)
Inventor
Uwe Dr Wienkop
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.)
Siemens Corporate Research Inc
Original Assignee
Siemens Corporate Research 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 Siemens Corporate Research Inc filed Critical Siemens Corporate Research Inc
Publication of DE19522932A1 publication Critical patent/DE19522932A1/de
Withdrawn 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/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Acoustics & Sound (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Description

Technisches Gebiet
Diese Erfindung betrifft das Gebiet der Steuerung der von einem Roboter verfolgten Bahn.
Allgemeiner Stand der Technik
Roboter haben inzwischen einen Entwicklungsstand erreicht, in dem sie eine ganze Reihe von Aufgaben, wie z. B. Post zustellen, auf Sicherheitspatrouille gehen, Besucher führen und Lecks aufspüren, ausführen können. Alle diese Aufgaben erfordern ein grundlegendes Verfahren zum Lenken eines Roboters um bestimmte Entfernungen entlang einem Korridor sowie Möglichkeiten, Abzweigungen und Biegungen zu erfassen. Bisher hat sich die Forschung auf Verfahren zum Auffinden einer Bahn zu einem gegebenen Ort konzentriert, so daß Hindernisse umgangen werden. Die für diese Zwecke erforderlichen Informationen wurden bisher mit Hilfe von Sonarsensoren gewonnen. Leider reagiert ein Hindernisumgehungssystem sehr empfindlich auf Unregelmäßigkeiten im Korridor, wie offene Türen und Feuerlöscher.
Kurze Darstellung der Erfindung
Gemäß dieser Erfindung wird ein Roboter als Reak­ tion auf Informationen bezüglich der Breite des Korridors und Abständen zwischen dem Roboter und dem nächstgelegenen Objekt unter verschiedenen Winkeln entlang der Mittel­ linie eines Korridors oder einer Linie parallel zur Mittellinie geführt. Die Abstandsinformationen können von Sonarsensoren auf beiden Seiten des Roboters abgeleitet werden. Eine Methode der kleinsten Quadrate wird zum Anpassen von Geraden an die besagten nächstgelegenen Objekte auf beiden Seiten des Roboters verwendet, um den Abstand des Roboters von der Mittellinie des Korridors sowie seine Winkelausrichtung bezüglich des Korridors zu bestimmen. Dann ist es nur noch notwendig, die Lenkung zu steuern, um den Roboter mit genauem Kurs entlang dem Korridor auf die Mittellinie oder auf eine andere Linie zu bringen.
Bei der Durchführung dieses Verfahrens werden Abstände, die größer sind als ein gegebener Wert, von den Berechnungen ausgenommen. So wird zum Beispiel der größere Abstand, den man beim Durchtritt eines Sensor­ strahls durch eine offene Tür erhält, ignoriert.
Während die Sonarstrahlen eine Breite von unge­ fähr 22,5° aufweisen, wird die Winkelposition des Robot­ ers aufgrund des eben beschriebenen Linienanpassungs­ verfahrens mit einer Auflösung von 2° oder 3° bestimmt.
Die Position des Roboters bezüglich einer Linie entlang einem Korridor wird allgemein aus seinem Abstand zu jeder Wand bestimmt, der aus unter verschiedenen Winkeln vorgenommen geeigneten Abstandsmessungen abge­ leitet wird, ist jedoch ein Abstand größer als die Breite des Korridors, so wird er beim Ableiten der Lenkungs­ steuerung nicht verwendet. Somit wird sich der Roboter auch dann entlang der Mitte eines Korridors weiterbe­ wegen, wenn sich zum Beispiel auf einer Seite ein großer Eingang oder Vorraum befindet.
Wird entlang einer Wand auf ein Hindernis wie zum Beispiel einen Trinkwasserspender gestoßen, so bewirkt das Linienanpassungsverfahren, daß die Wand näher zu liegen scheint, so daß der Roboter von ihr wegbewegt wird.
Kurze Beschreibung der Zeichnungen
Fig. 1 stellt die wesentlichen Bestandteile eines bei dieser Erfindung verwendbaren Roboters dar;
Fig. 2 zeigt eine willkürliche Anfangsposition eines Roboters in einem Korridor;
Fig. 3 zeigt einen Roboter mit auf jeder Seite in fünf Winkeln angeordneten Sensoren, wobei die verwend­ baren Abstandsmessungen durch Kreuze angedeutet sind;
Fig. 4 gleicht Fig. 3 und zeigt die an die ver­ wendbaren Abstände angepaßten Geraden;
Fig. 5 zeigt einen Roboter mit einem Kursfehler α und einer Abweichung δ von der Mittellinie;
Fig. 6 zeigt den Lenkwinkel θ, der verwendet wird, um einen Roboter, der eine Abweichung δ und einen Kursfehler von α aufweist, in einer Entfernung λ′ zur Mittellinie zu bewegen;
Fig. 7 ist ein Flußdiagramm, das das Anpassen einer Linie an einen Satz nächstgelegener Objekte dar­ stellt;
Fig. 8 ist ein Flußdiagramm, das die Berechnung von Lenkwinkel und Geschwindigkeit darstellt; und
Fig. 9 ist ein Flußdiagramm zum Führen des Roboters und zum Bestimmen, wann er eine zugewiesene Entfernung zurückgelegt hat.
Ausführliche Beschreibung der Erfindung
Fig. 1 ist eine schematische Darstellung der wesentlichen Bestandteile eines Roboters 2, bei dem die vorliegende Erfindung angewendet werden kann. Ein Roboter 2 mit der Bezeichnung NOMAD 200 der Firma Nomadic Technologies, Inc., aus Mountainview, Kalifornien, wurde bei einem technischen Prototyp mit der vorliegenden Erfindung verwendet. Der Roboter 2 besteht aus einer Bodenplatte 4 und einem Turm 6, der derart angebracht ist, daß er um eine Achse 7 derselben drehbar ist. Mehrere Sonarsensoren 8, 10, 12, 14, 16 und 18 sind um den Turm 6 verteilt, um, wie in Fig. 2 und 3 gezeigt Sonarstrahlen in verschiedenen Winkeln abzustrahlen. Ein Mikroprozessor 20 liefert Signale zum Speisen der Sensoren nacheinander, leitet für jeden Sensor den Abstand zum nächstgelegenen Objekt ab, führt den Linienanpassungsvorgang durch und führt die Signalverar­ beitungsfunktionen aus. Außerdem liefert der Mikro­ prozessor 20 Steuersignale an Motoren 22, 24 und 26, die jeweils über Drehgelenke 34, 36 und 38 mit der Basis 4 verbundene Räder 28, 30 und 32 antreiben. Die Winkel­ richtung, in der die Räder 28, 30 und 32, von ihren jeweiligen Motoren 22, 24 und 26 gesteuert, rollen, ergibt sich aus dem Betrieb der vom Mikroprozessor gesteuerten Rotoren 40, 42 bzw. 44. Ein x,y-Register 46 zeigt die x,y-Position des Roboters 2 an.
Ein Roboter 2, der wie in der vorliegenden Erfindung beschrieben gesteuert wird, erhält neben der Länge des zurückgelegten Wegs und der Korridorbreite keine weiteren Informationen über seine Umgebung. Dem Roboter 2 liegen keine Informationen über die Anzahl von Türen (die geöffnet oder geschlossen sein können), über an der Wand angebrachte Gegenstände wie z. B. Feuer­ löscher, über im Korridor nahe den Wänden gelagerte Gegenstände wie z. B. Abfalleimer, über Abzweigungen oder über vorbeigehende oder auf dem Korridor stehende Menschen vor.
Aus der Verwendung von Sonarsensoren ergibt sich ein weiteres Problem. Obwohl sie einige gute Merkmale wie z. B. einen niedrigen Preis und unter angemessenen Bedingungen hohe Genauigkeit aufweisen, so ist ihr Winkelauflösungsvermögen doch schwach. Übliche Sonar­ sensoren weisen eine Auflösung von ungefähr 20 Grad auf. Dies bedeutet, daß man, wenn der Sensor ein Hindernis in einem bestimmten Abstand meldet, keine weiteren Informa­ tionen über die Form oder die relative Ausrichtung zwischen diesem Hindernis und dem Roboter 2 erhält. Das Verfahren zur Fortbewegung entlang einem Korridor muß sich aus diesem Grund auch mit diesen speziellen Sonar­ eigenschaften beschäftigen.
Einige Roboter erfordern eine Lenkung wie (10, 5), was bedeutet: Vorwärtsgehen um 10 cm und Linksdrehen um 5 Grad (es wird angenommen, daß positive Winkel immer Linksdrehungen und negative Winkel immer Rechtsdrehungen sind). Andere Roboter erfordern eine indirektere Lenkung durch die Angabe von Motorgeschwindigkeiten wie (50, -6), was bedeutet: Vorwärtsgehen mit einer Geschwindigkeit von 50 cm/s (Zentimeter pro Sekunde) und Rechtsdrehung mit einer Geschwindigkeit von 6 Grad/s. Die Vorliegende Erfindung kann mit beiden Lenkverfahren arbeiten.
Wie in Fig. 2 angedeutet ist, kennt der Roboter 2 zu Anfang nicht die Abstände von den Wänden 47 und 48 auf beiden Seiten, und er kennt auch nicht die Richtung, auf die er Kurs nimmt. Für alle Lenkroutinen ist die Kenntnis dieser beiden Parameter unabdingbar.
Beim ersten Schritt zum Gewinnen dieser Parameter löst der Roboter 2 seine Sonarsensoren aus. Dies kann in willkürlicher Reihenfolge und mit einer willkürlichen Auslösegeschwindigkeit bei einer Verzögerung von z. B. 8 ms (Millisekunden) zwischen aufeinanderfolgenden Sonarauslösungen erfolgen. Für die folgenden Schritte ist es wichtig, daß die Winkel der Sonarsensoren bezüglich der Vorwärtsrichtung des Roboters bekannt sind. Nachdem für jeden Sensor der Abstand zum nächsten Objekt abgeleitet worden ist, verwendet der Mikroprozessor 20 die Abstandsinformationen und den Winkel jedes Sensors, um die Position des nächstgelegenen Objekts unter jedem Winkel in Weltkoordinaten zu berechnen. Da angenommen wird, daß der Roboter 2 sich in einem Korridor fort­ bewegt, sollten diese Koordinaten bestimmte Stellen der Wand auf beiden Seiten des Roboters 2 darstellen. Auf­ grund der Ungenauigkeit des Sonar (z. B. Geräusche und Teilabsorption) stimmen diese Anzeigen nicht immer mit den tatsächlichen Wänden überein. Obwohl eine andere Auslösereihenfolge verwendet werden kann, wurden die Sensoren in der Reihenfolge 10, 8, 18, 12, 16 und 14 ausgelöst, wobei der Sensor 8 sich an der Vorderseite befindet und die anderen Sensoren in der Reihenfolge entgegen dem Uhrzeigersinn numeriert sind. Fig. 1 zeigt nur sechs Sensoren, doch führen fünf Sensoren auf jeder Seite, die wie in Fig. 3 dargestellt einen Winkel von 22° zwischen sich einschließen, zu einer besseren Leistung.
Beim zweiten Schritt werden die Abstände zu den nächstgelegenen Objekten gefiltert, um die unbrauchbaren Meßwerte zu eliminieren. So zeigen zum Beispiel die Sensoren in Fig. 3 aufgrund der Sonarreflexionen, falls der Einfallswinkel zu groß ist, bei 45°, 68°, 225° und 248° einen viel größeren Abstand als wirklich vorliegt an. Ein weiterer Grund, nicht alle Abstände zu berück­ sichtigen, liegt vor, wenn der Korridor nicht perfekt ist. Das bedeutet, daß offene Türen, Feuerlöscher, Abfalleimer und andere Unregelmäßigkeiten in dem Korridor vorhanden sein können. Diese Stufe des Filterns elimi­ niert die durch diese Dinge hervorgerufenen Auswirkungen bis zu einem bestimmten Grad. Diese Kürzung der Sonaranzeigen hängt von der Breite des Korridors ab. In einem Fall wurden die für die Berechnung geeigneter Abstände verwendeten Grenzen für die mit Sonar bestimmten Abstände bei einem 69 Zoll breiten Korridor auf 75 Zoll festgelegt.
Bei dem dritten Schritt wird eine Anpassung von Geraden 47′ und 48′ durch die in Fig. 4 mit Kreuzen auf beiden Seiten des Roboters 2 gezeigten verwendbaren nächstgelegenen Objekte durchgeführt. Da angenommen wird, daß die Wände 47 und 48 des Korridors gerade sind (obwohl dies aufgrund der oben erwähnten Unregelmäßigkeiten nicht immer zutrifft), liefert eine Gerade durch diese nächst­ gelegenen Objekte eine gute Annäherung an die Winkelaus­ richtung des Roboters bezüglich der Wände. Dieses Vor­ gehen durch Linienanpassung löst auch das Problem des schlechten Winkelauflösungsvermögens der Sonarsensoren. Werden mindestens drei Sensoren zur Berechnung der Ausrichtung des Roboters verwendet, so kann eine annehm­ bare Genauigkeit von ungefähr 2-3 Grad erzielt werden.
Diese Linienanpassung wird mit folgenden drei Formeln durchgeführt:
Winkel = atan (Winkel′) (3)
Die in den obigen Formeln verwendeten Symbole haben folgende Bedeutung:
Σx Summe der x-Koordinaten des Sonars
Σy Summe der y-Koordinaten des Sonars
Σxy Summe aus dem Produkt der x- und y-Koordinaten
Σx² Summe der Quadrate der x-Koordinaten
n Anzahl der verwendeten Koordinaten.
Diese Gleichungen liefern somit den Abstand des Roboters von der linken und rechten Wand sowie die Winkelausrichtung des Roboters bezüglich der Wände. Selbstverständlich weisen die Winkel der beiden Linien aufgrund der Unvollkommenheit des Sonars und der Unregel­ mäßigkeiten des Korridors nicht unbedingt den gleichen Wert auf. Tritt zum Beispiel auf der linken Seite eine Unregelmäßigkeit auf, so wird dieser Winkel bestimmt einen anderen Wert aufweisen als der Winkel auf der rechten Seite.
Der vierte Schritt beim Fortbewegungsverfahren auf dem Korridor besteht deshalb im derartigen Verknüpfen des Abstands und der Winkelparameter der Linien 47′ und 48′, daß, wie in Fig. 5 gezeigt, einzig die gewünschten Informationen über die Abweichung δ des Roboters von der Mittellinie und seinen Kurs α übrigbleiben. Dies ge­ schieht dadurch, daß überprüft wird, ob die Abstandspa­ rameter jeder Linie für einen Korridor dieser Größe in einem annehmbaren Bereich liegen. Annehmbare Parameter sollten die Abstände d₁ und d₂ zu den Linien 47′ bzw. 48′ anzeigen, die nicht größer sind als die Breite des Korridors. Wenn die Parameter der beiden Linien 47′ und 48′ diese Bedingung erfüllen, werden beide Abstandspara­ meter zur Berechnung der Abweichung δ des Roboters von der Mittellinie des Korridors herangezogen. Dies ge­ schieht, indem lediglich die beiden Abstände d₁ und d₂ gemittelt werden. Erfüllt der Abstandsparameter einer der Linien 47′ und 48′ diese Bedingung nicht, so wird diese Liniengleichung ignoriert und als Ersatz für diese Abstandsinformation die bekannte Breite des Korridors verwendet. Obwohl dies kaum vorkommt, ist es auch mög­ lich, daß keine der beiden Liniengleichungen annehmbare Werte anzeigt. In diesem Fall wird angenommen, daß ein breiterer Zwischenraum vorliegt, und der Roboter 2 erhält den Befehl, sich mit geringer Geschwindigkeit geradeaus zu bewegen.
Bei dem fünften Schritt müssen auch die Winkel der Linien 47′ und 48′ verknüpft werden. Wenn die Abstands­ parameter beider Linien "gute" Werte aufweisen, dann wird die verknüpfte Winkelausrichtung des Roboters 2 als der Mittelwert aus den Winkeln der Linien 47′ und 48′ berech­ net. Erfüllt der Linienabstandsparameter einer Linie nicht die Bedingung, dann wird nur der verbleibende "gute" Wert herangezogen. Nach diesem Schritt sind die Abweichung δ des Roboters von der Mittellinie oder einer anderen Linie und seine Winkelausrichtung in dem Korridor bekannt. Aufgrund der gewählten Winkel der Sonarsensoren weist eine Abweichung zur rechten Seite von der Mittel­ linie einen negativen und eine Abweichung zur linken Seite einen positiven Wert auf. Ebenso weist ein vom Roboter eingeschlagener Kurs zur rechten Seite des Korridors einen positiven und ein Kurs zur linken Seite einen negativen Winkel auf.
Zur Berechnung des in Fig. 6 dargestellten Lenkwinkels θ muß bekannt sein, wie schnell, d. h. inner­ halb welcher Entfernung entlang dem Korridor, eine Abweichung und eine falsche Winkelausrichtung berichtigt sein sollten. Die hier gewählte Entfernung λ ist für das Lenkverhalten des Roboters von entscheidender Bedeutung. Wird eine sehr kurze Entfernung gewählt, so werden Abweichungen fast sofort berichtigt, was jedoch zu schnellen Lenkwechseln führt, und wenn der Roboter 2 seine Bahnkorrektur auch nur ein wenig überschreitet, wird er dazu neigen, sich auf einem Zickzack-Kurs entlang der Mittellinie oder einer anderen Linie zu bewegen. Wenn hingegen die gewählte Entfernung zu groß ist, wird es zu lange dauern, bis der Roboter zu der Mittellinie oder einer anderen Linie zurückgekehrt ist. Für die Entfernung muß daher ein "guter" Wert gefunden werden. Bei Versuchen hat sich gezeigt, daß die beste Entfernung λ 10 Zoll beträgt.
Die folgenden Formeln werden zur Berechnung des neuen Lenkwinkels θ aus den bisher gewonnenen Informatio­ nen verwendet:
Es bleibt nun nur noch, diesen Lenkwinkel durch Einleiten einer Relativbewegung relative_move (λ′, θ) anzuwenden; d. h. einer Drehung um θ Grad und Vorwärts­ bewegung um Entfernung λ′. Wenn der Roboter 2 Geschwin­ digkeitsbewegungen erfordert, wird ein Befehl velo­ city_move (λ′, θ) gegeben, bei dem sich der Roboter 2 mit einer bestimmten Geschwindigkeit über eine Entfernung λ′ bewegt und seine Winkelanzeige mit einer bestimmten Gradzahl pro Sekunde verändert. Obwohl diese beiden Betriebsarten üblicherweise ein sehr unterschiedliches Verhalten zeigen, funktioniert das beschriebene Verfahren bei beiden Betriebsarten. Es kann erforderlich sein, die Parameter für velocity_move durch Multiplizieren gewisser Faktoren zu modifizieren, um die Winkel an die von dem speziellen Roboter 2 unterstützten tatsächlichen Ge­ schwindigkeiten anzugleichen.
Da die Linienanpassung und die Berechnung der Abweichung δ des Roboters 2 vom Mittelpunkt des Korridors und seiner Winkelausrichtung nur wenig Zeit in Anspruch nehmen, können diese Berechnungen viele Male durchgeführt werden, während sich der Roboter 2 an die Mittellinie annähert.
Es sei angenommen, daß die x,y-Register 46 die gegenwärtige x,y-Position des Roboters als rob_x und rob_y anzeigen. Während sich der Roboter 2 bewegt, werden diese Register entsprechend aktualisiert. Wenn der Anfangswert des x,y-Registers zu Beginn der Aufgabe, sich durch den Korridor fortzubewegen, gespeichert wird, dann ist es unter Verwendung der Euklidschen Entfernungs­ gleichung sehr leicht, die Entfernung, um die sich der Roboter in der Zwischenzeit entlang des Korridors fort­ bewegt hat, zu verfolgen. Angenommen, die Anfangswerte für x und y werden in den beiden Variablen start_x und start_y gespeichert. Der Gesamtsteuerkreis (geschrieben im C-Code) lautet dann wie folgt:
start_x = rob_x;
start_y = rob_y;
while (sqrt(sq(rob_x-start_x) + sq(rob_y-start_y))
< to_go_distance)
theta = calculate_steering_angle();
move_robot(theta);
Die Funktion calculate_steering_angle [BERECHNEN DES LENKWINKELS] ist das weiter oben beschriebene Lenk­ verfahren, und die Funktion move_robot 2 [BEWEGEN ROBOTER 2] ist eine Funktion, die einen Bewegungsschritt des Roboters 2 ausführt. Es wird angenommen, daß die x,y- Register (rob_x und rob_y) des Roboters und die Sonar­ anzeigen nach jedem Bewegungsschritt aktualisiert werden.
Die eigentliche Bewegung kann auf zweierlei Weise durchgeführt werden. Die Funktion move_robot 2 kann möglicherweise eine Routine robot 2 aufrufen, die dem Roboter 2 den Befehl zum Drehen und Bewegen erteilt. Die Routine move_robot 2 kann nun einfach warten, bis diese Funktion abgeschlossen ist, und danach zurückkehren.
Wenn jedoch die Routine robot 2 parallel zu dem oben beschriebenen Steuerprogramm abläuft und danach jederzeit unterbrochen werden kann, dann ist es auch möglich, einfach den Lenkwinkel Theta an diese Funktion robot 2 weiterzugeben, den gegenwärtigen x/y-Status und die Sonaranzeigen abzufragen und nach einer kurzen Verzögerung fast umgehend zurückzukehren.
In diesem Fall beginnt der gesamte Vorgang des Berechnens des Lenkwinkels und des Ausführens der Routine move_robot 2 immer wieder von neuem, obwohl kein einziger move_step wirklich zu Ende geführt wurde. Dieser Stil entspricht mehr dem Autofahren eines Menschen. Immer dann, wenn eine Abweichung von der befohlenen Bahn erfaßt wird, berechnet das Programm den Winkel, um den sich der Roboter 2 drehen muß, um zur Mittellinie zurückzugehen Jedoch fährt der Roboter 2 während seiner Rückkehr zur Mittellinie fort, seine Ausrichtung zu sondieren und korrigiert gegebenenfalls seine Bahn. Es hat sich heraus­ gestellt, daß diese Art der Programmierung des Roboters 2 sehr wirksam ist und zu einem ruckfreien Betrieb führt.
Beide Programmierungsverfahren des Roboters 2 funktionieren jedoch sehr gut und sind zuverlässig.
In jedem Fall muß der Kurs des Roboters, wenn dieser die Mittellinie oder eine andere Linie erreicht hat, zu einer Richtung entlang dem Korridors geändert werden.
Zur Veranschaulichung einer Prozedur zum Berech­ nen der Parameter einer Wand wird auf Fig. 7 Bezug genommen. Wie in einem Block 49 angedeutet, werden die Programmzeilen 151-175 des Programms in der Programm­ tabelle am Ende dieser "Ausführlichen Beschreibung der Erfindung" dargelegt. In einem Schritt 50 werden die Sonaranzeigen mit den Zeilen 159-169 in das Koordina­ tensystem des Roboters umgewandelt, und ein Schritt 52 zeigt an, daß die Zeilen 113-131 zur Berechnung der Linienanpassung verwendet werden.
Fig. 8 zeigt die Berechnung des Lenkwinkels e und der Geschwindigkeit, wie in einem Block 54 gefordert. Wie bei einem Schritt 56 angedeutet, wird die Prozedur von Fig. 7 zum Berechnen der Parameter der linken Wand verwendet, und wie in Schritt 58 angedeutet, wird die Prozedur von Fig. 7 auch zum Berechnen der Parameter der rechten Wand verwendet. Ein Schritt 60 deutet an, daß die Programmzeilen 214-240 der Tabelle zum Verknüpfen der Parameter der rechten und linken Wand verwendet werden, und ein Schritt 62 gibt an, daß Programmzeilen 240-247 zum Berechnen der Geschwindigkeit verwendet werden.
Ein Block 64 in Fig. 9 zeigt, daß die Programm­ zeilen 347-375 der Tabelle in der Prozedur der "geführten Bewegung" verwendet werden. Die ursprüngliche x,y-Position des Roboters 2 wird in Schritt 66 unter Verwendung der Programmzeilen 360-361 der Tabelle gesichert. Ein Schritt 68 zeigt, daß der Lenkwinkel Θ und die Geschwindigkeit wie in Fig. 8 angedeutet berechnet werden.
In einem Schritt 70 werden die Motoren ange­ trieben und die Entfernung von der x,y-Startposition wird berechnet, und in einem Entscheidungsschritt 72 wird eine Überprüfung durchgeführt, ob die in Schritt 70 bestimmte Entfernung gleich der Entfernung ist, um die der Roboter 2 sich bewegen muß. Wenn das nicht der Fall ist, springt die Prozedur zu Schritt 68 zurück, anderenfalls ist alles ausgeführt worden.
Obwohl die beschriebene Verwendung von Sensoren auf beiden Seiten des Roboters 2 vorzuziehen ist, kann das erfindungsgemäße Verfahren auch mit Sensoren auf nur einer Seite durchgeführt werden. In diesem Fall wird die Position der Wand auf dieser Seite durch das schon beschriebene Linienanpassungsverfahren bestimmt, und der Abstand von der Wand und die Winkelausrichtung zu der Wand werden berechnet. Der für die Rückkehr des Roboters 2 zu einer gegebenen Linie entlang dem Korridor benötigte Lenkwinkel θ wird auf gleiche Weise berechnet.
ROBOT MOVEMENT ROUTINES SOURCE CODE IN "C" LANGUAGE
Obwohl verschiedene Ausführungsformen der vorliegenden Erfindung hier gezeigt und beschrieben worden sind, soll dies keine Einschränkung darstellen. Für Fachleute werden gewisse Modifikationen dieser Ausführungsformen, die von der zugrundeliegenden Idee und dem Schutzumfang der beigefügten Ansprüche abgedeckt sein sollen, ersichtlich sein.

Claims (8)

1. Vorrichtung zum Führen eines Fahrzeugs entlang einem Korridor zwischen Wänden, mit:
Mitteln zum Bestimmen der Abstände zwischen dem Fahrzeug und mehreren Punkten an jeder Wand;
auf besagte Abstände reagierenden Mitteln zum Festlegen der Abstände zwischen dem Fahrzeug und jeder Wand und der Winkelausrichtung des Fahrzeugs zu der Wand; und
auf die Abstände und die Winkelausrichtung re­ agierenden Mitteln zum Bewegen des Fahrzeugs zu einer gegebenen Position zwischen den Wänden und zum Drehen des Fahrzeugs in eine gewünschte Winkelausrichtung zu den Wänden.
2. Verfahren zum Führen eines Fahrzeugs entlang einem Korridor mit einer gegebenen Breite, mit folgenden Schritten:
Erhalten der Abstände zwischen dem Fahrzeug und den nächstgelegenen Objekten in mehreren Richtungen auf beiden Seiten des Fahrzeugs;
Identifizieren der nächstgelegenen Objekte in Abständen, die nicht größer sind als die Breite des Korridors;
Anpassen von Geraden durch die derart identifizi­ erten Objekte auf jeder Seite des Fahrzeugs, um die Positionen der Wände festzulegen;
Bestimmen des Abstands zwischen dem Fahrzeug und jeder der besagten Geraden;
Finden des Mittelwerts der Abstände zwischen dem Fahrzeug und jeder der besagten Geraden zum Feststellen der Lage der Korridormitte;
Ableiten der Abweichung des Fahrzeugs vom Mittel­ punkt des Korridors aus der Differenz zwischen besagtem Mittelwert und der halben Breite des Korridors;
Bestimmen des Winkels zwischen dem Kurs des Fahr­ zeugs und jeder der besagten Geraden; und
Verwenden eines Mittelwerts besagter Winkel als Kurs des Fahrzeugs bezüglich der Mittellinie des Korri­ dors; und
Steuern der Bewegung des Fahrzeugs als Reaktion auf besagte Abweichung und den Mittelwert aus besagten Winkeln.
3. Verfahren nach Anspruch 2, weiterhin mit folgen­ den Schritten:
Ersetzen des die Breite des Korridors überstei­ genden Abstands zwischen dem Fahrzeug und einer Geraden durch die Breite des Korridors.
4. Verfahren nach Anspruch 2, weiterhin mit folgen­ den Schritten:
Anhalten der Prozedur, falls der Abstand zwischen dem Fahrzeug und beiden Geraden die Breite des Korridors übersteigt; und
Bewegen des Fahrzeugs in seine gegenwärtige Rich­ tung.
5. Verfahren nach Anspruch 4, weiterhin mit fol­ gendem Schritt:
Reduzieren der Geschwindigkeit des Fahrzeugs.
6. Verfahren nach Anspruch 2, weiterhin mit folgen­ dem Schritt:
Ersetzen des Mittelwerts der Winkel durch den Winkel zwischen dem Kurs und einer der besagten Geraden, falls der Abstand zwischen dem Fahrzeug und der anderen Geraden die Breite des Korridors übersteigt.
7. Verfahren nach Anspruch 2, wobei der Schritt des Steuerns der Bewegung des Fahrzeugs durch Drehen des Fahrzeugs um einen Winkel θ und durch Vorwärtsbewegen um eine Entfernung λ′ bewirkt wird, wobei die folgenden Gleichungen verwendet werden: und
wobei α der Kurs des Fahrzeugs, λ die Entfernung entlang der Mittellinie, in der sich das Fahrzeug mit einem Kurs entlang der Mittellinie auf der Mittellinie befinden soll, und δ die Abweichung des Fahrzeugs von der Mittel­ linie ist.
8. Verfahren nach Anspruch 2, wobei der Schritt des Steuerns der Bewegung des Fahrzeugs durch Bewegen des Fahrzeugs mit einer zu λ′ proportionalen Translations­ geschwindigkeit und einer zu θ proportionalen Rotations­ geschwindigkeit bewirkt wird, wobei: wobei α der Kurs des Fahrzeugs, λ die Entfernung entlang der Mittellinie, in der sich das Fahrzeug mit einem Kurs entlang der Mittellinie auf der Mittellinie befinden soll, und δ die Abweichung des Fahrzeugs von der Mittel­ linie ist.
DE19522932A 1994-06-30 1995-06-23 Korridorlaufroboter Withdrawn DE19522932A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/269,298 US5576947A (en) 1994-06-30 1994-06-30 Robot hallway traveler

Publications (1)

Publication Number Publication Date
DE19522932A1 true DE19522932A1 (de) 1996-01-11

Family

ID=23026665

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19522932A Withdrawn DE19522932A1 (de) 1994-06-30 1995-06-23 Korridorlaufroboter

Country Status (3)

Country Link
US (1) US5576947A (de)
JP (1) JPH08171416A (de)
DE (1) DE19522932A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19817602A1 (de) * 1998-04-22 1999-10-28 Heinrich Landert Computerisiertes System für Empfang und Information von Besuchern
EP1204905A1 (de) * 1999-07-23 2002-05-15 CMTE Development Limited System fuer relative navigation in einem fahrzeug
CN105169610A (zh) * 2015-08-24 2015-12-23 铜陵学院 基于两轮高速全自动灭火机器人的双核伺服控制系统
CN108478969A (zh) * 2018-04-02 2018-09-04 南京森林警察学院 一种履足混合式森林余火清理机器人

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0156722B1 (ko) * 1995-08-08 1998-11-16 김광호 로보트의 위치인식장치 및 그 제어방법
KR0168189B1 (ko) * 1995-12-01 1999-02-01 김광호 로보트의 환경인식장치 및 그 제어방법
EP0939882A4 (de) * 1996-09-06 2001-04-11 Nomadic Technologies Inc Verfahren und vorrichtung zur bewegungssteuerung eines beweglichen roboters
US6853877B1 (en) 1996-09-06 2005-02-08 Nomadic Technologies Method and apparatus for mobile robot motion control
US6948576B2 (en) * 2002-01-10 2005-09-27 Jorge Angeles Driving and transmission unit for use in rolling vehicles
KR100624387B1 (ko) * 2005-04-25 2006-09-20 엘지전자 주식회사 주행영역 지정이 가능한 로봇 시스템
US7539557B2 (en) * 2005-12-30 2009-05-26 Irobot Corporation Autonomous mobile robot
US20080012310A1 (en) * 2006-07-01 2008-01-17 Lance Weaver Automatic self-centering duct robot
US8874261B2 (en) * 2007-07-25 2014-10-28 Deere & Company Method and system for controlling a mobile robot
US20140041321A1 (en) * 2008-11-17 2014-02-13 Alain Poivet Building Systems
US11063553B2 (en) 2008-11-17 2021-07-13 Kbfx Llc Solar carports, solar-tracking carports, and methods
US10277159B2 (en) 2008-11-17 2019-04-30 Kbfx Llc Finished multi-sensor units
US10353400B2 (en) * 2016-05-23 2019-07-16 Asustek Computer Inc. Navigation system and navigation method
CN109085834B (zh) * 2018-08-27 2019-09-03 珠海市一微半导体有限公司 机器人确定参考边的方法和机器人筛选参考墙边的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH619799A5 (en) * 1973-12-21 1980-10-15 Ito Patent Ag Orientation device for an appliance system which moves over a surface for the purpose of treating it
EP0346537A1 (de) * 1988-06-14 1989-12-20 Shinko Electric Co. Ltd. Verfahren zur Korrektur des Fahrweges für ein selbstfahrendes fahrerloses Fahrzeug (Roboterfahrzeug)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821192A (en) * 1986-05-16 1989-04-11 Denning Mobile Robotics, Inc. Node map system and method for vehicle
US5051906A (en) * 1989-06-07 1991-09-24 Transitions Research Corporation Mobile robot navigation employing retroreflective ceiling features
US5111401A (en) * 1990-05-19 1992-05-05 The United States Of America As Represented By The Secretary Of The Navy Navigational control system for an autonomous vehicle
US5307271A (en) * 1990-09-28 1994-04-26 The United States Of America As Represented By The Secretary Of The Navy Reflexive teleoperated control system for a remotely controlled vehicle
KR0161031B1 (ko) * 1993-09-09 1998-12-15 김광호 로보트의 위치오차보정장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH619799A5 (en) * 1973-12-21 1980-10-15 Ito Patent Ag Orientation device for an appliance system which moves over a surface for the purpose of treating it
EP0346537A1 (de) * 1988-06-14 1989-12-20 Shinko Electric Co. Ltd. Verfahren zur Korrektur des Fahrweges für ein selbstfahrendes fahrerloses Fahrzeug (Roboterfahrzeug)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP 63-104111 A. In: Patent Abstr. of Japan, Sect.P, Sect.No.760, Vol.12, No.35, P.52 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19817602A1 (de) * 1998-04-22 1999-10-28 Heinrich Landert Computerisiertes System für Empfang und Information von Besuchern
EP1204905A1 (de) * 1999-07-23 2002-05-15 CMTE Development Limited System fuer relative navigation in einem fahrzeug
EP1204905A4 (de) * 1999-07-23 2003-07-16 Cmte Dev Ltd System fuer relative navigation in einem fahrzeug
CN105169610A (zh) * 2015-08-24 2015-12-23 铜陵学院 基于两轮高速全自动灭火机器人的双核伺服控制系统
CN108478969A (zh) * 2018-04-02 2018-09-04 南京森林警察学院 一种履足混合式森林余火清理机器人

Also Published As

Publication number Publication date
JPH08171416A (ja) 1996-07-02
US5576947A (en) 1996-11-19

Similar Documents

Publication Publication Date Title
DE19522932A1 (de) Korridorlaufroboter
DE102013014519B4 (de) Intelligentes einparkhilfesystem für fahrzeuge und steuerverfahren für dieses
DE102016215601B4 (de) Fahrzeuglenksteuervorrichtung
DE2364002C2 (de) Orientierungsvorrichtung für ein Gerätesystem, das sich zur Bearbeitung einer Fläche auf dieser bewegt
EP1720758B1 (de) Einparkhilfe
DE102018106713A1 (de) Verfahren zum Steuern eines Fahrzeugspurwechsels, Vorrichtung zum Steuern eines Fahrzeugspurwechsels und dazugehörige Einrichtungen
DE102016113902A1 (de) Feldbasierte Drehmoment-Lenkregelung
DE3000031C2 (de)
EP0221423A1 (de) Verfahren zum automatischen Führen von selbstfahrenden Bodenreinigungsmaschinen sowie Bodenreinigungsmaschine zur Durchführung des Verfahrens
DE102012211721A1 (de) System und Verfahren zum Ableiten einer Einparkkurve für ein Fahrzeug
DE102018102894A1 (de) Lenksteuerungsvorrichtung
DE102019212791A1 (de) Verfahren zur Durchführung von automatischem Valet-Parken
EP2193414A1 (de) Verfahren zur automatischen vermeidung von kollisionen eines fahrzeuges mit weiteren objekten
EP2125472A1 (de) Einparkhalbautomat
WO2009106435A1 (de) Roboterfahrzeug sowie ansteuerverfahren für ein roboterfahrzeug
DE3820589A1 (de) Steuersystem fuer ein selbstgesteuertes kraftfahrzeug oder dgl.
EP3147169B1 (de) Reglerkonfiguration für ein kraftfahrzeug-fahrerassistenzsystem
DE69027917T2 (de) Verfahren zur Neueinstellung eines Fahrzeuges auf eine theorethische Trajektorie durch Änderung der Krümmung der reellen Trajektorie
DE102014216577A1 (de) Verfahren und Vorrichtung zur Unterstützung eines Fahrers eines Kraftfahrzeugs
DE102019109006B4 (de) Störungsvorkompensation für eine positionsregelung in lenkungssystemen
EP1558945B1 (de) Verfahren zur ermittlung von geometriedaten für einparkvorgänge von fahrzeugen
DE102021103652A1 (de) Anhängerkupplungsunterstützungssystem mit dynamischer fahrzeugsteuerverarbeitung
DE102020111606A1 (de) Drehmomentbasierte fahrzeugpfadvorhersage
DE102018123896A1 (de) Verfahren zum Betreiben eines wenigstens teilweise automatisierten Fahrzeugs
EP0196498B1 (de) Ortungs- und Navigationsverfahren für Landfahrzeuge

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8128 New person/name/address of the agent

Representative=s name: BERG, P., DIPL.-ING., PAT.-ASS., 80339 MUENCHEN

8139 Disposal/non-payment of the annual fee