Sunray modding Spielwiese

That's a whole new function that needs communication to the app to manage. The simpler way would be that the dock line would just be extrapolated and you place the mower in front of dock.
 
Appropro tuning, hab heute ein Radsatz fertig bekommen. Der mower ist mittlerweile so schwer, dass die dünnen Räder schon richtige furchen im Dockpfad hinterlassen haben. Außerdem gräbt er bei sand super schnell.

1000032640.jpg
1000032641.jpg
 
Sieht cool aus. Das wird auf dem Rasen sicher was bringen. Mit 30mm Breite habe ich auf dem Rasen die besten Ergebnisse erzielt. PETG oder PCTG sind sehr robust und eigentlich unkaputtbar. Der Gripp auf harten Materiellen wie Pflastersteinen oder Platten ist allerdings unterirdisch, weshalb ich inzwischen mit einem TPU-Aussenring fahre. Damit läuft es auf allen Untergründen sehr gut.
 
Ich hab's vom Gefühl her auch auf 30mm Breite konstruiert. Leider hab ich im Moment nur das transparente PLA da.
 
Possibly, just try to move you dockpoint in a straight way further beyond your actual dockpoint? My dockpoint is a straight line but the dock position it thinks it has to go is half a meter further than the charger contacts, because you never know if it thinks it reached the dockpoint because the jumping GPS position is a point cloud around the mower and will eventually be near the point reached value of 7cm, Imagin this position of mower is updated every Iteration of code, so that's a lot of points. That's why it was freaking out before when trying to reach the dock.

A general thing to make this work, despite your issue:
The mower needs to be tracking the line nicely before angular will get clamped to zero, so the angle is good. This means that you need well tuned Stanley parameters too! GPS should be stable of course too. I think with some broad charger contacts with a lot of tolerance, this function works up to 2 - 3 meters going blind.

Jup, had extended the docking point but still not reliable. My last three points are already in a straight line (as was written in your comments in the config file).
I'll experiment a bit further the coming days, probably I shouldn't go to an extreme low docking speed either. My charging contacts are indeed a bit at the limit in width and need some robustness improvement ... .

I have to say your adaptive speed control has improved the quality of grass cutting significantly 😀. Congrats with the idea and implementation !
I think the default power parameters are fine for the brushed mower (although my grass gets relatively high due to the docking issues and grows extremely fast). So I think now it's always on the slower side of speeds :).

This evening I did get a similar issue as a week or two ago. Suddenly the mower reported "docked" (in Cassanrda) in the middle of mowing. It happened again when doing a rotation to go to the next cutting lane. I thought maybe some regenerative current while decelerating can trigger this, but got a bit lost in the code where the docked state is actually set ... . The mower is probably 30 meters away from the docking station at that moment.
 
You are right, my maybe it is regen of a sort... I don't know exactly if I pushed it, but negative values for current weren't allowed but I made them allowed. It was a change by @WhatATest. I thought it's quite reasonable, but maybe it could give this strange effect you and others describe.. although I never experienced it myself
 
Hey Mr. Tree,

ich bin immer wieder erstaunt, wieviel sich in kurzer Zeit im Code ändert. Hut ab!
Leider sind die Juli-Versionen bei mir nicht lauffähig. Der Mower fährt problemlos zum ersten Wegpunkt, beginnt dann aber nicht zu mähen. Mähmotor an, Mähmotor aus, zwischendurch wird gepiept. Bald wird ein Obstacle error angezeigt. Das Spiel beginnt von Neuem, wenn wieder Start gedrückt wird.
Die letzte lauffähige Version ist vom 25.6. Vielleicht eine Einstellungssache? Leider kann ich die config nicht anhängen, dann kommt ein 403-Fehler.

Viele Grüße,
Jürgen
 
The docking seems to happen quite reliably (y).
But the robot spends sometimes a night outside (in rain :( ) because it has encountered an obstacle error during mowing.

Would there be some way to still let it attempt to try to dock when an obstacle error occurred instead of just giving up? Those obstacle errors happen just in the middle of the grass field for - at first sight - no real obstacle reason. Any guidance where in the code this could be added (or if it should be done by an external command through e.g. cassandra)?

thanks!
 
Ja, zumindest ein "EMERGENCY_DOCK" versuch wäre sinnvoll!

Bzgl. Dem nicht lauffähigenm code aus dem master: es gibt gerade einige Sachen an denen ich rumbaue. Am besten nicht laden.. GitHub master ist da eher gerade das tracking von Veränderung Für mich. Aber du hast Recht, ich werde die release Funktion benutzen und die letzte verbesserte stabile fw kenntlich machen!

Ich bin mir nicht sicher, aber wenn ich es hinbekomme sollte der mower wesentlich schneller im Feedback werden. Es ist teilweise so überladen mit "lowpassfiltern" aus zb IMU oder GPS Daten... Deren Sinn ich nicht sehe. Diese chips und die library's geben ja teilweise schon alles her was geht, mit Filterung...mein Ziel ist jedenfalls das der mower nicht mehr sekundenlang irgendwo gegenfährt oder nicht drehen kann. So ein RC Hubschrauber hat auch nix anderes als ein gy501 drin und das Ding ist super präzise, aber beim Ardumower wird ein nebulöser LP angewendet, genau wie beim ublox.
 
Zuletzt bearbeitet:
Bei mir zerstört deine schöne Firmware aktuell immer die Antriebsmotortreiber DRV8308, ich weiß nur nicht warum. Mit der original Firmware habe ich jetzt einen neuen Versuch gemacht, falls da wieder ein Antriebmotortreiber kaputt geht, dann dann ich nur noch das Mainboard austauschen. Wenn er damit fährt, dann liegt es vermutlich an deiner Firmware.
 
Hallo,
ich hab heute die Software ausprobiert und bin auch zum mähen gekommen. Allerdings schwänzelt der Mäher beim drehen und auf dem Weg in die Docking Station recht stark. Ich vermute das stimmt was mit den Regelparametern noch nicht. Welche Parameter muss ich alles reduzieren?
Ich habe drei JYQD Treiber. Gibt es da schon Erfahrungswerte?

Schöne
Grüße
 
Bei mir zerstört deine schöne Firmware aktuell immer die Antriebsmotortreiber DRV8308, ich weiß nur nicht warum. Mit der original Firmware habe ich jetzt einen neuen Versuch gemacht, falls da wieder ein Antriebmotortreiber kaputt geht, dann dann ich nur noch das Mainboard austauschen. Wenn er damit fährt, dann liegt es vermutlich an deiner Firmware.
Ich habe die Version schon seit Wochen drauf und die Treiber bleiben heile.
 
Hallo,
ich hab heute die Software ausprobiert und bin auch zum mähen gekommen. Allerdings schwänzelt der Mäher beim drehen und auf dem Weg in die Docking Station recht stark. Ich vermute das stimmt was mit den Regelparametern noch nicht. Welche Parameter muss ich alles reduzieren?
Ich habe drei JYQD Treiber. Gibt es da schon Erfahrungswerte?

Schöne
Grüße
probier doch mal die Werte aus dem Beitrag, der jyqd braucht andere Werte als der 8308.

 
You are right, my maybe it is regen of a sort... I don't know exactly if I pushed it, but negative values for current weren't allowed but I made them allowed. It was a change by @WhatATest. I thought it's quite reasonable, but maybe it could give this strange effect you and others describe.. although I never experienced it myself
Hello,

I came back from a vacation and grass has grown significantly.
The robot now constantly triggers the "docked" state in the middle of mowing. (The "original" firmware used to just cut through this length of grass.)
Do you have some hints to debug further or point to some relevant parts of the software? In the code I don't find it obvious how docking state could be set out of the blue.

thanks

p.s. several parameters also seem defined in config.h but unused in the software e.g.

#define ESCAPELAWNSPEED 0.14 // (m/s) speed of mower reverse due to MOW_RPM_STALL trigger
#define ESCAPELAWNDISTANCE 0.5 // (m) distance mower reverses with ESCAPELAWNSPEED due to MOW_RPM_STALL triggered
#define ESCAPELAWNWAITTIME 5000 // (ms)after reversing the second time within ESCAPELAWNTIMER, mower will wait for this time before continue (recover rpm)
#define ESCAPELAWNTIMER
 
Zuletzt bearbeitet:
Check your serial monitor output for docking reason. I think your battery voltage drops due to high mow motor load lower then your docking voltage
 
In the cassandra graphs not for sure, but would this not trigger a command to dock instead of triggering the docked state?

I'm still suspecting regeneration of current, so I can try changing parameters that cause fast reversals etc. . But would prefer to solve the root of the issue.
 
so do you guys just walk around with a laptop behind the robot until an error occurs? or am I missing an obvious way of debugging (I have the default ardumower: arduino due with esp32)?
 
Oben