A reverse engineering technique for creating virtual robots