I have been using Sphero’s for the past two years with a great level of success. I started with SPRK+ and graduated to the Sphero Bolt.
The Sphero Bolt can be programmed using a visual based program Sphero Edu. The capabilities are numerous.
Using block based programs my students have used Sphero to tell stories, create animations on the matrix, and program him to go through a maze. You can also create challenge cards for students.
The investment is moderate and the Sphero robots are very durable. (No I am not sponsored by them!)