Design and Analysis of A Spherical Mobile Robot
Design and Analysis of A Spherical Mobile Robot
Cont rollabilit y and mot ion planning of a mult ibody Chaplygin's sphere and Chaplygin's t op
Jinglai Shen
Geomet ric approach t o t racking and st abilizat ion for a spherical robot act uat ed by int ernal rot ors
Ravi N Banavar
Mechanism and Machine Theory 45 (2010) 130–136
a r t i c l e i n f o a b s t r a c t
Article history: A spherical mobile robot, rolling on a plane with the help of two internal rotors and work-
Received 4 July 2008 ing on the principle of conservation of angular momentum has recently been fabricated in
Received in revised form 2 April 2009 our group. The robot is a classic nonholonomic system. Path planning algorithms exist in
Accepted 2 April 2009
the literature for certain classes of nonholonomic systems like chained form systems, nil-
Available online 13 May 2009
potent systems and differentially flat systems. The model of this spherical mobile robot
however, does not fall into any of these classes and hence these existing algorithms are
rendered inapplicable to this system. The final objective is to make this robot as a testbed
Keywords:
Spherical robot
for feasible path planning and feedback control algorithms.
Nonholonomic systems Ó 2009 Elsevier Ltd. All rights reserved.
Euler parameters
1. Introduction
Mobile robotics is one of the important branches of robotics. For mobility of the robots, different motions like rolling,
walking, hopping, sliding are used. Rolling motion has certain advantages over other motions. The problem of wear and tear
is less, the set of configurations is reachable by lesser number of inputs as the system is nonholonomic and the role of friction
is conservative. As compared to single wheeled robots like gyroscopes [1], the spherical structure is statically stable and due
to the spherical shape, the robot recovers from the collisions with unknown obstacles. Any sensor can be mounted inside the
spherical shell and the robot can be effectively used. Due to these reasons and for the purpose of constructing a testbed, an
autonomous spherical mobile robot has been designed and developed by our group at Systems and Control Engineering, In-
dian Institute of Technology Bombay, India.
A typical construction of the spherical mobile robot has a spherical shell with some internal driving unit (IDU) mounted
inside the spherical shell. The robot in [1] is composed of a spherical shell and an arch shaped body. The driving unit consists
of a pendulum and a controlling arch. The arched body and pendulum can control the pitch angle and the controlling arch
below the pendulum controls the roll angle simultaneously with the pitch angle. In [2,3], the IDU consists of a wheel rolling
inside the spherical shell which is in turn driven by a motor. The robot moves due to the disturbance of the system equilib-
rium due to unbalance of the inside construction. The ‘Rollo’, a spherical mobile robot designed and developed by Harmo
et al. [4], the IDU is hanging from the rim. The rim can be rotated around the two axes of the IDU. The spherical shell rolls
according to the movement of the rim. A small car like structure has been used as IDU in ‘Sphericle’ [5]. The car has the uni-
cycle kinematics and is driven with the help of two stepper motors. All the robots described up till now work on the principle
of change of center of mass with the help of IDU for rolling the robot. ‘Rollmob’, designed and developed by Ferrière et al. [6]
is a spherical ball driven by an universal wheel equipped with rollers. The rotation of the roller wheel drives the sphere
around the direction parallel to the wheel axis, while the sphere rotates freely around the direction perpendicular to this
0094-114X/$ - see front matter Ó 2009 Elsevier Ltd. All rights reserved.
doi:10.1016/j.mechmachtheory.2009.04.003
V.A. Joshi et al. / Mechanism and Machine Theory 45 (2010) 130–136 131
axis. The construction of the robot designed by Bhattacharya et al. [7] is driven by a set of two mutually orthogonal rotors,
attached to the spherical shell of the robot from inside. Along the Z axis there is a single rotor and along X axis there are two
rotors which are rotated in tandem as a single rigid connected body. When rotors are rotated, the spherical robot rolls in the
opposite direction due to the conservation of angular momentum. ‘GroundBot’, a spherical robot developed by Rotundus is
designed for extraterrestrial exploration. The center of gravity of this robot is kept close to the ground with the help of a
controlled pendulum. When it is raised, the ball rolls forward. When the pendulum is moved sideways, the ball turns. Sphe-
robot, a spherical mobile robot by Mukherji et al. [8] has radial spokes along which masses are placed. Radial movement of
these masses create a moment about the center causing the motion of the robot. Cyclops [9] has two degrees of freedom in
its locomotion system. It can pivot in place along its vertical axis and roll forward and backward along a fixed horizontal axis
via a small motor and gear-head fixed inside. The review papers discussing constructional details of available spherical mo-
bile robots are [10,11] and a concise review on the existing path planning algorithms and feedback algorithms for the system
can be obtained from [12,13]. In this paper, we present a systematic study of a spherical mobile robot, designed, fabricated
and analyzed in our laboratory. The organization of the paper is as follows. Section 2 describes the construction and design
details of the robot. Section 3 describes the mathematical modeling of the system using quaternion. In Section 4, the prop-
erties of the robot are discussed in the quaternion space. The experimental setup along with the discussion on the experi-
mental results is reported in Section 5. Section 6 provides concluding remarks.
2. Design
The spherical mobile robot designed in our laboratory works on the principle of conservation of angular momentum. The
robot has two internal rotors similar to a few constructions mentioned above. The robot’s spherical shell is made up of acrylic
material having 4 mm thickness. The inner radius of the robot is 30 cm. A crucial aspect of the design is to place the internal
components such that the center of mass of the robot is exactly at the geometric center of the sphere. This is very important
so that the robot will not tip over on its own. The easiest way to achieve this is to place all the parts symmetrically. There are
two internal rotors along two mutually orthogonal axes of the sphere. These rotors are driven by two D.C. motors MAXON EC
/32, Brushless, 80 W. Two batteries of the type Polyquest PQ08003 TWENTY LIPO PACK of capacity 800 mAh each, are used
for supplying power to one motor. So in all there are four batteries. The two speed control units which control the speed of
the motors receive control signals from the external controller. For symmetrically placing the components, the motor along
with rotor and one speed control unit is placed on one side and the battery along with dead weight is placed on the diamet-
rically opposite direction as shown in Fig. 2. Similarly another pair of motor assembly and battery + dead weight are placed
in diametrically opposite directions. The robot is fabricated in two hemispheres as shown in Fig. 1. Each hemisphere consists
of one motor assembly and one battery + dead weight assembly. The total weight of the robot is 3.4 kg. Fig. 3 shows the sche-
matic of the robot developed. As discussed in Section 1, there are different driving mechanisms available in the literature.
Some spherical robots work on the principle of change in the center of gravity while some work on the principle of conser-
vation of angular momentum. As already stated, our spherical robot works on the principle of angular momentum. Other
spherical robots working on a similar principle are reported in [7,14]. In these designs two rotors are mounted in opposite
directions for mass balancing and motors moving these rotors must run in tandem which may create problems at the time of
practical implementation. As against this, we have a single rotor in the X as well as the Z direction for overcoming this prob-
lem. We provide dead weights on the opposite sides to adjust the imbalance. In addition, the transparent acrylic spherical
shell enables students to understand the internal mechanism while in motion. It is absolutely critical that there be no rel-
ative motion between the two hemispheres while in motion. This can be achieved by an arrangement for screwing a con-
necting rod along the axis of the sphere as shown in Fig. 3.
3. Mathematical modeling
This section describes the development of an analytical model of the spherical rolling robot using quaternion. Consider a
spherical robot rolling on a horizontal plane as shown in Fig. 4. An inertial coordinate frame is attached to the surface and
denoted as xI yI zI with its origin at a point O. The body coordinate axes xb yb zb are attached to the sphere and have their origin
at the center of the sphere G. The set of generalized coordinates describing the sphere consists of [15]
We use Euler parameters (instead of Euler angles) which is a set of 4 parameters to describe the orientation of the sphere.
Euler parameters have the advantage of being a nonsingular two to one mapping with the rotation. In addition, Euler param-
eters form a unit quaternion and can be manipulated using quaternion algebra [16–19]. Using a set of Euler parameters for
defining orientation, we get the set of generalized coordinates as
p ¼ ðx; y; e0 ; e1 ; e2 ; e3 ÞT ;
where ðx; yÞ are the coordinates of the contact point I and e0 ; e1 ; e2 and e3 are the Euler’s parameters describing orientation
forming unit quaternion such that
x_ 0 0 0
2 3 2 3 2 3 2 3
6 y_ 7 6 0 7 607 607
6 7 6 7 6 7 6 7
6 e_0 7 6 0 7 b 6 0 7 b 6 0 7 b
6 7 6 7 6 7 6 7
Q6 7 ¼ 6 7x þ 6 7x þ 6 7x ; ð3Þ
6 e_ 7 6 1 7 x 6 0 7 y 6 0 7 z
6 17 6 7 6 7 6 7
4 e_2 5 4 0 5 415 405
6 7 6 7 6 7 6 7
e_3 0 0 1
where
1 0 2e2 2e3 2e0 2e1
2 3
60 1 2e1 2e0 2e3 2e2 7
6 7
60 0 2e0 2e1 2e2 2e3 7
6 7
Q ¼6
60
7:
6 0 2e1 2e0 2e3 2e2 7
7
40 0 2e2 2e3 2e0 2e1 5
6 7
It can be shown that the matrix Q is an orthogonal matrix and hence is invertible. The internal rotors (which are actuators for
the robot) are located along X and Z axis of the body frame. The robot is symmetric in construction and we therefore consider
xby ¼ 0, reducing the system equations from (3) to
p_ ¼ X 1 ðpÞxbx þ X 2 ðpÞxbz ; ð4Þ
where
p ¼ ½ x y e0 e1 e2 e3 T ; ð5aÞ
134 V.A. Joshi et al. / Mechanism and Machine Theory 45 (2010) 130–136
0 2ðe0 e3 þ e2 e1 Þ
2 3 2 3
6 0 7 6 ðe2 þ e2 e2 e2 Þ 7
6 7 6 3 2 0 1 7
1 6 0 7 12 e1
6 7 6 7
6 7 6 7
X 1 ðpÞ ¼ Q 6 7 ¼ 6 1
7; ð5bÞ
617 6
6
2
e 0
7
7
1
405 4 e
6 7 6 7
2 3 5
0 12 e2
0 2ðe2 e3 e0 e1 Þ
2 3 2 3
6 0 7 6 2ðe1 e3 þ e0 e2 Þ 7
6 7 6 7
1 6 0 7 12 e3
6 7 6 7
6 7 6 7
X 2 ðpÞ ¼ Q 6 7 ¼ 6 1
7: ð5cÞ
607 6
6
2
e 2
7
7
1
405 4 2 e1
6 7 6 7
5
1
1 2
e 0
4.1. Controllability
Before we proceed to path planning of the spherical robot, it is essential to check whether there exists a path that con-
nects any arbitrary configurations of the sphere. The question can be answered using a result known as the Chow’s Theorem
[21]. In this section, we use the algorithm given in [22] to answer the question.
Consider the system described by Eq. (4).
p_ ¼ X 1 ðpÞxbx þ X 2 ðpÞxby ;
where p; X 1 ðpÞ and X 2 ðpÞ are given by (5). We compute the following Lie Brackets using a Philip Hall convention [21,22]
X 3 ¼ ½X 1 ; X 2 ; ð6aÞ
X 4 ¼ ½X 1 ; X 3 ; ð6bÞ
X 5 ¼ ½X 2 ; X 3 ; ð6cÞ
X 6 ¼ ½X 1 ; X 4 : ð6dÞ
A distribution is formed using the above generated Lie Bracket vector fields given by
D ¼ ½X 1 ; X 2 ; X 3 ; X 4 ; X 5 ; X 6 ;
where
2 3
2e21 2e20 þ 2e23 2e22 6ðe0 e1 e2 e3 Þ
2 3
6
6 4ðe2 e1 e0 e3 Þ
7
7 6 6ðe1 e3 þ e0 e2 Þ 7
6 7 6 7
1 1
e e3
6 7 6 7
2 2 2
6 7
X3 ¼ 6 X4 ¼ 6
6 7 7;
1 12 e2
7;
6
6 e
2 3
7
7
6
6
7
7
1
12 e0 e
6 7 6 7
4 5 4 2 1 5
12 e1 12 e0
2 3
6ðe0 e3 þ e2 e1 Þ 4ðe21 þ e20 e23 þ e22 Þ
2 3
6 3ðe2 þ e2 e2 e2 Þ 7 6
8ðe1 e2 þ e0 e3 Þ
7
6 3 2 0 1 7 6
6
7
7
12 e1 12 e2
6 7 6 7
6 7
X5 ¼ 6 X6 ¼ 6
6 7; 6 7
1
12 e3
7:
6 e
2 0
7
7 6 7
6 7
1 1
e e
6 7 6 7
2 3 2 0
4 5 4 5
12 e2 1
e
2 1
It can be observed that all higher order brackets can be expressed in terms of X 1 ; X 2 ; X 3 ; X 4 ; X 5 giving the rank of the distri-
bution as 5. As the Euler parameters are used, the number of the state variables is 6. We are using a system of 4 parameters to
describe the orientation. But all possible orientations lie on a hyper surface defined by a level set
For determining the degree of nonholonomy, we construct a distribution associated with the control system (4) as
D ¼ spanfX 1 ; X 2 g:
We then construct filtrations associated with the distribution D as
E 0 ¼ D; F 0 ¼ D;
E1 ¼ E0 þ ½E0 ; E0 ; F 1 ¼ F 0 þ ½F 0 ; F 0 ;
E2 ¼ E1 þ ½E1 ; E1 ; F 2 ¼ F 1 þ ½F 1 ; F 0 ;
E3 ¼ E2 þ ½E2 ; E2 ; F 3 ¼ F 2 þ ½F 2 ; F 0 ;
E4 ¼ E3 þ ½E3 ; E3 ; F 2 ¼ F 3 þ ½F 3 ; F 0 :
According to [23], a feedback transformation which puts a driftless two input nonholonomic system into a chained form ex-
ists if and only if
dim Ei ¼ dim F i ¼ i þ 2; i ¼ 0; . . . ; n 2: ð8Þ
In this particular case
For i ¼ 0; dimðF 0 Þ ¼ 2;
For i ¼ 1; dimðF 1 Þ ¼ 3;
For i ¼ 2; dimðF 2 Þ ¼ 5 – i þ 2;
For i ¼ 3; dimðF 3 Þ ¼ 5;
For i ¼ 4; dimðF 4 Þ ¼ 5 – i þ 2:
It can be observed that the condition (8) is not satisfied and it is not possible to convert the model into a chained form.
Rigorous experimentation has been carried out on the experimental setup shown in Fig. 5. The main controller in the sys-
tem is a bluetooth enabled PC, which generates control signals according to the algorithm programmed. The control signals
are transmitted to the microcontroller PIC16F877 through a bluetooth modem ‘BlueSMiRF Gold’. According to the signal re-
ceived from the PC, the microcontroller controls the speed of the D.C. motors using a Digital to Analog Converter (DAC). For
enabling feedback, there are Hall sensors that provide information about the speed of the motors and optical encoders that
give position of the rotors. During the experimentation, it was possible to control speed of the motors. We have worked on
the path planning problem of the robot and the related work is reported in [24]. In this work we are mainly interested in
certain maneuvers, for which the trials were carried out on the experimental setup. These maneuvers are,
Pivoting maneuver:When one of the rotors is in the vertical position, the robot is expected to spin about the vertical axis.
This particular maneuver is known as pivoting maneuver. The experiments were carried out with the rotor in the vertical
position for this particular maneuver. It has been observed that the robot responds to the sudden change in the angular
speed by spinning about the vertical axis as expected. However, the result particularly is not satisfactory for slow and
gradual changes in the magnitude of the angular velocity.
Hall sensor
Speed MOTOR1
DAC
Control
PC PIC
16F877
Speed MOTOR2
DAC Control
Optical encoder
Blue tooth
communication
channel
Equatorial maneuver:When one of the rotors is in the horizontal position, the robot is expected to roll along a straight line
on the plane and the contact point should follow the great circle on the sphere surface, in the plane perpendicular to the
axis of the rotor. According to the experiments carried out, the results of this maneuver do not match with the expected
results. The probable reasons are imperfections of the sphere surface and some design related critical issues such as rotor
parameters.
6. Conclusion
Design and constructional features of a spherical mobile robot rolling on a plane are presented in this paper. The kine-
matic model of the system is developed using quaternions for the description of the orientation of the robot. It can be ob-
served that the model is nonsingular and valid everywhere. It is shown that the model is fully controllable and can be taken
from any arbitrary configuration to any arbitrary configuration within the unit 3-sphere in the quaternion space. Further, it is
not nilpotent and also can not be converted into a chained form. According to the experimentation carried out on the robot,
we observe that it works for some maneuvers while for some maneuvers, the results do not match with the expected results.
This is due to some imperfections in the fabrication of the robot. We plan to work on these issues. We also would like to
explore the nonsingular model developed using quaternions for path planning and stabilizing controller design. These are
the main avenues for our future work.
Acknowledgement
This project was partially supported by the Department of Science and Technology (India) under a sponsored research
project from SERC.
References
[1] A. Koshiyama, K. Yamafuji, Design and control of all-direction steering type mobile robot, International Journal of Robotics Research 12 (5) (1993) 411–
419.
[2] A. Halme, T. Schönberg, Y. Wang, Motion control of a spherical mobile robot, Proceedings of Advanced Motion Control 1 (1996) 259–264.
[3] A. Halme, J. Suromela, T. Schönberg, Y. Wang, A spherical mobile microrobot for scientific applications, ASTRA96, ESTEC, Noordwijk, The Netherlands,
1996.
[4] P. Harmo, A. Halme, H. Pitkänen, J. Virekoski, M. Halinen, J. Suomela, Moving eye-interactive telepresence over internet with a ball shaped mobile
robot, in: International Workshop on Tele Education in Mechatronics Based on the Virtual Laboratories, Wengarten, Germany, 2001.
[5] A. Bicchi, D. Prattichizzo, S.S. Sastry, Planning motions of rolling surfaces, IEEE Conference on Decision and Control 3 (December) (1995) 2812–2817.
[6] L. Ferrière, G. Campion, B. Raucent, Rollmobs: A new drive system for omnimobile robots, IEEE International Conference on Robotics and Automation 3
(1998) 1877–1882.
[7] S. Bhattacharya, S.K. Agrawal, Spherical rolling robot: A design and motion planning studies, IEEE Transactions on Robotics and Automation 16
(December) (2000) 835–839.
[8] R. Mukherjee, M.A. Minor, J.T. Pukrushpan, Motion planning for a spherical mobile robot: Revisiting the classical ball-plate problem, ASME Journal of
Dynamic Systems, Measurement and Control 124 (December) (2002) 502–511.
[9] B. Chemel, E. Mutschler, H. Schempf, Cyclops: Miniature robotic reconnaissance system, IEEE International Conference on Robotics and Automation 3
(May) (1999) 2298–2302.
[10] T. Ylikorpi, J. Suomela, Ball shaped robots: An historical overview and recent development at TKK, Field and Service Robotics 25 (6) (2006) 343–354.
[11] R.H. Armour, J.F.V. Vincent, Rolling in nature and robotics: A review, Journal of Bionic Engineering 3 (December) (2006) 195–208.
[12] T. Das, R. Mukherjee, Exponential stabilization of the rolling sphere, Automatica 40 (June) (2004) 1877–1889.
[13] T. Das, R. Mukherjee, Reconfiguration of a rolling sphere: A problem in evolute–involute geometry, ASME Journal of Applied Mechanics 73 (July) (2006)
590–597.
[14] T. Li, Y. Zhang, Y. Zhang, Approaches to motion planning for a spherical robot based on differential geometric control theory, in: World Congress on
Intelligent Control and Automation, June 2006, pp. 8918–8922.
[15] R. Roberson, R. Schwertassek, Dynamics of Multibody Systems, Springer-Verlag, New York, 1988.
[16] K.W. Spring, Euler parameters and the use of finite rotations: A review, Mechanism and Machine Theory 21 (May) (1986) 365–373.
[17] P.E. Nikravesh, Spatial kinematic and dynamic analysis with Euler parameters, in: E. Haug (Ed.), Computer Aided Analysis and Optimization of
Mechanical System Dynamics, Springer-Verlag, Berlin, 1984, pp. 261–281.
[18] S. Altmann, Rotations Quaternions and Double Groups, Dover Publications, England, 2005.
[19] R.A. Wehage, Quaternions and Euler parameters-a brief exposition, in: E.J. Haug (Ed.), Computer Aided Analysis and Optimization of Mechanical
System Dynamics, Springer-Verlag, Berlin, 1984, pp. 147–180.
[20] P.E. Nikravesh, Computer Aided Analysis of Mechanical Systems, Prentice Hall, New Jersey, Englewood Cliffs, 1988.
[21] R.M. Murray, S.S. Sastry, Nonholonomic motion planning: Steering using sinusoids, IEEE Transactions on Automatic Control 38 (5) (1993) 700–713.
[22] Z. Li, J. Canny, Motion of two rigid bodies with rolling constraint, IEEE Transactions on Robotics and Automation 6 (February) (1990) 62–72.
[23] R.M. Murray, Nilpotent bases for a class of nonintegrable distributions with applications to trajectory generation for nonholonomic systems,
Mathematics of Control Signals and Systems 1 (7) (1994) 58–75.
[24] V. Joshi, R. Banavar, Motion analysis of a spherical mobile robot, Robotica 27 (May) (2009) 343–353, doi:10.1017/S0263574708004748.