I know this topic has already been addressed, yet I could not find a complete answer.
Untill now, I have always built robots that needed to be turned on when I wanted to use them. So the charging has never really been an issue.
Now I'm thinking of a "sentinel robot" which would always be turned on so I can take control anytime without being on site.
So the idea is to have a base where the robot sits most of the time, his batteries get always charged. At anytime, it can leave its base, make a little walk and return to its base to recharge its batteries.