ClemensElflein / open_mower_ros

Other
498 stars 122 forks source link

Grass too high should slow down the mower #54

Open alexvaut opened 1 year ago

alexvaut commented 1 year ago

When the grass is too high, the mower continues at the same speed, leaving the grass as is. Implementation: First we must allow the user to define the prefered speed and then, optionally, when the mower detects that the mower motor speed is too low then it will decrease the mower wheel speed during 1 minute or so. Everything should be configurable through env var.

karlranseierausrom commented 4 months ago

I agree to this point, because I have areas, where it did not cut the grass. My idea (withut knowing how to program it) would be to have the following config: normal_mow_current=1 //current in Ampere which is accapted to be normal. If mow motor current is above this level, driving speed will be reduced reduce_velocity_slope= 25// reduction of speed of mow motor current in Percent per Ampere. Meaning if the current is above 1 A, it will reduce the velocity by 25% per A. For example if mow current is 3 A, the new velocity will be

new veocity=velocity-velocity( (mow motor current-normal_mow_current )reduce_velocity_slope/100

in the example: new velocity=velocity-velocity((3A-1A)*25/100)=0.5 velocity. or if current is 2A: new velocity = 0.75 velocity.

If current is 6A: new velocity = - 0.25 velocity. Meaning the mower will drive backwards. This will be fine, because if the mower current is reduced, it will directly go forward again. I think that is good. If there are doubts, one could add a protection, that velocity becomes 0 or another value at minimum.

What could happen without minimum velocity protection: There is something which can not be mowed and increases the mow motor current, it will drive forward/backward/forward/backward... I don't care ;-)

karlranseierausrom commented 1 month ago

There was a wrong config on my XESC with nearly no power for the mowing motor. I changed it as described in Discord, now this is not an issue for me anymore. Still long grass is not cut as perfect as shorter grass. Thereore:

I have areas which grow much faster (new grass). At that places I recorded the area twice with slightly different areas. Than it will autoamtically mow there twice with a little offset in the lanes. Longer parts of the grass are than completely cut.