PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GPS per I2C-Bus



WarChild
06.09.2007, 17:53
Hallo,

Ich weiß nicht ob sich schon jemand damit befasst hat, aber ich habe geplant, meinen Robter autonom via GPS von A nach B fahren zu lassen. Andernfalls ist es immer sehr schwer den Roboter an ein bestimmtes Ziel zu bringen, da bei einer navigation mit Kompass die Ausweichmanöver eine verschiebung vom eigentlichen Ziel bedeuten. Und diese Abweichung gegenzurechnen und zu korregieren ist etwas viel Arbeit und auch noch sehr ungenau (Schlupf).

Falls mir jemand Tipps zu einer Vektoriellen Koordination mit Kompass liefert bin ich auch dankbar.

Also würde ich gerne einen GPS empfänger an den I2C-Bus hängen und somit auf den meter genau navigieren.

Ich bin an Tipps zur Realisation und an einem möglichen Empfänger interessiert.

mfg WarChild

roboterheld
06.09.2007, 18:01
....meter genau navigieren.....

ha...ha...ha, so ein teures gerät willst du beschaffen für den hobbybereich.

mfg

SlyD
06.09.2007, 18:18
Hallo WarChild,

Differential GPS wird wohl etwas teuer. Aber es gibt ja andere Möglichkeiten.

z.B. sowas hier:
http://jufo.grundeis.net/gps/index.html

Oder IR Baken!

MfG,
SlyD

WarChild
06.09.2007, 18:51
Ist zwar ne ganz nette Idee, aber im Abspann steht, dass die Sensoren nur auf die im Raum fest angebrachten Ultraschall-Sender reagieren. D. h. er funktioniert nur in einem speziell präpariertem Raum und es ist auch nur zur langzeitlichen Wegoptimierung vorgesehen. Er fährt also eine Strecke mehrmals ab und findet irgendwann den optimalen weg.

aber trotzdem danke für den Link.

ich habe mal ne blöde frage: Kann der atmega32 Sinus und Cosinus berechnen?

mfg WarChild

Dirk
06.09.2007, 19:05
Kann der atmega32 Sinus und Cosinus berechnen?

Sicher, kann er.

Gruß Dirk

roboterheld
06.09.2007, 19:30
aber sehr , sehr langsam.
mit winavr-c oder bascom, mit asm selber entwickeln>nö.
am besten ist es, wenn man fertige tabellen zb auf eine sd/mc-karte ablegt.
schwupps sind die geladen. so mache ich das.

mfg

KingTobi
06.09.2007, 19:49
Hi

GPS ist "von Haus aus" so ungenau, dass es hierfür völlig unbrauchbar ist.

WarChild
06.09.2007, 20:02
ich glaube auch schon fast, dass GPS nicht für einen so kleinen Roboter von nützen ist, da es im Innenberich sowieso nicht funktoniert und man doch mit Toleranzen von bis zu 10m rechnen muss.

Ich glaube wenn man einen Kompass hat und jede zurückgelegte Strecke (Distanzmessung durch die standard sensoren) in verbindung mit dem Kurs (als Gradzahl ausgedrückt durch einen digitalen Kompass) speichert, kann man mit etwas mathematischer kenntnis über vektoren, jeden Vektor (einen Weg in eine bestimmte Richtung) als linearkombiation anderer linear nabhängiger vektoren darstellen. Also wenn ich ihm sage fahre 5m in Richtung Norden, dann kann er auch durch ausweichen genausogut 4m in richtung Nord/Nordost fahren und danach 3m in richtung Nordost/Ost. (ist ein rechtwinkliges Dreieck)

Dies gilt jetzt nurnoch realisiert zu werden.

mfg WarChild

KingTobi
06.09.2007, 20:05
Kann man, aber warum sollte man?
Ist doch genau so ungenau.

roboterheld
06.09.2007, 20:29
du musst dir selber deine eigenen navi-sateliten unter die decke hängen, wo der robby läuft sonst funktioniert das ganze wegesystem nicht für den hobby-bereich.
es gibt für uns hobbyten keine saubere lösung ausser wir gewinnen im lotto.
du kannst dich drehen und wenden wie du willst, alles ist nur ein kompromiss zur eigenen lösung.

WarChild
07.09.2007, 15:26
je nachdem wie genau meine Fahrstrecken-Sensoren arbeiten und wie genau der Kompass die Richtung angibt kann man eigentlich schon ganz präzise damit arbeiten. Die Wegstrecken-Sensoren haben Abweichungen im 1/100 Millimeter bereich. Wenn ich ihm sage: fahre 10m in Richtung Norden, dann wird er sich zunächst auf der Stelle drehen um in Richtung Norden zu fahren. Und dann fährt er los. Jede Millisekunde wird ein Messwert, der Weglänge und Richtung enthält, gespeichert und dann vektoriell aufsummiert. Ich werde immer den Mittelwert der beiden Sensoren für das Rechte und Linke Kettenlaufwerk nehmen und somit auch in Kurven die Mittlere Fahrlinie aufzeichnen bzw. bei drehungen auf der Stelle wird die Strecke Null heauskommen. Dadurch kann er eben die Umwege der übegeordneten Funktionen wie Ausweichen und Rücksetzen einfach mit einrechnen. Die vektorielle differenz zwischen seinem ursprüglichem Soll (10m in Richtung Norden) und der Momentan gefahrenen Strecke als Vektor ergibt sein aktuelles Soll. Dies tut er bis die Differenz gleich null ist.

Falls die wegstrecken Sensoren an den Kettenlaufwerken zu ungenau sind könnte mann ja auch einen optischen Maus-sensor an der unterseite des Roboters anbringen um den weg zu messen.

Da die Richtung des Kopass bis auf zwei Nachkommastellen genau sein soll, wird es im Innenbereich wohl zu keinen gravierenden Abweichungen kommen, aber wenn er z.b. Über mehrere hundert Meter im Gelände fahren würde, könnte er schon mal einen Meter daneben liegen.

Das mit der Sinus tabelle ist eine gute Idee, Danke.

mfg WarChild

09.09.2007, 19:51
hallo zusammen,

schau mal auf der elektor homepage und gib bei suche "Roboter-Navi" ein
- da gibts einen artikel dazu
mfg