I know I will be using batteries, but I haven't yet figured out the self-charging problem, however, at the moment it seems too advanced as it would need the robot recognising where its current location is, and where the docking station is, calculating the route etc. I will not be going that deep...