Abstract

Although the kinematics and dynamics of spherical robots (SRs) on flat horizontal and inclined 2D surfaces are thoroughly investigated, their rolling behavior on generic 3D terrains has remained unexplored. This paper derives the kinematics equations of the most common SR configurations rolling over 3D surfaces. First, the kinematics equations for a geometrical sphere rolling over a 3D surface are derived along with the characterization of the modeling method. Next, a brief review of current mechanical configurations of SRs is presented as well as a novel classification for SRs based on their kinematics. Then, considering the mechanical constraints of each category, the kinematics equations for each group of SRs are derived. Afterward, a path-tracking method is utilized for a desired 3D trajectory. Finally, simulations are carried out to validate the developed models and the effectiveness of the proposed control scheme.

1. Introduction

Spherical robots are a class of mobile robots that are generally recognized by their ball-shaped shell and internal driving components that provide torques required for their rolling motion. From the ball-shaped exterior, SRs inherit multiple advantages over other types of mobile robots, in which skidding, tipping over, falling, or friction with the surface makes them vulnerable or inefficient [1, 2]. Despite all the unique features, the complicated nonlinear behavior of SRs has remained as a hurdle to fully comprehend their dynamics, motion kinematics, and unveil their maneuverability capabilities.

Although the earliest efforts to analytically capture the kinematics and dynamics of rolling geometrical balls on mathematical surfaces back to more than a century ago, e.g., in E. Routh and S. A. Chaplygin’s works, this topic is still an open discussion that is being investigated in more recent papers such as [35]. Numerous research studies have been conducted on the mathematical modeling of kinematics and dynamics of SRs with a variety of mechanical configurations [6, 7]. Among them, a widespread assumption is that SRs roll over an ideally flat horizontal plane. In a number of available works, where SRs are studied on nonhorizontal surfaces, simplifying assumptions are made. For instance, in [2, 8], two SR designs are investigated that climb obstacles, assuming the condition to be static. From a different view, rolling of SRs is studied where the desired path is assumed to be a straight line with constant slope or a single step obstacle [911] and a 2D curved path with variable slope [12] respectively. In [13], the authors have investigated the dynamics of Martian tumbleweed rovers while this special type of SR rolls in its heading direction and the turning action is not considered for them. In fact, while several pieces of research have been done on 3D kinematics of other types of mobile robots such as legged [14] and wheeled robots [15, 16], to the best of the authors’ knowledge, the general problem of kinematics of SRs rolling on 3D terrains has not been investigated in the literature. The motivation to address this problem is that, while many applications of the SRs are on flat surfaces such as indoor [17] and paved roads [18], for a variety of applications such as agriculture [19], surveillance [20], environmental monitoring [21], and even planetary explorations [22], they would get exposed to uneven terrains.

In this work, prior to deriving the kinematics of SRs on 3D terrains, a general method for modeling a geometrical sphere rolling over a mathematically known 3D surface is developed. Then, the derived equations are expanded in order to be applied to SRs considering their specifications. Concretely, a variety of mechanisms are utilized in SRs to provide the required propelling torques and forces for their rolling action. Each configuration imposes its own kinematical constraints on the SRs’ rolling motion. Therefore, to study the kinematics of SRs, it is essential to classify current and feasible designs of SRs accordingly.

There are a few SR classifications available in the literature. In survey [6], SRs are classified based on their mechanical driving principles as follows: (1) barycenter offset (BCO), (2) conservation of angular momentum (COAM), and (3) shell transformation (OST). In another review, SRs are classified based on their mechanical configurations [23], e.g., single wheel, hamster wheel, pendulum driven, gimbal mechanism, single ball, mass movement, and a set of designs that use flywheels. Again, each class of the above robots can have different kinematics. Therefore, to investigate the rolling behavior of SRs based on the constraints imposed by their kinematical configurations, presenting a new, although brief, classification seems inevitable.

The classification proposed in this work divides SRs into two major categories: (1) Continuous Rolling Spherical Robots (CR-SR), with triple axes rolling (3R-SR), dual axes rolling (2R-SR), and rolling and turning (RT-SR) spherical robots as subcategories and (2) Rolling and Steering Spherical Robots (RS-SR). Based on the constraints of each different category, the kinematics equations for SRs rolling over 3D terrains are derived.

Afterward, a modified pure pursuit method [24] is utilized for the path-tracking control problem of the proposed models. The path-tracking method indicates the required kinematic actuation states that should be provided in each SR category to track a desired 3D trajectory. Finally, simulations are carried out to verify the kinematics model’s accuracy and its controller’s tracking efficiency in different models along with the comparison between their behavior.

The remainder of this paper is organized as follows: Section 2 is devoted to the model description. Section 3 elaborates on the problem of kinematics modeling of a sphere rolling over a 3D surface. In Section 4, the objectives of the paper are addressed, including presenting a new classification for SRs by their kinematics properties and then deriving kinematics equations of SRs based on specifications of each selected SR category. In Section 5, a 3D path tracking kinematic control scheme is presented. The simulation results in MATLAB are represented in Section 6, followed by the conclusion and future work.

2. Model Description

Consider a geometrical sphere rolling over a 3D surface as shown in Figure 1. To derive the kinematics equations of the rolling motion, the first step is to define the required reference frames, as , , , , and , defined as world, translated, surface-side tangent, robot-side tangent, and local reference frames, respectively. In each reference frame set, the first element shows its origin and the rest are the reference frame’s axes. Accordingly, as it is illustrated in Figure 1, , , , , and represent unit vectors of , , , , and respectively.

In the sequel, vector quantities are defined in ; if otherwise, their reference frames are specified in left superscript, e.g., . Vectors are represented by an overhead right arrow while unit vectors are accented by a caret-shaped hat symbol. Homogeneous transformations, e.g., from arbitrary reference frames to , consisting of a rotation matrix of and a translation vector , are defined in the form of [25]

Through utilizing transformation matrices, a fourth element of is added to velocity vectors as translation does not apply to them. A fourth element of in position vectors guarantees both rotation and translation.

In Figure 1, the position of the contact point of the sphere with the 3D surface is represented as :which instantaneously indicates the position coordinates of , , , and . The imaginary plane tangent to passing through is called the tangent plane denoted as . As it is shown in Figure 1, normal axis of the sphere is defined to be perpendicular to coinciding with the center of the sphere , while lateral and longitudinal axes are defined to be parallel to ; i.e., they do not rotate through rotation of the sphere about axes parallel to , but they rotate accordingly when the sphere rotates about the normal axis. is resulted from the translation of to such that , , and remain parallel to , , and . Obviously, axes of do not necessarily lie on . In , is along the normal vector of , . is locally tangent to the surface and therefore lies on . is mutually perpendicular to and following the right-hand rule. Furthermore, as shown in Figure 1, is resulted from rotation of about by 180 degrees. Consequently, coincides with . and are in the opposite direction to and with respect to . In , and are also tangent to . is along the sphere’s longitudinal direction. is normal to coinciding with and normal axis of the sphere, and is mutually perpendicular to and following the right-hand rule. One can note that can be considered as the projection of the sphere’s lateral axis on .

The next step is to define rotation angles of the sphere. According to Figure 1, is the sphere’s rolling angle, i.e., the rotation angle of the sphere about its lateral axis. is the sphere’s tilting angle, i.e., the rotation angle of the sphere about its longitudinal axis, and is the sphere’s turning angle about the robot-side normal axis, . It can be noted that can be considered as rotated through an angle of about . Finally, is a 3D surface defined in as , in the form ofimplying that for any and , the elevation of the surface along the vertical axis of is .

Assumptions: the mathematical model is derived based on the following assumptions:(1)the sphere rolls over a 3D surface without slipping, skidding, or falling; i.e., it does not lose traction with the surface.(2)The surface is smooth; i.e., is a continuous function of class or higher [26].(3)The sphere is rigid, and the radius of curvature of the surface is never smaller than the radius of the sphere. Therefore, the sphere always remains in a single point contact with the surface.

3. Kinematics Modeling of Spheres on 3D Surfaces

The next phase to derive the kinematics equations of the sphere rolling over is to calculate the utilized reference frames’ unit vectors analytically along with deriving transformation matrices between reference frames. In this process, first, we will determine the vector quantities in , and then, by sequentially utilizing transformation matrices, we can calculate the desired quantities in .

As mentioned in the previous section, is parallel to and coincides with ; therefore, performs no rotation, i.e., and a translation of . Thus, can be written as follows:where is the identity matrix. From (3), the normal vector of surface at position is given bywhere and are the partial derivative functions. Now, as coincides with , its unit vector can be written as

Defining as the following:we can write

Seemingly, the direction of is perpendicular to the surface and always downward, i.e., . As robot-site normal, , is in the opposite direction to the surface-side normal and based on assumption (1), there is no relative velocity between and ; therefore, we can write

In fact, and can be calculated by rotating by 180 degrees about ; therefore,

Next, we calculate the unit vectors of axes. Let us consider a sphere that rolls over in a way that , which means only and contribute in the rolling action. Due to this rolling, the direction of sphere’s longitudinal and lateral axes changes accordingly to match the geometry of . Based on Euler’s rotation theorem, any Cartesian coordinate system in 3D space with a common origin are related by a rotation about a unique axis called Euler axis denoted as . Intuitively, this rotation maps axes of to . We know that the rotation maps to and it is assumed that ; therefore, as it is depicted in Figure 2, should lie in the tangent plane and be perpendicular to both and , leading to

Considering and from (10), is calculated as

Consequently,

Moreover, the angle of rotation can be calculated aswhere is the four-quadrant inverse tangent:

Therefore, to avoid singularity, from (14) and (15), is written in the following conditional statement form:

Now, to calculate , we should apply the same rotation to . There are several algorithms to transform a vector in space, given a rotation axis and an angle of rotation such as the Rodrigues’ rotation method that is explained in the following.

According to Rodrigues’ rotation formula [27], as is a vector in and is a unit vector representing the axis of rotation about which rotates by an angle of resulting in , it can be shown that

Equation (17) can be written in the matrix form to calculate using Rodrigues’ rotation formula. Let denote cross-product matrix for ; i.e., a matrix when multiplied from the left with a vector gives the cross product. It can be shown that

Now, it can be shown that the rotation matrix can be written in the following form:which, using (18), can be written as the following:where, for the sake of brevity, and are abbreviated to and , respectively. Considering from (15), we can write:

Also, from (13) and (15), it can be concluded that

As , and by substituting (21) and (22) in (20), we can write:

Alternatively, to calculate , rotation quaternions can be utilized which is explained in detail in Appendix. Depending on the application, can be calculated from (19) and (23), or through quaternions. To calculate , we can write:

Next, as is resulted from the rotation of through about , then and can be written as follows:

Finally, from (4), (23), and (25), it can be concluded thatwhere the elements of are given as

Now, consider the sphere that instantaneously rolls over the tangent plane and let denote the velocity of the sphere in ; then, we can write:where . Consequently, the position of the sphere can be calculated by integrating (28) over time. To calculate , it can be written as a set of functions of kinematics parameters such that

Obviously, and functions vary depending on the configuration of the SR. Transforming to by plugging (29) into (28) and using terms presented in (27), we haveresulting in

The next section, first, presents a classification based on kinematics specifications of SRs and then provides calculation steps of for each class of SR.

4. Kinematics Modeling of Spherical Robots Rolling over 3D Surfaces

This section is dedicated to deriving the kinematics of SRs rolling over 3D surfaces. First, we present a brief classification in which the most popular configurations of SRs are divided into two main categories and a number of subcategories. Secondly, by applying constraints of each category (or type), the kinematics of SRs on 3D surfaces is derived.

4.1. Continuous Rolling Spherical Robots (CR-SRs)

CR-SRs are capable of performing rolling maneuvers continuously; i.e., when the robot rolls in any direction, there is no limitation for its rotation angle. However, based on their mechanical configurations, these robots can roll in different directions based on which this category can be divided into three subcategories explained in the following.

4.1.1. Triple-Axis Rolling Spherical Robot (3R-SR)

This subcategory is the most general type of CR-SR. As illustrated in Figure 3, in 3R-SRs the internal components are mechanically capable of providing torques required for the robot to rotate about all of its three main axes, namely, angular velocities of , , and . Therefore, 3R-SRs are omnidirectional. Several mechanical configurations are available in the literature that relies on this actuation method [2830].

Figure 4 illustrates differential rolling lengths for a 3R-SR in an infinitesimally small time along and directions. Based on the assumption (1) and using the equal-arc-length rule for rolling without slipping [31], we havewhere denotes the sphere’s radius. Integrating (32) over time, can be calculated as the following:

Now, from (28), (31), and (33), we can calculate elements of as follows:

Substituting terms presented in (27) in (34), and considering as the angular velocity of in accordance with , elements of for a 3R-SR are calculated as the following:

4.1.2. Dual-Axis Rolling Spherical Robot (2R-SR)

In this subcategory of SRs, the robot provides torques and, consequently, the ability to roll about its two main axes which are parallel to . There are a number of SR designs that relate to this type [23, 3234] such as hamster wheel SRs. Comparing to 3R-SRs, similar steps should be taken in order to derive kinematics equation of 2R-SRs. The only distinction is that, in 2R-SRs, the robot is not capable of rotating about its vertical axis; i.e., it is assumed that ; therefore, we can write

The term renders 2R-SRs as robots with completely different behavior. Assuming , for 2R-SRs, we can write

4.1.3. Rolling and Turning Spherical Robot (RT-SR)

In addition to rolling action, RT-SRs are able to turn about their vertical axis in order to change their moving direction. In other words, internal parts can provide angular velocities of and , while it is assumed that . RT-SRs are relatively less common but still some designs can be found in the literature [3538]. To calculate kinematics of RT-SRs, one can write

Angular velocity of in accordance with equals to . Substituting terms from (27) in (38), we have

4.2. Rolling and Steering Spherical Robots (RS-SRs)

As it is shown in Figure 5, consider as angular velocity of a RS-SR around its transverse axis that provides forward and backward rolling motion of the robot. In addition, the robot can tilt about its longitudinal axis as its steering mechanism provides turning ability for the robot through an arc shape rolling motion. Unlike CR-SRs, in RS-SRs, tilting angle is limited. Another difference is that in RS-SRs, the transverse axis is defined in a way that tilts with the robot, so it is not always parallel to the tangent plane. This type of SRs uses an underactuated mechanical propulsion mechanism that allows the robot to roll in a nonholonomic manner [3946].

Figure 5 illustrates a RS-SR with tilting angle of with respect to the tangent plane. The turning action of the sphere can be modeled as a cone with an apex angle of , purely rolling over the surface , for which the instantaneous axis of rotation is the imaginary line passing through the cone’s vertex and that lies in the tangent plane . Considering the instantaneous differential rolling arc of the cone’s base circle, we havewhere is the cone’s base circle radius and and are the differential rotation of the sphere during differential of time, , about the transverse and vertical axes respectively. is the instantaneous radius of curvature of the turning motion that is the distance between the vertex of the cone and the contact point. These two quantities can be calculated asand

Substituting (41) and (42) into (40) results in

Dividing both sides of (43) by , we have

Moving on, the position vector of the center point of the sphere in in accordance with can be written asand angular velocity of the sphere in can be written as

Then, the linear velocity of the sphere’s center point can be calculated as follows:

Forthwith, we are able to form as the following:

Eventually, from (31) and (48), we can calculate components of as follows:

Equations in (49), using terms presented in (27), can be utilized to calculate the position of the SR, , based on input parameters of robot, and , as the following:

In all types of SR, to calculate the position of the center point of the sphere denoted as , we have

Alternatively, utilizing (26) and using , it can be calculated as

Observing terms in (27), one can notice that and ; therefore, (52) is analogous to (51).

5. Control of Spherical Robots over 3D Surfaces

In this section, the pure pursuit method is utilized to address the path tracking problem of the four different types of spherical robots on a 3D surface. Consider as a 3D desired trajectory lying on , which is assumed to be smooth; i.e., is bounded for . It is desired that the location of converges to with a stable error. is the tracking error defined as

Additionally, defining deviation angle as the angle between the heading direction, , and , we have

The objective of this algorithm is to converge the tracking error along with to zero for all four proposed categories of SRs. To that end, in each category, the path-planning algorithm computes values for actuated kinematics states, namely, , , , and .

5.1. 3R-SR Kinematics Control

As 3R-SRs are capable of providing , , and , the controller is designed to provide the required values accordingly as follows:

In the design of , is used to normalize the error gain to provide a smooth transition for control efforts from longer distances to the vicinity of the target point; thus, to compensate the magnitude of , the first term of uses multiplied with a normalized error gain. is positive or negative when the SR is behind or ahead of the target, respectively. Additionally, one can easily recognize that is the angular velocity that is required for the sphere to pursue the target based on its speed. Therefore, this term is used as the bias value for . For , if , i.e., the robot is not heading towards the target point; the robot tries to compensate its lateral distance to the target by rolling laterally using in parallel to other actuators. If the robot is heading towards the target , the robot relies mostly on to approach the target. Finally, is designed to be directly proportional to as a measure of required turning to compensate the deviation angle.

5.2. 2R-SR Kinematics Control

Considering the fact that 2R-SRs are not able to turn, i.e., , it can be implied that a 2R-SR is not capable of following the target by changing its heading direction and consequently the robot can only use and to move towards the target. Therefore, the controller is designed such that

5.3. RT-SR Kinematics Control

RT-SRs can move towards the target point by compensating their deviation error, , through turning action and then using to approach and follow the target. This method is used to design the controller to provide the required angular velocities as the following:

5.4. RS-SR Kinematics Control

Calculated values for and are as follows for RS-SRs:

It should be noted that is driven and cannot be used as the actuated value in RS-SRs.

6. Simulation Result

This section provides the simulation results through MATLAB/Simulink to verify the presented method and the controllers that are proposed in Section 5. The simulation is carried out, where for the terrain surface, is defined as the following:

Two desired path types have been selected for the analysis by defining the path’s projection on the plane: a smooth path of circular shape with the following mathematical expression:and a continuous but nonsmooth diamond-shaped path with sharp vertices and linear edges. The length of the diagonals of the diamond is selected to be four meters which is equal to the diameter of the circular path.

Additionally, the following numerical parameters are used: , , and ; and controller design parameters are tuned by trial-and-error.

It can be observed from Figures 6 through 9 that the SRs can track both desired trajectories successfully, and the tracking error converges to the vicinity of the origin in approximately 30 seconds. Figures 6 and 7 show 3D representations of all types of SRs (CR (3R, 2R, RT) and RS), rolling over the surface defined in (59) for smooth and nonsmooth trajectories. It can be implied from Figure 7 that 3R and 2R-SRs outperform two other types of SR in tracking the nonsmooth trajectory. The reason stems from the fact that RT and RS-SRs rely on adjusting their heading direction for tracking the target that results in lesser agility at sharp vertices.

Figures 8 and 9 represent the actual and desired values for , , and against time for the robots in smooth and nonsmooth trajectories, respectively. It can be seen that the tracking error is bounded due to the fact that is bounded. Since the desired trajectory is unknown to the pure pursuit, the tracking error remains bounded, while the convergence bound can be reduced to the desired level by tuning the controller’s parameters.

Figures 10 through 12 show the control signals for 2R, RT, and RS-SRs. 3R-SRs rely on all three rotations; therefore, at any situation, all three control signals try to compensate for the errors. Consequently, the control signals for 3R-SRs do not follow a meaningful trend. It can be seen from Figure 12(b) that a limitation of has been set for the tilting angle of RS-SRs for the simulation. According to the simulation results presented in this section, all types of SRs can effectively track the desired 3D trajectory by utilizing the designed controllers.

7. Conclusion

This paper concerns the problem of modeling the kinematics and path-tracking control of popular SR configurations rolling over 3D terrains. It is noteworthy that the aim of this paper is not to compare the performance of different types of spherical robots. In fact, it provides a classification of SRs based on their kinematics behavior to derive kinematics equations on 3D surfaces. Utilizing the proposed kinematics, one can use the Euler–Lagrange method to derive the dynamics of robots on uneven terrains by keeping in mind that the gravity direction is not always perpendicular to the tangent plane.

One should also note that any SR has its mechanical configurations and consequently different internal kinematics and dynamics. In this regard, reference frames are selected to be parallel to the tangent plane to provide a general form of kinematics equations. Internal kinematic states can be transformed to the utilized reference frames based on the SR’s composition of internal reference frames. The dynamics of an SR defines the constraints and limitations of the robot. Not all kinematic states presented in this paper are feasible for any SR. Here are some examples, though widely used in the literature; Coriolis terms can violate decoupling kinematic assumptions such as simultaneous rolling and turning about two axes in conditions other than quasi-static. Different RS-SRs can have different maximum tilting angles that should be considered based on their mechanical design. The gravity can make rolling in some directions impossible, and the robot cannot always roll with the angular velocity that the controller suggests, and so on. These are the topics that should be addressed in the integration of kinematics and dynamics.

Appendix

In this appendix, calculation steps of utilizing rotation quaternions instead of Rodrigues rotation method to calculate are presented. Generally, if we write unit rotation axis vector and in the form ofand , then it can be shown that is calculated as an operation called conjugation of by defined as follows:We know that as , then

Operation (A.2) can be performed through Hamilton product in which , , and are written in quaternions format and the distributive law is used over all elements. However, a more convenient method can be utilized in the matrix format. Any unit quaternion rotation in the form of with , can be written in the form of rotation matrix as the following:where denotes outer product operation. Equation (A.4) can be written in the expanded format as the following:

Substituting in (A.5) results in

However, , , and , and it can be shown that plugging these terms in (A.6) results in (20).

Data Availability

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare that they have no conflicts of interest.