Kapiel 3 - Hindernisermeidung Seie 103 Kapiel 3 Hindernisermeidung 3.1. Hindernisklassifikaion...104 3.2. Hinderniskaren...104 3.2.1. Robozenriere Karen...104 3.2.2. Sekorkare...105 3.2.3. Dynamische Hindernisse...105 3.2.4. Umrechnung Sekor- --> Raserkare...106 3.2.5. Raserkare mi Hinderniswahrscheinlichkeien (probabiliy map)...107 3.3. Umfahren on Hindernissen...108 3.3.1. WSA-Algorihmus (wandering sandpoin algorihm)...109 3.3.2. Poenialfeldmehode...110 3.3.3. Polarhisogramm...111 3.3.4. Basisfähigkei "Kurenfahr"...112 3.3.5. Basisfähigkei "Fahr einer S-Kure"...113 3.3.6. Basisfähigkei "Türdurchfahr"...114 3.3.7. Andockmanöer...115 3.3.8. Basisfähigkei "Wandfolgen"...115
Kapiel 3 - Hindernisermeidung Seie 104 3.1. Hindernisklassifikaion Klassifikaion der Umgebung in > befahrbar (= Freiraum) > Hindernis (nich befahrbar - schlech befahrbar) > unbekannes Gelände Hilfsmiel der Klassifikaion - orgegebene Karen (zuerlässig? alle Hindernisse enhalen? i. allg. nein!) - Bumper und/oder Tashaare: erkennen unmielbaren Konak mi Hindernis - Sonarsensoren (Raumkegel erfass, nur beding zuerlässig, kurzreichweiig) - Laserradar (Linie on Lich, zuerlässig, langreichweiig) - Kamera (großer Raumkegel, langreichweiig, Hindernisdeekion?) 3.2. Hinderniskaren 3.2.1. Robozenriere Karen Hindernisse in Relaion zum momenanen Sandor des Robos y R r r H ϕ H x R Koordinaenursprung y φ L - Sensorzenrum: miß r H und ϕ H - kinemaisches Zenrum: brauch r und φ sin ϕ H = y / r H sin φ = y / r ==> r H. sin ϕ H = r. sin φ H. cos ϕ H + L = r. cos φ r ==> g φ =. H sin ϕ H rh. cos ϕ H + L r = r H. sin ϕ H sin φ Umrechnung der om Roboer gemessenen Laser-Radarwere in Were bezogen auf das kinemaische Zenrum.
Kapiel 3 - Hindernisermeidung Seie 105 3.2.2. Sekorkare robaufeilung der Hinderniskare in N Sekoren auf 240 --> 180 --> 120 --> 90 240 90 120 180 ausreichend ein Blickwinkel on 120 Winkelauflösung darf gering sein, da Roboer nur ausweichen soll φ = 5 ==> 36 Sekoren in 180 Darsellung im Polardiagramm d i k i ϕ i r i zu jedem ϕ i is im Robo k i bekann r i --> d i + k i gerechne wird mi d i (ϕ i ) Enfernung darf ungenau sein: r i ± k i /10 3.2.3. Dynamische Hindernisse Wie of muss eine neue Kare aufgenommen werden? r s Sensorreichweie Geschwindigkei r < r 0 ==> Robo kann nich mehr ausweichen Nohal! r 0 0 1 2 um Zeipunk i Hindernis in Enfernung r s ( wird gerade nich erfass ) um Zeipunk i + is es bei r 0 ; ==> s = ( r s -r 0 ) ==> < s eispiel: = 1 m/s; r s = 4m; r 0 = 15 m ==> s = 2,5 m ==> < 2,5 s
Kapiel 3 - Hindernisermeidung Seie 106 Sei die Zei zwischen zwei Sensoraufnahmen und s die Differenz r s - r 0 in dynamisches Hindernis darf dann maximal die Geschwindigkei s dyn - haben Beispiel: = 1 m/s; s = 2,5 m; = 0,5 s ==> dyn 5 m/s Nur dann ha der AMR eine Chance, dem dynamischen Hindernis auszuweichen. 3.2.4. Umrechnung Sekor- --> Raserkare Sekorkare (roboerfes) Raserkare (roboerfes ) 24 Sekoren 5 pro Sekor 120 Sehwinkel Rasermaß: Auflösung der Hindernissensorik Roboerfese s. raumfese Raserkare φ robozenrieres Raser raumfeses Raser Orienierung des Robos φ
Kapiel 3 - Hindernisermeidung Seie 107 roboerfese Sekoren ε M N M ϕ r i ϕ i φ ε N m n δ raumfeses Raser, φ 0 Robo bei (x,y) = (( M + ε M ). δ, (N + ε N ). δ) belege Zellen : (n,m) Belegung: Hindernis / Freiraum / unbekann Hindernis: 1, 2, 3 Treffer suche Zellen (n,m) mi Hindernismarkierung im Sekor i (N - ε N +n). δ r. i sin(ϕ i + φ) (N - ε N + n + 1). δ (N - ε N +n). δ r. i sin(ϕ i + φ ± ϕ/2 ) (N - ε N + n + 1). δ (M - ε M +m). δ r. i sin(ϕ i + φ) (M - ε M + M + 1). δ (M - ε M +m). δ r. i sin(ϕ i + φ ± ϕ/2 ) (M - ε M + M + 1). δ Treffer: (n,m) mi erfüller Ungleichung für φ, und/oder φ + ϕ/2 und/oder φ ϕ/2 3.2.5. Raserkare mi Hinderniswahrscheinlichkeien (probabiliy map) Aufsammeln der Hindernisreffer : Hindernis: +1, +2, +3; Freiraum: -3 über mehrere Sensoraufnahmen Unwissen: 0 on erschiedenen Posiionen aus Inerpreaion als Wahrscheinlichkeien # Treffer in (n,m) p h (n,m) = 3. # Sensoraufnahmen p f (n,m) = # Treffer in (n,m) 3. # Sensoraufnahmen Hinderniswahrscheinlichkei p h +1 Posiion des Robo Freiraumwahrscheinlichkei s -1 p f
Kapiel 3 - Hindernisermeidung Seie 108 3.3. Umfahren on Hindernissen Grundferigkei des AMR: Hindernissen ausweichen können, d. h. bei gegebenem ein ω so erzeugen, dass die Bahn om Hindernis wegführ. Minimalabsand Sollbahn Ausweichbewegung Ausweichbewegung Ausweichbewegung Sollbahn ω ω = 0 > ω Änderung on ω nich momenan möglich --> Bahnänderung langsamer ω ω > ω + ω Ausweichbewegungen ω ω > ω + ω Sollbahn Berücksichigen der Fahrzeugabmessungen
Kapiel 3 - Hindernisermeidung Seie 109 3.3.1. WSA-Algorihmus (wandering sandpoin algorihm) gegeben: Roboer mi Hindernissensor begrenzer Reichweie r s Richung zu einem Ziel (Kirchurm in der Ferne) Sar r s α l α r Ziel α l > α r ==> rechs abbiegen Mindesabsand zum Hindernis halen Weg zum Ziel frei ==> draufzufahren α r > α l ==> links abbiegen Enscheidung lokal ok; global?? bewege Hindernisse können den Roboer abdrängen WSA-Algorihmus - pahologischer Fall Die Vorschrif, zum kleineren Winkel hin abzubiegen und auf das Ziel hinzufahren, wenn kein Hindernis da is, kann zu einem endlosen Weg führen. Der AMR muß erkennen können, dass er sich um 360 gedreh ha, dann solle er sein Verhalen ändern: ha er sich nach einem Umlauf dem Ziel nich genäher, soll er nun zum größeren Winkel hin abbiegen; ha er sich genäher, so fähr er auf einer Spirale auf das Ziel zu. Sar kriischer Bereich Ziel Sar
Kapiel 3 - Hindernisermeidung Seie 110 3.3.2. Poenialfeldmehode gegeben: Robo mi Hindernisraserkare; Hindernisse als Wahrscheinlichkeien modellier Ziel (Richung oder Posiion) Poenialfeld : Zielkraf F z (x,y) ( Rinne in Richung Ziel ) für jeden Punk (x,y) + Hinderniskraf F h i (x,y) für jedes Hindernis Richung des Robo x Berechnung aus der Sekorkare F z α d ϕ i d i F h i = - cos ϕ i. c/d i 0 ϕi 180 F h i (x,y) F h ~ 1/d. cos α für α < 90 F h = 0 für α > 90 F h i esamkraf: n F g (x,y) = F z (x,y) + Σ F i h (x,y) i =1 Vekorfeld ( f x (x,y),f y (x,y)) Poenialfeld: F g (x,y) = - grad φ(x,y) φ(x,y) skalares Feld ( Gebirge) grad = ( φ/ x, φ/ y) ( Richung des seilsen Ansiegs) Der Robo fähr in Richung der Gesamkraf (wie Wasser im Gebirge). Probleme: - lokale Minima - Zielkraf muß genügend sark sein (Gelände fäll hinreichend ab) - enge Durchfahren - Zielkraf genügend sark (Wasser fließ zwischen den Bergen durch) - Regelung des Robo ohne Überschwingen Der Beirag jedes Sekors der Sekorkare zu der Hinderniskraf is umgekehr proporional zur Enfernung des Hindernisses und proporional zum Cosinus des Winkels.
Kapiel 3 - Hindernisermeidung Seie 111 Teilkraf on rechs Gesamkraf Teilkraf on links Berechnung der Hinderniskraf aus der Sekorkare In Fahrrichung is ein freier Korridor, rechs und links Hindernisse. Das nuz aus das 3.3.3. Polarhisogramm Es berechne die Hindernisdiche und such in dem Hisogramm freie Durchfahren. Hindernisdiche ~ 1/r ϕ Sekorkare oder Sekoren der Raserkare mi Hindernisbelegung Regelungsaufgabe: wähle ω() so, daß ω ϕ ϕ() = ω(τ) dτ 0 Polarhisogramm Seuerwinkel ϕ* den Seuerwinkel bilde
Kapiel 3 - Hindernisermeidung Seie 112 3.3.4. Basisfähigkei "Kurenfahr" Es soll eine Kure gefahren werden, bei der der AMR um einen Winkel ϕ schwenk. ω() gegeben : Form on ω() 2 ω 0 ω() = ω. 2π 0 (1 - cos ) T. ω T 0 ϕ = ω(τ)dτ 0 Begrenzung durch Lenkbeschleunigung T dω/d = ω. 2π. 0 sin 2π T T. maximal ω = ω. 2π 0 T T ϕ = ω. 2π 0 ( 1 - cos T. )d s =. T 0 = ω 0. T ==> ω 0 2 = ϕ. ω / 2π; T 2 = 2π ϕ / ω ϕ ϕ() ϕ Bei gegebener maximaler Lenkbeschleunigung ω und zu fahrendem Winkel ϕ erhäl man so ω 0 und die Zei T, die mi ω() zu lenken is. Dann is der AMR um die Kure gefahren. Ebenfalls erhäl man die gefahrene Srecke s =. T. Allerdings nich den Endpunk der Srecke nach T. Für Winkel ϕ < 90 is eine brauchbare erse Näherung ein Kreis mi r = s / ϕ, der durch Sar- und Endpunk der Kurenfahr geh. Als Beispiel soll eine 90 -Kure gefahren werden. Sie dien zum Ausweichen an einem Hindernis. Bei gegebener Geschwindigkei und Lenkgeschwindigkei ω 0 werden 90 in T = ϕ / ω 0 erreich und der AMR is eine Srecke s =. T gefahren.
Kapiel 3 - Hindernisermeidung Seie 113 Kurenfahr = 1m/s; ω 0 = 45 /s ; ϕ = 90 ==> T = ϕ / ω 0 = 2 s ==> s = 2 m s = 2 m angenähere Rechnung: Kreisbahn mi r aus s = 2πr/4 = 2m genauere Kurenform ω 0 --> r r = 4/π m = 1. 275 m Näherung wahrer Endpunk bei Einleien der Ausweichbewegung fähr der AMR noch annähernd r = 2/π.. 90 /ω 0 m max. Lenkgeschw. 2 ω 0 --> r/2 auf das Hindernis zu r Die Kure wird durch einen Kreis angenäher, dessen Vierelumfang gerade s is: r = 2. s / π 3.3.5. Basisfähigkei "Fahr einer S-Kure" ϕ() ϕ 0 d x 2ω0 T ϕ 0 ϕ 0 ω 0. T Die S-Kure wird durch den Versaz d und den Winkel ϕ 0 im Wendepunk gekennzeichne. d = 2. r. (1 - cos ϕ 0 ) ω d/2 ϕ 0 r ϕ 0 d = 2.. (1 - cos ϕ 0 ) / ω 0 2ω 0 d Versaz die Näherung is pessimisisch ω 0 L d > d wahr L = 2r sin ϕ 0 L > L wahr
Kapiel 3 - Hindernisermeidung Seie 114 Die Lenkbewegung ω() is anisymmerisch um die Selle, an der ϕ() = ϕ 0 is. Zur Besimmung on d wird eine Näherung mi zwei Kreisen berache. Sie haben den Radius r = / ω 0. Die Lenkfunkion ω() mi Ampliude 2ω 0 erzeug eine Bahn sehr ähnlich der Näherung. Die Funkion ω() für die Kurenfahr oder die Fahr einer S-Kure wird erafel. Die Tabellenwere werden mi ω 0 muliplizier und so an den Piloen gegeben, dass für die Zei T die Tabelle durchfahren wird. Wenn der Pilo alle δ einen neuen Wer brauch, dann muss in der Tabelle an den Sellen x = 1024. δ/t zugegriffen werden. ω 2 ω i δ T erafele Funkion {ω i } i = 0 1023 mi ω 0 =1 ω ω i 2 1024 Bye für 0 --> T Zugriff alle δ ( = 50 ms) durch Inerpolaion in Tafel T -2 3.3.6. Basisfähigkei "Türdurchfahr" Der AMR lern diese Fähigkei durch Vormachen: Er wird einige wenige Male on Hand durch eine Tür geschick, merk sich dabei die jeweils gesehenen Sensoreindrücke zusammen mi den kommandieren Akionen, bau sie in ein neuronales Nez ein und is dann in der Lage, selbs durch eine Tür zu fahren. Lernen: Aufbau eines "growing neural gas nes" Knoen: Sensorsiuaion, Posiion, Orienierung und Akion (, ω) Kanen: erbinden aufeinanderfolgende Schrie einer Fahr Abspielen: finden der ähnlichsen Knoen zu gegebener Posiion und Sensorsiuaion augh rajecories replayed rajecories und Inerpolaion der Akionen zur auszuführenden Akion
Kapiel 3 - Hindernisermeidung Seie 115 3.3.7. Andockmanöer Rückführen auf S-Bahnen rückwärs oder orwärs der Winkel ϕ 0 kann seil sein der Winkel ϕ 0 muss hier flacher sein 3.3.8. Basisfähigkei "Wandfolgen" In den folgenden Bildern wird gezeig, wie ein AMR einer Wand folg, wobei nur eine Sekorkare benuz wird. Der AMR such eine freie Passage mi einem Mindesabsand zur rechen Wand. ϕ
Kapiel 3 - Hindernisermeidung Seie 116