You are on page 1of 15

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/271745466

A motion control for a spherical robot with pendulum drive

Article  in  Journal of Computer and Systems Sciences International · July 2013


DOI: 10.1134/S1064230713040047

CITATIONS READS
13 97

3 authors:

Dmitry Balandin Maxim Komarov


Nizhny Novgorod State University Universität Potsdam
128 PUBLICATIONS   485 CITATIONS    22 PUBLICATIONS   213 CITATIONS   

SEE PROFILE SEE PROFILE

Gregory V. Osipov
Nizhny Novgorod State University
145 PUBLICATIONS   4,553 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Multi-objective control for dynamic objects under uncertainty View project

All content following this page was uploaded by Dmitry Balandin on 21 April 2018.

The user has requested enhancement of the downloaded file.


ISSN 10642307, Journal of Computer and Systems Sciences International, 2013, Vol. 52, No. 4, pp. 650–663. © Pleiades Publishing, Ltd., 2013.
Original Russian Text © D.V. Balandin, M.A. Komarov, G.V. Osipov, 2013, published in Izvestiya Akademii Nauk. Teoriya i Sistemy Upravleniya, 2013, No. 4, pp. 150–163.

ROBOTICS

A Motion Control for a Spherical Robot with Pendulum Drive


D. V. Balandin, M. A. Komarov, and G. V. Osipov
N.I. Labachevskii Nizhnii Novgorod State University, pr. Gagarina 23, Nizhnii Novgorod, 603600 Russia
Received October 17, 2012; in final form, March 25, 2013

Abstract—Problems of controlling a spherical robot with pendulum drive are considered. A mathe
matical model of the dynamics of this robot is constructed and control laws in the form of state feed
back that provide robot motion along a given trajectory are synthesized. Results of computer simula
tion that demonstrate efficiency of the proposed control laws are presented.
DOI: 10.1134/S1064230713040047

INTRODUCTION
During last decade, works aimed at design of mobile robots, including spherical robots, applied in dif
ferent fields of human activity, have been conducted. In general a spherical robot is a spherical shell with
material bodies inside it. Different technical constructions, such as a system of rotating flywheels, a set of
moving masses, located on orthogonally related axes, as well as a pendulum, connected with the spherical
shell by a joint, and moved by a system of motors [1–3] can be used as drives. Spherical robots are referred
to the class of systems with internal moving masses [4–7] and have a number of specific features charac
teristic of these systems. First the motion of a spherical robot is performed by friction forces applied to the
spherical shell at the point of its contact with the surface on which it moves. Second the spherical shape
safely protects the inner parts of the robot against external effects and impurity. Third a spherical robot is
continually rotating, though it is always in the working state. Four as investigation conducted have shown, the
behavior of these roots is described by sufficiently complex mathematical models. However these models still
make it possible to investigate their dynamics and to develop strategies in order to control them.
This paper is devoted to investigation and synthesis of a control for a spherical robot, driven by a pen
dulum mechanism. Motion equations are derived under the assumption of a point contact of a spherical
shell with a horizontal surface. A statefeedback control that provides the approach of the center of the
spherical robot to the motion trajectory determined by a plane curve given in a parametric form is con
structed. Results of computer simulation that show the efficiency of the synthesized control laws are pre
sented.

1. MATHEMATICAL MOTION MODEL FOR A SPHERICAL ROBOT


A mathematical model of a spherical robot moving on a horizontal plane is considered. It is supposed
that the robot consists of two rigid bodies: a spherical shell and a pendulum fixed at the center of the shell
by a spherical joint (Fig. 1). The friction in the joint is not taken into account. The sphere of the radius r
has the mass М and the moment of inertia about any axis passing through the sphere center is J. The pen
dulum is a rigid body consisting of a rod whose one end is fixed in the joint at the center of the spherical
shell, and a dynamically symmetric ball is fixed at the other end. It is supposed that the rod mass is negli
gibly small compared with the ball mass, which is m. Denote by j0 the moment of inertia of this ball about
any axis, passing through its center, and denote by l the distance from the point at which the pendulum is
fixed to its center of mass, coinciding with the ball center. We assume that a motor is mounted at the center
of the spherical shell, whose stator is rigidly connected with the shell. The motor produces a torque Q rel
ative to the center of the shell, affecting the pendulum. The torque –Q with the opposite sign affects the
spherical shell.
To describe the mathematical motion model for a spherical robot, we take a fixed coordinate system
Oxyz rigidly connected with the support horizontal surface. We assume that the plane Oxy is parallel to the
support surface, the axis Oz is directed vertically upwards, and the center O is located on the horizontal
plane, passing through the center of the spherical shell. Then we take a moving coordinate system O1x1y1z1
moving rectilinearly relative to the fixed coordinate system, whose center O1 is rigidly connected with the

650
A MOTION CONTROL FOR A SPHERICAL ROBOT WITH PENDULUM DRIVE 651

Fig. 1. The facilities of the spherical robot.

center of the spherical shell. The axes of the coordinate system O1x1y1z1 are parallel to the corresponding
axes of the coordinate system Oxyz.
Let us write the equation of variation of the momentum and angular momentum of the spherical shell
and pendulum in the fixed coordinate system. For the spherical shell we have
··
Mξ = R – Nγ + Mgγ + P,
(1.1)
Jω· = – Q + r [ γ, P ],
where ξ and ω are vectors of the position of the center of mass of the spherical shell and its angular velocity
with the coordinates (x, y, z) and (ωx, ωу, ωz) in the Oxyz coordinate system, R is the reaction force in the
spherical joint, N is the magnitude of the reaction force orthogonal to the support surface applied to the
center of the spherical shell, P is the friction force applied to the shell at the point of contact with the sup
port surface, lying in the horizontal plane, g is the gravitational acceleration, and γ is the unit vector with
the coordinates (0, 0, –1).
The equations of variation of the momentum and angular momentum of the pendulum in the fixed
coordinate system Oxyz are
··
m ( ξ + le·· ) = – R + mgγ,
(1.2)
· = Q – ml [ e, ξ·· ] + mlg [ e, γ ],
ml [ e, e·· ] + j 0 Ω
2

where e is a unit vector, directed along the rod, from the center of joint to the center of mass of the pen
dulum with the coordinates (ex, ey, ez) in the system O1x1y1z1, and Ω is the vector of angular velocity of the
pendulum with the coordinates (Ωx, Ωy, Ωz) in the system Oxyz.
Eliminating from Eqs. (1.1) and (1.2) the reaction force R, we obtain
··
( M + m )ξ + mle·· = – Nγ + ( M + m )gγ + P,
Jω· = – Q + r [ γ, P ], (1.3)
· + ml [ e, ξ·· ] = Q + mlg [ e, γ ].
ml [ e, e·· ] + j 0 Ω
2

Note than the unit vector e satisfies the equation


e· = [ Ω, e ], (1.4)
and differentiating which with respect to time, we obtain
· , e ] + [ Ω, [ Ω, e ] ] .
e·· = [ Ω (1.5)

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


652 BALANDIN et al.

Four vector variables ξ, ω, e, and Ω in the system of differential equations (1.3) with account of (1.4)
and (1.5) determine the dynamics of the spherical robot, moving on the horizontal surface.
To complete the mathematical model, it remains to specify how the magnitude of the reaction force of
the support surface N and the friction force P are given. Let us multiply the first equation of (1.3) by γ and
obtain
N = ( M + m )g + ( M + m )z·· + mle··z . (1.6)

In motion of the spherical shell without separation from the support horizontal surface z·· ≡ 0; therefore
the magnitude of the force is
N = ( M + m )g + mle··z , (1.7)
and the condition of motion without separation is the inequality
( M + m )g + mle··z ≥ 0. (1.8)
To write the expression for the force P, we introduce the notation vc for the instantaneous velocity of
the point of contact of the spherical shell with the support surface; then we have
·
v c = ξ + r [ ω, γ ]. (1.9)
Assume that the force P is given according to the dry friction law, i.e., for vc ≠ 0
P = – κNv c / v c , (1.10)
where N is defined according to (1.6) and κ is the dry friction coefficient. For vc = 0, there is no sliding,
the friction force becomes equal to the static friction force, and the motion is performed with account of
the nonholonomic constraint
·
ξ + r [ ω, γ ] = 0. (1.11)
In this case, the order of the system of differential equations, describing the robot motion may be
reduced. Indeed in this case we can eliminate the static friction force P from the first two equations of sys
tem (1.3). For this it is sufficient to multiply the first equation of (1.3) by the vector rγ from the right, and
then add the first and the second equations. Finally with account of nonholonomic constraint (1.11), we
obtain

Jω· + ( M + m )r [ γ, [ ω· , γ ] ] = mrl [ γ, e·· ] – Q.


2
(1.12)
Thus without sliding of the spherical sell, the dynamics of the spherical robot are described by the sys
tem of equations

Jω· + ( M + m )r [ γ, [ ω· , γ ] ] – mrl [ γ, e·· ] = – Q,


2

jΩ · – mlr [ e, [ ω· , γ ] ] + ml 2 [ e, e·· ] = Q + mlg [ e, γ ], (1.13)


0

e· = [ Ω, e ].
In addition without sliding, the condition
2 2
Px + Py / N ≤ κ (1.14)
should be valid, where the magnitude of the normal pressure force N is calculated according to (1.7), and
the components of the static friction force Px and Py are determined as follows:
P x = ( M + m )rω· y + mle··x ,
(1.15)
P y = – ( M + m )rω· x + mle··y .
A similar mathematical model with account a nonholonomic constraint and without control torques
(Q = 0) was constructed and analyzed in [8]. It was shown that this system is integrable and seven its inte
grals were found.

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


A MOTION CONTROL FOR A SPHERICAL ROBOT WITH PENDULUM DRIVE 653

2. MOTION CONTROL OF A SPHERICAL ROBOT WITHOUT SLIDING


We start the investigation of control problems for the spherical robot from the case of motion of the
robot on the support horizontal plane without sliding. In this case, the robot dynamics are determined by
system of equations (1.13).
Consider first the problem of arrangement of the motion along a chosen trajectory, described by the
center of the spherical shell. Let us define the motion trajectory of the sphere center by a curve in a para
metric form x = x0(t), y = y0(t), where x0(t) and y0(t) are twice continuously differentiable functions
of time.
P r o b l e m 1. Find the vector of control torques Q providing motion of the robot along a given trajec
tory. In the statement of this problem, it is also assumed that at the initial time instant t = 0 we have the
relations
0
ω x ( 0 ) = – y· ( 0 )/r,
0
ω y ( 0 ) = x· ( 0 )/r, (2.1)
ω z ( 0 ) = 0.
To solve this problem, using relation (1.5), we resolve the system of differential equations (1.13) with
respect to ω· and Ω· and thus obtain

ω· = A 1 ( Ω, e ) + B 1 ( e )Q,
Ω · = A ( Ω, e ) + B ( e )Q, (2.2)
2 2
·e = [ Ω, e ],

where Ai and Bi, i = 1, 2, are 3 × 3matrices, and the vector Q is the control acting on the spherical robot.
The explicit expressions for these matrices are not specified here because of their extreme bulkiness. In
motion of the center of mass of the robot along the trajectory in view of nonholonomic constraint (1.11),
0
we have given angular velocity ω0(t) and acceleration ω· (t) of the spherical shell with the components
0 0 0 0 0
ω x ( t ) = – y· ( t )/r, ω y ( t ) = x· ( t )/r, ω z ( t ) = 0,
(2.3)
0 0 0
ω· x ( t ) = – y·· ( t )/r,
0
ω· y ( t ) = x·· ( t )/r,
0
ω· z ( t ) = 0.

Denote u0(t) = ω· (t) and express Q from the first vector equation of (2.2), in which ω· = u0(t):
0

–1 –1 0
Q = – B 1 ( e )A 1 ( Ω, e ) + B 1 ( e )u ( t ). (2.4)
It is clear that the necessary condition of this representation of the control torque Q is that the matrix B1 is
invertible. Assume first that this condition holds (in what follows, we consider the case when for some val
ues of e, the specified matrix is not invertible). Thus we actually constructed a control in the form of feed
back with the variables Ω and e that provides motion of the ball along a given trajectory. For this control
the system motion is determined by the following equations:

ω· = u ( t ),
0

Ω · = A ( Ω, e ) – B ( e )B –1 ( e )A ( Ω ) + B ( e )B –1 ( e )u 0 ( t ), (2.5)
2 2 1 1 2 1

e· = [ Ω, e ].
Let us recall that the control constructed in this way provides motion along a given trajectory if the ini
tial position of the robot center and its initial velocity correspond to the trajectory x = x0(t), y = y0(t).
Assume now that this correspondence does not take place, i.e.,
0 0
x ( 0 ) ≠ x ( 0 ), y ( 0 ) ≠ y ( 0 ),
(2.6)
0 0
ω x ( 0 ) ≠ – y· ( 0 )/r, ω y ( 0 ) ≠ x· ( 0 )/r.

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


654 BALANDIN et al.

Nevertheless the conditions of absence of sliding at the initial time instant are satisfied
ω x ( 0 ) = – y· ( 0 )/r,
ω y ( 0 ) = x· ( 0 )/r, (2.7)
ω z ( 0 ) = 0.
P r o b l e m 2. Find the vector of control torques Q providing approach of the robot to a given trajec
tory. In the statement of this problem, as above, we suppose that ωz(0) = 0.
We can provide the approach to a given trajectory using an additional control, namely
0 0
u 1 = a ( y – y ( t ) ) – br ( ω x – ω x ( t ) ),
(2.8)
0 0
u 2 = – a ( x – x ( t ) ) – br ( ω y – ω y ( t ) ),

where a and b are certain positive parameters. Setting formally u 3 = 0 and introducing a vector us with
components u 1 , u 2 , u 3 , we can write the general expression for the control torque
–1 –1 0
Q = – B 1 ( e )A 1 ( Ω, e ) + B 1 ( e ) ( u ( t ) + u s ). (2.9)
The substitution of this control law in (2.2) results in

ω· = u ( t ) + u s ,
0

Ω · = A ( Ω, e ) – B ( e )B –1 ( e )A ( Ω ) + B ( e )B –1 ( e ) ( u 0 ( t ) + u ), (2.10)
2 2 1 1 2 1 s
·e = [ Ω, e ].

Let us show that the constructed control provides asymptotic approach of the robot center to the given
trajectory. Let us introduce new variables characterizing the deviation from this trajectory
x̂ = x – x 0 ( t ), ŷ = y – y 0 ( t ),
0 0
(2.11)
ω̂ x = ω x – ω x ( t ), ω̂ y = ω y – ω y ( t ).

In new variables with account of nonholonomic constraint (1.1) and relations (2.8), we obtain
. .
x̂ = rω̂ y , ŷ = – rω̂ x ,
. . (2.12)
ω̂ x = aŷ – brω̂ x , ω̂ y = – ax̂ – brω̂ y .

This implies
. .
ω̂ x = – r ( bω̂ x + aω̂ x ),
. . (2.13)
ω̂ y = – r ( bω̂ y + aω̂ y ),

and accordingly
.. .
x̂ = – r ( bx̂ + ax̂ ), (2.14)
.. .
ŷ = – r ( bŷ + aŷ ),
which proves the asymptotic convergence to the required trajectory.
It is worth noting that in contrast to (2.4) to form control (2.9), it is necessary to know additionally the
current coordinates of the center of the robot and its angular velocity. One more important remark is con
nected with the fact that control laws constructed in this section are substantiated when the following two
assumptions hold: (1) the matrix B1 is invertible; and (2) the robot moves without sliding.

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


A MOTION CONTROL FOR A SPHERICAL ROBOT WITH PENDULUM DRIVE 655

3. CONTROL OF THE MOTION OF A SPHERICAL ROBOT IN THE CASE


OF THE SINGULAR MATRIX B1, AS WELL WITH ACCOUNT OF SLIDING
The analysis of the matrix B1 has shown that it has a block structure

⎛ ηB 11 0 ⎞
B1 = ⎜ ⎟, (3.1)
⎝ 0 B 22 ⎠

where B11 is a 2 × 2matrix, which has the inverse matrix for any unit vector e, B22 = –J–1, η = ρez + s,
and the dimensionless parameters ρ and s depend on the mass and geometric robot parameters
r j0
ρ = , s = 
2 + 1. (3.2)
l ml
It is obvious that if the inequality s > ρ holds or
2
j 0 + ml > mrl, (3.3)
then ρez + s > 0 and the matrix B1 is invertible for any unit vector e.
If s ≤ ρ, then the matrix B1 is singular for ez = –s/ρ, and consequently the control law in form (2.9)
proposed above is not applicable in general. It is interesting how to arrange the robot control in this case.
–1
Instead of the matrix B 1 , we consider the matrix of the form

˜ ( e ) = B T ( e ) [ B ( e )B T ( e ) + εI ] –1 ,
B (3.4)
1 1 1

˜ is defined for all admissible values of the


where ε is a small positive number. It is clear that the matrix B
–1
vector e. Now as the robot control law, we use relation (2.9), in which the matrix B 1 is replaced by the
matrix B˜ , i.e.,

˜ ( e )A ( Ω, e ) + B
Q = –B ˜ ( e ) ( u 0 ( t ) + u ). (3.5)
1 s

The substitution of this control law into the first equation of system (2.2) results in the equation
–1
ω· = u ( t ) + u s + ε ( K + εI ) [ A 1 ( Ω, e ) – ( u ( t ) + u s ) ],
0 0
(3.6)
T
where K = B1(e) B 1 (e). Comparing this equation with the first equation of (2.10), we notice that their right
sides differ by ε(K + εI)–1[A1(Ω, e) – (u0(t) + us)]. For sufficiently small ε and values of the vector e dif
ferent from those for which the matrix B1 becomes singular, this quantity has the same order as ε. In addi
tion if the matrix B1 does not become singular for any admissible vector e, then control (3.5) differs from
the control of the form (2.9) by a quantity of order ε. Thus the control of form (3.5) can be considered as
an approximate control that should provide motion of the robot along a given trajectory.
Consider now the problem of arrangement of motion control of the robot with account of its sliding on
some parts of the trajectory.
On these parts, the motion of the spherical robot is described by the equations (1.3); therefore in gen
eral the control of form (3.5) does not guarantee the approach of the robot to a given trajectory. Neverthe
less it is this control law that can be recommended for application since in the case of relatively short inter
vals of sliding with the corresponding deviation from the given trajectory this control in the subsequent
transition to “pure” (without sliding) rolling of the robot provides its approach to the specified trajectory.

4. COMPUTER SIMULATION OF THE ROBOT DYNAMICS


Let us pass to dimensionless variables and parameters with account of the following relations:
–1 –1 –1 –1
t' = T t, ξ' = r ξ, ω' = Ω 0 ω, Ω' = Ω 0 Ω, (4.1)

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


656 BALANDIN et al.

2 –1
where Ω 0 = g/l. Thus the typical time scale is T = Ω 0 = l/g , and the length scale is r. In the new vari
ables (primes at variables are omitted for brevity) the mathematical model of robot motion (1.3) takes
the form

Jˆ ω· = – q + ρ [ γ, p ],
–1

··
( 1 + μ )ρξ + e·· = ( 1 + μ )γ – nγ + p,
(4.2)
· + [ e, e·· ] = ρ 2 q – ρ [ e, ξ·· ] + [ e, γ ],
ˆj 0 Ω
e· = [ Ω, e ]
with the substitution of
· , e ] + [ Ω, [ Ω, e ] ]
e·· = [ Ω (4.3)
into the second and third equations of this system,

j0
J  , ˆj =  r
Jˆ = 
2
0 ,
2
ρ = , μ = M
 ,
mr ml l m
(4.4)
Q , P , N .
q = 
2 2
p = 2
n = 2
mr Ω 0 mlΩ 0 mlΩ 0

If the robot motion on the horizontal surface takes place without sliding, then its dynamics is deter
mined by Eqs. (1.13) or in the dimensionless form

Jˆ ω· + ( 1 + μ ) [ γ, [ ω· , γ ] ] – ρ [ γ, e·· ] = – q,
–1

ˆj 0 Ω· – ρ [ e, [ ω· , γ ] ] + [ e, e·· ] – [ e, γ ] = ρ 2 q, (4.5)
e· = [ Ω, e ]
with substitution of (4.3) in the first and second equations of this system.
Let us consider certain specific features of the investigated mathematical model. First note that this
model is correct only when the condition of robot motion without separation (1.8) holds; i.e., the inequality

n = 1 + μ + e··z ≥ 0 (4.6)

holds. Second note that on some time intervals the motion has sliding and the robot dynamics are
described by system (4.2), and on the other time intervals the motion is without sliding, and the robot
dynamics are described by system (4.5). The change of the motion mode is determined as follows. Assume
first that we deal with a mode without sliding. Then the velocity of the point of contact of the robot with
·
the horizontal plane is zero vc = ξ + [ω, γ] = 0, and in addition the friction force p is the static friction
force; i.e. we have the inequality
2 2
p x + p y /n ≤ κ, (4.7)
where n is determined in accordance with (4.6), and px and py have the form
p x = ( 1 + μ )ρω· y + e··x , p y = – ( 1 + μ )ρω· x + e··y . (4.8)
The transition to the motion mode with sliding takes place when condition (4.7) is violated. In this
case, the velocity vc becomes different from zero, and

p = – κnv c / v c . (4.9)

The change of motion mode, i.e., the transition to the motion mode without sliding takes place when
the velocity vc becomes zero and condition (4.7) holds.

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


A MOTION CONTROL FOR A SPHERICAL ROBOT WITH PENDULUM DRIVE 657

In what follows, we use the control law in the form (3.5). To represent the control torque q, instead of
the change of variables in expression (3.5), it is convenient to resolve system (4.5) with respect to the high
est derivatives
ω· = A 1 ( Ω, e ) + B 1 ( e )q,
Ω · = A ( Ω, e ) + B ( e )q, (4.10)
2 2
·e = [ Ω, e ],

where A i and B i are dimensionless analogs of the matrices Ai and Bi, and then form the control law
ˆ ( e )A ( Ω, e ) + B
q = –B ˆ ( e ) ( u 0 ( t ) + u ), (4.11)
1 s

where Bˆ (e) = B (e)[ B (e) B (e) + εI]–1, the vector function u0(t) determines the given robot motion, and
T T
1 1 1
us determines the additional stabilizing control. The components of these control actions in the dimen
sionless variables are
0 0
u 1 ( t ) = ω· x ( t ) = – y·· ( t ),
0

0
u 2 ( t ) = ω· y ( t ) = x·· ( t ),
0 0
(4.12)
0
u 3 ( t ) = ω· z ( t ) = 0,
0

0 0
u 1 = a' ( y – y ( t ) ) – b' ( ω x – ω x ( t ) ),
0 0
u 2 = – a' ( x – x ( t ) ) – b' ( ω y – ω y ( t ) ), (4.13)

u 3 = 0,
–2 –1
where a' = ar Ω 0 and b' = br Ω 0 .
To numerically simulate the process of approach of the center of the spherical robot to the given tra
jectory (problem 2), it is necessary to specify the trajectory in the form of a pair of functions x0(t) and y0(t),
0 0 0 0
and it is supposed that ω x (t) = – y· (t) and ω y (t) = x· (t) are also determined, and in accordance
0 0
with (4.12), the functions u 1 (t) and u 2 (t) are given. Then it is necessary to present the initial conditions
·
for system (4.2): ω(0), ξ(0), ξ (0), Ω(0), and е(0). When the parameters of the system Jˆ , ˆj 0 , ρ, μ, a', and
b' are given, we can integrate the system numerically.
Note that in the numerical integration of the motion equations, instead of formula (4.9), it is advisable
to use somewhat different formula
vc
p = – κn 
, (4.14)
vc + 
where  is a small positive number (e.g.,   10–4). The time instant at which the velocity vc becomes zero
should be connected with the condition |vc| < . If this condition holds at some time instant, and in addi
tion condition (4.7) holds, then the transition to motion without sliding takes place, otherwise, there is
node change of the motion mode.

5. COMPUTATIONAL EXPERIMENTS
Let us describe the conducted computational experiments. The first computational experiments were
connected with the “regular” case; i.e., with the case when inequality (3.3) holds or for dimensionless
parameters the relation s = ˆj 0 + 1 > ρ takes place. Let us specify the following values of the parameters:

Jˆ = 2/3, ˆj 0 = 4, ρ = 4, μ = 1,
(5.1)
–4
a' = 1, b' = 1, ε = 10 .

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


658 BALANDIN et al.

y
0.6
κ = 0.7
κ = 0.2

0.4

0.2

−0.2

0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0


x

Fig. 2. Actual and desired motion trajectories along a straight line.

Then consider two versions of trajectories along which it is required to arrange the robot motion: (1) a
straight line; and (2) a circle.

5.1. Motion along a Straight Line


Let us define the parameters of the trajectory in the form of a straight line as follows
0 0
x ( t ) = αt, y ( t ) = 0, (5.2)
where α is a given parameter. It is obvious that these relations imply
0 0 0 0
x· ( t ) = ω y ( t ) = α, y· ( t ) = – ω x ( t ) = 0,
0
u 1 ( t ) = ω· x ( t ) = – y·· ( t ) = 0,
0 0

(5.3)
0
u 2 ( t ) = ω· y ( t ) = x·· ( t ) = 0,
0 0

0
u 3 ( t ) = ω· z ( t ) = 0.
0

0
Thus the desired robot motion is performed along the x axis with a constant motion velocity x· (t) equal
to α. Let us specify the initial conditions for the system of differential equations (4.2)
0 0
ω x ( 0 ) = ω x ( 0 ), ω y ( 0 ) = ω y ( 0 ) – 0.05, ω z ( 0 ) = 0,
0 0
x ( 0 ) = x ( 0 ), y ( 0 ) = y ( 0 ) + 0.5, z ( 0 ) = 0,
(5.4)
0 0
x· ( 0 ) = x· ( 0 ) – 0.05, y· ( 0 ) = y· ( 0 ), z· ( 0 ) = 0,
e x ( 0 ) = 0, e y ( 0 ) = 0, e z ( 0 ) = – 1, Ω ( 0 ) = 0.

Put the parameter α = 0.1. The deviation from the desired trajectory is estimated by the quantity
δ = δ(t)
2 2
δ(t) = ( x ( t ) – x0 ( t ) ) + ( y ( t ) – y0 ( t ) ) . (5.5)

Figures 2–6 present results of numerical simulation of the approach of the spherical robot to the
motion along straight line (5.2) for two values of the sliding friction coefficient: κ = 0.7 (solid line) and
κ = 0.2 (dashed line). In Fig. 2, the dotted line shows the desired trajectory, and the solid line and dashed

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


A MOTION CONTROL FOR A SPHERICAL ROBOT WITH PENDULUM DRIVE 659

δ
0.6
κ = 0.7
κ = 0.2
0.5

0.4

0.3

0.2

0.1

0
0 10 20 30 40 50 60
t
Fig. 3. Variation of the magnitude of deviation of the shell center from the desired trajectory in the motion along the
straight line.

νc
0.7
κ = 0.7
κ = 0.2
0.6

0.5

0.4

0.3

0.2

0.1

0
0 10 20 30 40 50 60
t
Fig. 4. Variation of the magnitude of the velocity of the point of contact of the shell in the motion along the straight line.

line specify the motion trajectories of the center of the spherical robot for two different friction coeffi
cients. Figures 3 and 4 show the dependence of time of the magnitude of the deviation δ(t) from the
desired trajectory and the value |vc(t)| of the velocity of point of contact with the horizontal surface. These
figures imply that for the bigger friction coefficient, there is no sliding the approach to the desired trajec
tory occurs faster than in the case of the smaller friction coefficient. In addition in the latter case, on the
initial leg of the trajectory, the motion with sliding is performed. Figures 5 and 6 present the time depen
dences of the control torques q1 and q2 and components of the vector e for κ = 0.7.

5.2. Motion along a Circle


Assume that the robot parameters correspond to (5.1). The motion trajectory of the robot center is set
in the from
0 0
x ( t ) = ν cos ( βt ), y ( t ) = ν sin ( βt ). (5.6)

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


660 BALANDIN et al.

4
3
2
1

q1
0
−1
−2
−3
−4
0 10 20 30 40 50 60
0.8
0.6
0.4
0.2
q2

0
−0.2
−0.4
−0.6
0 10 20 30 40 50 60
t

Fig. 5. Variation of the control torques.

0.8
0.6
0.4
0.2
0
−0.2
ex

−0.4
−0.5
−0.8
−1.0
1.0 0 10 20 30 40 50 60
0.5
0
ey

−0.5
−1.0
1.0 0 10 20 30 40 50 60
0.5
0
ez

−0.5
−1.0
0 10 20 30 40 50 60
t

Fig. 6. Variation of the pendulum position.

These relations imply


0 0 0 0
x· ( t ) = ω y ( t ) = – νβ sin ( βt ), y· ( t ) = – ω x ( t ) = νβ cos ( βt ),
0
u 1 ( t ) = ω· x ( t ) = – y·· ( t ) = νβ sin ( βt ),
0 0 2

(5.7)
0
u 2 ( t ) = ω· y ( t ) = x·· ( t ) = – νβ cos ( βt ) ,
0 0 2

0
u 3 ( t ) = ω· z ( t ) = 0.
0

The initial conditions are taken as follows:

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


A MOTION CONTROL FOR A SPHERICAL ROBOT WITH PENDULUM DRIVE 661

y
2.0

1.5

1.0

0.5

κ = 0.7
κ = 0.16
0
−2.0 −1.5 −1.0 −0.5 0 0.5
x

Fig. 7. Actual and desired trajectories of the motion along the circle.

δ
0.5
κ = 0.7
κ = 0.16
0.4

0.3

0.2

0.1

0
0 10 20 30 40 50 60 70 80
x

Fig. 8. Variation of the magnitude of deviation of the shell center from the desired trajectory in the motion along the circle.

0 0
ω x ( 0 ) = ω x ( 0 ), ω y ( 0 ) = ω y ( 0 ) – 0.05, ω z ( 0 ) = 0,
0 0
x ( 0 ) = x ( 0 ) + 0.4, y ( 0 ) = y ( 0 ), z ( 0 ) = 0,
(5.8)
0 0
x· ( 0 ) = x· ( 0 ) – 0.05, y· ( 0 ) = y· ( 0 ), z· ( 0 ) = 0,
e x ( 0 ) = 0, e y ( 0 ) = 0, e z ( 0 ) = – 1, Ω ( 0 ) = 0.

We set β = 0.05, ν = 2. Figures 7–9 present the results of numerical simulation of the approach of the
spherical robot to the motion along circle (5.6) for two values of the sliding friction coefficient: κ = 0.7
(solid line) and κ = 0.16 (dashed line). In Fig. 7 the dotted line shows the desired trajectory, and the solid
line and the dotted line specify the motion trajectories of the center of the spherical robot for two different

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


662 BALANDIN et al.

νc
0.7
κ = 0.16
0.6

0.5

0.4

0.3

0.2

0.1

0
0 10 20 30 40 50 60 70 80
x

Fig. 9. Variation of the magnitude of the velocity of the point of contact of the shell in the motion along the circle.

y
κ = 0.6
0.6

0.5

0.4

0.3

0.2

0.1

0.0
−0.10 −0.05 0 0.05 0.10
x

Fig. 10. Actual and desired motion trajectories in the nonregular case.

friction coefficients. Figures 8 and 9 show the time dependences of the magnitude of the deviation δ(t)
from the desired trajectory and the magnitude of |vс(t)| the velocity of the point of contact with the hori
zontal surface. For the bigger friction coefficient, there is no sliding and the approach to the desired tra
jectory is performed faster than in the case of the smaller friction coefficient.

5.3. Nonregular Case

Finally consider the case when the inequality s = ˆj 0 + 1 > ρ is not valid. Among robot parameters, we
change only one: ˆj = 2.9, i.e., s = 3.9 and s < ρ = 4. Figures 10 and 11 present the results of numerical
simulation of the approach of the robot center to the given trajectory (the circle denoted by the dotted line
in Fig. 10) for κ = 0.6. Figure 11 presents the time dependence of the magnitude of deviation δ(t) from the
desired trajectory.

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013


A MOTION CONTROL FOR A SPHERICAL ROBOT WITH PENDULUM DRIVE 663

δ
0.10

0.08

0.06

0.04

0.02

0
0 2 4 6 8 10 12 14 16
t

Fig. 11. Measurement of the magnitude of deviation of the sell center from the desired trajectory in the nonregular case.

CONCLUSIONS
In this paper, problems of dynamics of a spherical robot with a pendulum drive were studied. State
feedback control laws for the robot that provide asymptotic approach of its center of mass to a given tra
jectory were formed. The results of computer simulation, illustrating different specific features of con
trolled movements of the spherical robot, were presented.

ACKNOWLEDGMENTS
This work was supported by the Russian Foundation for Basic Research, pr. no. 130100603.

REFERENCES
1. M. Nagai, “Control System of a Spherical Robot,” Master Thesis. Finland, Espoo: Lulea University of Tech
nology (2008).
2. G. C. Schroll, “Dynamic Model of a Spherical Robot from First Principles,” Master Thesis. USA, Colorado:
Colorado State University (2010).
3. Yu. G. Martynenko and A. M. Formal’skii, “A Control of the longitudinal motion of a singlewheel robot on an
uneven surface,” Izv. Ross. Akad. Nauk, Teor. Sist. Upr., No. 4, 165–173 (2005) [Comp. Syst. Sci. 44 (4), 662–
670 (2005)].
4. F. L. Chernous’ko, “Analysis and optimization of motion of a body controlled by a moveable inner mass,” Prikl.
Mat. Mekh. 70 (6), 915–941 (2006).
5. F. L. Chernous’ko, “Optimal periodic motion of a twomass system in a resisting environment,” Prikl. Mat.
Mekh. 72 (2), 202–215 (2008).
6. N. N. Bolotnik and T. Yu. Figurina, “Optimal control of a rectilinear motion of a rigid body on an uneven plane
by moving two inner masses,” Prikl. Mat. Mekh. 72 (2), 216–229 (2008).
7. N. N. Bolotnik, T. Yu. Figurina, and F. L. Chernous’ko, “Optimal control of a rectilinear motion of a system of
two bodies in a resisting environment,” Prikl. Mat. Mekh. 76 (1), 3–22 (2012).
8. A. V. Borisov and I. S. Mamaev, “Two nonholonomic integrable constraints of rigid bodies,” Nelineinaya
Dinamika 7 (3), 559–568 (2011).

Translated by K. Kii

JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL Vol. 52 No. 4 2013

View publication stats