Abstract
We investigate the model of controlled motion of a pendulum-actuated spherical robot on a horizontal plane, taking rolling resistance into account. We derive equations of motion and obtain partial steady-state solutions. We present algorithms for designing elementary maneuvers (gaits) which ensure transition between two steady motions of the system. These gaits correspond to the acceleration along a straight line and to the turn through a given angle.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
This paper investigates one of the modifications of the spherical robot moving by displacing its center of mass, a robot of pendulum type which is a spherical shell with an axisymmetric spherical pendulum fastened at its center.
Spherical robots are mobile robotic systems with enhanced performance: the spherical shell is completely symmetric and cannot fall or topple over, but the system can autonomously move in space. The internal structure by means of which the spherical robot moves in space can be totally enclosed to protect the internal electromechanical systems against adverse environmental conditions.
In addition, the spherical robot (as a system with rolling) is an interesting system for modeling and testing of various motion models. Different internal mechanisms can be used. A detailed overview of existing internal structures of spherical robots and the history of development of this area of robotics can be found in the dissertation by Ylikorpi [1] and in Refs. [2,3,4,5,6,7,8,9].
The dynamics of a spherical robot of pendulum type has been investigated previously in Refs. [10,11,12,13,14,15,16]. The authors obtained steady-state solutions of free motion on horizontal and inclined planes and analyzed their stability. For the case of controlled motion, explicit algorithms for the control of motion along a prescribed trajectory, including those with feedback, were obtained and elementary maneuvers involved in controlling gaits were presented which allow acceleration (deceleration) during straight-line motion and enable rotation through a given angle.
The motion planning problem for a spherical robot driven by a pendulum with two degrees of freedom is considered in Ref. [17]. The proposed algorithm constructs a path consisting of straight-line segments, and then the movement along each segment is designed based on the dynamic model of the robot.
In Refs. [10,11,12,13,14,15,16] it was assumed that the spherical shell rolls without slipping (subject to the nonholonomic constraint) and that there is no dissipation. In this case, the system without control has additional linear integrals of motion and an invariant measure (see also [18, 19]) and is integrable. But, as is well known, such an approximation corresponds to a point contact, which is not the case in a natural experiment.
The influence of friction during rolling arising on the contact area is a complicated problem which is yet to be solved. To date, multiparameter friction models [20,21,22,23,24], based on Contensou’s model [25], have been developed and used in some systems with rolling. But these models, on the one hand, require considerable computational costs, on the other hand, they are not always in agreement with experiment (see [26,27,28] and references therein). In addition, such systems should consider the possibility of transition between rolling and slipping [29]. The reader is also referred to [30,31,32], where the authors introduce a precession nonlinear model of the controlled motion of a pendulum-driven ball robot along a straight line.
In this paper, we explore the dynamics of a pendulum-driven spherical robot, taking into account the linear model of viscous rolling friction [33,34,35]. According to this model, the spherical robot is acted upon by the torque of rolling resistance which is proportional to the angular velocity of the spherical shell of the system. The model is relatively simple; nevertheless, there are experimental studies [36,37,38, 42] which confirm the adequacy of the friction model with very good accuracy.
We present equations of motion which describe the rolling of a spherical robot on a horizontal plane, taking the torque of rolling resistance into account. In this work, we find steady-state solutions which represent motions with constant velocity along a straight line. In this case, the pendulum is deflected through a constant angle from the vertical axis under constant control action. In what follows, using the motion model under consideration, we propose an algorithm for designing elementary maneuvers which ensures transition between two steady motions of the system.
2 Equations of motion of a pendulum-driven spherical robot on a horizontal plane with rolling resistance present
The spherical robot is a spherical shell of radius \(R_o\) (Fig. 1) at whose center an axisymmetric 3-DOF pendulum (Lagrange’s top) is fastened. In what follows, we will refer to the pendulum as a top. The system is set in motion by forced oscillations of the pendulum. In this paper, we address a model problem in which it is assumed that the device actuating the pendulum generates control torque \({\varvec{Q}}\), applied at the point C of attachment of the pendulum.
To describe the dynamics of the spherical robot, we define a fixed (inertial) coordinate system Oxyz with unit vectors \({\varvec{e}}_1, {\varvec{e}}_2, {\varvec{e}}_3\) in such a way that the plane Oxy coincides with the surface on which the spherical robot rolls. The axis Oz is directed vertically downwards (Fig. 1).
Here and below the vectors and the matrices are denoted in boldface font. The vectors projected onto units vectors \({\varvec{e}}_1, {\varvec{e}}_2, {\varvec{e}}_3\). The normal vector to the surface of rolling is denoted as \(\varvec{\upgamma }=(0, 0, -1)\).
The position and configuration of the system are completely defined by the coordinates of the center of the sphere, \({\mathbf {r}}=(x, y, -R_o)\in {\mathbb {R}}^2\), and by two orthogonal matrices of rotation of the shell, \(\mathbf{S}_s\in SO(3)\), and the top, \(\mathbf{S}_t\in SO(3)\), relative to the fixed coordinate system.
The kinetic energy of the system has the form [10, 15]
where M, \(\mathbf{I}=I\mathbf{E}\) are the mass and the central tensor of inertia of the shell, \(\mathbf{E}\) is the identity matrix, m, \(\mathbf{{i_0}}=\mathrm {diag}(i,i,i+j)\) are the mass and the central tensor of inertia of the top, \({\varvec{V}}=(\dot{x}, \dot{y}, 0)\) and \(\varvec{\Omega }=(\Omega _x, \Omega _y, \Omega _z)\) are the velocity of the center of mass and the angular velocity of the shell, and \({\varvec{v}}\) and \(\varvec{\upomega }\) are the velocity of the center of mass and the angular velocity of the pendulum, respectively.
The change in the angular momentum relative to the center of the spherical shell and in the linear momentum of the shell can be written as
where \({\varvec{N}}_o\), \({\varvec{N}}_t\) are the reaction forces acting on the shell at the contact point P and at the point of attachment of the top C, respectively, \({\varvec{M}}_f\) is the torque of rolling resistance acting on the shell from the plane, \({\varvec{Q}}\) is the control torque, and \({\varvec{g}}=(0, 0, \mathrm g)\) is the vector of free-fall acceleration.
We will assume that the torque of rolling resistance is proportional to the horizontal component of the angular velocity of the shell and has the form
where \(\mu \) is the constant coefficient. The choice of this model of viscous resistance is motivated by the results of investigating the model problems of rigid bodies rolling on horizontal surfaces, such as a tippe top, a Celtic stone, disks, which allowed, in addition to experimental validation, a qualitatively explanation of the complex dynamic phenomena accompanying their motion: inversion, turn, retrograde motion [39,40,41,42]. In this paper, we neglect the spinning resistance, because the spinning resistance is negligibly small in the case of point contact
The equations of motion for the top relative to its center of mass have the form
where \({\varvec{n}}\) is the vector directed along the symmetry axis of the pendulum, and \(R_t\) is the distance from the center of the spherical shell to the center of mass of the pendulum (see Fig. 1).
The velocity of the center of mass of the top is defined from the condition that the velocities of the center of the shell and the suspension point of the pendulum be the same, which is expressed by a (holonomic) constraint of the form
The velocity of the center of the shell, \({\varvec{V}}\), is related to the angular velocity of the shell, \(\varvec{\Omega }\), by the condition that there be no slipping at the contact point P:
Eliminating the reaction forces \({{\varvec{N}}}_o,{{\varvec{N}}}_t\) from (2) and (4) taking (3), (5) and (6) into account, and adding an evolution equation for the vector \({\varvec{n}}\), we obtain a reduced system of equations for the controlled motion on a horizontal plane of a spherical shell with an axisymmetric top fastened at the geometric center of the shell:
where \(\mathbf{J}=\mathrm {diag}(I_0, I_0, I),\) \(I_0=I+(M+m)R_o^2, \quad i_0=i+mR_t^2, \quad j_0=j-mR_t^2.\)
To completely describe the system dynamics in absolute space, we need to supplement Eqs. (6) and (7) with kinematic relations for matrices \(\mathbf{S}_s\) and \(\mathbf{S}_t\).
3 Steady-state solutions
To find steady-state solutions to the system of interest, we equate the derivatives \(\dot{\varvec{\Omega }},\dot{\varvec{\upomega }},\,\dot{{\varvec{n}}}\) in (7) to zero and obtain the system of equations
This yields the following statement.
Proposition 1
The system (7) admits the family of steady-state solutions
where \(\Omega _\gamma , \omega _n, \theta , \varphi \) are the parameters of the family, with the control action
The statement is easy to prove using an explicit solution to the system (8).
The parameters \(\omega _n\) and \(\Omega _\gamma \) define the angular velocity of rotation of the pendulum about its symmetry axis and of the spherical shell about the normal to the plane, respectively. The angles \(\theta \) and \(\varphi \) completely define the position of the pendulum in space: \(\theta \) is the angle of deflection of the pendulum from the vertical and \(\varphi \) is the angle between the axis Ox and the plane of the pendulum’s oscillation (Fig. 2).
The system admits two types of motion corresponding to steady-state solutions: motions of a robot in a straight line with constant velocity such that the pendulum is tilted at a constant (arbitrary) angle relative to the vertical, and the rotation of the spherical robot through a given angle \(\psi \) about the vertical by rotating the pendulum about its symmetry axis with angular velocity \(\omega _n\).
Corresponding to the solutions (9) is the motion of the center of mass along a straight line in the direction defined by the angle \(\varphi \), with constant angular velocity of the shell, \(\varvec{\Omega }\), and with constant velocity of the center of mass of the system
It follows from (11) that the velocity of motion with the solutions (9) is bounded
The stability analysis of the partial solution (9) is an open question, which we will not consider in this paper.
4 Control using gaits
In this section, we consider control using gaits. We define a gait as elementary controlled motion of a system (acceleration or rotation through a given angle) which ensures transition from one steady motion (9) to another in a given time interval T.
Let us formulate the problem of the controlled motion of a spherical robot using gaits as follows.
Let the initial and final states of the system (7) correspond to the steady-state solutions (9) with the following parameter values:
Can a control action \({\varvec{Q}}(t)\) be chosen so as to ensure transition between given steady-state solutions in the time interval T?
This problem can also be formulated in the form of a boundary-value problem for a system of differential equations.
To do this, we first add up the first two equations of (7), thereby eliminating the control \({\varvec{Q}}\) from the system. We obtain a system of six differential first-order equations in the variables \({\varvec{n}}, \varvec{\Omega }, \varvec{\upomega }\). Supplementing these equations with boundary conditions which follow from (9), (13) and (14), we obtain
where \({\varvec{n}}_1= {\varvec{n}}(\theta _1, \varphi _1), {\varvec{n}}_2= {\varvec{n}}(\theta _2, \varphi _2)\).
Remark 1
Equations (15) have a redundant number of unknown functions (nine in six equations). Therefore, in solving the posed boundary-value problem we can define some three functions in the form of explicit functions of time in such a way that equations (15) and the boundary conditions (16), (17) are satisfied.
4.1 The algorithm of gaits design
In this section we solve the posed boundary-value problem and consider the algorithm of gaits design.
Step 1. Define the vectors \({\varvec{n}}(t), \varvec{\upomega }(t)\) in the form of explicit functions of time depending on the parameters and satisfying the equation for \(\dot{{\varvec{n}}}\) (15) with the corresponding boundary conditions (16), (17). In the general case, this can be done by defining three functions \(\theta (t), \varphi (t), \omega _n(t)\) which satisfy the following conditions:
In this case, the vectors \({\varvec{n}}\) and \(\varvec{\upomega }\) will depend on these functions as follows:
Remark 2
The boundary conditions for the derivatives \({\dot{\theta }}(t)\) and \({\dot{\varphi }}(t)\) follow from the boundary conditions for the angular velocities \(\varvec{\upomega }\) and the equation for \(\dot{{\varvec{n}}}\) (15).
In this paper, we choose the functions \(\theta (t),\) \(\varphi (t)\) and \(\omega _n(t)\) in the form
where \(\alpha \) is a still unknown parameter defining the oscillation amplitude of the top, T is the time of one maneuver, and the angles \(\theta _1, \theta _2\), \(\varphi _1, \varphi _2\) are the parameter values of the steady-state solutions (13), (14) at the initial and final times.
The choice of the form of the functions \(\theta (t)\) and \(\varphi (t)\) is based on the analysis of the possibility of technical implementation and their maximal simplicity. In the general case, such gaits can be formed using arbitrary functions satisfying condition 18. As a justification of the choice of a specific form of functions one can formulate various optimality criteria, however, these investigations are beyond the scope of this paper due to their complexity.
Remark 3
It follows from (19) that for given \({\varvec{n}}_2\) the parameters \(\theta _2\) and \(\varphi _2\) are defined up to the change of variables
It also follows from (20) that different values of n and k correspond to different dependences \({\varvec{n}}(t)\) under the same boundary conditions (16), (17), i.e., by changing the values of n and k one can perform a countable number of maneuvers enabling transition between the same steady-state solutions.
Remark 4
The functions (20) generalize the control used to accelerate the spherical robot along a straight line in a nonholonomic setting (without dissipation, \(\mu =0\)) [13]. We recall that a stable steady-state solution in the absence of rolling resistance is rolling motion along a straight line with constant velocity, in which case the pendulum is in the lower position and can rotate about its symmetry axis with constant velocity \(\omega _n\).
Step 2. Substitute (19) and (20) into the first equation of (15). We obtain a nonautonomous system of differential first-order equations for defining the angular velocity of the shell:
where \({\varvec{f}}\) is a function linear in \(\varvec{\Omega }\).
Integrating the system (22) with the initial conditions (16) gives the function \(\varvec{\Omega }\left( t, \alpha , \theta _2, \varphi _2, \omega _n, \Omega _\gamma ^{(2)}\right) \). We require that at the final time \(t=T\) the angular velocity \(\varvec{\Omega }(t=T)\) satisfies the boundary condition (17), i.e.,
Solving Eq. (23) for the control parameters \(\alpha , \omega _n \) and/or part of the boundary conditions \(\theta _2, \varphi _2, \Omega _\gamma ^{(2)}\), we obtain an explicit form of control (20).
As we will see below, particular gaits will require that only part of the boundary conditions (16), (17) be satisfied, and the solution to the system (23) will reduce to solving one or two equations relative to the projections of the angular velocity \(\varvec{\Omega }\) onto the axes of the coordinate system Oxyz.
Step 3. Substitute the control parameters thus found into Eq. (22) and integrate it. Use the resulting function \(\varvec{\Omega }(t)\) to define the control torques \({\varvec{Q}}(t)\) from (7) in explicit form.
Step 4. To construct the trajectory of motion, it is necessary to substitute the function \(\varvec{\Omega }(t)\) into Eq. (6) and to integrate it with initial conditions corresponding to the position of the center of the shell of the spherical robot at the initial time (for example, \(x(0)=0,~y(0)=0\)).
We consider the above algorithm for two gaits: acceleration of the ball to a given velocity in the case of motion along a straight line and rotation through a given angle.
4.2 Acceleration along a straight line
Let us define the control \({\varvec{Q}}(t)\) which causes the center of mass of the spherical robot to accelerate from some (physically realizable) velocity \(V_1\) to velocity \(V_2\) in a given time T and to move without changing its direction, for example, along the axis Ox. Assume that the pendulum does not rotate about its symmetry axis.
The values of the parameters of the functions (20) corresponding to the gait considered have the form
We note that the first equation of (15), taking into account (19) and (20) with parameters (24), admits an invariant manifold given by
This manifold corresponds to rolling of the spherical shell along the axis Ox with variable angular velocity.
On the manifold (25) the boundary conditions (16), (17) for \(\Omega _z\) take the form \(\Omega _z{(0)} = \Omega _z{(T)}= \Omega _\gamma ^{(1)}=\Omega _\gamma ^{(2)}=\mathrm{const}\). For simplicity we will assume that this constant is zero.
Thus, on the invariant manifold (25) the boundary-value problem (15) reduces to one differential first-order equation for the projection \(\Omega _y\) of the angular velocity of the shell onto the axis Oy with the following boundary conditions:
where \(\theta \), \(\dot{\theta }\), \(\ddot{\theta }\) are explicit functions of time and parameters \(\alpha \) and T (20) and depend on \(V_2\), see (24).
To solve the boundary-value problem (26), we integrate the resulting differential equation with the initial condition \(\Omega _y(0)\) and plot a curve of the final angular velocity \(\Omega _y(T)\) as a function of \(\alpha \). The intersection of this curve with the straight line \(-V_2/R_o\) corresponds to the value of \(\alpha \) at which the boundary conditions of the problem (26) are satisfied.
As an example, Fig. 3 shows graphs of the function \(\Omega _y(T)\) (26) versus \(\alpha \), which correspond to acceleration of the spherical robot from rest (\(\theta _1=0\)) to velocity \(V_2=0.72\) m/s (\(\theta _2=0.258~\mathrm {rad}\)) in the time intervals \(T=1\) s and \(T=2\) s, with the friction coefficient \(\mu =0.001\) kg \(\cdot \)m\(^2\)/s.
The simulation was performed using the following mass-geometric parameters corresponding to the parameters of the full-scale specimen (see Fig. 1b), with the mass expressed in kg, the distance in m and the moment of inertia in kg\(\cdot \)m\(^2\):
In this example, during the gait the projection \(\Omega _y\) of the angular velocity onto the axis Oy of the shell decreases from zero to the value \(-V_2/R_o=-12\) rad/s. The intersection of the function \(\Omega _y(T)\) with the straight line \(-V_2/R_o\) for \(T=2\) s corresponds to the value \(\alpha _0=0.34~\mathrm {rad}\) (see Fig. 3b).
Next, following the algorithm described above, we substitute the value \(\alpha =\alpha _0\) into Eq. (26) and integrate it. The resulting function \(\Omega _y(t)\) can now be used to define the control torques \({\varvec{Q}}=(Q_x, Q_y, Q_z)\) from (7):
The graphs of the angle \(\theta \), velocity V, control \(Q_y\) and the angular velocity of the pendulum, \(\omega _y\), versus time for the example considered are shown in Fig. 4. It can be seen that during the gait the velocity of the center of the spherical shell, V, increases monotonically, and the projection of the angular velocity at the final time instant takes values corresponding to the steady-state solutions (9).
Remark 5
Figure 3 shows that in the example considered the equation \(\Omega _y(T)=-V_2/R_o\) has two roots. For the second root \(\alpha _0=3.73 ~\mathrm {rad}\) the velocity V during a gait changes nonmonotonically (see Fig. 5).
If there are several roots, then the choice of one of them which will be used in the future to develop a maneuver can be made based on the technical limitations of the torque and angular velocity of the drive motors.
4.3 Motion with changing direction
Consider a gait used to turn the spherical robot through a given angle.
Let the spherical robot move at an initial time instant (in accordance with the steady-state solution (9)) along the axis Ox with constant velocity \(V_1\). As before, we assume that during the maneuver the pendulum does not rotate about its symmetry axis. In addition, at the initial time instant the shell of the spherical robot does not rotate about the vertical axis.
Thus, we define part of the parameters (18) of the pendulum’s motion and choose initial conditions for the angular velocity of the shell
Let us require that, as a result of the maneuver, the spherical robot turn through a given angle \(\psi \) and move along a straight line in the direction of the vector
in accordance with the steady-state solution (7). This requirement imposes a restriction on the final position of the pendulum: \(\varphi _2=\psi ,\) and defines the boundary conditions for the angular velocity of the shell at the end of the maneuver
where \(\theta _2\) is a still undefined parameter of the maneuver which defines the final position of the pendulum and the velocity of the spherical robot.
Remark 6
In this case, we impose no restriction on the angular velocity of rotation of the shell about the vertical at the end of the maneuver \(\Omega _z(T)\). This is due to the fact that, at any value of \(\Omega _z(T)\), the final motion will be the steady-state solution (7).
In accordance with the above algorithm, we solve the problem (22) with the boundary conditions (30), (32). For this we substitute the solution of the system (22) for \(\Omega _x, \Omega _y\) with the initial condition (30) into conditions (32). We obtain a system of two equations in the parameters of the maneuver, \(\alpha \) and \(\theta _2\). Solving this system numerically, we obtain parameter values at which the required maneuver can be performed.
Figure 6 gives an example of the trajectory of the contact point of the spherical robot with parameters (27) for rotation through the angle \(\psi =\pi /3\) in the time interval \(T=2\). The robot rolls with the initial velocity \(V_1=0.12\) m/s and the friction coefficient \(\mu =0.001\) kg\(\cdot \)m\(^2\)/s. The corresponding graphs of controls \({\varvec{Q}}(t)\) are shown in Fig. 7. The parameters of the maneuver are \( \theta _{2}=-0.025~\mathrm{{rad}}, ~\alpha =-0.076. \)
Interestingly, in the above example, \(\theta _2<0\). Consequently, after the maneuver the spherical robot moves along a straight line turned through the angle \(\psi =\pi /3\) relative to the axis Ox, but in the direction opposite to the vector \(\varvec{\tau }\) (see Fig. 6). This is due to the fact that the functions \(\theta (t)\) and \(\varphi (t)\) are defined up to the change of variables (21), see Remark 3.
We also note that the system of Eq. (32) can have several roots \((\theta _2, \alpha )\). If \(\theta _2>0\), then the trajectory of the contact point of the spherical robot at the end of the maneuver is directed along the vector \(\varvec{\tau }\).
As an illustration of this statement, we give two more examples. In the first case, for the value \(\psi =7\pi /3\) we have \(\theta _2=0.018>0\) (see Fig. 8), and at the end of the maneuver, the spherical robot moves along the vector \(\varvec{\tau }\). In the second case, for the value \(\psi =-2\pi /3\), we have \(\theta _2=-0.024<0\) (see Fig. 9), and at the end of the maneuver, the spherical robot moves in a direction similar to that of the first case, but opposite to the vector \(\varvec{\tau }\) (31).
Remark 7
During the gait the vertical projection of the angular velocity changes nonmonotonically, and at time \(t=T\) it takes a nonzero value (see Figs. 8b, 9b). Thus, the rotation is accompanied by changes in the velocity of spinning of the shell of the spherical robot about the vertical axis.
4.4 Discussion
In this section we discuss the question of the necessity of incorporating friction into models describing the controlled motion of systems with rolling.
In Ref. [13], the controlled motion of a pendulum-driven spherical robot in a nonholonomic setting without dissipation was considered. Algorithms for calculating the control actions required to perform various gaits, including acceleration and rotation through a given angle, were developed. The trajectory of the spherical robot obtained according to this algorithm for rotation through the angle \(\psi =\pi /3\) with the initial velocity of motion \(V_1=0.4\) m/s is shown in Fig. 10a (solid line). We denote the corresponding control by \(Q_{nh}\).
If one uses the control \(Q_{nh}\) for maneuvering using the model with friction, then the result of the maneuver does obviously not coincide with the planned result. For example, the dotted line in Fig. 10a indicates the trajectory of the spherical robot obtained using the model with rolling friction (7) and with model control \(Q_{nh}\). The figure shows that the direction of rotation at the end of the gait does not correspond to the planned direction. Moreover, in an environment with friction, the spherical robot stops predictably after control is turned off.
To estimate the influence of the friction coefficient on the angle of rotation, we present a graph (see Fig. 10b) of the angle \(\varphi (T)\) at which the spherical robot moves after the gait \(Q_{nh}\) versus the friction coefficient. It can be seen that, as the value of \(\mu \) increases, the deviation of the trajectory from the required direction \(\psi =\pi /3\) increases.
As the friction coefficient \(\mu ^*\) exceeds some critical value, the direction of motion after the maneuver becomes constant. Such a dependence is due to the fact that at large friction coefficients the initial velocity of the spherical robot (in the direction of the axis Ox) decays in a time interval smaller than the duration of the maneuver. As a result, the final direction of motion is influenced only by the direction in which the pendulum is deflected with control \(Q_{nh}\). In the chosen example, this direction coincides with the axis Oy, and hence \(\varphi (T)\) takes the value \(\pi /2\).
Thus, even at small values of the friction coefficient, control using the nonholonomic model can lead to fairly large errors in the final position or in the direction of motion. As the friction coefficient exceeds a critical value, control using nonholonomic gaits is impossible in principle.
5 Experimental validation of the model
To test the proposed algorithm for controlling the spherical robot and to estimate the chosen friction model, experimental investigations for the prototype (see Fig. 1b) described above have been conducted. In the course of the experiments, the velocity and the trajectory of the spherical robot were recovered using a marker-based motion capture system Vicon. The prototype is a transparent spherical shell inside which a one-degree-of freedom pendulum is placed below which a rotor is mounted. In practice, this design allows the implementation of only one maneuver, which is described in Sect. 4.2, namely, the motion along a straight line. The transparent shell of the prototype of the spherical robot makes it possible to place inside the robot markers of the motion capture system for recovering the motion parameters.
The shell of the spherical robot is made of PET material, and acrylic sheet was used as the underlying surface. The value of the coefficient of viscous rolling friction for this pair of materials was \(\mu = 0.002\), and was defined using the method tested to describe the free motion of spherical bodies [38, 42]. In the course of the experiments the spherical robot moving from rest along a straight line on a horizontal plane was to accelerate up to 0.25 m/s for time \(T = 2\) s.
For the the initial conditions, the parameters of the function \(\theta (t)\) are defined by the solution to Eq. (23) taking the mass and geometric parameters of the spherical robot (27). For implementation of the above-mentioned maneuver, the functions defining the maneuver have the following form:
In the experiments, the angle of rotation of the pendulum about the vertical was specified and maintained by the robot control system using the function (33).
Figure 11 shows trajectories and the corresponding velocities of the spherical robot performing this maneuver. The solid lines are the graphs obtained in the experiments, and the dotted lines indicate the simulation results. A video of the experiment can be found at https://youtu.be/yq30Ksm-pr0.
The deviations of the trajectory and the velocity of the spherical robot performing a maneuver in the experiments from the simulation results are due to nonideality of the geometry and measurement errors of the mass and inertia parameters of the prototype. But even despite this fact, the results of the experiment are in good quantitative agreement with the simulation results within the framework of the model of viscous rolling resistance.
6 Conclusion
In this paper, the model of the controlled motion of a spherical robot with an axisymmetric pendulum drive is considered taking rolling resistance into account.
It is shown that the system admits steady-state solutions only under constant control action, and the center of mass of the system moves uniformly along a straight line. Much of the focus of the paper is on designing elementary maneuvers (gaits) which ensure transition between two steady-state motions of the system: acceleration along a straight line and rotation through a given angle. These gaits can serve as a basis for designing algorithms for controlled motion along an arbitrary trajectory. The more general motion planning problem for driving a spherical robot from an initial to the desired configuration can be considered as a task for representing the trajectory of motion as a sequence of sections of straight lines and rotations between them. Then the proposed algorithm can be implemented.
The steady-state solutions obtained can be used in the future to construct models of the controlled motion of a spherical robot with feedback [14, 43,44,45,46]. The question of the stability of partial solutions (9) of the system considered remains also open.
The results of the experimental investigations confirm the adequacy of the proposed model of viscous rolling resistance and the possibility of using it to form control actions for the spherical robot. It would also be of interest to perform an experimental validation of the motion model used for more complicated controls. The proposed model of viscous rolling resistance can be easily implemented both for describing the rolling dynamics of free bodies and for developing of control for actuated rolling robots. But this model cannot be implemented when sliding arises. If sliding is difficult to eliminate, then other friction models should be investigated and applied.
We note that in this paper we have analyzed motion and defined control relative to a fixed coordinate system. On the other hand, controlled motion is in practice often implemented using a control action defined relative to the shell of the spherical robot (see, e.g., [7, 36, 44]). Generalization of the results obtained to the case of this (more realistic) model of a controlled spherical robot is also an open problem.
References
Ylikorpi, T.: Mobility and motion modelling of pendulum-driven balldecoupled models robots: for steering and obstacle crossing. Doctoral Dissertations. School of Electrical Engineering, 251 p (2017)
Crossley, V.A.: A literature review on the design of spherical rolling robots. Carnegie Mellon Univ., Pittsburgh, PA, Preprint (2006)
Akella, P., O’Reilly, O., Sreenath, K.: Controlling the locomotion of spherical robots or why BB-8 works. ASME J. Mech. Robot., 11(2), 024501-024501-4 (2019)
Tafrishi, S.A., Svinin, M., Esmaeilzadeh, E., Yamamoto, M.: Design, modeling, and motion analysis of a novel fluid actuated spherical rolling robot. ASME J. Mech. Robot. 11(4), 041010–041021 (2019)
Chase, R., Pandya, A.: A review of active mechanical driving principles of spherical robots. Robotics 1(1), 3–23 (2012)
Chen, W.-H., Chen, C.-P., Yu, W.-S., Lin, C.-H., Lin, P.-C.: Design and implementation of an omnidirectional spherical robot Omnicron. In: Proceedings of the IEEE/ASME International Conference on Advanced Intelligent Mechatronics, Kaohsiung (Taiwan), pp. 719–724. IEEE, Piscataway, NJ (2012)
Kilin, A.A., Pivovarova, E.N., Ivanova, T.B.: Spherical robot of combined type: dynamics and control. Regul. Chaotic Dyn. 20(6), 716–728 (2015)
Karavaev, Y.L., Kilin, A.A.: Nonholonomic dynamics and control of a spherical robot with an internal omniwheel platform: theory and experiments. Proc. Steklov Inst. Math. 295, 158–167 (2016)
Borisov, A.V., Kilin, A.A., Karavaev, Y.L., Klekovkin, A.V.: Stabilization of the motion of a spherical robot using feedbacks. Appl. Math. Model. 69, 583–592 (2019)
Borisov, A.V., Mamaev, I.S.: Two non-holonomic integrable problems tracing back to Chaplygin. Regul. Chaotic Dyn. 17(2), 191–198 (2012)
Pivovarova, E.N., Ivanova, T.B.: Stability analysis of periodic solutions in the problem of the rolling of a ball with a pendulum. Bull. Udmurt Univ. Math. Mech. Comput. Sci. 22(4), 146–155 (2012)
Balandin, D.V., Komarov, M.A., Osipov, G.V.: A motion control for a spherical robot with pendulum drive. J. Comput. Syst. Sci. Int. 52(4), 650–663 (2013)
Ivanova, T.B., Pivovarova, E.N.: Dynamics and control of a spherical robot with an axisymmetric pendulum actuator. Rus. J. Nonlinear Dyn. 9(3), 507–520 (2013)
Ivanova, T.B., Kilin, A.A., Pivovarova, E.N.: Controlled motion of a spherical robot with feedback. I. J. Dyn. Control Syst. 24(3), 497–510 (2018)
Ivanova, T.B., Kilin, A.A., Pivovarova, E.N.: Controlled motion of a spherical robot of pendulum type on an inclined plane. Dokl. Phys. 63(7), 302–306 (2018)
Ivanova, T.B., Kilin, A.A., Pivovarova, E.N.: Control of the rolling motion of a spherical robot on an inclined plane. Dokl. Phys. 63(10), 435–440 (2018)
Bai, Y., Svinin, M., Yamamoto, M.: Dynamics-based motion planning for a pendulum-actuated spherical rolling robot. Regular Chaotic Dyn. 23(4), 372–388 (2018)
Bizyaev, I.A., Borisov, A.V., Mamaev, I.S.: The dynamics of nonholonomic systems consisting of a spherical shell with a moving rigid body inside. Regul. Chaotic Dyn. 19(2), 198–213 (2014)
Bizyaev, I.A., Mamaev, I.S.: Separatrix splitting and nonintegrability in the nonholonomic rolling of a generalized Chaplygin sphere. Int. J. Non-Linear Mech. 126, 103550 (2020)
Kudra, G., Awrejcewicz, J.: Application and experimental validation of new computational models of friction forces and rolling resistance. Acta Mech. 226(9), 2831–2848 (2015)
Awrejcewicz, J., Kudra, G.: Modelling of frictional contacts in 3D dynamics of a rigid body. In: Herisanu, N., Marinca, V. (eds.) Acoustics and Vibration of Mechanical Structures-AVMS 2019. Proceedings in Physics, vol. 251. Springer, Cham (2019)
Awrejcewicz, J., Kudra, G.: Rolling resistance modelling in the Celtic stone dynamics. Multibody Syst. Dyn. 45, 157–167 (2019)
Ishkhanyan, M.V., Karapetyan, A.V.: Dynamics of a homogeneous ball on a horizontal plane with sliding, spinning, and rolling friction taken into account. Mech. Solids 45(2), 155–165 (2010)
Zhuravlev, V.F.: On a model of dry friction in the problem of the rolling of rigid bodies. J. Appl. Math. Mech. 625, 705–710 (1998)
Contensou, P.: Couplage entre frottement de pivotement et frottement de pivotement dans la théorie de latoupie. In: Kreiselprobleme Gyrodynamics: IUTAM Symp, pp. 201–216. Springer, Celerina, Berlin (1963)
Pivovarova, E.N., Klekovkin, A.V.: Influence of rolling friction on the controlled motion of a robot wheel. Bull. Udmurt Univ. Math. Mech. Comput. Sci. 25(4), 583–592 (2015)
Halme, A., Schonberg, T., Wang, Y.: Motion control of a spherical mobile robot. In: Proceedings of the 4th International Workshop on Advanced Motion Control. AMC’96-MIE. vol. 1, ppp. 259–264 (1996)
Terekhov, G., Pavlovsky, V.: Controlling spherical mobile robot in a twoparametric friction model. MATEC Web Conf. 113, 02007 (2017)
Antali, M., Stepan, G.: Nonsmooth analysis of three-dimensional slipping and rolling in the presence of dry friction. Nonlinear Dyn. 97, 1799–1817 (2019)
Koshiyama, A., Yamafuji, K.: Design and control of an all-direction steering type mobile robot. Int. J. Robot. Res. 12(5), 411–419 (1993)
Ylikorpi, T., Forsman, P., Halme, A.: Gyroscopic precession in motion modelling of ball-shaped robot. In: Proceedings of the 28th European conference on modelling and simulation, ECMS 2014, pp. 401–410 (2014)
Ylikorpi, T., Forsman, P., Halme, A., Saarinen, J.: Unified representation of decoupled dynamic models for pendulum-driven ball-shaped robots. In: Proceedings of the 28th European Conference on Modelling and Simulation, ECMS 2014, pp. 411–420 (2014)
Kilin, A.A., Pivovarova, E.N.: The influence of the first integrals and the rolling resistance model on tippe top inversion. Nonlinear Dyn. 103, 419–428 (2021)
Kilin, A., Pivovarova, E.: Conservation laws for a spherical top on a plane with friction. Int. J. Non-Linear Mech. 129, 103666 (2021)
Lewis, A., Murray, R.: Variational principles for constrained systems: theory and experiment. Int. J. Non-Linear Mech. 30(6), 793–815 (1995)
Kilin, A.A., Karavaev, Y.L.: Experimental research of dynamic of spherical robot of combined type. Rus. J. Nonlin. Dyn. 11(4), 721–734 (2015)
Borisov, A.V., Ivanova, T.B., Karavaev, Y.L., Mamaev I.S.: Theoretical and experimental investigations of the rolling of a ball on a rotating plane (turntable). Eur. J. Phys. 39(6), 065001, 13 pp (2018)
Karavaev, Y.L., Kilin, A.A., Klekovkin, A.V.: The dynamical model of the rolling friction of spherical bodies on a plane without slipping. Rus. J. Nonlin. Dyn. 13(4), 599–609 (2017)
Or, A.C.: The dynamics of a tippe top. SIAM J. Appl. Math. 54(3), 597–609 (1994)
Ma, D., Liu, C.: Dynamics of a spinning disk. Trans. ASME J. Appl. Mech. 83(6), 061003 (2016)
Leine, R.L.: Experimental and theoretical investigation of the energy dissipation of a rolling disk during its final stage of motion. Arch. Appl. Mech. 79(11), 1063–1082 (2009)
Borisov, A.V., Kilin, A.A., Karavaev, Y.L.: Retrograde motion of a rolling disk. Phys. Usp. 60(9), 931–934 (2017)
Yu, T., Sun, H., Jia, Q., Zhang, Y., Zhao, W.: Stabilization and control of a spherical robot on an inclined plane. Res. J. Appl. Sci. Eng. Technol. 5(6), 2289–2296 (2013)
Ivanova, T.B., Kilin, A.A., Pivovarova, E.N.: Controlled motion of a spherical robot with feedback. II. J. Dyn. Control Syst. 25(1), 1–16 (2019)
Hogan, F.R., Forbes, J.R., Barfoot, T.D.: Rolling stability of a power-generating tumbleweed rover. J. Spacecraft Rockets, 12 p (2014)
Martynenko, Y.G., Formalskii, A.M.: A control of the longitudinal motion of a single-wheel robot on an uneven surface. J. Comput. Syst. Sci. Int. 44(4), 662–670 (2005)
Acknowledgements
The authors extend their gratitude to E.N. Pivovarova for useful discussions of the numerical results.
Funding
The work of T.B. Ivanova and A.A. Kilin was carried out within the framework of the state assignment of the Ministry of Education and Science of Russia (FEWS-2020-0009) and supported by the RFBR under Grant No. 18-08-00999-a. The work of Y. L. Karavaev (Sects. 4.3, 4.4, and 5) was supported by the Russian Science Foundation under Grant No. 18-71-00096.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Ivanova, T.B., Karavaev, Y.L. & Kilin, A.A. Control of a pendulum-actuated spherical robot on a horizontal plane with rolling resistance. Arch Appl Mech 92, 137–150 (2022). https://doi.org/10.1007/s00419-021-02045-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00419-021-02045-6