Sphero's logic, how does it work

I'm willing to make my first robot, and I'd like to make one similar to the Sphero.

I know I have to add 2 motors in it, and make it work as a hamster ball, but I don't understand how I can make it rotate on the x axis aswell and not only on the y axis, if we assume that the y one is in front of the robot and the x one on its sides.

Any ideas?

The principle lying underneath the sphero robot's design and locomotion is shifting of the centre of mass of the ball and making it unstable which makes the ball roll [1,3,4,5,6]. A controlled and calculated shifting of the centre of mass to the appropriate position can achieve desired trajectories of the ball. Apart from the above said principle, a few other principles of gyroscopic locomotion and conservation of momentum are also used [2].

To change the centre of mass, a differential drive robot [6], a pendulum [3], a three-wheeled omni wheel robot [7] are commonly placed. Even four mass particles attached to cables or ball screw mechanisms are actuated inside the sphere to make it roll [5].

From the point of view of both design and control, I would suggest the robot with three-wheeled omni wheel actuating the internal surface is a simple to implement and control. This design can certainly be improved upon by identifying the good aspects of design in the previously developed robots. For e.g., the spring mechanism used along with a castor wheel in [1] can be used to provide more friction between the wheeled robot and the sphere's internal surface. Going through the references would certainly provide a greater insight into the different designs which might elicit a novel design idea for the robot.

Once the design is finalized there is an ample literature available which can help you to model the dynamics and control its motion. Few of the papers work out on these aspects also along with the design of the robot.

References:

[1] Antonio Bicchi et. al, "Introducing the “SPHERICLE”: an Experimental testbed for Research and Teaching in Nonholonomy." Proceedings of the 1997 IEEE International Conference on Robotics and Automation Albuquerque, New Mexico - April 1997.

[2] QingXuan Jia et. al, "Analysis of Actuation for a Spherical Robot".2008 IEEE Conference on Robotics, Automation and Mechatronics.

[3] Erkan Kayacan et. al, "Modelling and control of a spherical rolling robot: a decoupled dynamics approach." Robotica: page 1 of 10. © Cambridge University Press 2011. (doi:10.1017/S0263574711000956)

[4] Wei-Hsi Chen et. al, "Design and implementation of a ball-driven omnidirectional spherical robot." Mechanism and Machine Theory 68 (2013) 35–48.

[5] SANG Shengju et. al, "Modeling and Simulation of a Spherical Mobile Robot." UDC 519.87 (DOI: 10.2298/CSIS1001051S)

[6] J Alves et. al, "Design and control of a spherical mobile robot." Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering September 1, 2003 vol. 217 no. 6 457-467. (doi: 10.1177/095965180321700602)

[7] Wei-Hsi Chen et. al, "Design and Implementation of an Omnidirectional Spherical Robot Omnicron." The 2012 IEEE/ASME International Conference on Advanced Intelligent Mechatronics July 11-14, 2012, Kaohsiung, Taiwan