We need to charge the dead robot for 10 minutes, manually remove it, turn it on and localize because of the following problems:
Dead robot left charging while turned-off does not have its state of charge updated, so battery management gets screwed-up.
If you turn robot on in dock, robot wakes, does not know it’s in a dock, and needs to localize.
Bug, fixed last year, robot turned on in-dock did not charge properly.
Note: Current process requires manual intervention and also creates a time-variable state-of-charge error
Instead, I propose we fix the kludge. This will be required for R2, but can be implemented for R1.5 with mostly-common code changes.
Put dead robot in dock and start recovery, then turn robot on (R2 robot will turn-on automatically, new hardware feature)
Robot sees if it can communicate with a dock during startup. If so, don’t move (this change is in place now?)
Robot becomes localized by getting dock ID over dock comms link. Requires dock id programmed into dock during manufacturing, various ways to do this.
Note: No need to pull out of dock and restart. Done.
I believe R1.x bots if powered on and un-estopped on the charger will localize off the LP once the NUC comes up. We just need to make sure the user powers on the bot and releases the estop before leaving it. The ability to localize via comms exchanged dock number would make that more robust.