Have a personal or library account? Click to login
Slippage Down on Rolling Mobile Robots While Overcoming Inclined Obstacles Cover

Slippage Down on Rolling Mobile Robots While Overcoming Inclined Obstacles

Open Access
|Dec 2025

Full Article

1.
INTRODUCTION

Wheeled mobile robots (WMRs) have been widely used for outdoor navigation on terrains that are often irregular and full of obstacles. These robots are frequently employed in tasks such as exploration, military operations, search and rescue, agriculture, and planetary exploration. Some WMRs have specialized designs or use appropriate strategies to overcome obstacles. For instance, some possess passive suspension systems (spring-damper) that allow the wheels to pass over small obstacles [13]. Others use more elaborate passive suspension systems based on articulated links (e.g., the Rocker-bogie system) that allow the robots to progressively position their wheels over higher obstacles to overcome them [4]. In other cases, robots are equipped with active suspension systems, enabling the wheels to be positioned over obstacles with the help of actuators coupled to the suspension system [5].

In other innovative designs, the robot has an attached device that allows it to reposition its center of gravity, lifting its body and wheels, which can then be positioned over small obstacles with this action [6]. Other WMRs attach their wheels to rotational structures that, when facing an obstacle, rotate to position the wheels over the obstacles [7]. Similarly, some robots have legs with wheels attached as their end effectors. In this case, the robot moves by rolling with its wheels, but when it encounters an obstacle, it uses the legs to position the wheels over it [8].

Finally, some robots use additional support, either through some attached links [9] or arms that perform additional functions, but can also push against the ground, lifting the robot's body and wheels to position themselves over the obstacles to be overcome [10]. In all these cases, the study of the robot's obstacle-surmounting capability and its stability against tipping [11] have been a priority in studies conducted by researchers.

Furthermore, the study of friction and slippage has been another relevant topic in mobile robotics, as friction enables the rolling phenomenon to produce traction for wheeled and tracked robots. The study of friction began with the definition of different models for friction force [2,12], covering various topics including the characterization of slippage through parameters such as: the angle of lateral slippage that allows estimating the lateral displacement of the robot due to slippage, even when its speed is purely longitudinal [13,14], both on hard terrains and sandy terrains [15,16]. The percentage of slippage is also defined, which measures the relationship between the actual distance traveled by the robot including slippage and the ideal path [17]; and finally, longitudinal slippage which is measured in terms of the tangential speed of the wheels and the actual forward speed [18].

In the case of wheeled robots, it has been mentioned that the analysis of friction is vital as this force generates traction for the equipment's advancement. Regarding this, [19] indicates that, in a wheel, there are fundamentally two forces at the contact point of the wheel with the ground: firstly, the rolling resistance force Ri=μr N caused by non-elastic deformations of the wheel and the floor; this force is exerted in the opposite direction to the movement along the longitudinal axis of the wheel, although its direction may change during an ascent or descent movement of the wheel [20]. This force depends on the coefficient of rolling resistance (μr) and the normal force (N). If the wheel is considered rigid and the ground as well, this force can be neglected.

Secondly, the traction force (Ft) is exerted in the opposite direction of slippage with orthogonal components Ftx and Fty. As the name implies, this force generates traction for the wheel's advancement and depends fundamentally on the friction between the wheel and the ground; according to (1), these components can be obtained from the longitudinal (μx) and transversal (μy) friction coefficients along with the normal force (N). 1Ft=[ FtxFty ]=[ μxNμyN ]{F_t} = \left[ {\matrix{ {{F_{{t_x}}}} \hfill \cr {{F_{{t_y}}}} \hfill \cr } } \right] = \left[ {\matrix{ {{\mu _x}N} \hfill \cr {{\mu _y}N} \hfill \cr } } \right]

Of course, the forces Ftx and Fty can be used to obtain Ft through (2). Furthermore, in [21], a principle called the friction cone was used to indicate that Ft can always be considered proportional to N. From this, a single instantaneous friction coefficient ((μi) can be determined such that: 2Ft=Ftx2+Fty2=μiN{F_t} = \sqrt {F_{{t_x}}^2 + F_{{t_y}}^2} = {\mu _i}N

Finally, it must always be ensured that μiμs (where μs is the static friction coefficient) to guarantee that the wheel does not experience total slippage, which can occur in the longitudinal or transversal direction. This analysis conducted on a single wheel can be extended to complete robots, but additional factors such as inertial and external forces must be considered, which may affect the necessary traction and grip forces to move the robot.

Therefore, it is necessary to carry out more comprehensive analyses on the entire robot to avoid or decrease the problem of total wheel slippage [22]. In this regard, other relevant and related aspects have been studied, such as: friction and slippage of robots on inclined surfaces [23], real-time determination of friction coefficient using sensors installed on the robot [9,24], terrain characterization based on the obtained friction coefficient and longitudinal slippage [25], influence of friction in defining trajectories and control systems to correct position deviations due to friction [2628], torque control on the wheels to prevent slippage [2,29], power consumption in the robot considering friction [30], and finally, optimization of mobile robot performance by minimizing friction through possible improvements in geometry and active control of slippage and friction during driving [31].

Similarly, the topic of friction and slippage has been relevant for developing strategies that allow wheeled mobile robots to overcome obstacles. In this regard, friction force is considered a predominant element that must be leveraged to achieve effective obstacle traversal [3234]. Multiple research studies have been conducted analyzing the limit condition to avoid slippage when wheeled mobile robots [35,36] or tracked robots [37] overcome step-like obstacles by utilizing friction as a traction force. Other research has carried out analogous work, deducing limit conditions to prevent slippage of tracked robots when ascending stairs [38,39].

All these analyses have been based on robots overcoming regular obstacles mainly formed by horizontal surfaces (steps or stairs), but little has been analyzed regarding the friction and slippage of robots when overcoming obstacles formed by inclined surfaces. Therefore, this work develops a metric that allows predicting the limit condition for total slippage when a wheeled robot is in the process of overcoming an obstacle formed by inclined surfaces. The specific case study is defined for Lázaro (Fig. 1), a robot that uses its arm as support to overcome the obstacle, but the metric can be extended to any wheeled robot that does not have or use its arm for this purpose. In this sense, the development of this normalized metric called Slip Index (Is), including obtaining the instantaneous friction coefficients (μi) of the wheels in contact with each surface of the obstacle, and estimating the angle of the friction force in the plane of each surface (δn) constitute the main contributions of this work.

Fig. 1.

Lázaro robot

The article is structured as follows: Section 2 deduces Is based on the characterization of the obstacle and the robot, the analysis of the robot's reaction forces with the ground, the deduction of μ¿, and the estimation of δn. Section 3 presents and analyzes the results of applying various simulated experiments and real tests that have allowed validating the proposed metric and evaluating its effectiveness in predicting the possibility of total slippage while the robot overcomes an obstacle formed by inclined surfaces. Finally, in Section 4, conclusions are drawn and future work that can be developed from this research is outlined.

2.
METHOD
2.1.
Initial Assumptions

Initially, some guiding principles were defined that allowed delimiting and solving the problem considering some simplifications:

  • The four contact points of the wheels with the ground are located in the same plane. This implies that both the suspension effect and the flexibility of the robot's parts are considered negligible.

  • Each wheel's contact with the terrain is assumed to be pointlike, with the understanding that the wheels and the ground are considered rigid.

  • The overcoming process was defined according to a quasistatic analysis, which can be implemented when the robot and its manipulator move at low speeds and there are no large accelerations or inertial components apart from gravity, nor major external loads [40,41]. Therefore, the effect of dynamic loads was not considered.

  • Prior characterization of the obstacle: basic geometric information of the obstacle will be necessary, which can be obtained from a characterization system, for example, using LiDAR [42].

  • A friction analysis was conducted using the friction cone principle to determine the instantaneous friction coefficient ((μi).

  • In practice, some important variables related to the robot’s state (θ1, d2, αc, φc) are always known through the sensor network installed on the robot.

2.1.1.
Characterization of the Robot's Geometry

For this work, Lázaro [43] was used, which is a skid steer robot weighing W=255.1 N, with an attached arm that has two joints: a rotational one (θ1) that moves the first link of the arm, and a prismatic one (d2) that moves the second link of the arm (Fig. 2a). This arm is used in maneuvers to overcome obstacles and prevent tipping by acting as a counterweight or by placing its wheeled endeffector in contact with the ground. Additionally, it serves as a platform for installing sensors like a 2D rangefinder This allows the system to perceive its surroundings and more accurately detect and estimate obstacles. Subsequently, a frame fixed to the robot (XC YC ZC) was defined, where the XC YC plane coincides with the plane containing the four contact points of the wheels with the ground, the XC axis coincides with the longitudinal direction of the robot (forward motion), the ZC axis is perpendicular to this plane, and its origin OC is located at the intersection of the axis of the first joint in the robot's arm with the XC YC plane (Fig. 2a). The main dimensions of this robot are shown in Tab. 1.

Fig. 2.

Lázaro robot showing dimensions and Xc Yc Zc frame a) Axono metric view; b) Side view

Tab. 1.

Dimensional parameters of Lázaro robot

ParameterMagnitude
xf209.0 mm
xr191.0 mm
xt400.0 mm
yt398.0 mm
a1420.0 mm
d2c-282.5 mm

Additionally, it is important to note that in Fig. 2b, Δxf = Rrsin(φcφs2) and Δxr = Rrsin(φcφs1), which correspond to variations in the position of the front and rear wheel contact points respectively (from the ideal position), occur when the wheels are positioned on surfaces that are not parallel to the XC YC plane. In this case, Rr is the radius of the wheels (the other variables will be defined later). Although this change in the wheel contact point position with the ground also induces a variation in the Zc direction called Δz, it will be assumed negligible due to its small magnitude.

On the other hand, αc and φc must be considered, which are the roll and pitch angles of the Xc Yc Zc frame with respect to a global frame XM YM ZM (to be defined later) and define the robot's inclination relative to a horizontal plane; these angles are obtained from an Inertial Measurement Unit (IMU) installed on the robot. With all the described variables, the position of the center of gravity and the weight vector (both defined according to the Xc Yc Zc frame) can be obtained for any inclination or position of the arm, through (3) and (4) respectively (Fig. 2a), where a, b, c, d, and r are constants specific to the robot. 3[ WxWyWz ]=W[ sinϕccosϕcsinαccosϕccosαc ]\left[ {\matrix{ {{W_x}} \hfill \cr {{W_y}} \hfill \cr {{W_z}} \hfill \cr } } \right] = W\left[ {\matrix{ {\sin {\phi _c}} \cr {\cos {\phi _c}\sin {\alpha _c}} \cr {\cos {\phi _c}\cos {\alpha _c}} \cr } } \right] 4[ xcogycogzcog ]=[ a+rcosθ1b+rsinθ1cd2+d ]\left[ {\matrix{ {{x_{cog}}} \hfill \cr {{y_{cog}}} \hfill \cr {{z_{cog}}} \hfill \cr } } \right] = \left[ {\matrix{ {a + r\;\cos {\theta _1}} \cr {b + r\;\sin {\theta _1}} \cr {c\;{d_2} + d} \cr } } \right]

2.1.2.
Characterization of the obstacle

According to the established premises, a simplified obstacle was defined as two flat surfaces: Surface 1, where the robot is located before overcoming the obstacle, and Surface 2, where the robot is located after overcoming the obstacle (Fig. 3). These surfaces are delimited by two edges considered straight lines: Edge 1 delimits Surface 1, and Edge 2 delimits Surface 2, so that the space between these edges defines the obstacle. Now, based on this, three frames were defined (Fig. 3):

  • A fixed frame (Xs1 Ys1 Zs1), attached to Surface 1, where the Xs1 Ys1 plane is contained within Surface 1, the Zs1 axis is perpendicular to this surface, and the origin of this frame Os1 coincides with point Oc at an initial time instant (t = 0), when the robot has not yet started the obstacle overcoming process. At this instant, Xs1 Ys1 Zs1 coincides with Xc Yc Zc.

  • A fixed global frame (XM YM ZM) where XM YM is located on a horizontal plane, the XM axis coincides with the horizontal projection of Xs1, ZM is vertical, and the origin OM coincides with Os1.

  • A fixed frame (Xs2 Ys2 Zs2), attached to Surface 2, where the Xs2 Ys2 plane is contained within Surface 2, the Zs2 axis is perpendicular to this surface, the origin of this frame Os2 coincides with the intersection of Edge 2 with the Xs1 Zs1 plane, and the Xs2 axis coincides with the intersection of Surface 2 with the Xs1 Zs1 plane.

Finally, the orientation of the Xs1 Ys1 Zs1 and Xs2 Ys2 Zs2 frames relative to the fixed frame XM YMZM must be established using the Roll (α) and Pitch (φ) angles. Therefore, the following angles are defined:

  • αs1, φs1 : Roll and pitch angles of the Xs1 Ys1 Zs1 frame relative to the XMYMZM frame (define the inclination of Surface 1 relative to horizontal plane).

  • αs2, φs2 : Roll and pitch angles of the Xs2 Ys2 Zs2 frame relative to the XM YM ZM frame (define the inclination of Surface 2 relative to horizontal plane).

Fig. 3.

Geometric parameters used to characterize the obstacle

Lastly, an angle called γb1 is added, which measures the inclination of Edge 1 relative to the Xs1 axis (or direction of robot advancement). All of these angles can be obtained using the IMU and a LiDAR (or arm with 2D rangefinder) installed on the robot.

2.2.
Analysis of reaction forces
2.2.1.
Dynamics of the contact between the robot's wheels and the ground

Let s be a surface where a wheel is positioned; this surface is defined through a frame Xs Ys Zs with its origin located at the wheel's contact point n (n = 1 …4) with the ground, the Xs Ys plane contained in surface s, the Zs axis perpendicular to the surface, and the Xs axis in the rolling direction. With this, we can establish its pitch (φs) and roll (αs) angles relative to a fixed frame XM YM ZM with the same origin as the Xs Ys Zs frame (Fig. 4a).

Fig. 4.

Forces at the wheel-ground contact point: a) robot wheel; b) wheel at the end effector

If wheel n is in contact with surface s, a normal force Fn is produced along the Zs axis, and a friction force Frn is contained within the Xs Ys plane at an angle of inclination n) relative to the Xs axis. If the friction force Frn = μiFn, where μi is the instantaneous coefficient of friction between the wheel and the ground, then the resulting force sFTn\overrightarrow {^s{F_{Tn}}} at contact point n measured in the Xs Ys Zs frame is defined by: 5sFTn=Fn[ μicδnμisδn1 ]\overrightarrow {^s{F_{Tn}}} = {F_n}\left[ {\matrix{ {{\mu _i}c{\delta _n}} \cr {{\mu _i}s{\delta _n}} \cr 1 \cr } } \right]

This force can be expressed in terms of XM YM ZM through (6): 6MFTn=[ cϕssϕssαssϕscαs0cαssαssϕscϕssαscϕscαs ]sFTn\overrightarrow {^M{F_{Tn}}} = \left[ {\matrix{ {c{\phi _s}} & {s{\phi _s}s{\alpha _s}} & {s{\phi _s}c{\alpha _s}} \cr 0 & {c{\alpha _s}} & { - s{\alpha _s}} \cr { - s{\phi _s}} & {c{\phi _s}s{\alpha _s}} & {c{\phi _s}c{\alpha _s}} \cr } } \right]\overrightarrow {^s{F_{Tn}}}

Finally, MFTn\overrightarrow {^M{F_{Tn}}} can be transformed using a frame parallel to the fixed frame of the robot Xc Yc Zc (with origin at the wheel-ground contact point), to obtain cFTn\overrightarrow {^c{F_{Tn}}} through (7) with its components [ FnxFnyFnz ]T{\left[ {\matrix{ {{F_{nx}}} \hfill & {{F_{ny}}} \hfill & {{F_{nz}}} \hfill \cr } } \right]^T} defined by (8)-(10) in terms of the normal force Fn. 7cFTn=[ FnxFnyFnz ]=[ cϕc0sϕcsϕcsαccαccϕcsαcsϕccαcsαccϕccαc ]MFTn\overrightarrow {^c{F_{Tn}}} = \left[ {\matrix{ {{F_{nx}}} \hfill \cr {{F_{ny}}} \hfill \cr {{F_{nz}}} \hfill \cr } } \right] = \left[ {\matrix{ {c{\phi _c}} & 0 & { - s{\phi _c}} \cr {s{\phi _c}s{\alpha _c}} & {c{\alpha _c}} & {c{\phi _c}s{\alpha _c}} \cr {s{\phi _c}c{\alpha _c}} & { - s{\alpha _c}} & {c{\phi _c}c{\alpha _c}} \cr } } \right]\overrightarrow {^M{F_{Tn}}} 8Fnx=Fn [ cϕc(μicϕscδn+μisϕssαssδn+sϕscαs) sϕc(μisϕscδn+μicϕssαssδn+cϕscαs) ]{F_{nx}} = {F_n}\left[ {c{\phi _c}\left({{\mu _i}c{\phi _s}c{\delta _n} + {\mu _i}s{\phi _s}s{\alpha _s}s{\delta _n} + s{\phi _s}c{\alpha _s}} \right) - } \right.\left. {s{\phi _c}\left({ - {\mu _i}s{\phi _s}c{\delta _n} + {\mu _i}c{\phi _s}s{\alpha _s}s{\delta _n} + c{\phi _s}c{\alpha _s}} \right)} \right] 9Fny=Fn [ sϕcsαc(μicϕscδn+μisϕssαssδn+sϕscαs)+ cαc(μicαssδnsαs)+cϕcsαc( μisϕscδn+ μicϕssαssδn+cϕscαs ) ]{F_{ny}} = {F_n}\left[ {s{\phi _c}s{\alpha _c}\left({{\mu _i}c{\phi _s}c{\delta _n} + {\mu _i}s{\phi _s}s{\alpha _s}s{\delta _n} + s{\phi _s}c{\alpha _s}} \right) + } \right.c{\alpha _c}\left({{\mu _i}c{\alpha _s}s{\delta _n} - s{\alpha _s}} \right) + c{\phi _c}s{\alpha _c}\left({ - {\mu _i}s{\phi _s}c{\delta _n} + } \right.\left. {\left. {{\mu _i}c{\phi _s}s{\alpha _s}s{\delta _n} + c{\phi _s}c{\alpha _s}} \right)} \right] 10Fnz=Fn [ sϕccαc(μicϕscδn+μisϕssαssδn+sϕscαs) sαc(μicαssδnsαs)+cϕccαc( μisϕscδn+ μicϕssαssδn+cϕscαs ) ]{F_{nz}} = {F_n}\left[ {s{\phi _c}c{\alpha _c}\left({{\mu _i}c{\phi _s}c{\delta _n} + {\mu _i}s{\phi _s}s{\alpha _s}s{\delta _n} + s{\phi _s}c{\alpha _s}} \right) - } \right.s{\alpha _c}\left({{\mu _i}c{\alpha _s}s{\delta _n} - s{\alpha _s}} \right) + c{\phi _c}c{\alpha _c}\left({ - {\mu _i}s{\phi _s}c{\delta _n} + } \right.\left. {\left. {{\mu _i}c{\phi _s}s{\alpha _s}s{\delta _n} + c{\phi _s}c{\alpha _s}} \right)} \right]

2.2.2.
Dynamics of the contact of the end effector wheel with the ground

The end effector of the arm installed on the Lázaro robot is a steerable wheel that, due to its characteristics, is considered omnidirectional. Therefore, the friction present occurs due to rolling effects; the magnitude of this friction is much lower than the sliding friction present in the other wheels of the robot. Therefore, for this wheel, friction is considered negligible, which implies that when this wheel touches the ground, it is only subjected to a normal force Fn (Fig. 4b). Thus, if we follow the procedure defined in the previous section but consider that μi=0, we can find equations (11)(13) that define the projections of the normal force F5 of this wheel with respect to the Xc Yc Zc frame. Finally, it is worth noting that the Lázaro robot has a resistive force sensor attached to the end effector, which allows estimating the magnitude of F5z, from which the rest of the components can be estimated. 11F5x=F5(cϕcsϕscαssϕccϕscαs){F_{5x}} = {F_5}\left({c{\phi _c}s{\phi _s}c{\alpha _s} - s{\phi _c}c{\phi _s}c{\alpha _s}} \right) 12F5y=F5(sϕcsαcsϕscαscαcsαs+cϕcsαccϕscαs){F_{5y}} = {F_5}\left({s{\phi _c}s{\alpha _c}s{\phi _s}c{\alpha _s} - c{\alpha _c}s{\alpha _s} + c{\phi _c}s{\alpha _c}c{\phi _s}c{\alpha _s}} \right) 13F5z=F5(sϕccαcsϕscαs+sαcsαs+cϕccαccϕscαs){F_{5z}} = {F_5}\left({s{\phi _c}c{\alpha _c}s{\phi _s}c{\alpha _s} + s{\alpha _c}s{\alpha _s} + c{\phi _c}c{\alpha _c}c{\phi _s}c{\alpha _s}} \right)

2.3.
Analysis of Total Slippage Propensity
2.3.1.
Slippage Index (Is) Definition for Overcoming Obstacles

When a robot moves on an inclined surface, it can experience downhill slipping that may cause a deviation from its trajectory. In [23], a metric was developed to quantitatively estimate this risk in such cases. However, this metric is not useful when the robot is overcoming an obstacle because, in this scenario, the robot is positioned on two surfaces that may have different inclinations and properties. Therefore, it became imperative to develop a new metric in this case, which was defined based on the following premises:

  • Although uncommon, the general case was considered where each surface may have its own static coefficient of friction (μs) when it is in contact with the robot's wheels. Therefore, μs1 and μs2 are the static coefficients of friction on surfaces 1 and 2, respectively.

  • Each wheel has its own instant coefficient of friction (μi) with the ground. However, considering that the wheels on the same surface touch the same material (with identical properties), a single average instant coefficient of friction was assumed for the wheels touching a surface. Therefore, when the robot is overcoming an obstacle and its wheels touch two surfaces, μ1 and μ2 appear as the instant coefficients of friction of the wheels on surfaces 1 and 2, respectively.

  • During the obstacle traversal, if a pair of wheels positioned on one surface starts to slip, they will immediately induce slippage in the other two wheels (positioned on the other surface); this indicates that slippage is not independent on each surface. Operationally, if slippage occurs when the instantaneous coefficient of friction (μi) equals the static coefficient of friction (μi = μs), both pairs of wheels simultaneously reach their respective μs if: 14μ1μ2=μS1μS2{{{\mu _1}} \over {{\mu _2}}} = {{{\mu _{S1}}} \over {{\mu _{S2}}}}

  • When an individual element positioned on a surface starts to slip, it tends to move in the direction of maximum slope of the surface. However, this premise does not necessarily hold true in a complex system like a robot with multiple wheels, whose contacts are simultaneously distributed between two surfaces.

  • The friction force on each wheel has an orientation angle δn with respect to the Xs axis. This angle depends mainly on the slope of the surface where the wheel is positioned and on the overall robot inclination; although it can also be affected by additional forces from other wheels and external disturbances. However, in this work, these additional influences were neglected, so it was considered that the wheels on the same surface will have the same δn, resulting in δ1 and δ2 corresponding to friction forces on surfaces 1 and 2, respectively.

Now, there is no slipping between two surfaces when Fs maxFs, where Fs is the static friction force and Fs max is the maximum static friction force. In the case of a wheel n touching a surface, Fs = μiFn, where Fn is the normal force; furthermore, Fs max = μsFn s, where Fn s is the normal force calculated for the limit condition before slipping occurs. Therefore, the relationship Fs maxFs can be rewritten as: 15μsFnsμiFn{\mu _s}{F_{n\;s}} \ge {\mu _i}{F_n}

Additionally, if it is considered that when two wheels n and m are on the same surface, they have the same μs and μi, it can be stated according to (15) that: 16μs(Fm+Fn)sμi(Fm+Fn){\mu _s}{\left({{F_m} + {F_n}} \right)_s} \ge {\mu _i}\left({{F_m} + {F_n}} \right)

Where (Fm + Fn)s is the sum of the normal forces belonging to wheels m and n calculated for the limit condition before slipping, while (Fm + Fn) corresponds to the sum of these forces for an instantaneous condition with coefficient of friction μi. Based on this, a normalized slipping index Is was defined by (17) whose magnitude is bounded between 1 and 0:1 for maximum grip with the ground and 0 for imminent slipping of the pair of wheels under study. 17Is=μs(Fm+Fn)sμi(Fm+Fn)μs(Fm+Fn)s{I_s} = {{{\mu _s}{{\left({{F_m} + {F_n}} \right)}_s} - {\mu _i}\left({{F_m} + {F_n}} \right)} \over {{\mu _s}{{\left({{F_m} + {F_n}} \right)}_s}}}

Finally, if we consider that during obstacle overcoming the robot positions two wheels on each surface (Fig. 2b), an Is can be defined for each surface (Is1, Is2), and a general index Isg given by (18). This index allows evaluating the robot's propensity for slipping as a single system. 18Isg=min(Is1,Is2){I_{sg}} = \min \left({{I_{s1}},{I_{s2}}} \right)

Now, an analysis of the normal forces of wheels m and n was conducted in section 2.2.1, but the equations found include μi and δn, which are variables depending on the robot's instantaneous position at a given moment. These parameters are not directly obtained; therefore, in the following sections, an attempt is made to estimate these parameters.

2.3.2.
Estimation of δn according to the obstacle's configuration

As previously mentioned, the orientation angle of the friction force on a wheel δn with respect to the Xs axis primarily depends on the inclination of the surface where the wheel is positioned, the inclination of the robot, and other factors already described that make its exact determination difficult, considering the robot as a system that has multiple δn but simplified to two in our case: one for each pair of wheels touching the same surface. Therefore, to initiate this study, the following angles shown in Fig. 5a were determined, which subsequently allow estimating δn depending on the system's conditions. These angles are:

  • βs : slope angle of surface s (maximum slope) relative to the Xs axis, defined in the XsYsZs frame. 19βs=tan1(sinαScosϕSsinϕS){\beta _s} = {\tan ^{ - 1}}\left({{{ - \sin {\alpha _S}\cos {\phi _S}} \over {\sin {\phi _S}}}} \right)

  • εs : slope angle opposite to the inclination of surface s (opposite to the maximum slope) relative to the Xs axis, defined in the XsYsZs frame. 20εs=tan1[ sinαS(sin2ϕS+1)cosϕSsinϕS ]{\varepsilon _s} = {\tan ^{ - 1}}\left[ {{{\sin {\alpha _S}\left({{{\sin }^2}{\phi _S} + 1} \right)} \over { - \cos {\phi _S}\sin {\phi _S}}}} \right]

  • βc : director angle of the robot's inclination (maximum slope of the XcYc plane) with respect to the XM axis, defined in the XMYMZM frame.

  • εc : angle opposite to the inclination of the robot (opposite to the maximum slope of the XcYc plane) with respect to the XM axis, defined in the XMYMZM frame.

Although βc and εc are defined in the XM YM ZM frame, their projection can be found in the Xs Ys Zs frame corresponding to the surface that the wheel touches (see Fig. 5b) through: 21sβc=tan1(sϕssαssϕccαccαssαccϕssϕccαc)^s{\beta _c} = {\tan ^{ - 1}}\left({{{s{\phi _s}s{\alpha _s}s{\phi _c}c{\alpha _c} - c{\alpha _s}s{\alpha _c}} \over {c{\phi _s}s{\phi _c}c{\alpha _c}}}} \right) 22sεc=tan1(sϕssαSsϕccαc+cαSsαccϕssϕccαc)^s{\varepsilon _c} = {\tan ^{ - 1}}\left({{{s{\phi _s}s{\alpha _S}s{\phi _c}c{\alpha _c} + c{\alpha _S}s{\alpha _c}} \over { - c{\phi _s}s{\phi _c}c{\alpha _c}}}} \right)

Once these angles were defined, a study was conducted based on multiple simulations carried out on a robot model in the MSC. ADAMS software that allowed studying δn and drawing some conclusions about it (associated with the angles defined previously). The results of these simulations are shown in Fig. 6, and from this, it can be stated that:

  • When both surfaces are inclined in the same direction (β1 = β2), the robot slides in the direction of the maximum slope of these surfaces (see Fig. 6b, d, f, h), therefore, the friction force takes the opposite direction, such that δ1 = δ2 = εs.

  • When one surface is horizontal, the friction of the wheels on that surface tends to take the direction of the friction of the other surface (see Fig. 6a, c, e, g), therefore δ1 = δ2.

  • When both surfaces have a similar inclination (|β1β2| ≤ 90°), the friction on the wheels on both surfaces tends to take the opposite direction to that shown by the maximum slope on each surface (see Fig. 6i, j, q, r). Therefore, it is assumed that δ1 = ε1 and δ2 = ε2.

  • When both surfaces have a non-analogous inclination (|β1β2| > 90°, see Fig. 6k - p), the direction of the friction force tends to mostly follow the opposite direction of the maximum slope of the Xc Yc plane that defines the robot's inclination (δ1 = s1 εc and δ2 = s2 εc), in situations where slipping is possible:

    • On surfaces resembling a concavity (see Fig. 6m, o), this occurs if the surface facing the robot's natural sliding direction has a high inclination (HIS) while the other surface has a low inclination (LIS).

    • In the case of convex surfaces (see Fig. 6 k, n, p), this happens if the surface facing the robot’s natural sliding direction has a low inclination (LIS) while the other surface has a higher inclination (HIS).

Fig. 5.

Direct angles of the maximum slope on Surface s and on the XC YC plane

Fig. 6.

Results of simulations to estimate δn

This rule is not absolute, as increasing the inclination of the surfaces, this configuration can change (see Fig. 6 l), and there can even be a wedge effect that limits the possibility of sliding.

2.3.3.
Determination of the instantaneous friction coefficient

Once the value of δn has been estimated in the previous section, this segment records a procedure for obtaining the instantaneous friction coefficient μi at the moment when the robot is overcoming the obstacle and has a pair of wheels positioned on each surface (see Fig. 7). This procedure is described separately for the case of overcoming the obstacle with the elevation of the front wheels (Fig. 7a) and overcoming with the side wheels (Fig. 7b).

Fig. 7.

Robot overcoming obstacle with two wheels on each surface

Overcoming obstacles with front wheels: In this case, during the obstacle overcoming, the two front wheels are on surface 2 while the two rear wheels are positioned on surface 1. The reaction forces of the 4 wheels represented in the Xc Yc Zc frame through their components Fnx, Fny and Fnz (Fig. 7a) are obtained from (8)-(10). 23{ a=cϕccϕs2cδ2+cϕcsϕs2sαs2sδ2+sϕcsϕs2cδ2sϕccϕs2sαs2sδ2b=cϕcsϕs2cαs2sϕccϕs2cαs2c=sϕcsαccϕs2cδ2+sϕcsαcsϕs2sαs2sδ2+cαccαs2sδ2cϕcsαcsϕs2cδ2+cϕcsαccϕs2sαs2sδ2d=sϕcsαcsϕs2cαs2cαcsαs2+cϕcsαccϕs2cαs2e=sϕccαccϕs2cδ2+sϕccαcsϕs2sαs2sδ2sαccαs2sδ2cϕccαcsϕs2cδ2+cϕccαccϕs2sαs2sδ2f=sϕccαcsϕs2cαs2+sαcsαs2+cϕccαccϕs2cαs2 \left\{ {\matrix{ {a = c{\phi _c}c{\phi _{s2}}c{\delta _2} + c{\phi _c}s{\phi _{s2}}s{\alpha _{s2}}s{\delta _2} + s{\phi _c}s{\phi _{s2}}c{\delta _2} - s{\phi _c}c{\phi _{s2}}s{\alpha _{s2}}s{\delta _2}} \hfill \cr {b = c{\phi _c}s{\phi _{s2}}c{\alpha _{s2}} - s{\phi _c}c{\phi _{s2}}c{\alpha _{s2}}} \hfill \cr {c = s{\phi _c}s{\alpha _c}c{\phi _{s2}}c{\delta _2} + s{\phi _c}s{\alpha _c}s{\phi _{s2}}s{\alpha _{s2}}s{\delta _2} + c{\alpha _c}c{\alpha _{s2}}s{\delta _2} - c{\phi _c}s{\alpha _c}s{\phi _{s2}}c{\delta _2} + c{\phi _c}s{\alpha _c}c{\phi _{s2}}s{\alpha _{s2}}s{\delta _2}} \hfill \cr {d = s{\phi _c}s{\alpha _c}s{\phi _{s2}}c{\alpha _{s2}} - c{\alpha _c}s{\alpha _{s2}} + c{\phi _c}s{\alpha _c}c{\phi _{s2}}c{\alpha _{s2}}} \hfill \cr {e = s{\phi _c}c{\alpha _c}c{\phi _{s2}}c{\delta _2} + s{\phi _c}c{\alpha _c}s{\phi _{s2}}s{\alpha _{s2}}s{\delta _2} - s{\alpha _c}c{\alpha _{s2}}s{\delta _2} - c{\phi _c}c{\alpha _c}s{\phi _{s2}}c{\delta _2} + c{\phi _c}c{\alpha _c}c{\phi _{s2}}s{\alpha _{s2}}s{\delta _2}} \hfill \cr {f = s{\phi _c}c{\alpha _c}s{\phi _{s2}}c{\alpha _{s2}} + s{\alpha _c}s{\alpha _{s2}} + c{\phi _c}c{\alpha _c}c{\phi _{s2}}c{\alpha _{s2}}} \hfill \cr } } \right.

These equations include both the normal force Fn and the friction force (represented through μi and δn), of which Fn for each wheel and μi for each pair of wheels positioned on a surface are unknown. Therefore, these equations can be rewritten for the front wheels as: 23F1x=F1(μ2a+b)F1y=F1(μ2c+d)F1z=F1(μ2e+f)\matrix{ {{F_{1x}}} \hfill & { = {F_1}\left({{\mu _2}a + b} \right)} \hfill & {{F_{1y}}} \hfill & { = {F_1}\left({{\mu _2}c + d} \right)} \hfill \cr {{F_{1z}}} \hfill & { = {F_1}\left({{\mu _2}e + f} \right)} \hfill & {} \hfill & {} \hfill \cr } 24F2x=F2(μ2a+b)F2y=F2(μ2c+d)F2z=F2(μ2e+f)\matrix{ {{F_{2x}}} \hfill & { = {F_2}\left({{\mu _2}a + b} \right)} \hfill & {{F_{2y}}} \hfill & { = {F_2}\left({{\mu _2}c + d} \right)} \hfill \cr {{F_{2z}}} \hfill & { = {F_2}\left({{\mu _2}e + f} \right)} \hfill & {} \hfill & {} \hfill \cr }

Where μ2 is the instantaneous friction coefficient of wheels 1 and 2 positioned on surface 2, and a, b, c, d, e, and f are process variables defined by (23).

In the case of the rear wheels positioned on surface 1, the reaction forces are defined by: 26F3x=F3(μ1g+h)F3y=F3(μ1i+j)F3z=F3(μ1k+l)F4x=F4(μ1g+h)F4y=F4(μ1i+j)\matrix{ {\matrix{ {{F_{3x}}} \hfill & { = {F_3}\left({{\mu _1}g + h} \right)} \hfill & {{F_{3y}}} \hfill & { = {F_3}\left({{\mu _1}i + j} \right)} \hfill \cr {{F_{3z}}} \hfill & { = {F_3}\left({{\mu _1}k + l} \right)} \hfill & {} \hfill & {} \hfill \cr } } \hfill \cr {\matrix{ {{F_{4x}}} \hfill & { = {F_4}\left({{\mu _1}g + h} \right)} \hfill & {{F_{4y}}} \hfill & { = {F_4}\left({{\mu _1}i + j} \right)} \hfill \cr } } \hfill \cr } 27F4z=F4(μ1k+l){F_{4z}} = {F_4}\left({{\mu _1}k + l} \right)

Where μ1 is the instantaneous friction coefficient of wheels 3 and 4 positioned on surface 1, and g, h, i, j, k, and l are process variables defined by (28).

28{ g=cϕccϕs1cδ1+cϕcsϕs1sαs1sδ1+sϕcsϕs1cδ1sϕccϕs1sαs1sδ1h=cϕcsϕs1cαs1sϕccϕs1cαs1i=sϕcsαccϕs1cδ1+sϕcsαcsϕs1sαs1sδ1+cαccαs1sδ1cϕcsαcsϕs1cδ1+cϕcsαccϕs1sαs1sδ1j=sϕcsαcsϕs1cαs1cαcsαs1+cϕcsαccϕs1cαs1k=sϕccαccϕs1cδ1+sϕccαcsϕs1sαs1sδ1sαccαs1sδ1cϕccαcsϕs1cδ1+cϕccαccϕs1sαs1sδ1l=sϕccαcsϕs1cαs1+sαcsαs1+cϕccαccϕs1cαs1 \left\{ {\matrix{ {g = c{\phi _c}c{\phi _{s1}}c{\delta _1} + c{\phi _c}s{\phi _{s1}}s{\alpha _{s1}}s{\delta _1} + s{\phi _c}s{\phi _{s1}}c{\delta _1} - s{\phi _c}c{\phi _{s1}}s{\alpha _{s1}}s{\delta _1}} \hfill \cr {h = c{\phi _c}s{\phi _{s1}}c{\alpha _{s1}} - s{\phi _c}c{\phi _{s1}}c{\alpha _{s1}}} \hfill \cr {i = s{\phi _c}s{\alpha _c}c{\phi _{s1}}c{\delta _1} + s{\phi _c}s{\alpha _c}s{\phi _{s1}}s{\alpha _{s1}}s{\delta _1} + c{\alpha _c}c{\alpha _{s1}}s{\delta _1} - c{\phi _c}s{\alpha _c}s{\phi _{s1}}c{\delta _1} + c{\phi _c}s{\alpha _c}c{\phi _{s1}}s{\alpha _{s1}}s{\delta _1}} \hfill \cr {j = s{\phi _c}s{\alpha _c}s{\phi _{s1}}c{\alpha _{s1}} - c{\alpha _c}s{\alpha _{s1}} + c{\phi _c}s{\alpha _c}c{\phi _{s1}}c{\alpha _{s1}}} \hfill \cr {k = s{\phi _c}c{\alpha _c}c{\phi _{s1}}c{\delta _1} + s{\phi _c}c{\alpha _c}s{\phi _{s1}}s{\alpha _{s1}}s{\delta _1} - s{\alpha _c}c{\alpha _{s1}}s{\delta _1} - c{\phi _c}c{\alpha _c}s{\phi _{s1}}c{\delta _1} + c{\phi _c}c{\alpha _c}c{\phi _{s1}}s{\alpha _{s1}}s{\delta _1}} \hfill \cr {l = s{\phi _c}c{\alpha _c}s{\phi _{s1}}c{\alpha _{s1}} + s{\alpha _c}s{\alpha _{s1}} + c{\phi _c}c{\alpha _c}c{\phi _{s1}}c{\alpha _{s1}}} \hfill \cr } } \right.

Next, static equilibrium operations were carried out using the second law of Newton (summation of forces and moments) with respect to the Xc Yc Zc frame, i.e., ∑FXc = 0, ∑FYc = 0, ∑FZc = 0 and ∑M3–4 = 0, to find the following system of equations with 4 unknowns [(F1 + F2), (F3 + F4), μ1, μ2]: 29{ (F1+F2)(μ2a+b)+(F3+F4)(μ1g+h)+m=0(F1+F2)(μ2c+d)+(F3+F4)(μ1i+j)+n=0(F1+F2)(μ2e+f)+(F3+F4)(μ1k+l)+o=0(F1+F2)(μ2e+f)p+q=0 \left\{ {\matrix{ {\left({{F_1} + {F_2}} \right)\left({{\mu _2}a + b} \right) + \left({{F_3} + {F_4}} \right)\left({{\mu _1}g + h} \right) + m = 0} \hfill \cr {\left({{F_1} + {F_2}} \right)\left({{\mu _2}c + d} \right) + \left({{F_3} + {F_4}} \right)\left({{\mu _1}i + j} \right) + n = 0} \hfill \cr {\left({{F_1} + {F_2}} \right)\left({{\mu _2}e + f} \right) + \left({{F_3} + {F_4}} \right)\left({{\mu _1}k + l} \right) + o = 0} \hfill \cr {\left({{F_1} + {F_2}} \right)\left({{\mu _2}e + f} \right)p + q = 0} \hfill \cr } } \right.

Where m, n, o, p, and q are process variables defined by: 30{ m=WxF5xn=F5yWyo=F5zWzp=xtΔxr+Δxfq=F5z(xrΔxr+a1cθ1)F5x(d2d2c)Wz(xrΔxr+xcog)Wxzcog \left\{ {\matrix{ {m = {W_x} - {F_{5x}}} \hfill \cr {n = {F_{5y}} - {W_y}} \hfill \cr {o = {F_{5z}} - {W_z}} \hfill \cr {p = {x_t} - \Delta {x_r} + \Delta {x_f}} \hfill \cr {q = {F_{5z}}\left({{x_r} - \Delta {x_r} + {a_1}c{\theta _1}} \right)} \hfill \cr { - {F_{5x}}\left({{d_2} - {d_{2c}}} \right) - {W_z}\left({{x_r} - \Delta {x_r} + {x_{cog}}} \right) - {W_x}{z_{cog}}} \hfill \cr } } \right.

Then, by algebraically manipulating the system given in (29), the following can be found: 31F1+F2=qp(μ2e+f){F_1} + {F_2} = {{ - q} \over {p\left({{\mu _2}e + f} \right)}} 32F3+F4=qopp(μ1k+l){F_3} + {F_4} = {{q - op} \over {p\left({{\mu _1}k + l} \right)}} 33rμ1+sμ1μ2+tμ2+v=0r{\mu _1} + s{\mu _1}{\mu _2} + t{\mu _2} + v = 0

Where r, s, t, and v are process variables such that: 34{ r=qk(b+d)+f(qop)(g+i)+pfk(m+n)s=qk(a+c)+e(qop)(g+i)+pek(m+n)t=ql(a+c)+e(qop)(h+j)+pel(m+n)v=ql(b+d)+f(qop)(h+j)+pfl(m+n) \left\{ {\matrix{ {r = - qk(b + d) + f(q - op)(g + i) + pfk(m + n)} \hfill \cr {s = - qk(a + c) + e(q - op)(g + i) + pek(m + n)} \hfill \cr {t = - ql(a + c) + e(q - op)(h + j) + pel(m + n)} \hfill \cr {v = - ql(b + d) + f(q - op)(h + j) + pfl(m + n)} \hfill \cr } } \right.

Finally, knowing that μ1 and μ2 are theoretically related through (14), we can solve for μ2 to find that: 35μ2=(rμs1+tμs2)±(rμs1+tμs2)24svμs1μs22sμs1{\mu _2} = {{ - \left({r{\mu _{s1}} + t{\mu _{s2}}} \right) \pm \sqrt {{{\left({r{\mu _{s1}} + t{\mu _{s2}}} \right)}^2} - 4sv{\mu _{s1}}{\mu _{s2}}} } \over {2s{\mu _{s1}}}}

If μ2μs2, then μ2 = μs2 so that slipping is imminent (Is = 0). Finally, knowing μ2, we can find μ1 through (14), F1 + F2 from (31) and F3 + F4 from (32), which are necessary to determine the slipping index in each wheel pair given by (17). Additionally, ((F1 + F2)s and (F3 + F4)s can be obtained from (31) and (32) respectively by substituting μ1 with μ1s and μ2 with μ2s.

For obstacle traversal with lateral wheels: In this case, during the obstacle traversal, the two wheels on the same side are on surface 2 while the remaining two wheels are positioned on surface 1 (Fig. 7b). The process to obtain the corresponding instantaneous friction coefficients for each surface (μ1 and μ2) along with the normal reaction forces (Fn + Fm) of each wheel pair is similar to that described for obstacle traversal with front wheels using equations (23)(35), except that now the variables F1 and F2 (with their components) are replaced by the numbers of wheels on surface 2, while F3 and F4 (with their components) are replaced by the numbers of wheels on surface 1. After this, the entire process remains the same, including the process variables, except for p and q, which now take the following values: 36{ p=ytq=F5z(yt2a1sθ1)F5y(d2d2c)+Wz(yt2ycog)+Wyzcog \left\{ {\matrix{ {p = - {y_t}} \hfill \cr {q = - {F_{5z}}\left({{{{y_t}} \over 2} - {a_1}s{\theta _1}} \right) - {F_{5y}}\left({{d_2} - {d_{2c}}} \right) + {W_z}\left({{{{y_t}} \over 2} - {y_{cog}}} \right) + {W_y}{z_{cog}}} \hfill \cr } } \right.

2.3.4.
Analysis when the robot is supported by 2 wheels plus the end effector

This case occurs during certain stages of obstacle traversal when the robot is only supported by two wheels plus the end effector (Fig. 8). In this scenario, only two wheels provide sufficient grip to prevent slipping, so it is necessary to analyze them to determine their slip index (Is). If the robot is supported by two wheels, m and n, and the weight components (Wx, Wy, Wz) are known, the normal force F5 on the end effector can be determined according to the following cases:

  • The front wheels are lifted (F1 + F2 = 0): F5 is obtained through (37),

  • The rear wheels are lifted ((F3 + F4 = 0): F5 is obtained through (38),

  • The left-side wheels are lifted (F1 + F4 = 0): F5 is obtained through (39),

  • The right-side wheels are lifted (F2 + F3 = 0): F5 is obtained through (40). 37F5=[ Wz(xrΔxr+xcog)+Wxzcog ]/ [ (xrΔxr+a1cθ1)(sϕccαcsϕscαs+sαcsαs+cϕccαccϕscαs)+( cϕcsϕscαs sϕccϕscαs )(d2d2c) ]{F_5} = \left[ {{W_z}\left({{x_r} - \Delta {x_r} + {x_{cog}}} \right) + {W_x}{z_{cog}}} \right]/\left[ {\left({{x_r} - \Delta {x_r} + {a_1}c{\theta _1}} \right)\left({s{\phi _c}c{\alpha _c}s{\phi _s}c{\alpha _s} + s{\alpha _c}s{\alpha _s} + c{\phi _c}c{\alpha _c}c{\phi _s}c{\alpha _s}} \right) + \left({c{\phi _c}s{\phi _s}c{\alpha _s} - } \right.} \right.\left. {\left. {s{\phi _c}c{\phi _s}c{\alpha _s}} \right)\left({{d_2} - {d_{2c}}} \right)} \right] 38F5=[ Wz(xf+Δxfxcog)Wxzcog ]/ [ (xf+Δxfa1cθ1)( sϕccαcsϕsicαsi+sαcsαsi+ cϕccαccϕsicαsi )+(cϕcsϕsicαsisϕccϕsicαsi)(d2d2c) ]{F_5} = \left[ {{W_z}\left({{x_f} + \Delta {x_f} - {x_{cog}}} \right) - {W_x}{z_{cog}}} \right]/\left[ {({x_f} + \Delta {x_f} - {a_1}c{\theta _1})\left({s{\phi _c}c{\alpha _c}s{\phi _{si}}c{\alpha _{si}} + s{\alpha _c}s{\alpha _{si}} + } \right.} \right.\left. {\left. {c{\phi _c}c{\alpha _c}c{\phi _{si}}c{\alpha _{si}}} \right) + \left({c{\phi _c}s{\phi _{si}}c{\alpha _{si}} - s{\phi _c}c{\phi _{si}}c{\alpha _{si}}} \right)\left({{d_2} - {d_{2c}}} \right)} \right] 39F5=[ Wz(yt2+ycog)Wyzcog ]/ [ (yt2+a1sθ1)(sϕccαcsϕsicαsi+sαcsαsi+cϕccαccϕsicαsi)( sϕcsαcsϕsicαsi cαcsαsi+cϕcsαccϕsicαsi )(d2d2c) ]{F_5} = \left[ {{W_z}\left({{{{y_t}} \over 2} + {y_{cog}}} \right) - {W_y}{z_{cog}}} \right]/\left[ {\left({{{{y_t}} \over 2} + {a_1}s{\theta _1}} \right)\left({s{\phi _c}c{\alpha _c}s{\phi _{si}}c{\alpha _{si}} + s{\alpha _c}s{\alpha _{si}} + c{\phi _c}c{\alpha _c}c{\phi _{si}}c{\alpha _{si}}} \right) - \left({s{\phi _c}s{\alpha _c}s{\phi _{si}}c{\alpha _{si}} - } \right.} \right.\left. {\left. {c{\alpha _c}s{\alpha _{si}} + c{\phi _c}s{\alpha _c}c{\phi _{si}}c{\alpha _{si}}} \right)\left({{d_2} - {d_{2c}}} \right)} \right] 40F5=[ Wz(yt2ycog)+Wyzcog ]/ [ (yt2a1sθ1)(sϕccαcsϕsicαsi+sαcsαsi+cϕccαccϕsicαsi)+( sϕcsαcsϕsicαsi cαcsαsi+cϕcsαccϕsicαsi )(d2d2c) ]{F_5} = \left[ {{W_z}\left({{{{y_t}} \over 2} - {y_{cog}}} \right) + {W_y}{z_{cog}}} \right]/\left[ {\left({{{{y_t}} \over 2} - {a_1}s{\theta _1}} \right)\left({s{\phi _c}c{\alpha _c}s{\phi _{si}}c{\alpha _{si}} + s{\alpha _c}s{\alpha _{si}} + c{\phi _c}c{\alpha _c}c{\phi _{si}}c{\alpha _{si}}} \right) + \left({s{\phi _c}s{\alpha _c}s{\phi _{si}}c{\alpha _{si}} - } \right.} \right.\left. {\left. {c{\alpha _c}s{\alpha _{si}} + c{\phi _c}s{\alpha _c}c{\phi _{si}}c{\alpha _{si}}} \right)\left({{d_2} - {d_{2c}}} \right)} \right]

Fig. 8.

Robot overcoming obstacle supported by 2 wheels and the end effector

After obtaining F5, its components (F5x, F5y, F5z) defined in the Xc Yc Zc frame (see Fig. 8) can be derived using equations (11)-(13). Subsequently, the principles of the second law of Newton (sum of forces equals zero) according to the Xc Yc Zc frame can be used to find the sum of reaction forces belonging to the two wheels touching the ground on the same surface: 41cFmn=[ FmnxFmnyFmnz ]=[ Fmx+FnxFmy+FnyFmz+Fnz ]=[ (Wx+F5x)WyF5yWzF5z ]\matrix{ {^c{{\vec F}_{mn}}} \hfill & { = \left[ {\matrix{ {{F_{mnx}}} \hfill \cr {{F_{mny}}} \hfill \cr {{F_{mnz}}} \hfill \cr } } \right]} \hfill & { = \left[ {\matrix{ {{F_{mx}} + {F_{nx}}} \hfill \cr {{F_{my}} + {F_{ny}}} \hfill \cr {{F_{mz}} + {F_{nz}}} \hfill \cr } } \right]} \hfill & { = \left[ {\matrix{ { - \left({{W_x} + {F_{5x}}} \right)} \cr {{W_y} - {F_{5y}}} \cr {{W_z} - {F_{5z}}} \cr } } \right]} \hfill \cr }

Then, Fmn can be expressed in terms of the XM YM ZM frame through (42) and subsequently, with respect to the Xs Ys Zs frame corresponding to the surface where the two wheels are positioned, through (43): 42MFmn=[ cϕcsϕcsαcsϕccαc0cαcsαcsϕccϕcsαccϕccαc ]ccFmn\matrix{ {^M{{\vec F}_{mn}}} \hfill & = \hfill & {{{\left[ {\matrix{ {c{\phi _c}} \hfill & {s{\phi _c}s{\alpha _c}} \hfill & {s{\phi _c}c{\alpha _c}} \hfill \cr 0 \hfill & {c{\alpha _c}} \hfill & { - s{\alpha _c}} \hfill \cr { - s{\phi _c}} \hfill & {c{\phi _c}s{\alpha _c}} \hfill & {c{\phi _c}c{\alpha _c}} \hfill \cr } } \right]}^c}} \hfill & {^c{{\vec F}_{mn}}} \hfill \cr } 43sFmn=[ sFmnxsFmnysFmnz ]=[ cϕs0sϕssϕssαscαscϕssαssϕscαssαscϕscαs ]mFmn\matrix{ {^s{{\vec F}_{mn}}} \hfill & { = \left[ {\matrix{ {^s{F_{mnx}}} \cr {^s{F_{mny}}} \cr {^s{F_{mnz}}} \cr } } \right]} \hfill & { = \left[ {\matrix{ {c{\phi _s}} & 0 & { - s{\phi _s}} \cr {s{\phi _s}s{\alpha _s}} & {c{\alpha _s}} & {c{\phi _s}s{\alpha _s}} \cr {s{\phi _s}c{\alpha _s}} & { - s{\alpha _s}} & {c{\phi _s}c{\alpha _s}} \cr } } \right]\;{\;^m}{{\vec F}_{mn}}\;} \hfill \cr }

Finally, considering the assumptions made in this work: both wheels on the same surface have a single μi and δn, we can consider that the combined normal force between the two wheels is sFmnz, while the combined friction force is sFmnx2+sFmny2\sqrt {^sF_{mnx}^2{ + ^s}F_{mny}^2} . Therefore, μi can be determined using (44) and δn using (45). With this information known, the sliding index Is can be determined through (17) and it is also considered that the general index Isg = Is since there is only sliding contact with one surface. 44μi=sFmnx2+sFmny2sFmnz{\mu _i} = {{\sqrt {^sF_{mnx}^2{ + ^s}F_{mny}^2} } \over {^s{F_{mnz}}}} 45δn=tan1sFmnysFmnx{\delta _n} = {\tan ^{ - 1}}{{^s{F_{mny}}} \over {^s{F_{mnx}}}}

3.
RESULTS AND DISCUSSION
3.1.
Validation of Is using MSC. ADAMS

To validate the proposed Is, 6 tests were conducted using the robot model simulated in the MSC. ADAMS software. In each test, two wheels of the robot were placed on surface S1 while the remaining two wheels were on surface S2 (see Fig. 9); simultaneously, one of the two surfaces (S1 or S2) slowly rotated through a joint "A" to increase its inclination either in one direction (Fig. 9a, b, c, d) or in two directions (Fig. 9e, f). Each simulation was run until the robot lost grip with the ground and total sliding began. To complete the validation, in each of the 6 tests, 3 additional simulations were performed where the end effector of the arm was in contact with one of the two surfaces (S1 or S2), exerting a reaction force with magnitudes of 15, 30, and 45 N. In total, this validation consisted of 24 simulations.

Fig. 9.

Simulations to validate Is with the robot touching the ground with 4 wheels

On the other hand, to make the simulations more realistic, the characteristics of the contact between the wheels and the surfaces were methodically defined. Specifically, the MSC. ADAMS software uses the IMPACT function to define contact between two surfaces; in [44], it is indicated that this function is based on the Hertzian contact theory but considers the non-linear contact force Fc = k(x1x)e, where (x1x) is the depth of penetration during contact, e is the exponent of the force whose recommended magnitudes are listed in (46) and k is the static stiffness parameter defined through (47). 46e={ 2.2 Hard materials like steel 1.5 Soft metals like aluminum 1.1 Very soft materials like rubber \matrix{ e \hfill & { = \left\{ {\matrix{ {2.2} \hfill & { Hard materials like steel } \hfill \cr {1.5} \hfill & { Soft metals like aluminum } \hfill \cr {1.1} \hfill & { Very soft materials like rubber } \hfill \cr } } \right.} \hfill \cr } 47k=2[ 3L(1RC1+1RC2)14(1v12E1+1v22E2)1 ]13(1v12E1+1v22E2)1k = 2{\left[ {{{3L{{\left({{1 \over {{R_{C1}}}} + {1 \over {{R_{C2}}}}} \right)}^{ - 1}}} \over {4{{\left({{{1 - v_1^2} \over {{E_1}}} + {{1 - v_2^2} \over {{E_2}}}} \right)}^{ - 1}}}}} \right]^{{1 \over 3}}}{\left({{{1 - v_1^2} \over {{E_1}}} + {{1 - v_2^2} \over {{E_2}}}} \right)^{ - 1}}

Where L is the applied normal load (in this case LW/4), Rc1 and Rc2 are the radii of curvature of the two contacting surfaces; E1 and E2 are the Young's modulus of the materials composing the contacting surfaces; and v1, v2 are the Poisson's ratios of the two materials in contact. For these simulations, it was considered that the robot has Polyethylene wheels and the surfaces S1 and S2 are made of concrete. Therefore, combining these two materials: k = 3017.15 N/mm2 and e ≈ 1.7, these magnitudes were defined by [45]. Additionally, (x1x) = 0.01 mm was used according to the recommendation given by [44]. On the other hand, the IMPACT function takes into account energy dissipation due to deformation; for this, ADAMS uses a parameter to create a damping force that dissipates energy from the system, the maximum magnitude of this parameter is defined as Cmax = 0.01k. Therefore, in these simulations, C = 30.17 N/(mm. s) was used.

Additionally, to perform a realistic simulation, the effect of friction on the contacts between the wheels and surfaces must be considered. MSC. ADAMS uses the Coulomb friction model; therefore, for each contact, the static friction coefficient (μs) and dynamic friction coefficient (μk) must be defined, which depend on the materials in contact. Furthermore, the model used in this program does not allow for perfect contact without sliding; therefore, a "Stiction Velocity (Vs)" or maximum sliding velocity during static friction and a “Transition Velocity between Static and Dynamic Friction (Vd)" must be defined; Vd estimates the sliding during the transition phase between these two types of friction. For this work, Vs = 50 mm/s and Vd = 60 mm/s were defined, so that when the sliding velocity on a wheel is below 50 mm/s, the wheel will be under a regime of static friction (no real sliding), and when this velocity is above 60 mm/s, the wheel will experience total sliding.

The Fig. 10 shows the results obtained from conducting test "a" (according to Fig. 9) with F5z=0 N. Specifically, in Fig. 10a, the reaction forces of the wheels with the ground are shown: F1 + F4, corresponding to the wheels on surface S1; and F2 + F3, the equivalents on surface S2. Additionally, Fig. 10b displays the instantaneous friction coefficients of the 4 wheels on their respective contact surface (μr1, μr2, μr3 and μr4) and the combined friction coefficients between the two wheels in contact for surface S1 (μ1 = [μr1 + μr2]/2) and S2 (μ2 = [μr3 + μr4]/2). Both figures show the correspondence between the results obtained by the theoretical model and their equivalents achieved through simulation: it can be observed that the theoretical model predicts with a high degree of precision the real behavior of the reaction forces and friction coefficients as obtained through simulation: the percentage error obtained between the two analyses is: 1.99% and 1.19% for the reaction forces F1 + F4 and F2 + F3 respectively; furthermore, 0.80% and 3.42% for the friction coefficients μ1 and μ2.

Fig. 10.

Results corresponding to Test "a" (Fig. 9) with F5z=0 N

On the other hand, Fig. 10c shows in the upper graph the sliding velocity Vs of each wheel, while the lower graph displays the slipping index Is calculated with the proposed theoretical model. It can be observed that the slipping index reaches a value of 0 approximately at 3.1 seconds of simulation, indicating that at that moment, the robot should start slipping. This is evidenced by the fact that at the same instant, there is a change in the sliding velocity of each wheel (Vs1, Vs2, Vs3 and Vs4), exceeding the threshold of 60 mm/s, indicating that the wheels have started slipping completely, and consequently, the robot. This analysis is valid for the rest of the tests conducted; for example, in Fig. 11, the results for a simulation corresponding to Test "d" (see Fig. 9) are shown, where the contact surfaces change configuration (the front wheels are on S2 and the rear ones on S1), in addition to F5z =15 N. In this case, the correspondence of results between the theoretical model and the simulation is also show, along with the capability of Is to estimate the exact moment when the slipping begins in the robot. At this point, it is important to mention the results obtained in test "f" (see Fig. 9) where surface S2 rotates descending in two directions. For this case, it was found that the robot loses contact of one wheel with the ground (evidenced by μr2 = 0 at 0.2 s in Fig. 12b), and additionally, it was observed that as F5z increases, the theoretical model becomes less efficient in predicting the exact magnitude of instantaneous friction coefficients (see Fig. 12b) and the exact moment when slipping begins in the robot: in Fig. 12c, the wheels start slipping at 1.75 s while Is ≈ 0.1, which makes the prediction inaccurate in this case. This premise can be validated by studying Tab. 2, which presents the statistical analysis of all simulations conducted: the mean error (μ¯)(\bar \mu), standard deviation (σ), and mean absolute percentage error (MAPE) for the forces on surfaces S1 (Fs1) and S2 (Fs2), and the combined friction coefficients on the same surfaces (μ1 and μ2).

Fig. 11.

Results corresponding to Test "d" (Fig. 9) with F5z=15 N

Tab. 2.

Statistical analysis of simulation results to validate Is Test

TestF5 (N)Fs1Fs2μ1μ2
μ¯(N)\bar \mu ({\rm{N}})σ (N)MAPE (%)μ¯(N)\bar \mu ({\rm{N}})σ (N)MAPE (%)μ¯{\bar \mu }σMAPE (%)μ¯{\bar \mu }σMAPE (%)
a0-2.014.611.991.686.221.190.000.010.80-0.010.013.42
15-1.984.472.131.904.711.430.000.011.570.000.012.32
30-2.044.572.412.004.451.600.020.015.830.000.010.72
45-1.384.541.791.185.001.030.050.0117.250.010.050.24
b01.454.521.00-1.954.632.020.000.000.410.000.011.08
150.275.330.15-0.665.790.750.000.032.250.000.044.53
30-1.755.521.471.456.111.730.000.030.37-0.010.069.85
45-2.084.201.851.744.132.390.020.028.240.010.045.80
c0-7.547.565.167.096.317.500.000.042.27-0.020.038.75
15-8.018.755.227.216.0010.13-0.010.053.21-0.030.049.89
30-7.308.074.576.636.0913.01-0.010.056.60-0.030.059.99
d04.163.464.31-4.472.883.100.010.013.56-0.010.013.69
153.803.613.61-4.242.983.530.010.012.80-0.010.013.72
303.473.802.99-4.033.904.250.010.012.15-0.010.013.53
453.354.252.71-4.045.145.800.000.011.22-0.010.013.93
e0-9.041.776.018.611.9410.52-0.010.024.500.050.015.44
15-9.131.786.449.031.5011.73-0.010.013.820.050.018.88
30-7.577.625.887.484.079.86-0.020.0624.780.040.0115.52
45-8.152.086.778.142.5811.610.000.010.450.040.0617.69
f03.354.663.24-3.904.212.820.020.0115.82-0.020.036.28
153.996.813.49-4.486.663.950.020.0114.91-0.020.068.35
301.325.690.99-2.296.582.75-0.020.0412.12-0.020.028.81
450.775.850.53-1.715.752.76-0.020.0310.13-0.020.037.65

From that table, it is evident that the model becomes more inaccurate as the force F5z increases, especially in cases where the surface moves in two directions (tests e and f). This inefficiency becomes more tangible in determining the combined friction coefficients where a maximum percentage error of 24.78% was reached (in only one simulation), while in other cases, it does not exceed 20%, which qualifies the model as having good forecasting ability according to [46]. However, knowing that in certain situations, a significant error can occur that directly affects the efficiency of the calculated Is, it is recommended from a practical standpoint that at all times Is ≥ 0.2, which ensures safe movement without total slipping while overcoming obstacles.

Fig. 12.

Results corresponding to Test "f" (Fig. 9) with F5z=45 N

On the other hand, to validate Is when the robot is supported on 2 wheels plus the end effector, six additional simulations were conducted (see Fig. 13) where two wheels were supported on one surface (S1 or S2) while the end effector of the arm provided a third point of contact supported on the other surface. Similarly, a surface rotated through a joint "A" either in one direction (see Fig. 13a, b, c, and d) or in two directions (see Fig. 13e and f). It is worth noting that in this case, the magnitude of F5z depends on the system's own dynamics.

Fig. 13.

Simulations to validate Is with the robot touching the ground at three points

Fig. 14 shows the results obtained in test "b" (see Fig. 13). In this case, there is a greater fidelity of the model to estimate the magnitude of the contact forces of the wheels with the ground (F1 + F2, see Fig. 14a). This same accuracy in the model is observed when estimating the magnitude of the combined friction coefficient between the two wheels touching the surface (μ1, see Fig. 14c); although using the model, μ1 reaches its maximum magnitude (μs) before than in the simulation (in the model, this occurs at 1.45 s while in the simulation it occurs at 1.55 s). This also results in Is reaching magnitude 0 at 1.45 s (Fig. 14d), while the robot actually starts to slide at 1.55 s (according to the change observed in the sliding speed Vs in Fig. 14b). This small difference (repeated in all simulations) is far from being detrimental; it allows Is to predict the sliding promptly before it occurs.

Fig. 14.

Results corresponding to Test "b" (see Fig. 13)

Regarding this, Tab. 3 presents the statistical analysis of these simulations: the mean error (μ¯)\left({\bar \mu } \right), standard deviation (σ), and mean absolute percentage error (MAPE) for the forces on surfaces S1 (Fs1) or S2 (Fs2), and the combined friction coefficients on the same surfaces (μ1 or μ2). In this case, the greater accuracy of the model is confirmed, as the absolute percentage error obtained is much lower: the maximum error found was 1.67% for the estimation of μ2 in test "f". Based on this premise, it can be stated that the model provides a forecast of high precision, according to the criteria expressed by [46].

Tab. 3.

Statistical analysis of the simulations when the robot touches the ground at 3 points

TestFs1Fs2μ1μ2
μ¯(N)\bar \mu ({\rm{N}})σ (N)MAPE (%)μ¯(N)\bar \mu ({\rm{N}})σ (N)MAPE (%)μ¯{\bar \mu }σMAPE (%)μ¯{\bar \mu }σMAPE (%)
a0.154.100.06---0.010.040.98---
b---0.211.530.17---0.010.051.53
c-0.211.200.16---0.010.040.13---
d----0.201.230.15---0.000.040.84
e0.032.100.02---0.000.040.46---
f----0.581.840.44---0.010.051.67
3.1.1.
Validation of the effectiveness of Is during obstacle traversal

Although the effectiveness of Is was verified using MSC. ADAMS while the robot moved on some test surfaces in the previous section, this section describes other tests where the robot is overcoming an obstacle and sliding completely, losing the ability to successfully complete the operation. The purpose of these tests is to verify if in these cases, the previously defined Is is able to predict such a situation. For this, three simulations (A, B, and C) were performed where the robot executes a strategy to overcome an obstacle, but in this case, the static friction coefficient between the wheels and the surfaces (μs1 and μs2) was reduced to promote sliding during the simulation. Tab. 4 shows, for each simulation, the geometry of the obstacles and the coefficients μs1 and μs2.

Tab. 4.

Geometry of obstacles and static friction coefficients used

SimulationDescriptionϕs1 (°)αs1 (°)ϕs2 (°)αs2 (°)γb1 (°)μs1μs2
AFrontal ascent-5.000.00-9.67-2.5874.941.00.2
BLateral descent7.710.007.50-4.33150.220.40.4
CLateral trench0.0010.000.0010.0025.340.40.4

The results for Simulation A are shown in Fig. 15: the robot begins the obstacle overcoming process and reaches Stage f where the front wheels are positioned on Surface 2, and the final elevation of the robot must start due to the action of the second link of the arm that is deployed. In the figure, it can be observed that, at the start of this stage, Is undergoes a sharp decrease until reaching 0, at the same instant, there are oscillations in the longitudinal (Vx) and transversal (Vy) velocities of the robot since it effectively begins to slide at the time predicted by Is and moves back, losing its position on the obstacle (as shown in the thumbnail image on Stage F in Fig. 15). The abrupt decrease in Is is related to the μs2 of Surface 2, which is very low (μs2 = 0.2), so when the robot is supported only by the front wheels positioned on this surface, there is not enough grip (no support from the rear wheels), and it begins to slide, a situation predicted by Is ≈ 0 at that moment.

Fig. 15.

Analysis of stages for overcoming obstacles until slipping (Simulation A)

Similar results are obtained when studying Simulation B (Fig. 16), where the robot begins the obstacle overcoming process until reaching Stage C where the right-side wheels must be lifted while the second arm link is deployed. At the start of this stage, it is observed that when F5z > 0 due to the contact of the arm's end effector with the ground, Is undergoes a sharp decrease, this time below 0.1, while simultaneously, visible variations occur in the longitudinal velocity (Vx) of the robot as it starts to slide forward. Once again, the abrupt decrease in Is occurs when the robot is supported only by two wheels on Surface 1, which in this case has a μs2 = 0.4, which is not sufficient to provide the necessary grip to two wheels. It is worth noting that in this simulation, Is did not reach the value of 0 during the moment of sliding, so it is important to avoid Is < 0.2 as a safety condition, which was already explained in the previous section. Next, the results of Simulation C are not shown because they are very similar to those experienced by the robot in Simulation B (the robot also slides in Stage C).

Fig. 16.

Analysis of stages for overcoming obstacles until slipping (Simulation B)

3.1.
Experimental validation of Is using the Lázaro robot

Just as the effectiveness of Is was validated using simulations with MSC. ADAMS, a set of tests was implemented with the Lázaro robot to verify if the proposed Is can predict the condition of total sliding in the real robot. For this purpose, a test platform was configured as shown in Fig. 17a, where the robot is positioned on two surfaces that can adopt different inclinations (the wheels on the left are on Surface 1, while those on the right are on Surface 2).

Fig. 17.

Tests conducted with the Lázaro robot to validate Is

Before starting the tests, it was necessary to determine the static friction coefficient between the surfaces and the robot's wheels; since both surfaces are made of the same material, μs1 = μs2. The determination of μs was done considering that μs = tan αc lim, where αc lim is the roll angle of the robot when it, positioned on a single surface with its 4 wheels, starts to slide while ϕc = 0. Upon conducting the corresponding tests, it was found that μs1 = μs2 = 0.522.

Four tests were designed where Surface 2 rotated according to the arrow shown in Fig. 17a (ϕs2 = 0° and variable αs2), while Surface 1 remained static, completely horizontal in test "a" (ϕs1 = αs1 = 0°) and with a fixed inclination in the rest of the tests "b - d" (ϕs1 = 0° and αs1 =-18°). In these experiments, Surface 2 rotated until the robot started to slide or until the risk of tipping over became significant, necessitating the experiment to be stopped. The results of these 4 tests are shown in Fig. 18, where for each experiment, 3 graphs (arranged vertically) display the angles αs of Surfaces 1 and 2, the angles αc and ϕc of the robot, and the Is obtained in the test from the previously described theoretical model.

Fig. 18.

Results of the tests conducted with the Lázaro robot to validate Is

The tests a and d (Fig. 18a and d) show that the obtained Is never reaches the critical value of 0; therefore, the robot should not slide in these cases, and indeed, during the test, such a situation did not occur. Note that the inclination of the robot in these experiments reached a significant magnitude (test a: αc ≈ 33°; test d: αc ≈ 38°) and similarly Surface 2 (test a: αs2 ≈ –53°; test d: αs2 ≈ –69°), but despite this, in neither case did the robot slide as predicted by the calculated Is. On the contrary, in tests b and c, Is reaches the value of 0, predicting the sliding, and indeed, in both tests, this phenomenon occurred according to the prediction of Is.

In test b (Fig. 18b), Is reaches the value of 0 at around 5 seconds, and almost simultaneously, αc undergoes a drastic reduction from -33° to -20°, while there is a strong oscillation in ϕc. All of this is a consequence of the sliding that occurs in the robot, causing it to descend rapidly until it is completely positioned on Surface 1. On the other hand, if we analyze test c (Fig. 18c) where the robot is supported by two wheels plus the end effector of the arm, Is also reaches the value of 0 at 6 seconds. In this case, the oscillation in αc and ϕc indicating the sliding appears a few moments earlier when Is ≈ 0.12, but this is in line with the expected error for this index, reaffirming the established criterion where it is recommended that Is ≥ 0.2 to avoid sliding.

4.
CONCLUSIONS

The effect of slipping during the obstacle-surmounting process by wheeled mobile robots, especially using an attached arm as a tool for overcoming the obstacle, was estimated. For this purpose, a slipping index was developed, which is a novel metric that quantifies the risk of total slippage. Specifically, this metric allows estimating the moment when the robot loses grip with the ground and starts sliding, deviating from its path and hindering the obstacle-surmounting process. Although this metric was developed for the specific case of a wheeled robot using its arm in contact with the ground as support to overcome the obstacle, it can be extended to other robots that do not have or use their arm in that way, with the condition that the force of contact of the arm with the ground is F5 = 0.

The metric was validated using MSC. ADAMS software, which allows simulating the mechanical model of the robot and the described risk. After conducting these validations, it was found that the proposed model for this index efficiently predicts the intended risk. Furthermore, it was demonstrated that this model generates forecasts with good to high accuracy, as the Mean Absolute Percentage Error (MAPE) between the model and the simulations was consistently low.

The derivation of the slipping index (Is) was based on the analysis of friction forces between the wheels and the ground. This analysis involved determining δn, which is the orientation angle of the friction force on a wheel relative to the Xs axis. To find this angle, a study of multiple typical robot situations facing obstacles was conducted, and δn was defined based on these situations. In future research, a more in-depth analysis is needed to determine this angle, especially in situations where the arm exerts force against the ground or where the robot is positioned on an obstacle with surfaces that have very different inclinations from each other, leading to loss of contact with the ground in one of the wheels. It was observed that in these cases, there was the greatest deviation (less than 20%) between the Is model and the simulation results. Therefore, adjusting the value of δn may reduce these errors as it is considered to be the most influential factor in obtaining this divergence.

DOI: https://doi.org/10.2478/ama-2025-0065 | Journal eISSN: 2300-5319 | Journal ISSN: 1898-4088
Language: English
Page range: 568 - 584
Submitted on: Jan 27, 2025
Accepted on: Sep 28, 2025
Published on: Dec 19, 2025
Published by: Bialystok University of Technology
In partnership with: Paradigm Publishing Services
Publication frequency: 4 issues per year

© 2025 Jesús M. GARCÍA, Franklyn G. DUARTE, published by Bialystok University of Technology
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License.