Added robot abstraction