PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Autonome Navigation in unbekannter Umgebung



hacker
08.03.2008, 10:04
Hallo,

jetzt möchte ich auch endlich mein Roboter vorstellen, an dem ich jetzt die letzten 2 Jahre gebaut habe. Ich habe damit mit einem Kumpel zusammen bei Jugend forscht mitgemacht und auf Regionalebene den ersten Preis im Fachbereich Mathematik/Informatik gewonnen.

Unsere Zielsetzung war, dass der Roboter komplett selbstständig eine unbekannte Umgebung kennen lernen soll. Und das nicht mit wirrem durch die Gegend Fahren sondern mit gut durchdachten Algorithmen auf eine effektive Weise, die wir uns nicht haben erträumen lassen.

Aber seht selbst...

Die schriftliche Arbeit ist hier zu finden: http://christianb.net/svn/navi/trunk/documentation/documentation_land.pdf

hacker
08.03.2008, 10:06
weitere Bilder...

PredKirK
08.03.2008, 10:36
Ich muss sagen sehr beeindruckend.... vorallem die kartenerstellung
so lese mir nun mal die pdf durch

corone
08.03.2008, 10:43
wow, respekt!
gefällt mir ebenfalls sehr gut, auch euer terminalprogramm.... werde mir die arbeit mal näher ansehen :-)

Borki90
08.03.2008, 11:35
Ich habe die Arbeit mal durchgelesen, wirklich fantstisch!!

mfg Borki90

PS: Ist das Buch über die programmierung der KI (Pfadfinung) zu empfehlen?

hacker
09.03.2008, 10:49
Auf jeden Fall ist das Buch zu empfehlen. Gibt es aber nur auf Englisch soviel ich weiß. Aber echt empfehlenswert das Buch!

Wenn Fragen da sind, nur zu.

Gruß Hacker

hacker
11.03.2008, 16:24
Im Moment arbeiten wir am Interpolieren des Pfades. Zwei Möglichkeiten stehen zur Auswahl:

Mathematisch einfaches abrunden der Ecken als Kreisbogen mit 2 Tangenten

oder

durch den ganzen Pfad eine mathematisch saubere Kurve legen mit möglichst wenig Krümmungen


Habt ihr andere Vorschläge oder Ideen?

Kiraminh
11.03.2008, 16:49
Oha, meinen allerhoechsten Respekt!

Ich hatte in der Uni die Vorlesung verhaltensbasierte Robotik, darunter auch Kartenerstellung eines unbekannten Terrains usw. Leider habe ich dergleichen nie wirklich umgesetzt, ich kenne nur die Theorie. Um so beeindruckter bin ich, was ihr da auf die Beine gestellt habt!

Das Buch ueber die Programmierung der KI habe ich zur Pruefungsvorbereitung gelesen. Naja, mehr fuer mich selbst aus eigenem Interesse. Kann ich auch sehr empfehlen!

Da zeigt sich mal wieder, dass die besten Projekte und Fortschritte in der Freizeit geschehen und nicht am Arbeitsplatz. Zumindest ist das meine Erfahrung, die ich bisher gemacht habe.

Gruesse,
Kira

Blaner
11.03.2008, 17:24
Eines was mir an der ganzen Sache am meisten Interessiert ist,
wie genau ist die Navigation?

Wenn er auf einen bestimmten Punkt wieder zurückfahren soll die
ein paar Meter von einander entfernt sind, wie weit ist dabei die
Abweichung zum Anfangspunkt?

jeffrey
11.03.2008, 18:31
Hallo,
ersmal respekt für das projekt, sieht echt gut aus.
jetzt aber noch ein paar anmerkungen/fragen von mir dazu.
woher weis der bot wo er sich befindet? allein durh odometrie? driftet das nicht ziemlich weg?
wär´s bei der einteilung des gebiets nicht sinnvoller sechsecke zu nehmen, anstatt quadrate, dann haben alle nur nachbarn an den seiten und nicht über die ecken, dann sind die abstände immer gleich.
ich finde es irgendwie nicht ganz so gut, dass unbekannte gebiete wie hindernisse behandelt werden. weil es könnte ja einen kürzeren weg da durch geben. zumindest sollte dann der optimale pfad online neu berechnet werden, sobald neue gebiete bekannt werden.
gibt´s genauere infos zum komplizierten regler?
mfg jeffrey

Reeper
11.03.2008, 19:33
Ich schließe mich an -> Respekt!

Was ihr auf die Beine gestellt habt, ist wohl der Traum vieler Roboterbastler :-)

Gruß Stefan

techboy
11.03.2008, 21:52
Jo kann auch nur sagen, Hammer geil !!!!

Und die schriftliche Arbeit ist 1A, leicht zu lesen aber auch nicht oberflächlich...

regalbilly
11.03.2008, 22:25
Sehr schön! Wenn man sich so intensiv damit befasst stößt man ja zwangweise auf Probleme. Erzählt mal. Wie siehts aus mit der Ungenauigkeit. Klar das ganze ist ein Riesenproblem für sich. Habt ihr die Abweichung mal gemessen?

oberallgeier
11.03.2008, 22:36
Im Moment ... Interpolieren des Pfades. ... einfaches abrunden der Ecken als Kreisbogen mit 2 Tangenten oder ... eine mathematisch saubere Kurve legen mit möglichst wenig Krümmungen
Habt ihr andere Vorschläge oder Ideen?Jeinvielleicht.

1) Einfaches Abrunden mit Kreisbogen.
Vorteil: Einfach?
Nachteil: Beschleunigungsspitze beim Einlenken (es wird ja beim Auto z.B. immer eine eher lemniskatenförmige Kurve gefahren: Krümmung steigt an, bleibt ne Weile und fällt dann ab). Wenn man sofort die volle Krümmung hat, gibt das eine Singularität in der Querbeschleunigung und sogar im Lenkeinschlag (oder was immer die Lenkung ersetzt).

2) "saubere Kurve" ... das heisst doch im Klartext, dass der vorherbestimmte Pfad fast nirgendwo erreicht wird (möge Bezier schmoren ....). Ausserdem besteht bei Splines höherer Ordnung doch öfters die Gefahr des Sich-Aufschwingens.

Ok, es ist schon lange her, aber ich hatte mal eine Bahninterpolation für Roboter gebaut (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=320127#320127) (und dazu eine Koordinatentransformation). Rechenaufwand (...lange her...) sollte minimal sein, ebenso Speicherplatzbedarf. Daher hatte ich einen "Welthorizont" von vier Stützpunkten auf der Bahn: Abfahrt (bzw. Vorbeifahrt), nächster Punkt, übernächster Punkt. Beschrieben in einem anderen Thread (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=320203#320203), die dazugehörigen Bilder (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=320180#320180) sind ebenfalls dort. Die Beschleunigung wurde für jede Koordinate mit eine Rampe gerechnet und die Beschleunigungszeit wurde auf die maximal erforderliche Zeit zurückgerechnet (damit eine glatte Bewegung entsteht). Nach dem Abfahren des Kurventeils im "nächsten Punkt" wurde der Horizont um einen Punkt weiter gelegt, die entsprechenden Punkte wurden also einfach geshiftet.

Vielleicht hilft das oder ist ein Denkanstoß, jedenfalls ist der Leseaufwand gering :). Bitte nicht den Text "ocr-korr-da-auszug.txt" lesen - Gefahr von Augenkrebs :(.

hacker
22.03.2008, 10:24
Hallo Leute,

tut mir leid, dass ich mich erst jetzt melde. Aber wir hatten mit dem Landeswettbewerb noch alle Hände voll zu tun und haben jetzt noch das Abi vor uns.

Im Landeswettbewerb sind wir nicht weitergekommen, haben jedoch ein Forschungspraktikum beim Fraunhofer Institut als Sonderpreis in dem einen Fachgebiet gewonnen und noch einen dritten Platz in einem anderen Fachgebiet gemacht. Es waren auf jeden Fall schöne Tage. Die Juryentscheidungen waren leider undurchschaubar und teilweise lächerlich ;-)

Nun zu euren Fragen. Die Genauigkeit...Da hatten wir anfangs Probleme, weil ab und zu er sich verdreht hatte, weil bedingt durch ein Konstruktionsfehler die Mittelachse ein bisschen zu hoch war und somit nicht der gesamte Schwerpunkt drauflag. So fehlte der benötigte Grip an den Rädern. Dies haben wir aber mit O-Ringen gelöst, die wir einfach über die Reifen gezogen haben. Damit haben wir eine Genauigkeit von ca. 5cm nach 10min autonomen Modus und dann Anfahren eines bestimmten Punktes auf der Karte. Mit dieser Genauigkeit waren selbst wir überrascht. Ein großes Manko ist die momentan fehlende absolute Kontrolle. Eine Lösung ist aber ein 2-Achs Gyro und Rekonstruktion der aktuellen Position anhand von markanten Stellen in der Karte (SLAM Ansatz).

Da wir für die Pfadberechnung nur die schon vorhandene Karte als Grundlage benutzen, ist es meines Erachtens schon sinnvoll unbekanntes Gebiet wie ein Hindernis zu behandeln. Vielleicht hab ich dich da auch falsch verstanden!?

Das Reglungssystem besteht aus jew. einem PI Regler für jedes Antriebsrad. Drüber wird nochmals mit einem PI die Differenz der beiden Räder = 0 gehalten, was uns eine exakte Geradeausfahrt ermöglicht. Dieser Regler kann aber bei belieben ausgeschaltet werden, damit auch Kurven mit exakten Radien möglich sind.

Vielen Dank für die Infos zur Interpolation. Ein sehr interessanter Ansatz.

Vielleicht wird das Projekt aber nicht mehr weiter verfolgt, sondern ein neues begonnen. Dies wäre ein Quadrokopter aber auch mit einer autonomen Navigation.


Noch zu sagen ist, dass wir im Laufe des Wettbewerb von Jugend forscht ziemlich viel Kontakte haben knüpfen können. So haben wir nun direkten Kontakt ebm papst, die uns auch künftige Motoren sponsern ;-).

Der wertvollste Kontakt ist aber Dietmar Mondon. Er ist für die autonome Navigation im Team VW bei der Rallye Dakar zuständig. (Das autonome Autorennen durch die Wüste und letztes Jahr durch eine amerikanische Innenstadt).

Ich hoffe, ich hab alle Fragen beantworten können. Wenn nicht, einfach nochmal nachhaken.

Gruß Hacker


/edit

http://christianb.net/svn/navi/trunk/presentation/Landeswettbewerb/regio_tv.flv

ein kurz Video aus dem Fernsehen. Dort sieht man eine wirklich kurze Sequenz des Roboters.

Jon
22.03.2008, 11:05
Hi,
in welchem Fachgebiet habt ihr den dritten Platz bekommen?
Über die Juryentscheidungen habe ich mich auch schon beim ReWe teilweise sehr gewundert, da sie mir einfach nur idiotisch vorkamen.

Kannst du dich nochmal genauer zu dem PI Regler äußern?
Würde mich mal interessieren. Da ich mich dazu nicht so sehr auskenne vielleicht ein paar blöde Fragen:
1. Ist das eine reine elektrische Schaltung oder ist geht das über eine Software auf einem µC?
2. Kannst du mir mal einen Schaltplan, bzw. ein Programm zur Verfügugn stellen?

Viele Grüße,
jon

P.S.: mit was öffne ich eine *.flv Datei? Ich würde mir das Video gerne ansehen.

daniel.weber
22.03.2008, 14:21
Hallo,
das ist aber wirklich ein sehr, sehr kurzer Ausschnitt von Roboter ;)
Aber sieht ganz gut aus, kannst du nicht mal ein richtiges Video machen?

@jon
habe das Video mit dem VLC Media Player geöffnet, dieser Player kann so ziemlich alles öffnen ;)

http://www.videolan.org/vlc/

LG
Daniel

hacker
22.03.2008, 14:28
Mit dem Media Player Classic kann ich die Datei öffnen. Wenn mich nicht alles täuscht kommt dieser schon mit Win Installation auf die Platte.

Interdisziplinärem Fachgebiet wurden wir 3. und in Mathematik/Informatik den Sonderpreis.

Nahja, die Jury war noch nie so der Hit, aber diesmal waren alle der Meinung, dass sie sich lächerlich gemacht haben. Eine teilweise so geballte Inkompetenz in ihrem jew. Fachgebiet hät ich nie erwartet. Es war teilweise so schlimm, dass 2 Gruppen ihre Präsentation abgebrochen haben, weil sie gegen eine ahnungslose Wand geredet haben. Und die Begründungen ihrer Entscheidungen haben dann noch den Vogel abgeschossen!

Nahja, meine Meinung. Man lernt coole Leute dort kennen und wir hatten schöne Tage, aber einmal Jugend forscht reicht.

Ist sowohl analoge Elektronik und µC gesteuerte Schaltungen auf dem Roboter implementiert. Der Roboter steht ständig über Funk mit dem PC in Kontakt, der die Daten auswertet (Dort ist die ganze Steuerung eigentlich zu Hause). Der Roboter ist "nur" reiner Akteur. Schaltpläne und Code Sourcen liegen unter dem o.g Link. Das Projekt ist opensource.

WDragon91
22.03.2008, 19:09
Mhm, wie haben sie den Argumentiert? Bzw. auf was haben sie denn probiert zu Antworten^^. Und wer saß denn so in der Jury?

edit ich seh gerade das die mit einer beleuchteten Rettungskettensäge gewonnen haben!? Was kann denn das Dingen noch? Die Idea ist ja ganz net, aber bei weitem nicht so komplex wie eurer Bot.

johns
22.03.2008, 23:01
gratuliere zu eurem erfolg!

falls sich jemand für SLAM interessiert: http://dotnetrobot.blogspot.com/2007/03/grid-slam.html

lg

hacker
23.03.2008, 10:05
Bei uns haben sie nichts gesagt, aber auch wir hatten das Gefühl wir reden gegen eine Wand und man konnte einfache Basics einfach nicht vorraussetzen. Es war echt schade. Die Jury bestand teilweise aus Arbeitern aus der Industrie, Lehrern und Professesoren an Unis (die letztgenannten hatten sehr viel Ahnung! *lob*).

Bei anderen waren es Argumentationen von wegen, ihr seit letztes Mal schon weitergekommen...diesmal nicht, obwohl euer Projekt einfache Spitze ist... nahja egal. Ich will nicht meckern, aber ich hab mir von der Kompetenz her echt mehr erwartet.

Nahja, außer Leuchten kann das Ding nicht.. Der Abschuss war, dass der Schaltplan falsch war und keine Unterspannungschutzschaltung für die Lipos dabei war..ein Grauß ;)

@johns
Vielen Dank für den Link. Ziemlich interessant und informativ!

teslanikola
27.03.2008, 13:24
ich war auch bei JuFo allerdings als zuschauer, ist echt nen tolles Roboterchen das ihr da habt, die Navigation find ich einfach klasse! Wie sieht den euer Algorithmus zur "Gelädebestimmung" aus, wenn man fragen darf?

hacker
28.03.2008, 08:10
Meinst du den autonomen Modus? Wir haben pro Node (Repräsentant eines Wegpunktes in der Wirklichkeit) die Eigenschaft der Scananzahl eingeführt. Gepart mit dem Kriterium der kleinsten Bewegungsänderung erkundschaftet er selbstständig sehr effektiv die ganze Karte (soweit es ihm möglich ist). Er meidet Gebiete, wo er schon war und konzentriert sich auf noch unbekanntes Gebiet.

robo junior
30.03.2008, 11:52
Hallo,

Euer Projekt gefällt mir sehr gut. Vor allem das Terminalprogramm würde mich auch interessieren.
Ich hab unter dem Link in eurer Ausarbeitung allerdings nicht den gesamten Sourcecode gefunden. (die Header Dateien fehlen, oder?).
Könntet ihr den Code vielleicht als Zip Ordner veröffentlichen, damit man nicht jede Datei einzeln laden muss?

schon mal Danke,

Andreas

hacker
30.03.2008, 12:10
Die Header Dateien waren im Inc - Ordner. Nun sind aber alle cpp und hpp Dateien als *.rar verfügbar.

Zu finden in: http://christianb.net/svn/navi/trunk/exchange/source.rar

Gruß Hacker

hacker
05.08.2010, 09:05
Hallo,

da zwei Anfrage per PM da waren zwecks der PDF.

Der Kollege hat die Domaine gewechselt; hier findet ihr das komplette Projektverzeichnis:

https://buchgraber.org/svn/navi/trunk/


Grüße,
hacker