Frage zum Projekt

rainer_r

Moderator
Hallo,
eine Frage an die Initiatoren dieses Forums.
Ich arbeite an einem eigenen Mähroboter Projekt. Falls Interesse besteht kann ich Details zur Konstruktion, Elektronik-Hardware und Software hier zur Verfügung stellen.

Hier die wichtigsten Punkte.

Mechanik:
Mein Projekt arbeitet mit einer eigens konstruierten mech. Plattform für bis ca. 8 Kg Nutzlast mit dem Maßen 600x400x200 mm
Die Plattform ist nicht auf einen Mähroboter beschränkt, jedoch derzeit dafür optimiert.
Der Rad-Antrieb sind 2 Getriebemotore (12V) mit 2 Stützräder vorne. Ausbaubar auf 4 angetrieben Räder. Der Mähmotor ist 12V 50-100W.
Stromversorgung i.d. Entwicklungszeit Akku Pb 12V 7,5Ah, später LiPO 14V 5Ah.

Sensorik:
2 Direkt-Kontakt-Schalter vorne, 2 US-Sensoren vorne, 1 US-Sensor hinten, Regen-Sensor, Akku-Ladezustand, RTC mit EEPROM
Später vorgesehen sind: Schleifen-Sensor, Rasen-Sensor, GPS-Modul, Kamera-Modul zur Objekterkennung, Kompass, Gyro

Elektronik:
Arduino-Mega + Fertig-Module: Rad-Motore:L298N, Mähmotor:pWM-DCTreiber10A, Lade-+ 5V-DC-DC Wandler, 433-Receiver f. FB, RTC, LCD-Display4x20

Konstruktion:
Die Plattform-Mechanik wurde so konstruiert, dass für Entwicklung/Versuche mechanisch oder elektronisch fast jede Möglichkeit gegeben ist.
Die Radantriebe sind leicht tauschbar, gegen andere Motore oder andere Raddurchmesser.
Die Frontplatte mit den Bedienelementen: Batt.Hauptschalter, Start, Stop, Home, LCD-Display kann leicht geändert werden.
Die Basisplatte (380x160mm) für die Elektronik mit dem Mega2560 und allen Module ist von oben einschiebbar.

Ich sehe meinen Prototype als Entwicklungsplattform um eigene, auch neue Wege bei einem RasenRoboter zu gehen und testen zu können.
Wichtig war mir auch der Einsatz von mögl. vielen fertigen Module um die den HW-Aufbau zu beschleunigen und über die Verwendung von vorh. Arduino-Lib's den eigenen Software-Aufwand zu reduzieren. Grundsätzlich, denke ich, ist die Mechanik auch für das hier diskutierte Projekt verwendbar oder anpassbar.

Mein Projekt-Status:
Mechanik ist fertig und funktioniert.
Elektronik ist fertig aufgebaut und getestet
Die Software ist fertig um den Fahrbetrieb zu testen/optimieren: Start, Stop, Vorw. fahren, Ausweichen mit Hinternis umfahren, Rücksetzen mit Wenden

Über ein Feedback würde ich mich freuen.
 
Rainer_R schrieb:
eine Frage an die Initiatoren dieses Forums...

Hallo Rainer, vielen Dank für Deinen Beitrag!

Könntest Du uns ein paar Bilder hinterlegen? (ein Bild sagt mehr als...)

Hättest Du Interesse, die "Ardumower" Software einmal mit Deinem Roboter auszuprobieren (d.h. anzupassen/ggf. mit Deinem Code zu optimieren)? Auf diese Weise könnten wir die Software verbessern.

Hast Du vor eine Induktionsschleife zu legen? Oder vertraust du voll und ganz auf die Sensoren? ;-)

Vielen Dank im voraus für weiteres Material von Dir :)

Gruss,
Alexander
 
Zuletzt bearbeitet von einem Moderator:
Hallo Alexander,

einige Bilder kann ich gerne posten (kommt in Kürze).

Ich habe mir die "Ardumower" Software einmal angesehen. Grundsätzlich ist eine Anpassung sicher möglich.
Derzeit verfolge ich jedoch die Strategie möglichst viele SW-Modul-Lib's zu verwenden und deren Kompatibilität untereinander zu prüfen. Meine komplette Fahr-SW ist so erfreulich kurz und übersichtlich geworden. Zur Anpassung der Ardumower-SW an meine Hardware müsste ich mich sehr intensiv mit dieser SW beschäftigen - ist derzeit so nicht geplant. Aber evt. in den nächsten Monaten kann ich das einmal versuchen.

Das mit der Induktion-Schleife ist so eine Sache.
Ich habe das einmal eingeplant - möchte aber falls möglich darauf verzichten. Bei der Gartengröße sind 2-3 Mähbereiche notwendig, diese kann ich mit GPS anfahren. Die Rückkehr zur Ladestation kann ich auch bis auf ca. 2m mit GPS navigieren. Die Positionierung in die Ladestation hinein möchte ich entweder mit einer (kurzen) Induktions-Schleife machen, besser jedoch per Kamera realisieren.
 
@Rainer
Du scheinst ja auch schon recht weit zu sein und ich sehe auch einige Ähnlichkeiten.
Auch wir versuchen möglichst auf fertige Module zurück zu greifen, so das der Nachbau leichter fällt.
Ich hoffe auf ein paar Bilder und mehr Infos, immer her damit :) .
Ich arbeite im Moment am Umzug dieses Projektes, daher mache ich mich zur Zeit etwas rar.
Nicht mehr lange, dann ziehen wir auf eine Eigenständige Plattform. :cheer:
 
Hallo,

hier einige PDF's zu meinem Projekt.
Ich habe die wichtigsten Blätter noch schnell für einen ersten Eindruck aus meiner Doku. zusammengesucht.
Einge Fotos folgen in Kürze.

Eigene RR-Plattform - sehr gute Idee.

... und hier die ersten Infos:
h2da0d22.pdf

Attachment: https://forum.ardumower.de/data/media/kunena/attachments/930/h2da0d22.pdf/
 
Zuletzt bearbeitet von einem Moderator:
Hallo Alexander,

danke für dein Feedback.

GPS-Genauigkeit:
Ich habe eigentlich >2m für die GPS-Genauigkeit vermerkt (nicht
 
Rainer_R schrieb:
Hallo Rainer,

Über Ergebnisse mit der CMUcam würden wir uns sehr freuen. Meine Idee könnte insofern ohne Kabel auskommen, dass der Standort der Kamera relativ egal ist. Die Kamera kann irgendwo am (oder im)Haus stehen (so dass sie möglichst das Gelände im Blick hat) - das reicht. Der Winkel spielt nicht so eine große Rolle. Die Bildverarbeitung transformiert dann das Bild der Kamera wieder um in eine Fläche (so als ob man von oben auf die Fläche gucken würde). Der Vorteil ist, dass man das extern einfacher bewerkstelligen kann als am Roboter selber (Energieversorgung, Größe etc.). Das GPS-Signal ist ja auch ein Hilfssignal, meine Kamerastation wäre nichts anderes...
 
Zuletzt bearbeitet von einem Moderator:
nero76 schrieb:
Hallo Rainer,
........
Nachtrag: Würdest Du uns Deinen Code zeigen? Evtl. ist dein Ansatz auch gut für verschiedene Roboter geeignet? Beim Ardumower kopiert man z.B. einfach eine Config-Datei (aml50.h, spm12320.h, tcg158.h) und passt diese an seinen Roboter an (das ist dann eine Sache von einem Nachmittag).
Gruss,
Alexander

Hallo Alexander,

das mache ich grundsätzlich gerne. Ich bitte aber noch um etwas Geduld. Einige Punkte in der SW möchte ich noch realisieren und ausreichend testen.
Wenn meine SW für die Basis-Plattform weitgehend fertig ist - kann ich diese veröffentlichen.

Bei Interesse kann ich jedoch bereits Details zur Mechanik und Elektronik zeigen.
Hierfür wäre ein eigener Themenbereich mit Moderation hilfreich, da meine Doku bereits heute sehr umfangreich ist.

Auch warte ich gerne bezogen auf die Info von naneona:
Ich arbeite im Moment am Umzug dieses Projektes, daher mache ich mich zur Zeit etwas rar. Nicht mehr lange, dann ziehen wir auf eine Eigenständige Plattform.
 
Zuletzt bearbeitet von einem Moderator:
Auch warte ich gerne bezogen auf die Info von naneona:
Ich arbeite im Moment am Umzug dieses Projektes, daher mache ich mich zur Zeit etwas rar. Nicht mehr lange, dann ziehen wir auf eine Eigenständige Plattform.[/quote]
www.ardumower.de :whistle: diesen Monat noch. :)
Die Inhalte von hier ziehen natürlich mit um, allerdings bekommt das Forum eine neue Struktur damit es Übersichtlicher wird.
Du kannst ja für Dein Projekt ein Eigenständiges Thema aufmachen.
Das wird dann mit rüber gezogen, in den Vorstellungs-Bereich.
Da kann dann jeder seine Bisherigen Entwicklungen/Erfahrungen vorstellen.
 
Hallo Alexander,
deine Kamera-Idee gefällt mir sehr gut. Muss die komplette Rasenfläche bzw. der RRob von der (oder den) Kamera(s) (immer) im Blickfeld sein?
Min. Auflösung der Kamera? Gibt es von dir bereits eine Testinstallation von Roborealm?
 
naneona schrieb:
Auch warte ich gerne bezogen auf die Info von naneona: www.ardumower.de
Da kann dann jeder seine Bisherigen Entwicklungen/Erfahrungen vorstellen.


Herzlichen Dank für Euer Interesse - das werde ich dann so machen.
 
Zuletzt bearbeitet von einem Moderator:
Rainer_R schrieb:
...Ich bitte aber noch um etwas Geduld...

Klar, wir können warten - es ging mir auch nicht um die konkrete Verwendung/Anwendung des Codes als vielmehr mehr um weitere Ideen/Anregungen zu bekommen für unser Projekt (Weichenstellung). Da reichen Prototypen/Codefragmente von anderen schon sehr gut aus. Je mehr unser Projekt aber fortschreitet umso weniger kann man noch Weichenstellungen vornehmen. Daher: je eher man in andere Software einsehen kann umso besser ;-) ...

z.B. ergeben sich derzeit folgende Fragen zur Software-Architektur:
- bleiben wir bei Plain-C oder besser C++ (Klassen/Objekte)
- entwickeln wir getrennte Libraries für alles (bzw. benutzen externe)

Wenn man einfach mal in andere SW-Architekturen hineinschauen könnte, wäre könnte man diese Fragen schneller beantworten :)
 
Zuletzt bearbeitet von einem Moderator:
Rainer_R schrieb:
deine Kamera-Idee gefällt mir sehr gut. Muss die komplette Rasenfläche bzw. der RRob von der (oder den) Kamera(s) (immer) im Blickfeld sein?
Min. Auflösung der Kamera? Gibt es von dir bereits eine Testinstallation von Roborealm?

Das kommt auf die Anforderung an - wenn man überall Meter-genaue Navigation benötigt, muss der Robot (bzw. seine Rasenfläche) mit einer Kamera erfasst werden können. Da eine Kamera das nicht für jede Umgebung bewerkstelligen kann, müssten ggf. 2 oder 3 an den Stations-Rechner angeschlossen werden.

Soll die Navigation nur für eine Zielumgebung erfolgen (Ladestation, Überführung), reicht es, wenn diese von einer Kamera erfaßt wird.

Der Stations-Rechner schickt dann die Navigationsdaten (Position) per Bluetooth zum Robot (ähnlich wie ein GPS-Satellit sein Signal zum GPS-Empfänger schickt).

Die Genauigkeit hängt von Entfernung/Auflösung etc. ab - ich gehe davon aus, dass eine normale Webcam (1024x768) für Meter-genaue Navigation ausreicht.

Da mich das Thema auch interessiert, werde ich das ganze mal prototypisch mit unserem Garten testen. Die Software 'Roborealm' ist da sehr hilfreich (Klicken statt programmieren).
 
Zuletzt bearbeitet von einem Moderator:
nero76 schrieb:
z.B. ergeben sich derzeit folgende Fragen zur Software-Architektur:
1. bleiben wir bei Plain-C oder besser C++ (Klassen/Objekte)
2. entwickeln wir getrennte Libraries für alles (bzw. benutzen externe)

zu 1. Aus meiner Sicht würde ich, da es sich zunächst um ein Nachbau-Projekt handelt bei Plain-C oder Arduino-C bleiben.
Trotz der Einschränkungen die das dann mit sich bringt, sehe ich hier Vorteile. Auch dann bleibt immer noch das Thema Dokumentation und Prog.Zeilen-Kommentare
für die SW ein nicht zu unterschätzendes Thema.

zu 2. Warum etwas entwickeln das es schon gibt? Vorausgesetzt die Lib's sind gut und kollidieren nicht mit anderen. Der Mega 2560 hat genug Prog-Speicher um auch Lib's zu verkraften die für unseren Anwendungsfall etwas "Overhead lastig" sind. Trotzdem denke auch ich über eigene Libs nach, denn die Prog.- Übersichtlichkeit wird verbessert. Theoretisch könnte man so für jedes Modul (z.B. US-, Schleifen-, Rasen-, Strom- Sensor oder Fernbedienung) eine Lib z.V. stellen. Zumindest für die getestet Module und deren Hardware.

Zu deiner Kamera-Idee:
Eine auf den (1) Meter genaue Positonierung würde jedoch für das "Treffen" der Ladestation nicht reichen.
Aber zum Auffinden der Ladestation würde es gehen - und dann doch wieder mit der Schleife?

Zur Kommunikation vom Rob mit einem Leitrechner ... Frage?
Habe ihr bereits eine Kommunikation getestet?
Bluetooth reicht für mich von der Entfernung (>30m) her nicht.
 
Zuletzt bearbeitet von einem Moderator:
Rainer_R schrieb:
zu 1. Aus meiner Sicht würde ich, da es sich zunächst um ein Nachbau-Projekt handelt bei Plain-C oder Arduino-C bleiben.
Trotz der Einschränkungen die das dann mit sich bringt, sehe ich hier Vorteile. Auch dann bleibt immer noch das Thema Dokumentation und Prog.Zeilen-Kommentare
für die SW ein nicht zu unterschätzendes Thema.

zu 2. Warum etwas entwickeln das es schon gibt? Vorausgesetzt die Lib's sind gut und kollidieren nicht mit anderen. Der Mega 2560 hat genug Prog-Speicher um auch Lib's zu verkraften die für unseren Anwendungsfall etwas "Overhead lastig" sind. Trotzdem denke auch ich über eigene Libs nach, denn die Prog.- Übersichtlichkeit wird verbessert. Theoretisch könnte man so für jedes Modul (z.B. US-, Schleifen-, Rasen-, Strom- Sensor oder Fernbedienung) eine Lib z.V. stellen. Zumindest für die getestet Module und deren Hardware.

Im Prinzip sehe ich das genauso - Noch fehlt ein bisschen eine Grundstruktur, ich denke wir können Hauptprogramm und "Treiber" noch ein wenig trennen ohne das es unübersichtlich wird.

Rainer_R schrieb:
Zu deiner Kamera-Idee:
Eine auf den (1) Meter genaue Positonierung würde jedoch für das "Treffen" der Ladestation nicht reichen.
Aber zum Auffinden der Ladestation würde es gehen - und dann doch wieder mit der Schleife?
Die letzten cm bis zu den Lade-Pins wird man wohl nur mit cm-genauen Sensoren hinbekommen, also z.B. kurzes Schleifestück oder Infrarot-Sensoren oder Baken.

Rainer_R schrieb:
Zur Kommunikation vom Rob mit einem Leitrechner ... Frage?
Habe ihr bereits eine Kommunikation getestet?
Bluetooth reicht für mich von der Entfernung (>30m) her nicht.

Ja, die Kommunikation über Bluetooth funktioniert wunderbar. Es gibt drei Klassen Bluetooth. Klasse 1 reicht bis ca. 100m, Klasse 2 bis etwa 10m und Klasse 3 bis etwa 1m.
Ich verwende Klasse 1 mit BTM220 Modul im Robot und einen DeLock Klasse 1 USB Dongle am PC.

Erste Tests mit der Positionsbestimmung über Webcam verliefen erfolgreich - allerdings zeigen sich schon klare Nachteile wenn wie bei uns in allen Ecken am Rasen etwas herumsteht (Gartenhaus, Gewächshaus, Gummi-Pool, usw ...) - man bräuchte hier schon 4 Kameras um jeden Winkel abzudecken :/ ...

Gruss,
Alexander
 
Zuletzt bearbeitet von einem Moderator:
Oben