Robot name

renamed branch and added a few changes
`generate_name` and associated helper methods (`random_*`) can be private methods