Stock-taking robot navigates through supermarkets to keep shelves full