PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inkrementaldaten in Karten eintragen!? Wie-Hilfe!?



bexter
14.05.2005, 23:42
Hi @ All! Suche informationen um einem Bot Karten erstellen zu lassen! kennt emand gute Links um das zu lernen? Was brauche ich alles? Soweit ich verstanden hab, habe ich eine Variablenmatrix, in die ein erkanntes Hinerniss eingetragen wird? Reichen da Inkremenalgeber und Zählregister? hat jemand eine idee für einen Algorithmus, um öfter erkannte Hindernisse höhere prioritäten zuzuordnen, und nur einmal erkannte wieder zu vergessen? Tips Tricks - alles her damit!
Reicht es das kartenmaterial an einer Akkulade-Bake auszurichten, bzw. die reister zu resetten um einen Bezugspukt zu schaffen?

MrNiemand
17.05.2005, 20:39
du kannst auch Sincos geber nehmen Resolver oder wonach dir beliebt, du kannst auch so pi mal schnauze abschätzen wo du gerade bist

bexter
17.05.2005, 20:48
verarschen kann ich mich auch selber! Wenn ich alles nur Abschätzen würde, bräuchte ich keine roboter bauen, oder einer anderen Wissenschaft nachgehen!? 8-[ was zur Hölle sind Sinus Cosinus-Geber? und wenn ich die Karte nicht ausrichte summieren sich messfehler der odometie :strom

BlueNature
17.05.2005, 20:58
Servus!

Genau das ist das Problem in der Positionsbestimmung. Die Summierung der odometrischen Messfehler. die Kunst liegt darin diese wieder auf Null zu kompensieren. Also Karte vergleichen zur Umgebung und das noch mit Annäherung, nicht absoluten Koordinaten wegen der Messwertschwankungen. Mußt dir also im einfachsten Fall eine Art Hüllkurve um deine Umgebungsobjekte berechnen und deine Messung darin versuchen einzuordnen. Dann reduzieren gegen Null und irgendwann ist theoretisch deine Possitionsabweichung als Wert vorhanden mit dem du wiederum deien Odmetrie nachkalibrieren kannst. So einfach wie sich das jetzt anhört ist es allerdings nicht und mit Arrays wirst du da viel Spaß haben. Alleine schon wegen der enormen Rechenzeit. Aber ich deenke das es bei den Unis im Web einiges an Infos geben wird da jeder sein eigenes Verfahren entwickelt. Irgendwo habe ich mal ein PDF gesehen darüber mit dem Namen "Selbstorganisierendes Orientierungssystem für mobile autonome Roboter". Such mal nach diesem Dokument. Das war so ne grobe Übersicht über alles.

Grüße Wolfgang

Nachtrag:
http://www.mindrobots.de/cgi-bin/read.cgi?section=algorithms&site=1-0&action=readsite
http://www.mindrobots.de/public/algorithms/sosmar.pdf

bexter
17.05.2005, 21:21
Danke Wolfgang für Deinen Beitrag! Du hast es auf den Punkt gebracht!
Könnte man die Hüllkurven nicht vermeiden, wenn man mehrere Vergleiche zur Umgebung macht, und diese mittelt?
Na dann werd ich mich mal auf die Suche nach interessanten Webinhalten machen ! Nehme an Suchbegriffe wie Odometrie, und autonome Roboter,... werden sicher einiges bringen! O:)
Mit Arrays habe ich keine Probleme, da ich schon bei der hardwarenahen Grafikprogrammierung(Bildspeicher, Mip-Mapping,...) mit C einiges gecoded hab! Nur das Konzept zu entwickeln, geht mit immer tierisch auf den Senkel!(obwohl das eigentlich as spannenste ist, aber ich hab eben keine Geduld :oops: )!! O:) O:)
Grüße Alex

bexter
17.05.2005, 21:25
Meine idee ist, die Aufgaben auf einzelne prozessoren zu verteilen, und hirarchisch zu verteilen, so das ganz oben ein fetter 16f876(20Mhz) sitzt, der alles koordiniert!

MrNiemand
18.05.2005, 08:38
was willst du denn genau auf die Prozessoren verteilen? so viel ist das garnicht: postiton des bots erfassen, umgebunbung also hindernisse erfassen, und das ganze dann abspeichern,
z.b. in einzelnen "Kästchen" der Umgebung die du dann nur definierst als Hinderniss/kein Hinderniss
oder als Vektor wenn du ein genauers abbild haben willst

bexter
18.05.2005, 12:52
Wäre doch günstiger wenn sich ein Prozessor mit den Sensoren beschäftigt, da er warscheinlich nicht nur digitalsignale erhält, sondern auch für die TSOP36er noch mit der Impulserzeugung beschäftigt ist, eventuell noch analogsignale von einem Sensor digitalisieren muß. Einer übernimmt die PWM der Motortreiber, und die Inkrementalgeberauswertung, und einer ist für die sin-cos rechnungen für x, y Bestimmung notwendig, der auch noch die Steuerbefehle an die Motoreneinheit überträgt, und die Sensorsignale auswertet!?
oder glaubst Du, das ich das alles in einen Prozessor packen kann? Da ja auch einige Zeitkritische sachen abverlangt werden.

MrNiemand
18.05.2005, 16:02
ich dachte du redest von mehrenen prozessoren nur für ne kartenerstellung! bei mir is die aufteilung z.b. so:

1x für umgebungserkunnung (inkl. aller nötigen berechnungen usw)
1x motorregler und postitionserfassung
1x eine CPU die alles auswertet bei Bedarf speichert usw.

aber im Prinzip jenachdem welchen Umfang an Funktionen dein Motortreiber z.b. haben soll bringt man das auch in einem unter

Trabukh
18.05.2005, 16:48
Hi Leute!
Hier ist der Link, aus dem ich bisher immer meine Infos genommen habe: http://www.informatik.uni-leipzig.de/~pantec/khepera/diffeq/

Gruß, Trabukh

bexter
18.05.2005, 17:19
Danke Mr Niemand! So hatte ich mir meine Aufteilung auch gedacht! Wie hast du denn die untereinander Verbunden? (I/O Ports, Schnittstelle?) [-o<

Danke Trabukh!
Die Seite ist toll!!! lol :-({|=

MrNiemand
20.05.2005, 10:27
motorregler über i2c und umgebungsdaten momentan noch per rs232da ich so am PC einfacher kontrollieren kann ob die ganzen Berechnungen auch richtig verlaufen sind, denn ich bin im Moment dabei diese etwas zu verbesseren, so das nur wirklich nützliche Messpunkte gespeichert werden, denn was bringts z.b. wenn ich von ein und der selben Wand 10 Koordinaten hab wenn ichs auch mit 2 ausdrücken kann?