Programmable robot