PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rasenmäher (noch einer)



Lurchi
21.04.2009, 15:16
Hallo Zusammen,

ich habe ein paar Ideen zusammengeschrieben, aus denen ich gerne etwas funktionierendes Machen möchte.
Es wäre schön, wenn Ihr euch das mal anschaut. Ich freu mich auf euren Input und eure Kritik.

Lurchi :-)

lokirobotics
21.04.2009, 23:10
Ich will nicht auf alles eingehen, aber das Projekt hört sich schon mal recht interessant an (vor allem, wenn ich mir vorstelle, wie der RP6 versucht, über Rasen zu fahren ;)).

Als erstes wäre es angebracht, die Sachen die man ins Netz stellt, vor dem Hochladen nochmal zu lesen. Dann fallen nochmal Rechtschreib und Grammatikfehler auf und für die anderen wird es dann leichter lesbar.

So, nun zum eigentlichen Projekt.

Deinen Umsetzungsplan finde ich sinnvoll. Erstmal die Grundlagen schaffen und nicht alles auf einmal machen.
Inwieweit du deine einzelnen "Module" nochmal überarbeiten musst, wird sich zeigen. Je nach Fläche reichen vielleicht schon Odometrie und Fixpunkte zur verlässlichen Navigation.

Zu den Karten:
Vektorkarten zu verarbeiten ist wirklich aufwendig, davon würde ich auch Abstand halten. Eine reine Rasterkarte ist auch nicht das Richtige (wie du schon sagtest, viel Speicherbedarf). Zwar könnte man das Speicherproblem mit einer SD-Karte und ein wenig RAM lösen, aber es geht auch einfacher.
Überlege dir doch mal, ob du wirklich jeden Punkt in deiner Karte verzeichnen musst. Reicht es nicht schon, wenn du eine Liste von Punkten führst, die irgendwelche interessanten Sachen darstellen?
Der Speicherbedarf wäre sehr gering (zB.: ID,Art,posH,posV).
So könntest du Hindernisse, Zielpunkte etc. darstellen (eigentlich genau wie die POI's beim GPS).
Deine Position sollte dir ja bekannt sein. Dann brauchst du "nur" noch einen Algorithmus, der möglichst effizient die Abstände zu den einzelnen Punkten berechnet. Liegt ein Punkt innerhalb eines bestimmten Radius, wird ein Event ausgelöst und entsprechend reagiert.
Man könnte den Rechenbedarf weiter verringern, wenn man z.B. verschiedene Listen für verschiedene Zonen erstellt. Da gibt es sicher viele Möglichkeiten (und in Bibliotheken ganz viele schlaue Bücher ;)).

So, ich hoffe, das war so die Art Input, die du dir erhofft hast. Ich bin gespannt, wie du weitermachst und wünsche dir viel Erfolg.

Loki

vohopri
22.04.2009, 05:14
Hallo Hans-Jörg,

dein Entwurf gefällt mir gut. Jetzt kann ich besser einschätzen, wo du mit deinen Überlegungen stehst, und welche Prioritäten du setzt. Die Modularisierung des Projekts zeigt ein professionelles Vorgehen. Ausserdem mache ich das selbst auch gerne so.

Bin schon gespannt, welche Teilaufgabe du dir zunächst vornimmst.

grüsse,
Hannes

Lurchi
22.04.2009, 09:32
Hallo,

@all: sorry für die misserable Rechtschreibung.

@lokirobotics: Ja. Genau die Art von Feedback habe ich mir gewünscht. Vielen Dank. Der RP6 wird so wie er ist bestimmt viel Spaß mit Rasen haben - vor allem mit hochstehendem Grass...
Wenn du eine - preiswerte - bessere Plattform kennst, bin ich für Anregungen dankbar.

@Hannes: Danke für die Blumen

Wie beschrieben werde ich mit den Sensoren anfangen. Und den RP6 nur auf dem Schreibtisch oder Boden fahren lassen.
Die Bestellungen sind schon raus. Ich habe die GP2D120, HMC6343 und SRF10 bestellt...
Ich werde mit den IR Sensoren anfangen, damit mir der RP6 nicht vom Schreibtisch hüpft.

Ich hoffe nur, dass der teure HMC6343 hält was er verspricht. Es gibt keine Erfahrungsberichte mit dem Ding. Ich glaube aber für unebenes Gelände (selbst an Teppichkanten) ist der CMPS03 ungeeignet...

Mein größtes Problem ist die korrekte Elektronik und der Einbau. Ich habe schlicht Sorge das 500 Eur in Rauch aufgehen.

Aber als Erstes ist Erfahrung sammeln angesagt - wenn ich das richtig verstanden habe ist es nicht so ganz einfach verlässliche Werte aus den Sensoren herauszuholen.

Die Softwareschnittstelle für die Sensoren entsteht jedenfalls bereits...
Ich möchte eine Abstraktion der Sensoren gegenüber den nutzenden Einheiten. z.B. das die Sensorenutzer lediglich Fragen "In welche richtung gucken wir" und entweder die Richtung zurückbekommen oder ein "Unbekannt" (sollte der Sensor nicht da sein oder Mist liefern) eine andere wichtige Funktion soll die "Wo bin ich" sein...
Die Nutzer sollen ihre Rechenzeit nicht mit Gewichtung oder Verlässlichkeit der Rohinformation verbrauchen müssen, sondern vielmehr "saubere", bei Bedarf auch unsaubere mit entsprechder Einschätzung oder gar keine Daten erhalten.

Lurchi :-)

stripmower
27.05.2009, 05:38
"Inwieweit du deine einzelnen "Module" nochmal überarbeiten musst, wird sich zeigen. Je nach Fläche reichen vielleicht schon Odometrie und Fixpunkte zur verlässlichen Navigation. "

zumindest für den "bahnenmodus" gilt doch:
wozu fixpunkte wozu odometrie? der roboter fährt die bahnen ab. dabei reicht es doch die richtung zu halten. die richtung wird mit dem kompassignal immer wieder korregiert. und selbst beim wendemanöver am ende der bahn würde es doch reichenden, den mäher anhand der kompassinformation um ein rad zu drehen um ihn auf die benachbarte bahn zu setzen. oder?

und auch nen kreuz und quer kurs sollte sich aus richtung und zeit generieren lassen.

dann kann zum schluss nochmal die induktionsbegrenzung abgefahren werden, um die unsauberen ecken, die je nach mähergeometrie entstehen, zu entfernen und gemäht ist der rasen...
...oder?!

das konzept ähnelt meinem übrigens sehr... aber es wird mir immer klarer, dass das schon ziemlich hohe schule ist und ich wohl viel zeit brauchen werde!

Ozzy
27.05.2009, 06:03
Moin,

nur kurz zum Kompass: also ich kann nur sagen, dass er sehr gut ist! Wir haben ihn bereits erfolgreich in einem U-Boot zur Navigation eingesetzt. Bitte komm aber nicht auf die Idee, den selbst auflöten zu wollen, das geht in der Regel daneben. Wir haben ihn damals hier (https://www.sparkfun.com/commerce/product_info.php?products_id=8656) gekauft; ist auch billiger als ihn bei Digikey oder so zu ordern...

MfG, Ozzy

Lurchi
27.05.2009, 08:40
Danke für die Hinweise und Kommentare.

@stripmower: Im Moment gehe ich noch davon aus, dass ich ohne Induktionsschleifen auskomme. Die Richtung bekomm ich mit dem Kompass in den Griff, die Distanz ist noch ein Problem (wenn man davon ausgeht, dass es die Traktion bei unterschiedlichen Untergründen die Drehzählermessungen verfälschen können (Sand, Schlamm, Maulwurfhügel, etc).
Ich bin noch am überlegen wie ich das löse - im Moment denke ich über eine zyklisch "Eichung" an einer Bake und damit an einem bekannten Punkt nach - also nach einer gewissen Zeit zur Bake fahren und die Distanzcounter auf Null setzen... Nicht elegant aber erstmal einfacher als trigonometische Peilung...

Und: Ja das braucht Zeit und Geld - ich habe schon ca. 50 Stunden nur in die Motorsteuerung reingesteckt. Und das Sch**ßding fährt noch nicht mal sauber gerade aus. (Natürlich ohne Kompass)

@Ozzy: Bei sparcfun habe ich auch zugeschlagen - interessante Module die ich dort auch gefunden habe ist die I2C Echtzeituhr und ein I2C Levelconverter von 5V auf 3.3V - auch wenn mich der nachträgliche Einfuhrzoll doch stark überrascht und geärgert hat.

Grüße

Lurchi

Ozzy
27.05.2009, 08:50
Das mit dem Zoll kann ich gut verstehen; ist schon ärgerlich! Und immer schön an Sicherungen und Schutzschaltungen denken, das ist die best investierte Zeit bei solchen Projekten!!!

stripmower
27.05.2009, 17:44
"im Moment denke ich über eine zyklisch "Eichung" an einer Bake und damit an einem bekannten Punkt nach - also nach einer gewissen Zeit zur Bake fahren und die Distanzcounter auf Null setzen... Nicht elegant aber erstmal einfacher als trigonometische Peilung... "

ich weiß nicht, ob das so viel einfacher ist als eine trigonometrische peilung:
sinus-, kosinus- und pythagorassatz sollten für eine korrekte peilung mit zwei oder mehr baken ausreichen ausreichen.

die trigonometrischen funktionen sind recht simpel und es ist eine permanente ortsbestimmung möglich.

man könnte also sogar völlig auf den kompass verzichten indem man permanent den ort bestimmt und zur kurskorrektur mit dem sollwert abgleicht. der mäher fährt dann also nicht die bake an, sondern die jeweils vor ihm liegenden soll-punkte, die beispielsweise 10cm auseinander liegen.

oder?

Lurchi
27.05.2009, 20:57
Hi,

ich hatte eine lustige und aufschlussreiche Disskussion mit Hannes (vohopri) zum Thema. Die Peilung mittels Baken ist nur in der Theorie einfach.
Da sind so lustige Themen wie Genauigkeit, Übertragungstechnik (IR, US, Laser, ... hat alles Vor- und Nachteile - und vor allem praktische Haken)

Ich bin ursprünglich mal davon ausgegangen, das eine Ultraschallquelle und drei Micros reichen sollten. Die Messung der Differenz zu den Messzeitpunkten sollte aufschluss geben. Theoretisch sollte das mit Ultraschall und einer gemeinsamen Zeitbasis gehen... Leider bewegt sich Ultraschall mit 33,33 cm pro ms.. Da wird es schwierig mit der Messung.

@Ozzy: Jahaaa. Leider bin ich nicht der Elektronik-Schwarzgurt... Daher: Versuch macht kluch... Bis jetzt ging gut ;-)

Grüße

Lurchi

Lurchi
17.09.2009, 12:12
Hallo,

für alle Interessierten: Ein kleines Update. (Im Anhang ein paar Bilder)
Nachdem mir viele Leute mit Rat zur Seite standen - fast Alle aus dem RN - habe ich mein Rasenmäherprojekt vor 3 Monaten gestartet. Eigentlich wollte ich schon fertig sein - aber Familie, Beruf und das sonstige Leben fressen ganz schön hartnäckig Zeit auf.

Zuerst stand (und steht im aktuellen Entwicklungsstadium) die Konstruktion einer brauchbaren Basis im Vordergrund. Schnell wurde klar, dass sich nicht alle Ziele auf einmal erreichen lassen. Das ganze sollte in erster Linie mal fahren - das Mähen kommt dann schon noch ;-)
Es ging Schritt für Schritt los. Alu sägen, Feilen und Entgraten, Schraubenlöcher bohren - man glaubt gar nicht wie viele Teile so ein Ding hat!

Der Ansatz ein Kettenfahrzeug zu bauen ist, aus Kosten-, Gewichts und Zeitgründen vorerst einem 3-Rad gewichen.

Als Zwischenfazit lässt sich ziehen: Wer einen Rasenmähroboter HABEN will, sollte sich besser einen kaufen. Die sind ihren Preis wert.

Für alle Anderen: Es macht rießen Spass. An dieser Stelle mal ein großes Danke an alle, die mich bis jetzt unterstützt haben.

Lurchi :-)

Lurchi
01.12.2009, 13:33
Hier mal zwei Videos vom ersten Test der Steuerung.

http://www.youtube.com/watch?v=0c5-rspQXok
http://www.youtube.com/watch?v=GGu1jPBcVU4

Als nächstes wird die Elektronik im Gehäuse untergebracht und das ganze mal im Garten rumgefahren.

Viel Spass

Lurchi
10.05.2010, 19:54
Mal ein Update: Von der Fahrt im Garten ;-)

http://www.youtube.com/watch?v=yRLa3v9QBJg
http://www.youtube.com/watch?v=itmFw6v_e08

Viel Spass

Jepp
11.05.2010, 08:50
Ich lese vom Projekt, denke: "Huch, will etwas Ähnliches machen?" dann sehe ich das Datum "Hä, der schreibt in der Zukunft? Ne, April war ja erst.. Wieso hab ich den Thread nicht gesehen. - Ah, 2009!"
ICH mache also etwas Ähnliches wie DU - mit ähnlichen Problemen. ;)

Hi,
ich hatte eine lustige und aufschlussreiche Disskussion mit Hannes (vohopri) zum Thema. Die Peilung mittels Baken ist nur in der Theorie einfach.
Da sind so lustige Themen wie Genauigkeit, Übertragungstechnik (IR, US, Laser, ... hat alles Vor- und Nachteile - und vor allem praktische Haken)
Habt ihr das irgendwo dokumentiert also im Forum?


Und: Ja das braucht Zeit und Geld - ich habe schon ca. 50 Stunden nur in die Motorsteuerung reingesteckt. Und das Sch**ßding fährt noch nicht mal sauber gerade aus. (Natürlich ohne Kompass))
Speziell der Punkt kommt mir aktuell häufiger unter..

Lurchi
11.05.2010, 21:43
@Jepp: Dein Projekt sieht auch sehr nett aus. Interessante Ansätze.

Das Projekt habe ich mittlerweile auf SourceForge angefangen zu veröffentlichen. (Projektname: openbotsteer)
Eine grundlegende Beschreibung warum, was und wie soll es werden habe ich nicht erstellt. Aber mit Familie, Garten und Beruf bin ich einfach froh wenn ich an den Funktionen weiter machen kann.
Aber vom Rasenmähen bin ich ein wenig weg gekommen. Derzeit soll das Ding einfach gerade fahren, und wenn ein Hindernis auftaucht dieses nicht rammen.

Leider finde ich die Diskussion zum Thema "Triangulation" nicht mehr. Meine Grundidee war: Stelle eine Ultraschall-Bake auf, die ein Zeitsignal ausstrahlt und Empfange das Signal an drei Punkten auf dem Bot.
Daraus müsste sich Entfernung (ist die Differenz zwischen lokaler Zeit und dem Empfangenen Signal) und die Richtung (Versatz zwischen dem Signaleingang an den drei Messpunkten auf dem Bot) ermitteln lassen.
in der Theorie ist das einfach, aber geeignete Bauteile (die US Microfone müssen immer auf die Bake ausgerichtet sein) , Messgenauigkeit (Unterschiede in einem Zeitsignal zu ermitteln bei einem Abstand von ca. 20 cm zwischen den Microfonen...) und Umgebungprobleme (Schatten oder Echos) machen das ganze dann doch zu einer echten Herausforderung.