PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zonda - ein GPS-gesteuertes Fahrzeug



voidpointer
12.03.2006, 19:21
Endlich kann ich Euch mein erstes Roboter-Fahrzeug vorstellen. Ich habe es Zonda benannt - nach einem Wind in Argentinien.

Aufbau: Sperrholz und Holzleisten für den Rahmen. Balsaholz für die Abdeckung. Das Holz ist lackiert bzw. mit Bügelfolie bespannt. Der Motor - ein Speed-Gear 700 BB - treibt es über einen Propeller an. Das Fahrwerk ist aufgebaut wie bei einem Modellflugzeug. Hinten zwei Räder über 4mm Federstahl aufgehängt und vorn ein lenkbares Bugrad, das über einen Servo gesteuert ist.

Sensoren: Bis jetzt ist der einzige aktive Sensor das GPS. Weiterhin habe ich eine IMU und ein Windrad eingebaut, deren Daten aber noch nicht verarbeitet werden. Geplant ist weiterhin ein Polaroid-Ultraschall-Sensor.

Steuerung: Das Fahrzeug kann klassisch ferngesteuert werden. Über die Fernsteuerung kann es in den autonomen Modus versetzt werden. Dies geschieht mit einem Servo-Umschalter, den ich für diesen Zweck entwickelt habe. Im autonomen Modus wird das Fahrzeug von einem kleinen Controllerboard gesteuert, dessen Herzstück ein Gumstix-Rechner ist. Auf diesem läuft ein 2.6er Linux mit 200 MHz. Über eine RS232-Buchse kann man sich auf dem Rechner einloggen und Programme starten.

Was tut es: In einer Datei sind Anweisungen hinterlegt, die das Programm abarbeiten soll. Z.B. "speed 8" zum Festlegen der Geschwindigkeit oder "goto 49.814011 8.760221" zum Anfahren eines bestimmten Punktes. Wird das Programm gestartet, prüft es erst, ob der GPS-Empfang ausreichend ist und steuert dann die Servos entsprechend an. Für die Geschwindigkeitsregelung nutze ich einen PI-Regler, für die Lenkung einen P-Regler.

Heute habe ich den ersten Test gemacht. Leider waren die Bedingungen im Freien nicht optimal, wie man auf dem dritten Bild sehen kann. Das Fahrzeug kann schon selbständig die vorgegebene Geschwindigkeit halten, hat aber noch Probleme, den Zielpunkt zu finden - es fährt nicht darauf hin, sondern davon weg :-) Aber das Problem finde ich noch

Theoretisch müsste es ca. 30 km/h schnell werden, aber ab 15 km/h wird es instabil und schleudert plötzlich um die eigene Achse. Das liegt vermutlich daran, dass der Schwerpunkt zu weit hinten und die Hinterräder zu nah am Schwerpunkt liegen.

Für die Entwicklung - besonders für die Programmierung der Regler - war mir das RN-Wiki sehr hilfreich. Vielen Dank an die Autoren.

Gruß, Achim.

fabix
12.03.2006, 19:25
wirklich sehr interessant und klasse bot. habe noch nie so einen antriebe gesehen.
macht die ungenauigkeit des gps keine probleme?

gruß fabi

ReiniXXL
12.03.2006, 19:43
Super bot aber warum so eine ungewöhnliche Form (sollte das mal ein Flugzeug werden :cheesy: )???

tobimc
12.03.2006, 19:54
Hi!

Bewegt es sich mit Hilfe des Bodeneffekts oder ähnlich, wenns schnell genug ist?

VLG Tobi

voidpointer
12.03.2006, 20:58
Soweit ich es bisher testen konnte, macht die GPS-Ungenauigkeit keine Probleme. Die Messungen schwanken ja so um die 3 Meter, aber nicht abrupt, sondern kontinuierlich. So bekommt man keine Sprünge in den Messungen und kann "normal" navigieren.

Das sieht so aus wie ein Flugzeug, weil ich normalerweise Modellflugzeuge baue ;-) Außerdem habe ich vor, irgendwann mal ein selbststeuerndes Flugzeug zu bauen. Die komischen Flügel habe ich erst vor kurzem dazu gebaut in der Hoffnung, die Stabilität zu verbessern, aber es hat nicht viel gebracht.

Achim.

tobimc
12.03.2006, 21:02
Hi!

Ich denke, dass in deinem Fall der Schwerpunkt VOR dem Druckpunkt deines Antriebes liegt. Er sollte immer HINTER dem Druckpunkt liegen.

VLG Tobi

dennisstrehl
12.03.2006, 21:50
@ tobimc: Bei Modellraketen macht man es genau andersrum, der Schwerpunkt vor dem Druckpunkt.

Ich würde die vorderen Flügel entfernen, das bringt für die Stabilität nix.

Um welche Achse schleudert es überhaupt? Längs- oder Hochachse? (Ich denke mal wenn es um die Querachse schleudert hebt es ab ^^)

MfG

voidpointer
12.03.2006, 22:04
Also, es schleudert um die Hochachse. Da die Räder jeweils 40 cm voneinander entfernt sind, bleiben meist auch beim Schleudern alle Räder auf dem Boden. Wenn nicht, dann geht der Propeller kaputt.

Der Vergleich mit einer Rakete ist ganz gut. Ich denke, dass hier die Stabilisierungsflügel zu weit vorn sind. In meinem Fall sind es Räder anstatt Flügel. Würde ich es nocheinmal bauen, müssten die Räder so weit wie möglich nach hinten.
Die vorderen Flügel sollen mehr Druck auf das Bugrad machen, aber das hat wahrscheinlich genug Grip.

Gruß, Achim.

Felixx87
12.03.2006, 22:11
Hi

wenn ich dich richtig vertanden habe bruachst du anpressdruck um das ding zu stabilisieren da sind die flügel vorn und hinten prakisch soltest nur halt auf tiefe trimmen ;) *also modell flieger sagt dir des ja was :) *

tornado
14.03.2006, 11:10
Lustige Form für einen Roboter.
Ich finde das gut, dass man zwichen Autonom und Fehrnsteuerung umschalten kann.

Isator
14.03.2006, 14:14
Hi,

sieht echt klasse aus der "RaketenWagen" ( ;) )

Vor allem finde ich es gut, das du mal eine andere Art von Antrieb gewählt hast.
Ist der Drehmoment bei dem Propeller immer gleich? Also kannst du Wirklich genau sagen in der und der Zeit legt er so und soviel Meter zurück. Und wie ist das mit dem "Schlupf"? Hier steht ja schon einiges zum Thema Schwerpunkt usw.

MfG

voidpointer
14.03.2006, 20:33
Ja schonmal danke an alle, die geantwortet haben.

Zu den Fragen: die Drehzahl des Propellers wird durch einen Fahrtregler gesteuert, der wie ein normaler Servo angeschlossen werden kann. Die Ansteuerung hatte ich
hier (https://www.roboternetz.de/phpBB2/viewtopic.php?t=7023) schonmal beschrieben. Bei vollem Akku hat der Antrieb einen Schub von ca. 800 Gramm, also 8 N. Das Problem ist, dass man nicht vorraussagen kann, bei welchem Schub in welcher Zeit man vieviel Meter zurücklegt, weil das stark vom Untergrund abhängt. Es fehlt halt die Odometrie. Aber das ist genau der Reiz an der Sache. Auf Asphalt beschleunigt es wegen der geringeren Reibung schneller als auf Rasen. Eine gute Geschwindigkeitsregelung sollte dies irgendwie erkennen und ausgleichen können.

Der Bodeneffekt spielt bei diesen Geschwindigkeiten noch keine Rolle, aber es wäre eine interessante Fortbewegungsart. Und die Raketenform kommt eben daher, dass das Fahrzeug strömungsgünstig sein muss, damit der Propeller hinten genug Luft zum Treiben bekommt. Ob man das überhaupt schon als Roboter bezeichnen kann, ist fraglich. Ich benutze es, um Erfahrung in der Steuerung mit GPS-Daten zu bekommen und um diese später in einem Flugzeug umzusetzen.

Heute nachmittag hatte ich einen neuen Test, nachdem ich gestern die Software korrigiert hatte - bei der Lenkung war tatsächlich ein Vorzeichenfehler drin und deshalb ist es in die falsche Richtung gefahren. Dabei habe ich mich allerdings gewundert, warum nicht genau die Koordinaten angesteuert werden, die ich programmiert hatte. Jetzt ist es mir klar geworden: ich hatte die Koordinaten aus Google-Earth kopiert und das hat leider für das entsprechende Zielgebiet einen Versatz von ca. 12 Metern. D.h. dort, wo laut GE Wiese ist, ist in Wirklichkeit schon eine Straße :-( Naja, außerdem kommen noch ein paar Meter GPS-Ungenauigkeit dazu.

Mit der Regelung bin ich noch nicht so zufrieden. Zu Hause hatte ich die Formeln mit Excel simuliert, aber die Wirklichkeit ist eben ein wenig komplizierter. Die Geschwindigkeitsregelung schwingt relativ stark. Das geht so: der Propeller dreht auf höchster Drehzahl, bis sich das Fahrzeug mit einiger Verzögerung in Bewegung setzt. Noch vor Erreichen der vorgegebenen Geschwindigkeit regelt der Antrieb wieder ab, bis der Propeller fast steht. Das Fahrzeug rollt aus und das Spiel beginnt von vorn. Hier muss ich also noch an den Parametern feilen.

Achim.

dennisstrehl
14.03.2006, 20:39
Ich nehme mal an, dass die Geschwindigkeit über einen Integralregler gesteuert wird? Ich würde einen PI-Regler verwenden, damit hab ich bei einer Lüftersteuerung ganz gute Erfahrungen gemacht.


Eine gute Geschwindigkeitsregelung sollte dies irgendwie erkennen und ausgleichen können.

Wie bestimmst du überhaupt die Geschwindigkeit? Per GPS?

Edit: Ups jetzt hab ich's schon selber gefunden. Sry. Dabei hab ich bisher mit PI-Reglern recht gute Erfahrungen gemacht :\

MfG

voidpointer
14.03.2006, 20:56
Wie bestimmst du überhaupt die Geschwindigkeit? Per GPS?
... Dabei hab ich bisher mit PI-Reglern recht gute Erfahrungen gemacht :\
Ja, die Geschwindigkeit wird per GPS gemessen. Dabei habe ich den Vorteil, dass der GPS-Empfänger mit 4Hz arbeitet, also 4 mal pro Sekunde Daten liefert.

Es kann natürlich sein, dass die Latenzzeit des GPS, also in meinem Fall zwischen 0 und 0.25 Sekunden (oder mehr?), den PI-Regler durcheinander bringt. Wenn das GPS eine Geschwindigkeit ausgibt, können die Daten ja schon ein paar hundert Millisekunden alt sein. Eine andere Vermutung ist, dass der Regler es nicht mag, wenn das Fahrzeug mit max. Schub an einem Hinderniss hängt, wie es mir heute passiert ist.

Ich habe da aber noch wenig Erfahrung. Aber Du meinst, PI ist schon der richtige Ansatz?

Achim.

dennisstrehl
14.03.2006, 21:17
Ich vermute mal, dass der Regler zu schnell hoch- und runterregelt.

Im Grunde verhält sich die Geschwindigkeit des Autos wie die Temperatur bei einer Lüfterregelung: Wenn man den Schub erhöht, nähert sich die Geschwindigkeit exponentiell (oder ähnlich) der Maximalgeschwindigkeit an, bei einer Lüfterregelung verhält sich die Temperatur nach einer Änderung der Lüfterdrehzahl auch so.

MfG

dennisstrehl
23.04.2006, 18:38
Hi...

Gibt es mittlerweile was neues?

voidpointer
24.04.2006, 08:55
Hi Dennis,

ja, ein paar Kleinigkeiten sind neu. Mittlerweile habe ich das Projekt auf meiner Homepage beschrieben (http://www.voidpointer.de/zonda) und auch die Steuerungssoftware dort veröffentlicht.

Die Geschwindigkeitsregelung habe ich überarbeitet (die Parameter wurden stark verkleinert) und mittlerweile funktioniert sie ganz gut. Auf dem Diagramm sieht man zwar immer noch ein leichtes Schwingen, aber während der Fahrt fällt das kaum auf. Hin und wieder schwingt sich auch die Lenkung auf. Dann fährt das Fahrzeug einige Schlängellinien, bis es sich wieder beruhigt hat.

Ich werde die Webseite in den nächsten Tagen nochmal updaten und vielleicht auch ein paar Logfiles und ein Programm zum Betrachten der Logfiles hochladen.

Gestern habe ich eine kleine Vorführung auf dem Modellflugplatz gemacht. Die anwesenden Modellflieger waren beeindruckt :-)

Als nächstes versuche ich mal, einen Ultraschall-Sensor drauf zu bauen, damit das Fahrzeug Hindernissen ausweichen kann.

Gruß, Achim.

vajk
24.04.2006, 10:07
Klasse Teil !
jetzt fehlt nur noch der Luftkissenboot-Robo !

Hm .. Ultraschall bei 15 bis 30 km/h ... würde Dir einen Wurfanker empfehlen ;-) Das wird eher ein Einschlagsensor ;-)

Viel Erfolg weiterhin !
Vajk

voidpointer
24.04.2006, 11:00
Hm .. Ultraschall bei 15 bis 30 km/h ... würde Dir einen Wurfanker empfehlen Das wird eher ein Einschlagsensor
Warum so pessimistisch? Wenn ich richtig gerechnet habe, ist die Schallgeschwindigkeit das 40fache von 30 km/h. Wenn ein Hinderniss 10 Meter entfernt ist, benötigt der Schall 0,06 Sekunden hin und zurück. In dieser Zeit hat sich ein Fahrzeug mit 30 km/h gerade mal einen halben Meter fortbewegt. Allerdings bleibt nicht viel Zeit, eine Ausweichmöglichkeit zu suchen...

vajk
24.04.2006, 14:34
Nun, nicht pessi- ehr mistisch .. also genau das meinte ich damit, da gehört mehr als ein U-Sensor (mit sehr beschränkter Reichweite in der Natur) dazu. 30km/h ist mehr als Mofageschwindigkeit, und da sitzt ein Mensch drauf, mit bisschen mehr Computer aufm Kopf ... und war da nicht ein Paris-Dakar-Fz, daß autonom auch auf ca. 30 km/h Durchschnittsgeschwindigkeit kam ...

Also es kommt auf Deine Ziele an, wem Du wo ausweichen möchtest ... ich weiß ja nicht, wie lange Dein Bremsweg ist ... also als Nothalt wirds vielleicht reichen ... aber zur Orientierung .. hmmm .. hmmmm ...

Ich denke in der Luft wird das dann nicht so wichtig sein, Schornsteine sind selten etc. ...aber wenn ich sehe, welchen aufwand die Treiben um eine Drohne zu steuern ... hmmm hmmm ...

voidpointer
24.04.2006, 15:25
OK, ich verstehe, was Du meinst. Klar, für ein Radar auf Ultraschallbasis reicht es nicht. Und der Bremsweg - eigentlich besser Ausrollweg, es hat ja noch keine Bremse - dürfte je nach Untergrund zwischen 2 und 8 Meter betragen. Das wird dann tatsächlich knapp.

Nein, das Ultraschall soll nicht dazu dienen, eine Karte der Umgebung zu machen. Ich möchte testen, wie es sich in der Natur verhält, ob 10 Meter Reichweite praktisch machbar sind und welche Probleme auftreten. Das wäre dann die Vorstufe für ein Bodenradar in einem Flugzeug. Damit könnte man die GPS-Ungenauigkeit bezüglich der Höhenmessung ausgleichen und in Bodennähe eine genauere Boden-Abstandsmessung liefern. Aber die Versuche zeigen hoffentlich, ob das was taugt.

Gruß, Achim.

Enigma1
24.04.2006, 19:34
Hallo Achim ! Meinen Respekt für dein sehr interessantes Projekt !
Es ist das erste Fahrzeug im Robotik Bastelbereich vom dem ich lese, das erfolgreich per GPS gesteuert wird.
Da ich auch immer noch nach einer Möglichkeit der Navigation meines Mährobbys suche, möchte ich dich fragen wie deine Erfahrungen mit der Genauigkeit von GPS sind. Meines Wissens liegt sie bei etwa 10-20m, stimmt das ?
Weisst du evtl. wie genau diese GPS Dinger sind, die z.B. vom Katasteramt benutzt werden ?
Ich wünsche Dir weiterhin viel Erfolg mit deinem ungewöhnlichen Fahrzeug !

voidpointer
25.04.2006, 08:56
Hallo Enigma (Bernd?),

danke für die Blumen. Meine Erfahrungen mit GPS sind eigentlich recht positiv. Die meiste Zeit ist die horizontale Abweichung weniger als 2 Meter, die vertikale interessiert mich im Moment noch nicht. Allerdings habe ich bisher auf zwei Testfahrten eine plötzliche Drift der Position um ca. 5 Meter festgestellt. Im autonomen Modus fuhr das Fahrzeug dann wilde Schnörkel. Wahrscheinlich muss ich jede Testfahrt auf Video aufnehmen und dann mit den Messdaten vergleichen, um die Ursache zu finden.

Im Allgemeinen gehe ich von einer horizontalen Genauigkeit von 1-3 Metern aus. Vertikal sollte die Abweichung nicht mehr als +- 5 Meter sein. Diese Genauigkeit ist mit freier Sicht auf den Himmel (möglichst viele Satelliten über den ganzen Himmel verteilt) und dem SBAS-System (eine Art satellitengestütztes Differential GPS) machbar. Mit einem lokalen DGPS, d.h. einer fixen Referenzstation, die Korrektursignale an das Fahrzeug sendet, sollte sich die Genauigkeit auf 0,5 Meter verbessern lassen. Damit wäre schonmal ein Rasenmäher steuerbar. Besser geht es dann noch mit der sog. Baseline-Methode, welche die Rohdaten des GPS-Empfängers auswertet und ebenfalls mit einer Referenzstation abgleicht. Hier sollen Datenraten von 10 Positionen/sek und Genauigkeiten von 10 cm möglich sein. Die Technik ist aber teuer. Ein Kollege von mir versucht gerade, eine Lösung für den kleinen Geldbeutel zu bauen.

Im Vermessungswesen wird meines Wissens auch eine solche Methode verwendet. Die Genauigkeit kommt erst bei der Nacharbeit durch den Abgleich mit Daten von Messstationen und statistischer Berechnung. Hier ein Link, der vielleicht weiterhilft: http://de.wikipedia.org/wiki/SAPOS

Gruß, Achim.