rand256 / valetudo

Valetudo RE - experimental vacuum software, cloud free
Apache License 2.0
670 stars 74 forks source link

Dock Auto Return when already docked #286

Closed hadeshimself closed 4 years ago

hadeshimself commented 4 years ago

I just found my robot roaming around in the middle of the night on a mission to find its base because there was a power outage and it went into the idle state. It was already docked, but since the dock was not powered up the robot assumed it was away from it.

Wouldn't it be possible to check the distance from the base before going back to it, assuming the base is saved on the map? Or just save somewhere that it's docked.

Thanks!

rand256 commented 4 years ago

Strictly speaking, it technically works correctly - on power outage robot leaves its charging state, so it thinks that it has left the dock since it doesn't get charged anymore...

Checking coordinates or writing a variable upon entering or leaving the dock is problematic cause the device is made so it always knows its state but knows nothing about its location - we need to manually fetch, unpack and parse the map for that; similarly we can easily know that device has reached the dock only by the its state being changed to "charging". Still I'll try to see if we can do something about coordinates when processing dock auto-return, but it's not that straightforward unfortunately.

hadeshimself commented 4 years ago

I agree. It's a nice feature, but I wouldn't go into much trouble to solve it.

Only if you assume that once it was charging and no clean/goto/etc action was taken it is still on its base. If it's idle on the base and the state goes to 2 (Charger disconnected) maybe don't do anything regarding the auto dock if the previous state was 8 (Charging)?

Luis

On Tue, Aug 18, 2020 at 2:30 PM Erinome notifications@github.com wrote:

Strictly speaking, it technically works correctly - on power outage robot leaves its charging state, so it thinks that it has left the dock since it doesn't get charged anymore...

Checking coordinates or writing a variable upon entering or leaving the dock is problematic cause the device is made so it always knows its state but knows nothing about its location - we need to manually fetch, unpack and parse the map for that; similarly we can easily know that device has reached the dock only by the its state being changed to "charging". Still I'll try to see if we can do something about coordinates when processing dock auto-return, but it's not that straightforward unfortunately.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rand256/valetudo/issues/286#issuecomment-675613390, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5YFMROONF2UHZSRTZW7WLSBK3ERANCNFSM4QDPNBSQ .

barrenechea commented 4 years ago

Mine doesn't move when I unplug the charger from the wall 🤔 (S50 gen2 on the latest firmware)

rand256 commented 4 years ago

@SebastianBar, if you have auto-return-to-dock enabled in valetudo settings, the device after a specified delay will definitely try to locate the dock if it suddenly gets disconnected. I've already implemented some workaround for this, it will be included into the next release.

rand256 commented 4 years ago

Should be fixed in 0.9.8.1.