PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : intelligentes Ausweichen von Hindernissen



ACU
15.05.2007, 14:57
Hallo!
Ich zerbreche mir schon seit längerem den Kopf, wie ich meinen Roboter so programmieren kann, dass er möglichst intelligent ausweicht.
An Sensoren habe ich 4*GP2D120, 2*SRF08 und einen SRF10.
Die SRF08 Ulttraschallsensoren sollen etwas schräg nach links und rechts abstrahlen. Der SRF10 soll genau nach vorne abtasten.
Die Infrarot Sensoren werde ich noch an Problemstellen montieren, wo die Ultraschallsensoren nicht so gut abdecken.
Meine Frage ist jetzt, wie ich möglichst "intelligent" durch die Gegend fahren kann, ohne anzuecken.
Meine alten Programme haben immer so eine Art Vergleichstabelle gehabt, also wenn ein Sensorwert kleiner als X ist, dann wird ein Motor gedrosselt.
Wenn es noch enger wird, wird er abgeschaltet. Und wenn das Hindernis auf einer Seite direkt davor ist, wird das entsprechende Motor sogar auf Schubumkehr geschaltet, damit der Bot auf der Stelle dreht.
Meine Beiden Antriebsmotoren (hinten links und rechts 2e und vorne ein Mitlaufendes Stützrad) kann ich mit PWM in 1024 Stufen einstellen.
Das Ziel des Roboters sollte erstmal sein, dass der Abstand links und rechts möglichst gleich groß ist. Wenn es auf beiden Seiten zu eng wird, soll er sich halt was anderes ausdenken. Das kann ich immernoch machen.
Oder eine Wenderoutine, wenn es vorne zu eng wird.
Wie aber mache ich, dass der Abstand annähernd gleich ist?
Der Roboter sollte schön sanft fahren. Also nicht klick klack ständig motoren abschalten, sondern lieber mit der PWM Ansteuerung arbeiten.


MfG ACU

nomad
16.05.2007, 12:17
hi,
es waere hilfreich, wenn du den microcontroller-typ angeben koenntest.
- zu ausweismanoevern:

im augenblick faellt mir folgendes ein:

microcontroller-gestuetzt
- im ct' - computermagazin (online) ist ein ct-roboter - project am laufen.
da gibts vormutlich einige software (in c & java(simulationen))
koennte dir als grundlage dienen

labtop gestuetzt (linux & c)
- um generell objecten auszuweichen gibts noch den A-Star-Algo
googeln oder bei gamasutra (games) vorbeigucken

- ich verwend fuer meinen bot ein neurales netz.
hat aber seine tuecken und nur auf dem laptop lauffaehig

gruss
nomad

Chris266
16.05.2007, 12:28
Wenn Dein Robi weiß wohin er muss und eine "Karte" existiert kannst Du Pathfinding einsetzen.
Bsp. http://de.wikipedia.org/wiki/Iterative_Tiefensuche

Ich selbst habe dies auch vor. Bisher nur am PC getestet und komme heute hoffentlich dazu es am WoE in real zu testen.

Natürlich nicht geeignet wenn Dein Robi nicht weiß wohin er muss sondern lediglich einfach nur fahren soll bis die Akkus leer sind.

ACU
22.05.2007, 11:54
Danke für die Antworten.
Als Steuercomputer verwende ich eine C-Control 2:
16Bit uC, 20Mhz und 64KB Ram.
Das Problem bei einer Kartenerzeugung wäre, dass ich dafür eine genaue Positionsbestimmung brauche.
Ich habe an meinem neuen Roboter zwar Inkrementalgeber an den Motoren, aber jeder weiß ja, wie ungenau die sind (durch schlupf der Räder).


MfG ACU

Torr Samaho 2
22.05.2007, 12:22
Hallo,
schau mal unter Potentialfelder nach. Jeder Sensor gibt eine Aktion (Abstand vergrößern) und zum Schluss werden alle addiert. Kannst auch vorher eine Sensorfusion betreiben und dann die Reaktion berechnen. Kannst auch unter Verhaltengesteuert nachschauen. Abstand von Objekten ist dann, wie oben, ein Verhalten. Kannst dann noch weitere einbauen, Ziel anfahren, Fahrt durch Enge, Zielverfolgung, Tanzen, ...
mfg
Torr Samaho 2

ACU
08.06.2007, 21:10
Das klingt schonmal sehr gut.
Hast du eventuell noch einen Link mit weiterführenden Informationen?


MfG ACU

Torr Samaho 2
12.06.2007, 09:11
Hallo,
es gibt eine Arbeit, die sich mit der Leistungsfähigkeit des Potentialansatzes beschäftigt. Wenn ich die finde schicke ich sie dir zu.

http://www.b-smart.de/public/images/d/d4/timlaue-diplom.pdf
http://www.robocup.tugraz.at/downloads/hagler2004.pdf - nur wenig wichtiges
http://www.robocup.tugraz.at/downloads/deutsch2004.pdf

Ich hoffe die Links helfen dir weiter. Lass dich von der Größe und dem Anspruch nicht ins Boxhorn jagen. Es sind teilweise die mathematischen Grundlagen sehr genau dargestellt. Sucht dir nur das Interressanteste aus.

MfG

Torr Samaho 2

ACU
21.06.2007, 22:52
Danke, ich werde mich mal durcharbeiten.

MfG ACU

Torr Samaho 2
27.06.2007, 09:03
Hallo,
unter Download
>>Tutorials / Einführungen / EBooks / Studien- und Diplomarbeiten
gibt es "Reaktive Steuerung".
Ich hab jetzt erst mitbekommen, dass die Datei dort hingesetzt worden ist.
mfg
Torr Samaho 2