Pages: 1 [2] 3 4 ... 7   Go Down
Author Topic: Das Arduino-Monster (temporäres Projekt, für diverse Tests)  (Read 4058 times)
0 Members and 1 Guest are viewing this topic.
Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Und wieder gibt es nen paar Neuigkeiten:

-ohne seitliche Sensoren wollt ich nicht.
Da die beiden vorderen das nicht wirklich hinkriegten (logisch, wenn man sich die Erfassungswinkel anschaut), und auch ein dritter daran nichts geändert hätte (jedenfalls nicht so viel, dasss es z.B. gereicht hätte, um parallel an einer Wand lang zu fahren), hab ich den Plan geändert: die beiden, erst im Heck verbauten US-Sensoren sind seitlich ans Auto gewandert.
Schön, einer links, einer rechts, sie gucken grad noch unter der Karosserie vor.
Damit wäre _das_ gelöst.
Nun aber die nächste Frage: wie dann rückwärts ausparken oder aus ner Sackgasse kommen?

Nen einzelner US-Sensor bringts nicht, für starr ist der Erfassungswinkel zu gering, für schwenkbar wiederum ist er zu gross-auf diversen Videos sieht man, wie rudimentär das funktioniert.
Zweie davon, wie vorne, hätten mir nun wieder PIN-Probleme bereitet also hab ich kurzerhand nen viel genaueren Sharp GP2Y0A21YK0F-Sensor hinten montiert. Die Dinger haben einen sehr schmalen Erfassungswinkel, somit sind sie starr allerdings nicht zu gebrauchen. Also das Ding an ein Miniservo montiert und ich hab ein schönes Rückwärtsfahr-Radar.

Das alles _läuft_ inzwischen auch, aber der Sharp spuckt momentan lediglich analoge Werte aus, die müssen noch umgerechnet werden.
Falls den jemand von euch verwendet: macht es selber. Die Arduino-Lib dazu hab ich ausprobiert: sinnlos.
Die Genauigkeit damit ist jämmerlich....das Ding kanns viel besser. Allerdings gibt er Entfernungen leider nicht linear zurück, da muss man ein bisschen rumprobieren, irgendwo hab ich auch ne recht brauchbare Formel für...

Wenn das auch geklärt ist, fliegt der RC-Empfänger (erstmal) raus: benutzt hab ich den bisher eh noch nie und: ich will nen zeitgesteuerten Interrupt installieren.
Das tu ich mir mit der RCReceiver-Bibliothek aufm Uno nicht an, wer weiss, ob das überhaupt klappen würde...glaub nicht.
Der Grund: ich habs viel einfacher, wenn ich einen festen "Zeittakt" hab, den ich als Basis für diverse Dinge benutzen kann.
Nebeneffekt: noch zwei digitale Pins frei-auch mal zu was nütze....

Immerhin müssen im Fahrbetrieb doch etliche Dinge im Multitasking erledigt werden, sonst wird das einfach nix.
Wenn ich da aber feste Zeittakte habe, sieht das Ganze besser aus, dann brauch ich nur die grade nicht benötigten Funktionen mittels nen paar Flag-Variablen abschalten, und wenn sie gebraucht werden (rundum die Umgebung beobachten z.B. ist selten nötig), schalt ich sie einfach wieder zu.
Beispielsweise die Servobibliothek läuft nämlich auch recht bescheiden, wenn nebenbei zu viele andere Dinge zu tun sind..

Also: es bleibt spannend....smiley-wink
Logged

------------
Grüssle, Sly

Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So-wieder einiges verbessert bzw. gelöst:

-der Button vom Joystick wurd bis vor kurzem über digitalRead eingelesen. Das klappte im Prinzip auch, aber als Notaus z.B. eher selten, da im autonomen Modus einfach der Button nicht oft genug abgefragt wurde.
Jetzt hab ich das umgeschrieben: nun löst ein Druck auf den Button nen Interrupt aus, der dann wiederum ein Flag ändert. Damit wird dann (ausserhalb der ISR natürlich) ds Fahrwerk (Regler und Lenkservo) ein-oder ausgeschalten.
Hab nen Tag gebraucht, um drauf zu kommen, wie man das entprellt-nun funktionierts.  smiley-cool

So kann ich nun _jederzeit_ Antrieb und Lenkung stoppen, oder eben auch aktivieren.
Natürlich wird es auch auf dem Display entsprechend angezeigt.

Nebenbei grübele ich, ob ich eine "Kamera" verbauen sollte. Keine richtige, damit käm der Dino eh nicht klar, sondern eine sehr rudimentäre, sowas wie 8x8 Pixel oder ähnlich. Da das Monster im freien agieren soll (später.....) könnt man die auf den Boden richten, und eine Art "Linienfolger" draus machen, um z.B. Wegränder oder Fahrbahnmarkierungen zu erkennen.
Dafür brauchts ja nicht allzu viel, es reicht, wenn am Übergang bisschen Kontrast vorhanden ist.
Optischer Maussensor, mit geänderter Linse, vielleicht? Immerhin muss das Ding wenigstens auf 10cm arbeiten können, das klappt mit ner Maus erstmal nicht...oder gehts einfacher auch??

Jemand dazu Ideen?
Logged

------------
Grüssle, Sly

Münsterland
Offline Offline
Faraday Member
**
Karma: 48
Posts: 2826
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Eine richtige Kamera wäre auch problemlos möglich. Die Verarbeitung soll dann nur nicht über den Dino gehen. Beispiel Wifi Cam. Dann müsste man aber Laptop/Tablet mit nach draussen nehmen.

Linenfolger? Das könnte schwierig werden, da doch ein bisschen Power in dem Gerät hast. Auf der Makerfaire hatten die auch wieder diese kleinen Robotor die einer solchen Linie folgen. Das Problem ist, in schnell hab ich es noch nicht gesehen.

Was jedoch interessant wäre, war aber die RC-Fernbedienung können muss, wäre eine Vibration, sobald dein Auto eine weiße Linie anfährt. Ähnlich wie im Auto, wenn man über die geritzen Fahrbahnbegrenzungen fährt.
Logged

Gruß Stefan

Keine Code-Anfrage über die Persönlichen Nachrichten.

Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hm-ich glaub, du hast mich missverstanden.
Das Einsatzgebiet wird grösstenteils eher Feldwege oder sowas sein.

Quer über die Wiese kommt das Ding eh nur bis paar cm Grashöhe noch vernünftig durch, von daher möchte ich einfach, dass Übergänge (Weg-Asphaltiert,Dreck am Rand usw.) erkannt werden, und dann eben schön am Rand langgefahren wird, auch wenn das GPS, auf das ich ja warte, sagt: über die Wiese, is kürzer...
Von daher brauch ich weder eine hohe Auflösung noch allzu viel Rechnerei dabei.  Im Grunde sogar so: je unschärfer, umso besser, ich will da einfach auswerten: links hell, rechts dunkel->da fahren wir mal lang.

NiboBee und Co können sowas- der hat simple IR-Sensoren nach unten gerichtet, mit denen er mühelos z.B. an ner Fliesen-oder Teppichkante lang hangeln kann. Allerdings funktioniert es _so_ simpel nur bei einigermassen gutem Kontrast, und auf sehr geringe Entfernungen. Bisschen besser brauch ich es schon. PC-Mäuse können das ja, und ich hab auch ne Seite gefunden, wo sowas per Dino ausgewertet wird, aber ob es outdoortauglich ist??
Und: ich weiss schliesslich nich alles, eventuell gehts noch einfacher?

Logged

------------
Grüssle, Sly

Münsterland
Offline Offline
Faraday Member
**
Karma: 48
Posts: 2826
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Stimmt, NiboBee hießen die Teile. Naja, da kann ich dir leider nicht weiterhelfen. Habe keinerlei Projekte bereits gemacht oder geplant, die sowas benötigen.
Logged

Gruß Stefan

Keine Code-Anfrage über die Persönlichen Nachrichten.

Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nen (leicht aufgerüsteten) NiboBee hab ich da, schick mit Holzgehäuse.  smiley-cool

Das mit dem Maussensor lässt mir jetzt keine Ruhe-hab da was gefunden. Wenn ich wüsst, dass es jemanden ersnthaft interessiert, würd ich dazu mal nen extra Tread aufmachen.

Die Anwendungen dafür sind vielfältig, sie reichen von ner präzisen Wegmessung (dürft besser als mit Radencodern z.B. sein, da dort Schlupf usw. problematisch ist) bis hin zu ner -sehr simplen- Objekterkennung.
Aber oftmals reicht eine sehr niedrige Auflösung aus (z.B. um ein farbig markiertes Ziel zu finden, einer Linie zu folgen oder ähnliches), Roboterfussball (Ball erkennen, Tore erkennen, Begrenzungen erkennen)- dort ist weniger sowieso mehr.
Ich hab ne olle Logimaus hier- werd damit mal rumspielen.
Soll ich hier oder in nem Extra-Tread, was meint ihr?
Logged

------------
Grüssle, Sly

Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So. Hab mal mit der alten Logimaus ein bisschen Grundlagenforschung betrieben: das Ding auslesen, ist kinderleicht, braucht nur lausige zwei Leitungen....
Schwieriger ist es, die Optik auf ne vernünftige Reichweite umzubauen, fürchte ich.
Hab da auch grad nicht soo viel da für, mein alter Fernrohrbaukasten existiert schon 20 Jahre nicht mehr-schade.
Aber das Thema ist zu interessant, um es nicht noch weiter zu verfolgen....

Inzwischen aber werd ich mal wieder was am Monster machen, mit dem, was bereits verbaut ist.
Logged

------------
Grüssle, Sly

Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sodele.
Die Software ist noch arg überarbeitungsbedürftig (sie funktioniert soweit, _im Prinzip_ ja schon irgendwie...), da geht noch was.
Aufm Wäschenboden Runden drehen klappt leidlich, aber das isses ja nich...das kann jedes Spielzeugauto auch.

Es gibt aber, viel spannendere Neuigkeiten: heut gabs Post. Meine Brieftaube war da und hat das GPS hier abgeworfen.
Natürlich war das Ding ne halbe Stunde später auf dem Monster aufgesessen, ein kleines Probeprogrämmchen auf den Dino gespielt (ich verwend derzeit die SoftSerial, weils mitm Uno nich anders geht), und die Ublox-Software hat tatsächlich rausgefunden, wo ich wohne. Toll-jetzt weiss die NSA auch _das_.  smiley-roll
Zwar musste ich das Monster mal aufs Fensterbrett stellen, damit ich nen Fix hatte aber nun isser da- die Genauigkeit hat meine Erwartungen echt übertroffen- keine 2m neben dem Fenster.
Das Ublox scheint gut zu sein....

Langsam wird es allerdings mit dem Uno nun wirklich eng- es sind jetzt alle Pins belegt. Da ich später auf jeden Fall nen Datenträger brauche, überlege ich, auf nen Mega zu wechseln, damit ich die SPI nutzen kann (für ne SD-Karte, ich möchte auf der später GPS-Wegpunkte ablegen können). Alternativ nen I2C-EEPROM-Baustein, aber das find ich unhandlich..


Logged

------------
Grüssle, Sly

Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So-der Uno ist runter.
Weiter als bis dahin wäre ich damit nicht mehr gekommen und die SoftSerial ist-naja. Lahmarschig und unzuverlässig.
Jetzt ist auf dem Mega umgerüstet-die UnoPins hätten eh nicht gereicht, und alles ist besser, schöner und so. smiley-cool

Hat seine Vorteile, obwohls ne ziemliche Arbeit war (ich hab ja den Chinesen-Uno, der die hübschen Steckerleisten hat, und musste nun alles auf Stifte umbauen), z.B. kann ich nun die vier US-Sensoren wieder vernünftig ansteuern, jeden mit nem eigenen Triggerpin, und die SPI ist trotzdem noch frei (da kommt noch ne SD dran), und die zweite Serielle Schnittstelle des Mega funktioniert hervorragend.

Von dem Ublox bin ich echt begeistert- hab jetzt ne halbe Stunde einfach mal geguckt, was das Ding so treibt. Okok-angeblich spaziere ich auf dem Dach herum, und bin ein, zweimal wohl auch runtergefallen, aber im Schnitt ist die Genauigkeit selbst hier drinnen wirklich gut, wenn man bedenkt, was das Ding kostet!

Ich war sogar in Versuchung, das kleine Display gegen nen TFT zu tauschen, um da nen Teil der Navi-Daten mal schick grafisch auszugeben, habs aber gelassen-der Speicherverbrauch ist auch aufm Mega nicht ganz ohne dann. Und da ich noch immer so Geschichten wie den A* als Wegfindung im Hinterkopf hab (zu gegebener Zeit darf er weiter vor kommen), werd ich noch jedes Byte Speicher brauchen, was zu kriegen ist. smiley
Und: wir wissen ja vom Seeteufel, was diese billigen TFT`s im Freien taugen... smiley-cool
Werd aber mal gucken, ob von dem defekten der SD-Slot noch funktioniert, dann kommt der nämlich drauf-nen losen hab ich nicht. Da das Display vorne dran sowieso hin ist...

Jetzt werd ich aber erstmal gucken, was man mit der TinyGPS so anfangen kann-oder gibts was besseres?


Logged

------------
Grüssle, Sly

Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Heute kam nun die -möglicherweise letzte- Komponente noch an Bord: ein Laufwerk. smiley-wink
Eigentlich der Rest meines mal versehentlich geschrotteten TFT`s- da klebte ja hinten noch ein SD-Karten-Slot dran, und-der funktioniert auch noch. Wozu also wegwerfen...das TFT kurzerhand runtergemeisselt, nen Brettchen mit Heisskleber drunter (zum bequemen anschrauben), Kabelbündel dran und-geht. smiley-cool
Test hat das Ding auch bestanden, Dateien lesen und schreiben funktioniert, gut.

Ausserdem hab ich neulich ne Kleinigkeit umgebaut: bis dahin wurden die Servos _auch_ aus dem Stepdown-Wandler versorgt (genauso wie alles andere ausser dem Dino selber auch)- jetzt hängen die Servos (Lenkservo und das für den Hecksensor) am Regler-BEC.
Vorteil: das Lenkservo zieht nun wieder ordentlich durch-offenbar braucht es im Stand doch bissel mehr Strom-naja.
Während der Fahrt war es kein Problem, aber wenn das BEC schonmal da ist, wieso nicht auch benutzen.
Der Stepdown ist nun für fast alles andere zuständig: GPS, Joystick, sämtliche Sensoren, SD-Slot, Display.
Nur der MEGA hängt direkt am Akku, das ist mir nix, den mit 5V zu füttern, so wie jetzt kann ich sorglos das USB-Kabel an-oder abstecken, auch wenn das Fahrzeug an ist.

Wo ich den Regler grad erwähne: der nervt. Da er immer wieder rumzickte, hab ich ihn (mit nem extra dafür geschriebenen Programm) mal neu eingelernt- auch davon wurds nich besser:
Es ist gar kein Problem, aus "voller" (in Wirklichkeit ist die im Handbetrieb enorm gedrosselt) Fahrt rückwärts sofort auf volle Fahrt vorwärts zu schalten-das wird prompt erledigt.
Umgedreht aber hab ichs noch mal gründlich getestet:
Wenn ich vorher NICHT vorwärts gefahren bin, klappt rückwärtsfahren sofort.
Bin ich aber vorwärts gefahren, muss ich rückwärts mindestens ganz kurz (nicht länger als 2s, ansonsten schmiert der Dino ab) geben, _dann_ ca. 5s warten und _nun_ kann ich auch rückwärts fahren.
Schon irgendwie dämlich- der Dino scheint in dem Moment abzuschmieren, wo der Regler von "bremsen" auf "rückwärts" umschaltet.
Wird lustig, das der Software klarzumachen... smiley-roll
Leider bin ich mir recht sicher (messen kann ichs nicht, mein Hobbystrommessemeter geht nur bis 10A), dass die beiden 540er Motoren unter Vollast schon mehr als 15A ziehen, sonst würd ich ne Motorplatine, wie im Segway einbauen und der Zirkus wär vom Tisch, aber beim vollen Beschleunigen geht der Akku dermassen in die Knie, dass ich mir sicher bin: da geht bissel mehr Strom durch die Leitungen.

Nun müssen erstmal eine ganze Reihe Bugs, die teils durch den Umbau, teils auch durch den Schlaumeier, ders programmiert hat, noch behoben werden:
-das GPS zeigt auch dann nen aktuellen Fix im Display, wenn es _gar_ keinen hat (veraltete zeigts dagegen korrekt, ebenso wie aktuelle)
-die Sonarsensoren müssen gestaffelter abgefragt werden, teilweise scheinen sie Echos von anderen zu empfangen
-die Fahrsteuerung muss auf die Hirnrissigkeit-ähm-die Besonderheiten dieses Reglers angepasst werden
-irgendwas haut mit der automatischen Abschaltung der Motoren nach ner Minute nicht hin, im manuellen  Modus klappts, im autonomen nicht

Nebenbei werd ich mir mal überlegen, ob ich eigentlich überhaupt noch nen zusätzlichen Kompass verbauen will (es wär zwar praktisch, da das GPS zwar den Kompasskurs errechnen kann, aber erst _nach_ dem losfahren, es würde also immer erstmal nen Stück gefahren und dann "gucken wir mal, wohin wir eigentlich fahren")- hätte schon Vorteile, aber nach meinen Erfahrungen mit dem HMC588l bin ich da so bissel von geheilt erstmal, vermutlich hat meiner einfach nen Treffer), und was sonst noch so drauf soll.
Nen Neigungsmesser würd ich schon gerne verbauen, um z.B. eine Geradeausfahr-Regelung auch in unebenem Gelände zu haben (ich hatte mal ne Weile, als ich das Auto noch artgerecht per RC gefahren hab, einen normalen Gyro auf dem Lenkservo, damit fuhr die Kiste selbst im schweren Gelände wie auf Schienen), und auch, um Umkippen zu vermeiden, oder gefährliche Neigungen halt erkennen zu können.

Ausserdem hab ich noch keine richtige Idee, wie ich mir auf der SD-Karte "Routen" so anlegen kann, dass der Dino daraus GPS-Punkte entnehmen kann, die er dann mal abfahren soll.
Das wird noch ne richtig spannende Geschichte.

Logged

------------
Grüssle, Sly

Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sodele. Ein bisschen weiter bin ich immerhin.
Eine ganze Handvoll Bugs sind gefunden und erschlagen.  Alle bestimmt noch nicht-hatte aucgh gestern gar keine Zeit und heut noch nicht viel...

Nebenbei hab ich mich mal etwas in die Speicherkarten-Sache angefangen, einzuarbeiten. Das hab ich bisher immer so bissel vor mir hergeschoben, weil ichs nicht so wirklich brauchte.
Inzwischen schaffe ich es schonmal, bzufragen ob ne Karte verfügbar ist, ob sie eine bestimmte Datei enthält, und ob in der auch "gültige" Daten sind.
Spielerei, aber mir gings vor allem darum, dass ich ZAHLEN von der Karte so auslesen kann, dass ich nachher damit auch rechnen kann im Programm.  Um das zu testen hab ich einfach mal eine bestimmte Datei angelegt, die nix weiter als nen paar Zahlen enthält, und später als "Autoschlüssel" dienen kann.
Nur wenn die Karte, die richtige Datei UND der richtige "Code" in dieser Datei vorhanden sind, startet der Roboter überhaupt.
Funktioniert...nehm ich die Karte raus, startet das Auto gar nich erst und wenn sie nicht wirklich die passende Datei (und in der den Code) enthält, ebenso wenig.
Ist, wie ich zugeb, relativ unnötig, aber ich wollte eben mal sehen, ob ich richtig Zahlen auch eingelesen bekomme- in den Beispielen zur SD wird ja immer nur mit Strings rumgewirtschaftet, das nutzt mir später gar nix.
Da das soweit klappt, kann ich nun dem Monster beibringen, GPS-Koordinaten sowohl von der Karte zu lesen, als auch rauf zu schreiben (letzteres möcht ich dann evtl. fürs Logging nutzen, oder um vorgegebene Routen zu optimieren).
Logged

------------
Grüssle, Sly

Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Und sc hon wieder Neues (interessierts überhaupt jemanden?):

Ich hab mal angefangen, Vorbereitungen für eine return-to-home-Funktion zu treffen.

Im Startmenü (wo ich z.B. auch zwischen autonomen und manuellen Betrieb umschalten kann) fragt das Monster, ob der aktuelle Standort als "home" gelten soll (das ist nötig, weils ja sein kann, ich bin mal wo anders als zu Hause damit, aber eben auch die Möglichkeit besteht, dass eine längere Strecke in Etappen gefahren werden soll), und falls ich das bestätige, wird gewartet, bis das GPS nen aktuellen Fix hat, und dann die Koordinaten auf die SD-Karte geschrieben.
Theoretisch findet der Truck sich also dann allein zurück zum Startpunkt, jedenfalls, so lange der Aku reicht(oder eben zwischendurch gewechselt wird, da die Daten auf der SD-Karte ja bleiben).
Bild mir schon was drauf ein, das hinbekommen zu haben.... smiley-cool Irgendwie wächst man doch mit seinen Aufgaben, ich glaub, die SD-Geschichte hab ich schon ganz gut in Griff.

Nun wird es spannend: als nächstes sollen in einer Datei "beliebig viele" Wegpunkte angelegt werden (die hol ich mir z.B. aus Google Maps), und dann soll das Monster diese Route abfahren, und ggf. wieder zum Anfang zurückkehren.
Mal sehen, was das geben wird, bin schon selber gespannt. Noch weiss ich nicht mal genau, was ich da für ein Dateiformat verwenden soll (bzw. wie ich die Daten, so simpel lesbar wie möglich, auf die Karte schreiben soll).
Interessant wird dabei vor allem die Tatsache, dass nicht vorher bekannt ist, wieviele Wegpunkte es gibt...das richtet sich schliesslich immer nach dem konkreten Erfordernis (ich möchte lieber mehr, als weniger haben, um präzisere Kurse zu fahren, statt dauernd querfeldein).

Logged

------------
Grüssle, Sly

Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hm, auch wenn es offenbar keinen so recht interessiert:
Ich bin weiter.

Jetzt gibt es schon beinahe den ersten richtigen GPS-Fahrmodus. Beinahe deshalb, weil er noch nicht fährt-aber das schaffe ich evtl. morgen noch.
Im Moment kann der Truck: sein "zuhause" auf Knopfdruck auf der SD-Karte speichern (nur auf Knopfdruck deshalb, damit man auch ein "altes" behalten kann).
Im Betriebsmodus, den ich GPS2Home nenne, läuft das dann so ab:
Es wird der "Home"-Punkt von der Karte eingelesen.
Nun wird der aktuelle Standort per GPS ermittelt, und die Entfernung zwischen den beiden Punkten-als Luftlinie natürlich, Google Maps werd ich _nicht_ implementieren deswegen.. smiley-cool
Der Teil, der nun folgt, muss noch programmiert werden:
Jetzt soll das Monster eine kleine Runde fahren (das ist nötig, um nen paar verschiedene GPS-Daten zu bekommen, weil _nur_ dann die Kompassfunktion des GPS auch funktioniert), und sich dann auf den Weg machen zum "Home".
Da es keine Festlegung gibt, wie weit die beiden Punkte auseinander sein dürfen, kann dieser Modus später ganz nach Belieben aufgebohrt werden. Man braucht sich ja nur nen "Zielpunkt" suchen, den abspeichern, mit dem Monster wo anders hin gehen, und es laufen lassen. Schwierigkeitsgrad: beliebig, wenn man die Umwelt-Sensoren mit benutzt.
Die jetzt noch einzupflegen, schaff ich heute und morgen allerdings nicht, daher wird das wohl auf irgendeinem freien Parkplatz getestet, wo genug Platz ringsum ist.

Es gab, bis hierhin, einige Tücken. Z.B. benutze ich nicht die float-Funktionen der TinyGps, sondern arbeite mit Ganzzahligen (um die Entfernung zu berechnen, komm ich allerdings dann nicht ohne floats aus, aber die haben ne kurze Lebensdauer, da sie das Unterprogramm nie verlassen). Dadurch bekomme ich die Entfernung auf Millimeter-mit 10-15 Nachkommastellen. smiley-cool
Unnütz- auch das Ziel wird noch bissel gerundet, wenn ich es schaffe, auf nen Meter ranzukommen, bin ich volkommen selig.
Und: allzu genau ist es nicht, da ich die Entfernungen lediglich nach dem Phytagoras-Satz berechne (hab ne bessere Formal da, find die aber vorerst unnötig)-> im Nahbereich wird das allemal ausreichen.
Zudem verwechsele ich andauernd lat und lon-auch das gibt dann -interessante-Ergebnisse (die heissen in meinem Programm nämlich Laenge und Breite).



* IMG00082.jpg (98.3 KB, 800x600 - viewed 17 times.)

* IMG00078.jpg (98.68 KB, 800x600 - viewed 28 times.)

* Screenshot_Konsole.jpg (41.51 KB, 359x190 - viewed 24 times.)
Logged

------------
Grüssle, Sly

Dresden
Offline Offline
God Member
*****
Karma: 13
Posts: 820
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sooo. Heute war mein Monstertruck das erste mal draussen "alleine" unterwegs- die Aufgabe war, per GPS zu nem vorher festgelegten Punkt zu finden.

Das Ergebnis war- eigentlich- jämmerlich: es hat _einmal_ wirklich geklappt-dabei wurd das "Ziel" um ziemlich genau 5m verfehlt. Allerdings hab ich die Aufgabe so programmiert, dass er nicht näher als 2m ran muss-man kanns nun auch als 7m auslegen, oder als 3... smiley-cool

Woran lags?
Zum einen daran, dass  meine Fahrstrategie einfach nur zusammengepfuscht war, weil ich _heute_ mal testen wollte. Daher wurde nur dauernd die GPS-Position gemessen und "wenn Entfernung grösser wird, fahr mal rechts rum, ansonsten fahr gradeaus".
Alles andere als effektiv, das war sowieso klar.
Zum anderen konnte ich beobachten (am Lenkverhalten) dass wohl nur ca. einmal pro Sekunde die GPS-Daten frisch verfügbar (im Programm halt) waren- das Auto fuhr ungefähr zügiges Schrittempo, ohne Interpolation oder nen schnelleren Datenstrom wird das so auch nix.

Weiter müssen die GPS-Daten besser aufbereitet werden. Folgender Test:

Roboter hinstellen, dann neuen Zielpunkt "hier!" definieren und abspeichern.
Anschliessend-ohne das Fahrzeug zu bewegen, neu starten. wie von Geisterhand geht der Wert der Entfernung erstmal deutlich rauf-bis ca. 10, 12m. Danach nimmt er kontinuierlich wieder ab- nach ner Minute meldet das System: "bin angekommen".
Interessant-mal sehen, ob ich dieses Verhalten irgendwie erklärt bekomme.

Also: da müssen wir noch mal ran. smiley
Aber gutes gabs auch: der Rest des Konzeptes(soweit aktiv, ausserm GPS war kein einziger Sensor online) funktioniert bestens. Der Vorgaberwert für den Fahrtregler (den konnt ich nur schätzen) passte-auch leichte Steigungen schafft das Auto so noch, und dennoch wars ggf. möglich, mal hinzugehn und es notfalls zu stoppen.
Auch der Timer (reine Vorsichtsmassnahme) den ich eingebaut hab, hat immer tadellos funktioniert: nach ner halben Minute stoppte das Auto _immer_- dann braucht ich nur auf den Joystick drücken und weiter gings.

Die Probleme mit dem GPS schieb ich auf mehrere Ursachen: zum einen hört man an allen Ecken und Enden, dass GPS in der Bewegung genauer funktionieren als im Stand.
Zum anderen ist da irgendwas zu langsam-ich guck nachher noch mal in den Code, was zwischen "lies das GPS ab" und "reagiere drauf" so alles passiert- musste eben schnell gehn... smiley-cool
Naja-und die Fahrstrategie war (das war mir schon auf dem Weg nach unten klargeworden) so ineffektiv, wie sie nur sein kann. Die wird natürlich _grundlegend_ verbessert.

Insgesamt waren die Tests also schon ein Erfolg, da ich vieles, grad im Zusammenhang mit dem GPS-hier drin einfach nicht testen kann.

Logged

------------
Grüssle, Sly

Germany
Offline Offline
Faraday Member
**
Karma: 59
Posts: 3071
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
bis ca. 10, 12m
.
Völlig normal
Logged

Pages: 1 [2] 3 4 ... 7   Go Up
Jump to: