Wie erreiche ich eine gute Kollisionserkennung?

runtimeterror

Moderator
Kann man den Mäher ohne Kollisionserkennung überhaupt betreiben? Die US-Sensoren liefern im Labor korrekte Werte. Im Betrieb erkennt der Mäher aber auf ebener Fläche immer wieder Phantom-Hindernisse in der Nähe und gräbt sich bei einer Kollision mit einer Wand im Boden ein. Oft fährt er einige Sekunden gegen das Hindernis, bevor er sich dann doch entscheidet umzudrehen. Ich habe keine Ahnung, was ich dagegen machen soll.

Gibt es für eine Kollisionserkennung im Stoßgänger eine erprobte Lösung? Ich finde nur den BumperDuino, der chronisch ausverkauft zu sein scheint und jede Menge individuelle Bastellösungen.

Kann man irgendwie erreichen, dass der Mäher die Überlast in den Antriebsmotoren als Hindernis erkennt? Bislang habe ich ihn nur zur Abschaltung bewegen können.

Im aktuellen Zustand kann ich den Mäher nicht einsetzen.
 
Deaktiviere alle Sensoren also den Bumper den Ultraschall und den Dropsensor.
Teste ob die Sensoren wirklich ausgeschaltet sind. Also versuch den Bumper oder Ultraschall Sensor auszulösen.
Ich weiß nicht wie dein Gelände aussieht. Wenn es nur fach ist ist es einfacher. Wenn ein Berg vorhanden ist dann den Mower im Automatikmodus den Berg hochfahren lassen.
Gegebenenfalls den Mower hochhebn und auf die entsprechende Richtung umsetzen.
Dann die Handy app öffnen und in das Menue Settings zu den Motoreinstellungen gehen.
Dort den den Strom bzw Leistungswert der Motoren beobachten.
Dann den Regler für den Strom bzw Leistungswert soweit niedriger einstellen das er knapp über den tatsächlichen wert liegt. Es kann auch sein das man etwas weniger muss. Das muss man testen.
ICh kann leider nicht mehr aus dem Kopf sagen ob es recht nur den wert zu ändern ob ob man auch speichern muss.
Dann fahren lassen. er sollte geradeaus weiterfahren ohne die Richtung zu ändern.
Vorsicht nach einer gewissen Zeit die man einstellen kann wechselt er beim geradeausfahren immer die Richtung.
Strom beobachten und er sollte fahren.
Jetzt kurz den Mower so festhalten das die Räder blockieren. - Aber nur Kurz.
Der Mäher sollte sich jetzt so verhalten als wäre er auf ein Hinderniss gestoßen. Er ändert im Idealfall die Richtung und fährt weiter.
Dann testen ob er den Berg hochfahren kann ohne die Richtung zu änden. Das muss funktionieren sonst mäht er nur noch im "Tal" und nicht oben auf den "Berg". Ansonsten den Strombzw Leistungswert ändern so das er das kann.

Wenn das alles funktioniert

Dann den Mower gegen ein Baum fahren lassen.
Im Idealfall erkennt er es und ändert die Richtung
Wenn er gegen den Baum fährt und die Räder drehen durch den Wert verringern

Dann das ganze funktioniert noch ein letzter Test.

Wenn der Mower fährt den Mower so stoppen und festhalten das die Räder blockieren . Einen Augenblick länger halten
Jetzt sollte der Mower sich abschalten und ein Fehler im Motortreiber anzeigen.
Auch das sollte funktionieren um die Motoren zu schützen

Wie du vielleicht gemerkt hast die die richtige Einstellung zu finden nicht unbedingt leicht. Bei einer reinen geraden Fläche geht es. Wenn ein Berg vorhanden ist kann es sein das du den Stromwert so hoch setzen musst das die Hindernisserkennung nicht mehr funktioniert weil er sonst den Berg nicht hochkommt. Dann sollte der Stromwert so hoch gesetzt werden das wenn die Räder blockieren es zu einer Abschaltung kommt.

( Es ist schon eine weile her das ich das gemacht habe) Ich hoffe ich habe aus dem Gedächtnis alles richtig beschrieben.)
Wenn alles laufen sollte kann man dann wieder die Ultraschallsensoren Bumber usw -einschalten.
Gruß
Uwe
 
Vielen Dank für die ausführliche Anleitung. Im Grunde habe ich das genauso schon versucht, aber wie oben geschrieben hat das nicht zur Umkehr, sondern zur Abschaltung durch Überlast geführt. Ich kann's bei Gelegenheit aber nochmal versuchen.

Ich habe in ArduRemote unter "Settings/Motor" nur einen PowerMax-Regler, der bei etwa 75 W voreingestellt ist. Meinst du den, oder gibt's noch einen anderen?

Ansonsten würde ich das Anfahren am Berg testen um den Max-Wert herauszubekommen. Das dürfte noch höhere Werte geben als das kontinuierliche Fahren.
 
den meine ich
Der Strom wird für jeden Motor getrennt angezeigt
es gibt dann noch den Schieberegler für die Kalibrierung von den Strom für den linken und rechten Motor.
Das geht einfach indem man evl ein Ampermeter bei jedem Motor dazwischen schaltet.
das macht man am besten im Leerlauf.
Also den Mower hochstellen und die Motoren laufen lassen. dann kann man schön messen.
Sollten die Motoren unterschiedlich stark sein würde ich die Kalibrierung so machen das beide Motoren den selben Strom anzeigen. Sonst könnte es evl zu Problemen bei der Auslösung mit der maximalen Leistung kommen.

Ich hoffe ich habe es aus dem Kopf richtig erklärt sonst müsste ich das selber nochmal testen.

Das selbe kannst du dann auch noch mit dem Motor von den Mähteller machen. Ist bei den Settings ein anderer Menüpunkt. Ist interessant wenn der Mähteller mal blockieren tut. Lässt sich nur schlecht testen. am besten mal bei hohen Gras mähen lassen und dann die Leistung etwas höher eingestellt.


Gruß Uwe
 
Was wird denn da gegen was kalibriert? Stromverbrauch gegen Drehzahl? Gemessener INA Stromverbrauch gegen tatsächlichen Verbrauch?
Ich bekomme im Leerlauf folgende Werte im Calibration-Regler angezeigt:
L 160 mA
R 8 mA
Das sieht total krumm aus. Wo stelle ich da was ein?
 
Gemessener INA Stromverbrauch gegen tatsächlichen Verbrauch
Haben bei deinen Werten beide Räder sich gedreht oder nur eins? 8mA ist etwas wenig oder testest du auf ein Mini Mower?
Wenn du eine max Leistung einstellst kommt es immer zu einer Auslösung je nachdem welcher wert zuerst überschritten wird. linker oder rechter Motor.
Soviel ich weiß kann man damit den Stromwert korrigieren. Soviel ich weiß sollte der wenn die Motoren aus sind 0A sein. Man kann evl auch einen höher eistellen damit beid Motore den selben Verbrauch haben obwohl das nicht unbedingt stimmt. Ich benutze diese Abschaltung nicht weil ich ein Berg habe wo es immer zu Auslösungen gekommen ist.

Gruß
Uwe
 
Ich nutze den normalen Mower aus dem Shop. Die Werte waren mit sich drehenden Rädern gemessen (der Testmodus unter "Settings/Motor").

Nochmal die Frage: wo stelle ich denn was ein? Angenommen ich messe 100 mA und die App zeit 8 mA - was muss ich dann wie und wo einstellen, damit die App auch 100 mA anzeigt?

Ich Wiki habe ich überhaupt nichts dazu gefunden und im Forum nur unpassende Treffer. Woher wissen alle anderen, was sie zu tun haben? Gibt es sonst noch irgendwelche notwendigen Schritte für die Inbetriebnahme, für die man den Mäher öffnen muss? Ich würde die gerne irgendwie am Stück machen und nicht jedesmal auf/zu/auf/zu.
 
zum Kalibrieren fallen mir jetzt nur die Spannungssensoren und Stromsensoren ein.
Alles Einstellungen die man anpassen kann sind auch in der mower.cpp datei zu finden.
In der Datei Mower.h mal bitte mal kontrollieren Das die richtige Platinenversion ausgewählt ist also dir V1.3 oder V1.2

Gruß
Uwe
 
Platinenversion stimmt.
Zum dritten mal dieselbe Frage: wie verarbeite ich meine Messwerte für die Kalibrierung und wie trage ich die wo ein??
Ich rate mal: MotorSense(Left/Right)Scale - was kommen da für Werte rein?
Hier steht was: http://wiki.ardumower.de/index.php?title=Wheel_Motor - aber keine Erklärung, was scale oder ADC-zero ist und wo man das herbekommt.
Wie kann das sein, dass ich für zwei baugleiche perfekt funktionierende Motoren so massiv unterschiedliche Werte bekomme? Habe ich da vielleicht versehentlich was mit der App verstellt? Falls ja: wie kann man das wieder in Ordnung bringen?
 
Oben