This paper describes a prototype and analytical studies of a spherical rolling robot, a new design of a nonholonomic system. The spherical robot is driven by two remotely controlled, internally mounted rotors that induce the ball to roll and spin on a fiat surface. It is tracked on the plane by an overhead camera. A mathematical model of the robot's motion was developed using the nonholonomic constraints on its motion. For a number of simple motions, it is shown experimentally that the model agrees well with the results. Methods were developed for planning feasible, minimum time and minimum energy trajectories for the robot. These methods are illustrated both by mathematical simulation and hardware experiments.