1. Introduction
The deployment of field mobile robots has expanded in recent years, supporting tasks like mining, exploration in hazardous environments, demining, surveillance, search and rescue, inspection, fruit harvesting, firefighting, and cargo transport. To achieve these functions, several challenges have been addressed: designing robust locomotion systems for safe movement, optimizing energy sources for autonomy, developing intelligent control methods for precise navigation, and implementing evaluation strategies to ensure safe terrain traversal. The latter includes assessing rollover and sliding risks [Reference García, Martínez, Mandow and García-Cerezo1], minimizing these hazards, and overcoming unavoidable obstacles through trajectory planning.
Overcoming obstacles remains a significant challenge for researchers. While the literature highlights various technological advancements, many are limited to controlled environments that are far simpler than real-world terrains with highly irregular surfaces [Reference Xu, Wang, Su, Liu, Cai, Zhang, Ran, Tan and Luo2, Reference Huang, Meng, Yu, Zhao and Zhang3]. Additionally, there is a critical need for more efficient technologies to navigate obstacle-laden terrains, especially in contexts like planetary exploration [Reference Boeder and Soares4] (e.g., Mars missions). The failure of a robot [Reference Kara5] or its inability to complete expected tasks [Reference Candela and Wettergreen6] in such challenging terrains could result in multimillion-dollar losses.
In this regard, the study of obstacle overcoming encompasses two main research areas: the design of robots equipped with mechanisms tailored to overcome obstacles within specific design parameters, and the development of strategies that enable a single mechanical system to address obstacles through various approaches. These areas are interdependent, as a robot’s design often aligns with the intended strategy, while the success of any strategy depends on the robot’s mechanical characteristics. Numerous wheeled robotic systems have been developed by combining diverse designs and strategies to improve obstacle-handling efficiency. These include robots with active [Reference Iagnemma, Rzepniewski, Dubowsky and Schenker7] and passive [Reference Zhang, Zhao, Su, Wu, Dai and Chen8] suspension systems, such as rovers using the Rocker-Bogie mechanism [Reference Heverly, Matthews, Lin, Fuller, Maimone, Biesiadecki and Leichty9–Reference Cosenza, Niola, Pagano and Savino11], rotational wheel structures [Reference Song, Luo, Wei and Shang12], wheels with appendages [Reference Son, Shin, Kim and Seo13], segmented wheels [Reference Zhang, Ma, Liu, Zeng, Kong and L.14], transformable wheels [Reference Zheng, Sane, Lee, Kalyanram and Lee15], and wheels with mounted supports [Reference Wei, Song, Sun, Qi, Liu and Qiao16]. Other innovations involve robots with multiple tracks [Reference Zhao, Zhang, Liu, Tao and Liu17], some of which are reconfigurable [Reference Gao, Cui, Guo, Mu and Li18], and robots integrating multiple locomotion systems: legged systems for walking [Reference Cordes, Kirchner and Babu19] or jumping [Reference Klemm, Morra, Salzmann, Tschopp, Bodie, Gulich, Küng, Mannhart, Pfister, Vierneisel, Weber, Deuber and Siegwart20] over obstacles, combinations of legs and wheels for rolling or walking independently [Reference Lu, Dong, Liu, Xu and Yang21], legs with tracks [Reference Shang, Wang, Si, Li and Pan22], legs and tracks [Reference Fujita, Sasaki and Tsuchiya23], and systems integrating legs, wheels, and tracks independently [Reference Gao, Guan, Yang and Zhang24]. Additionally, robots with modular attachments [Reference Guo, Liu, Liang, Zhang, Chen, Xia, Wang and Wang25] enable sequential obstacle navigation, while others use supplementary links or arms [Reference Serón, Martínez, Mandow, García-Cerezo, Morales, Reina and García26] for added support during traversal. In the case of wheeled mobile robots designed to overcome obstacles, they typically employ strategies based on a common simplification: the robot is assumed to approach obstacles on horizontal terrain, facing them head-on at a 90° angle relative to its trajectory. While this assumption is valid in many scenarios, it diverges from more realistic conditions where robots may navigate inclined terrain or encounter obstacles at oblique angles. On inclined terrain, the robot often lacks viable solutions to address the challenge, whereas for oblique obstacles, it could reorient itself to face them directly. However, such trajectory adjustments may, in some cases, prove counterproductive.
Therefore, it is necessary to develop strategies that allow these types of robots to overcome obstacles considering a more realistic environment, with inclined terrains and obstacles located in any orientation relative to the robot’s posture. In this sense, this project aimed to develop, validate, and test a new strategy for overcoming obstacles regardless of the inclination of the obstacle and its orientation concerning the robot’s trajectory, considering tipover stability, as the robot can become unusable due to a rollover phenomenon during this operation. This strategy is designed to be used by wheeled mobile robots equipped with an articulated arm and an end-effector that allows rolling or sliding contact with the ground. For its validation, a task planner was developed and implemented in Lázaro (Figure 1), which is a wheeled mobile robot equipped with an articulated arm with a wheel as the end-effector [Reference García, Medina, Martínez, García-Cerezo, Linares and Porras27].
Lázaro robot.

1.1. Contributions
The main contributions of this work are threefold: first, the design, validation, and implementation of a new strategy for overcoming obstacles formed by inclined surfaces. In this regard, the developed strategy has some particularities: (a) the arm is used as support to achieve the overcoming of obstacles, positioning it in different predefined positions through a fuzzy inference system based on the inclination of the obstacle and the orientation of the robot relative to the obstacle (unlike other analogous strategies, where the arm is always placed either in front of or behind the robot [Reference Serón, Martínez, Mandow, García-Cerezo, Morales, Reina and García26, Reference García, Martínez, Mandow and García-Cerezo28, Reference Jelavic and Hutter29]); (b) the ability to overcome obstacles by positioning the robot in any orientation relative to the obstacle (as opposed to analogous strategies where the robot must be oriented head-on toward the obstacle to overcome it); c) the capability to use either a pair of side wheels or front wheels to surpass the obstacle (depending on the robot’s orientation relative to the obstacle), compared to other strategies designed to use only the front (and rear) pair of wheels for this purpose. These features allow for defining a versatile strategy that can be used to overcome multiple obstacles formed by inclined surfaces, while the robot faces them from any orientation.
The second contribution is the modeling of the reaction forces of the wheels with the inclined ground in all stages of the overcoming strategy, including those moments when some wheels do not touch the ground or when involuntary rotations occur in the robot due to the obstacle’s terrain. Finally, an analysis of tipover propensity using a quantitative metric based on reaction forces allows for estimating the tipover risk, considering that at various moments, some wheels do not touch the ground, increasing the robot’s instability.
2. Initial considerations
2.1. Premises
Initially, some guiding principles were defined to delimit and address the problem considering certain simplifications:
-
a. The deliberative paradigm was employed in defining the strategy: when the robot encounters the obstacle, it evaluates the dimensional requirements beforehand and outlines all the actions it must take to overcome the obstacle while maintaining the tip-over stability. Subsequently, the overcoming process is executed.
-
b. The designed strategy does not involve a change in the robot’s orientation relative to the obstacle during the overcoming process.
-
c. 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.
-
d. Each wheel contact with the terrain is assumed to be point-like, understanding that the wheels are considered rigid.
-
e. During the execution of the strategy by the robot, a set of real-time evaluated parameters are acquired through sensors installed on the robot.
-
f. The strategy was defined according to a quasi-static analysis, which can be implemented when the robot and its manipulator move at low speeds and there are no significant accelerations or inertial components apart from gravity, nor major external loads [Reference Morales, Martínez, Mandow, Serón, García-Cerezo and Pequeño-Boter30, Reference Diaz-Calderon and Kelly31]. Therefore, the effect of dynamic loads was not considered.
-
g. Preliminary characterization of the obstacle: basic geometric information of the obstacle (set of characteristic points) will be necessary to define its components, simplifying them as planes and straight lines. It is worth noting that obtaining such information is not part of the purpose of this work; it is considered known, derived from some characterization system, preferably using LiDAR [Reference Serón, Martínez, Mandow, García-Cerezo, Morales, Reina and García26].
2.2. Characterization of the robot’s geometry
For this study, Lázaro [Reference García, Medina, Martínez, García-Cerezo, Linares and Porras27] was used (Figure 1), a skid steer robot with four wheels, weighing 255.1 N, and equipped with an attached arm (weighing 36.9 N) that has two degrees of freedom: one rotational (
$\theta _{1}$
) that moves the first link of the arm, and one prismatic (
$d_{2}$
) that moves the second (Figure 2a). The ranges of these joint variables are:
$-180^{\circ}\leq \theta _{1}\leq 180^{\circ}$
(without rotation limit) and
$-432.5\leq d_{2}\leq -132.5$
mm. These magnitudes can be estimated using an absolute encoder and a potentiometer installed in the two arm joints. Additionally, the end-effector of the arm is a caster wheel with an installed sensor that allows estimating the magnitude of the contact force of this wheel with the ground. The maximum speed reached by the vehicle moving in a straight line is 280 mm/s and can be estimated by the encoders installed in the two drive motors (left and right), which also allow obtaining approximate odometry. Finally, the robot has an Inertial Measurement Unit (IMU) that provides readings of the robot’s roll and pitch angles with respect to a horizontal plane [Reference García, Gíl and Sánchez32].
Then, a frame was defined for the robot (
$X_{c}Y_{c}Z_{c}$
) whose
$X_{c}Y_{c}$
plane coincides with the plane containing the four contact points of the wheels with the ground. The
$X_{c}$
axis aligns with the longitudinal direction of the robot (forward), the
$Z_{c}$
axis is perpendicular to this plane, and the origin
$O_{c}$
is located at the intersection of the axis of the first joint in the robot’s arm with the
$X_{c}Y_{c}$
plane (Figure 2a). From this system, the homogeneous coordinates of the wheel contact point with the ground (
${}^{C}{P_{1}}{}, {}^{C}{P_{2}}{}, {}^{C}{P_{3}}{},{}^{C}{P_{4}}{}$
), along with the coordinates of the end effector of the arm corresponding to an omnidirectional wheel (
${}^{C}{P_{5}}{}$
), can be defined using (1), whose variables can be determined by observing Figure 2. The magnitudes of these variables are shown in Table 1. Additionally, all the variables used in the equations are defined in an appendix located at the end of the article.
\begin{align} {}^{C}P_{1}&=\left[\begin{array}{c}{}^{C}{x_{1}}{}\\{}^{C}{y_{1}}{}\\{}{}^{C}{z_{1}}{}\\1\end{array}\right]=\left[\begin{array}{c}x_{f}+{\unicode[Arial]{x0394}} x_{f}\\y_{t}/2\\0\\1\end{array}\right] \nonumber\\ {}^{C}{P_{2}}&=\left[\begin{array}{c}{}^{C}{x_{2}}{}\\{}^{C}{y_{2}}{}\\{}^{C}{z_{2}}{}\\1\end{array}\right]=\left[\begin{array}{c}x_{f}+{\unicode[Arial]{x0394}} x_{f}\\-y_{t}/2\\0\\1\end{array}\right] \nonumber\\ {}^{C}{P_{3}}&=\left[\begin{array}{c}{}^{C}{x_{3}}{}\\{}^{C}{y_{3}}{}\\{}^{C}{z_{3}}{}\\1\end{array}\right]=\left[\begin{array}{c}-x_{r}+{\unicode[Arial]{x0394}} x_{r}\\-y_{t}/2\\0\\1\end{array}\right] \nonumber\\ {}^{C}{P_{4}}{}&=\left[\begin{array}{c}{}^{C}{x_{4}}{}\\{}^{C}{y_{4}}{}\\{}^{C}{z_{4}}{}\\1\end{array}\right]=\left[\begin{array}{c}-x_{r}+{\unicode[Arial]{x0394}} x_{r}\\y_{t}/2\\0\\1\end{array}\right] \nonumber\\ {}^{C}{P_{5}}&=\left[\begin{array}{c}{}^{C}{x_{5}}{}\\{}^{C}{y_{5}}{}\\{}^{C}{z_{5}}{}\\1\end{array}\right]=\left[\begin{array}{c}a_{1}c\theta _{1}\\a_{1}s\theta _{1}\\d_{2}-d_{2c}\\1\end{array}\right] \end{align}
Additionally, it is important to note that in (1),
${\unicode[Arial]{x0394}} x_{f}$
and
${\unicode[Arial]{x0394}} x_{r}$
appear, which correspond to variations in the position of the front and rear wheel contact points, respectively (from the ideal position). These variations occur when the wheels are positioned on surfaces that are not parallel to the
$X_{c}Y_{c}$
plane (see Figure 2b). On the other hand, if all the wheels are on the same flat surface,
${\unicode[Arial]{x0394}} x_{f}={\unicode[Arial]{x0394}} x_{r}=0$
. Although this change in the position of the wheel contact points with the ground also induces a variation in the
$Z_{c}$
direction, called
${\unicode[Arial]{x0394}} z$
, it will be assumed negligible due to its very small magnitude.
Dimensional parameters of the Lázaro robot.

Lázaro robot showing dimensions and
$\boldsymbol {X}_{{c}}{Y}_{{c}}{Z}_{{c}}$
frame. (a) Axonometric view; (b) Side view.

Top view of the Lázaro robot showing the safety rectangle.

On the other hand, an imaginary rectangle was defined on the
$X_{c}Y_{c}$
plane that encompasses the orthogonal projection of all the constituent parts of the robot (Figure 3). This rectangle, whose vertices are
${}^{C}{E_{n}}{}({}^{c}{x}{}_{En},{}^{c}{y}{}_{En},0)$
with n = 1…4, was defined to ensure that no part of the robot collides with the obstacle during the overcoming task. Additionally, the arm was excluded from the definition of the robot’s bounding rectangle since, during strategy phases where collisions between the arm and the obstacle could occur, the arm is retracted to prevent such interactions.
Finally, to transform the homogeneous coordinates of any point defined in the
$X_{c}Y_{c}Z_{c}$
frame (either
${}^{C}{P_{n}}{}$
or
${}^{C}{E_{n}}{}$
) to the
$X_{M}Y_{M}Z_{M}$
frame, Eq. (2) must be used, where
${}^{M}{T_{c}}{}$
is the homogeneous transformation matrix of the
$X_{c}Y_{c}Z_{c}$
frame with respect to the
$X_{M}Y_{M}Z_{M}$
frame. It is worth noting that this matrix includes the roll angle (
$\alpha _{c}$
) and pitch angle (
$\phi _{c}$
) of the robot (continuously obtained using the IMU; see Figure 4), and the coordinates of the point
$O_{c}$
(origin of the
$X_{c}Y_{c}Z_{c}$
frame) represented in a fixed global
$X_{M}Y_{M}Z_{M}$
frame as
${}^{M}{O_{c}}{} ({}^{M}{x_{Oc}}{}, {}^{M}{y_{Oc}}{}, {}^{M}{z_{Oc}}{})$
, which define the position of the robot and must be constantly obtained during the development of the overcoming strategy.
\begin{equation} {}^{M}{P_{n}}{}=\left[\begin{array}{c} {}^{M}{x_{n}}{}\\ {}^{M}{y_{n}}{}\\ \begin{array}{c} {}^{M}{z_{n}}{}\\ 1 \end{array} \end{array}\right]={}^{M}{T_{c}}{}{}^{c}{P_{n}}{}=\left[\begin{array}{ccc} c\phi _{c} & s\phi _{c}s\alpha _{c} & \begin{array}{cc} s\phi _{c}c\alpha _{c} & {}^{M}{x_{Oc}}{} \end{array}\\ 0 & c\alpha _{c} & \begin{array}{cc} -s\alpha _{c} & {}^{M}{y_{Oc}}{} \end{array}\\ \begin{array}{c} -s\phi _{c}\\ 0 \end{array} & \begin{array}{c} c\phi _{c}s\alpha _{c}\\ 0 \end{array} & \begin{array}{cc} \begin{array}{c} c\phi _{c}c\alpha _{c}\\ 0 \end{array} & \begin{array}{c} {}^{M}{z_{Oc}}{} \\ 1 \end{array} \end{array} \end{array}\right]\left[\begin{array}{c} {}^{c}{x_{n}}{}\\ {}^{c}{y_{n}}{}\\ \begin{array}{c} {}^{c}{z_{n}}{}\\ 1 \end{array} \end{array}\right] \end{equation}
2.3. Characterization of the obstacle
Geometric parameters used to characterize the obstacle.

In accordance with the established premises, an obstacle was defined as two simplified flat surfaces: Surface 1, where the robot is located before overcoming the obstacle, and Surface 2, where the robot is positioned after overcoming the obstacle (Figure 4). These surfaces are delimited by two considered straight edges: Edge 1 defines Surface 1, and Edge 2 defines Surface 2. The space between the edges defines the obstacle that will not be touched by the robot at any point. Now, based on this, three frames were defined (Figure 4):
-
a. A fixed frame (
$X_{s1}Y_{s1}Z_{s1}$
) attached to Surface 1, where the
$X_{s1}Y_{s1}$
plane is contained within Surface 1, the
$Z_{s1}$
axis is perpendicular to this surface, and the origin of this frame
$O_{s1}$
coincides with the point
$O_{c}$
at an initial time (
$t=0$
) when the robot has not initiated the obstacle overcoming process. At that moment,
$X_{s1}Y_{s1}Z_{s1}$
coincides with
$X_{c}Y_{c}Z_{c}$
. -
b. A fixed global frame (
$X_{M}Y_{M}Z_{M}$
) where
$X_{M}Y_{M}$
is located on a horizontal plane, the
$X_{M}$
axis coincides with the horizontal projection of
$X_{s1}$
,
$Z_{M}$
is vertical, and the origin
$O_{M}$
coincides with
$O_{s1}$
. -
c. A fixed frame (
$X_{s2}Y_{s2}Z_{s2}$
), attached to Surface 2, where the
$X_{s2}Y_{s2}$
plane is contained within Surface 2, the
$Z_{s2}$
axis is perpendicular to this surface, the origin of this frame
$O_{s2}$
coincides with the intersection of Edge 2 with the
$X_{s1}Z_{s1}$
plane, and the
$X_{s2}$
axis coincides with the intersection of Surface 2 with the
$X_{s1}Z_{s1}$
plane.
To perform a simple characterization of the obstacle, the position coordinates of 5 points are acquired with respect to the
$X_{s1}Y_{s1}Z_{s1}$
frame:
-
a. Point
$R_{1}$
: defined by the intersection of the
$X_{s1}Z_{s1}$
plane with Edge 1 (Figure 4). -
b. Point
$R_{2}$
: any point belonging to Edge 1, provided that
$R_{2}\neq R_{1}$
. -
c. Point
$O_{s2}$
, already defined previously. -
d. Point
$R_{3}$
: any point belonging to Edge 2, provided that
$R_{3}\neq O_{s2}$
. -
e. Point
$R_{4}$
: any point belonging to Surface 2, provided that
$R_{4}\notin$
Edge 2.
Finally, the orientation of the
$X_{s1}Y_{s1}Z_{s1}$
and
$X_{s2}Y_{s2}Z_{s2}$
frames with respect to the fixed
$X_{M}Y_{M}Z_{M}$
frame must be established using the Roll (
$\alpha$
) and Pitch (
$\phi$
) angles. Therefore, the following angles are defined:
-
a.
$\alpha _{s1}$
,
$\phi _{s1}$
: roll and pitch angles of the
$X_{s1}Y_{s1}Z_{s1}$
frame with respect to the
$X_{M}Y_{M}Z_{M}$
frame (define the inclination of Surface 1 with respect to horizontal plane). -
b.
$\alpha _{s2}$
,
$\phi _{s2}$
: roll and pitch angles of the
$X_{s2}Y_{s2}Z_{s2}$
frame with respect to the
$X_{M}Y_{M}Z_{M}$
frame (define the inclination of Surface 2 with respect to horizontal plane).
Mathematical characterization of Surface 1:
Knowing that this surface is defined by the angles (
$\alpha _{s1}$
,
$\phi _{s1}$
) and that at the beginning of the strategy, the
$X_{s1}Y_{s1}Z_{s1}$
frame is superimposed on
$X_{c}Y_{c}Z_{c}$
, it can be stated that
$\alpha _{s1}=\alpha _{c}$
and
$\phi _{s1}=\phi _{c}$
when t = 0. Therefore, these angles can be obtained through the robot’s IMU. Now, given a point
${}^{s1}{P}{}=[{}^{s1}{x}{},{}^{s1}{y}{},{}^{s1}{z}{},1]^{T}$
in the
$X_{s1}Y_{s1}Z_{s1}$
frame, it can be considered through the coordinate
${}^{s1}{z}{}$
that:
${}^{s1}{P}{}$
is under Surface 1 (
${}^{s1}{z}{}\lt 0$
),
${}^{s1}{P}{}$
is contained within Surface 1 (
${}^{s1}{z}{}=0$
) or
${}^{s1}{P}{}$
is over Surface 1 (
${}^{s1}{z}{}\gt 0$
).
On the other hand, if a point
${}^{M}{P}{}$
is available in the
$X_{M}Y_{M}Z_{M}$
frame, its coordinates can be expressed in the
$X_{s1}Y_{s1}Z_{s1}$
frame through (3), resulting in
${}^{s1}{P}{}$
. This then allows determining the relative position of the point with respect to Surface 1.
\begin{equation} {}^{ {s}1}{ {P}}{}=\left[\begin{array}{c} {}^{ {s}1}{ {x}}{}\\ {}^{ {s}1}{ {y}}{}\\ \begin{array}{c} {}^{ {s}1}{ {z}}{}\\ 1 \end{array} \end{array}\right]={}^{ {s}1}{ {T}_{ {M}}}{}{}^{ {M}}{ {P}}{}=\left[\begin{array}{cccc} {c}\phi _{ {s}1} & 0 & - {s}\phi _{ {s}1} & 0 \\ {s}\phi _{ {s}1} {s}{\unicode[Arial]{x03B1}} _{ {s}1} & {c}{\unicode[Arial]{x03B1}} _{ {s}1} & {c}\phi _{ {s}1} {s}{\unicode[Arial]{x03B1}} _{ {s}1} & 0 \\ {s}\phi _{ {s}1} {c}{\unicode[Arial]{x03B1}} _{ {s}1}& - {s}{\unicode[Arial]{x03B1}} _{ {s}1} & {c}\phi _{ {s}1} {c}{\unicode[Arial]{x03B1}} _{ {s}1}& 0 \\ 0&0&0&1 \end{array}\right]\left[\begin{array}{c} {}^{ {M}}{ {x}}{}\\ {}^{ {M}}{ {y}}{}\\ {}^{ {M}}{ {z}}{}\\ 1 \end{array}\right] \end{equation}
Mathematical characterization of Surface 2:
Similar to Surface 1, this surface will be defined by the
$X_{s2}Y_{s2}Z_{s2}$
frame and the angles (
$\alpha _{s2}$
,
$\phi _{s2}$
), which are obtained using the coordinates of points
$O_{s2}$
,
$R_{3}$
and
$R_{4}$
defined with respect to
$X_{s1}Y_{s1}Z_{s1}$
; these are:
${}^{s1}{O_{s2}}{}({}^{s1}{x}{}_{O2},0,{}^{s1}{z}{}_{O2})$
,
${}^{s1}{R_{3}}{}({}^{s1}{x}{}_{R3},{}^{s1}{y}{}_{R3},{}^{s1}{z}{}_{R3})$
and
${}^{s1}{R_{4}}{}({}^{s1}{x}{}_{R4},{}^{s1}{y}{}_{R4},{}^{s1}{z}{}_{R4})$
. Using them, the coordinates of the vectors
$\overrightarrow {O_{s2}R_{3}}$
and
$\overrightarrow {O_{s2}R_{4}}$
can be defined. Then,
${}^{s1}{\vec {U}_{{Z_{s2}}}}{}$
, which is the unit vector of the
$Z_{s2}$
axis with respect to the
$X_{s1}Y_{s1}Z_{s1}$
frame, can be found:
\begin{equation} {}^{ {s}1}{\vec { {U}}_{{ {Z}_{ {s}2}}}}{}=\begin{cases} \frac{\overrightarrow { {O}_{ {s}2} {R}_{4}}\times \overrightarrow { {O}_{ {s}2} {R}_{3}}}{\left| \overrightarrow{ {O}_{ {s}2} {R}_{4}}\times \overrightarrow { {O}_{ {s}2} {R}_{3}}\right| }\forall {}^{ {s}1}{ {y}}{}_{ {R}3}\gt 0\\ \begin{array}{c} \\ \frac{\overrightarrow { {O}_{ {s}2} {R}_{3}}\times \overrightarrow { {O}_{ {s}2} {R}_{4}}}{\left| \overrightarrow { {O}_{ {s}2} {R}_{3}}\times \overrightarrow { {O}_{ {s}2} {R}_{4}}\right| } \end{array}\forall {}^{ {s}1}{ {y}}{}_{ {R}3}\lt 0 \end{cases} \end{equation}
The coordinates of this vector are transformed to a frame parallel to
$X_{M}Y_{M}Z_{M}$
with the origin at
$O_{s2}$
to obtain
${}^{\parallel M}{\vec {U}_{{Z_{s2}}}}{}$
:
\begin{equation} {}^{\parallel {M}}{\vec { {U}}_{{ {Z}_{ {s}2}}}}{}=\left[\begin{array}{c} {}^{\parallel {M}}{ {x}}{}_{{ {z}_{ {s}2}}}\\ {}^{\parallel {M}}{ {y}}{}_{{ {z}_{ {s}2}}}\\ {}^{\parallel {M}}{ {z}}{}_{{ {z}_{ {s}2}}} \end{array}\right]=\left[\begin{array}{ccc} {c}\phi _{ {s}1} & {s}\phi _{ {s}1} {s}{\unicode[Arial]{x03B1}} _{ {s}1} & {s}\phi _{ {s}1} {c}{\unicode[Arial]{x03B1}} _{ {s}1}\\ 0 & {c}{\unicode[Arial]{x03B1}} _{ {s}1} & - {s}{\unicode[Arial]{x03B1}} _{ {s}1}\\ - {s}\phi _{ {s}1} & {c}\phi _{ {s}1} {s}{\unicode[Arial]{x03B1}} _{ {s}1} & {c}\phi _{ {s}1} {c}{\unicode[Arial]{x03B1}} _{ {s}1} \end{array}\right]{}^{ {s}1}{\overrightarrow { {U}}_{{ {Z}_{ {s}2}}}}{} \end{equation}
Finally, from (5), it is possible to obtain
$\phi _{s2}$
and
$\alpha _{s2}$
through (6) and (7):
\begin{equation} {\unicode[Arial]{x03B1}} _{ {s}2}=\tan ^{-1} \left(\frac{-{}^{\parallel {M}}{ {y}}{}_{{ {z}_{ {s}2}}}}{\sqrt{1-{}^{\parallel {M}}{ {y}}{}_{{ {z}_{ {s}2}}}}}\right) \end{equation}
Now, it is important to determine whether a given point
${}^{M}{P}{}$
in the
$X_{M}Y_{M}Z_{M}$
frame is contained in Surface 2; for this, its coordinates expressed in the
$X_{s2}Y_{s2}Z_{s2}$
frame must be found through (8), resulting in
${}^{s2}{P}{}$
:
\begin{align} {}^{ {s}2}{ {P}}{}&=\left[\begin{array}{c} {}^{ {s}2}{ {x}}{}\\ {}^{ {s}2}{ {y}}{}\\ \begin{array}{c} {}^{ {s}2}{ {z}}{}\\ 1 \end{array} \end{array}\right]={}^{ {s}2}{ {T}_{ {M}}}{}{}^{ {M}}{ {P}}{}\nonumber \\ &=\left[\begin{array}{ccc} {c}\phi _{ {s}2} & 0 & \begin{array}{cc} - {s}\phi _{ {s}2} & -\left({}^{{M}}{ {x}}{}_{ {O}2} {c}\phi _{ {s}2}-{}^{ {M}}{ {z}}{}_{ {O}2} {s}\phi _{ {s}2}\right) \end{array}\\ {s}\phi _{ {s}2} {s}{\unicode[Arial]{x03B1}} _{ {s}2} & {c}{\unicode[Arial]{x03B1}} _{ {s}2} & \begin{array}{cc} {c}\phi _{ {s}2} {s}{\unicode[Arial]{x03B1}} _{ {s}2} & -\left({}^{{M}}{ {x}}{}_{\mathrm{O}2} {s}\phi _{ {s}2} {s}{\unicode[Arial]{x03B1}} _{ {s}2}+{}^{ {M}}{ {y}}{}_{ {O}2} {c}{\unicode[Arial]{x03B1}} _{ {s}2}+{}^{ {M}}{ {z}}{}_{ {O}2} {c}\phi _{ {s}2} {s}{\unicode[Arial]{x03B1}} _{ {s}2}\right) \end{array}\\ \begin{array}{c} {s}\phi _{ {s}2} {c}{\unicode[Arial]{x03B1}} _{ {s}2}\\ 0 \end{array} & \begin{array}{c} - {s}{\unicode[Arial]{x03B1}} _{ {s}2}\\ 0 \end{array} & \begin{array}{cc} \begin{array}{c} {c}\phi _{ {s}2} {c}{\unicode[Arial]{x03B1}} _{ {s}2}\\ 0 \end{array} & \begin{array}{c} -\left({}^{{M}}{ {x}}{}_{ {O}2} {s}\phi _{ {s}2} {c}{\unicode[Arial]{x03B1}} _{ {s}2}-{}^{ {M}}{ {y}}{}_{ {O}2} {s}{\unicode[Arial]{x03B1}} _{ {s}2}+{}^{ {M}}{ {z}}{}_{ {O}2} {c}\phi _{ {s}2} {c}{\unicode[Arial]{x03B1}} _{ {s}2}\right)\\ 1 \end{array} \end{array} \end{array}\right]\left[\begin{array}{c} {}^{ {M}}{ {x}}{}\\ {}^{ {M}}{ {y}}{}\\ \begin{array}{c} {}^{ {M}}{ {z}}{}\\ 1 \end{array} \end{array}\right] \end{align}
Then, it can be stated that:
${}^{s2}{P}{}$
is under Surface 2 (
${}^{s2}{z}{}\lt 0$
),
${}^{s2}{P}{}$
is contained within Surface 2 (
${}^{s2}{z}{}=0$
) or
${}^{s2}{P}{}$
is over Surface 2 (
${}^{s2}{z}{}\gt 0$
).
Mathematical characterization of Edge 1
: As previously mentioned, the edges were simplified as straight lines. In the case of Edge 1, it is defined by points
$R_{1}$
and
$R_{2}$
, whose coordinates in the
$X_{s1}Y_{s1}Z_{s1}$
frame are given by:
${}^{s1}{R_{1}}{}({}^{s1}{x}{}_{R1},0,0,1)$
and
${}^{s1}{R_{2}}{}({}^{s1}{x}{}_{R2},{}^{s1}{y}{}_{R2},0,1)$
. These coordinates can be transformed into the
$X_{M}Y_{M}Z_{M}$
frame to obtain
${}^{M}{R_{1}}{} ({}^{M}{x}{}_{R1},{}^{M}{y}{}_{R1}, {}^{M}{z}{}_{R1},1)$
and
${}^{M}{R_{2}}{} ({}^{M}{x}{}_{R2},{}^{M}{y}{}_{R2}, {}^{M}{z}{}_{R2},1)$
. From this, the projection of Edge 1 onto the
$X_{M}Y_{M}$
plane can be defined as a line with slope
$m$
, ordinate
$b$
(defines the point of intersection between the line and the
$Y_{M}$
axis) and the angle
$\gamma _{b1}$
(9), which gives the inclination of the line with respect to the
$X_{M}$
axis (Figure 5):
Top view of the Lázaro robot and obstacle highlighting the angles
$\boldsymbol{\gamma }_{{b}\mathbf{1}}$
and
$\boldsymbol{\gamma }_{{b}\mathbf{2}}$
.

\begin{align} \begin{cases} {\unicode[Arial]{x03B3}} _{ {b}1}=\tan ^{-1} \left(\frac{{}^{ {M}}{ {y}}{}_{ {R}2}-{}^{ {M}}{ {y}}{}_{ {R}1}}{{}^{ {M}}{ {x}}{}_{ {R}2}-{}^{ {M}}{ {x}}{}_{ {R}1}}\right)\forall {}^{ {M}}{ {x}}{}_{ {R}1}\neq {}^{ {M}}{ {x}}{}_{ {R}2}\\ \\ {\unicode[Arial]{x03B3}} _{ {b}1}=90^{\circ}\qquad \qquad \quad\,\,\, \forall {}^{ {M}}{ {x}}{}_{ {R}1}={}^{ {M}}{ {x}}{}_{ {R}2} \end{cases} \end{align}
Finally, to determine whether the projection of a point
${}^{M}{P}{} ({}^{M}{x}{},{}^{M}{y}{},{}^{M}{z}{})$
is located before, on, or after Edge 1, its coordinates should be evaluated using (10):
\begin{align} \left.\begin{array}{c} {}^{{M}}{ {y}}{}- {m}{}^{ {M}}{ {x}}{}\lt b\wedge {\unicode[Arial]{x03B3}} _{ {b}1}\gt 90^{\circ}\\{}^{ {M}}{ {x}}{}\lt {}^{ {M}}{ {x}}{}_{{R}1}\wedge {\unicode[Arial]{x03B3}} _{ {b}1}=90^{\circ}\\ {}^{ {M}}{ {y}}{}- {m}{}^{ {M}}{ {x}}{}\gt b\wedge {\unicode[Arial]{x03B3}} _{ {b}1}\lt 90^{\circ}\end{array}\right\}& { {}^{M}}{ {P}}\,\text{is before edge }1 \nonumber\\ \left.\begin{array}{c} {}^{ {M}}{ {y}}{}- {m}{}^{ {M}}{ {x}}{}= {b}\wedge {\unicode[Arial]{x03B3}} _{ {b}1}\neq 90^{\circ}\\ {}^{ {M}}{ {x}}{}={}^{ {M}}{ {x}}{}_{ {R}1}\wedge {\unicode[Arial]{x03B3}} _{ {b}1}=90^{\circ}\end{array}\right\}& {}^{ {M}}{ {P}}{}\in \text{ edge }1 \nonumber\\\left.\begin{array}{c} {}^{ {M}}{ {y}}{}- {m}{}^{ {M}}{ {x}}{}\lt b\wedge {\unicode[Arial]{x03B3}} _{ {b}1}\lt 90^{\circ}\\ {}^{ {M}}{ {x}}{}\gt {}^{ {M}}{ {x}}{}_{ {R}1}\wedge {\unicode[Arial]{x03B3}} _{ {b}1}=90^{\circ}\\{}^{ {M}}{ {y}}{}- {m}{}^{ {M}}{ {x}}{}\gt b\wedge {\unicode[Arial]{x03B3}} _{ {b}1}\gt 90^{\circ}\end{array}\right\}& {}^{ {M}}{ {P}}{}\,\text{is after edge }1 \end{align}
Mathematical characterization of Edge 2: Similar to Edge 1, this edge will be defined by the points
$O_{s2}$
and
$R_{3}$
, whose coordinates in the
$X_{s1}Y_{s1}Z_{s1}$
frame are given by:
${}^{s1}{O_{s2}}{}({}^{s1}{x}{}_{O2},0,{}^{s1}{z}{}_{O2},1)$
and
${}^{s1}{R_{3}}{}({}^{s1}{x}{}_{R3},{}^{s1}{y}{}_{R3},{}^{s1}{z}{}_{R3},1)$
. These coordinates can be transformed into the
$X_{M}Y_{M}Z_{M}$
frame to obtain
${}^{M}{O_{s2}}{} ({}^{M}{x}{}_{O2},{}^{M}{y}{}_{O2}, {}^{M}{z}{}_{O2},1)$
and
${}^{M}{R_{3}}{} ({}^{M}{x}{}_{R3},{}^{M}{y}{}_{R3}, {}^{M}{z}{}_{R3},1)$
. From this, the projection of Edge 2 onto the
$X_{M}Y_{M}$
plane can be defined as a line given by its slope m, the ordinate b (defines the point of intersection between the line and the
$Y_{M}$
axis) and the angle
${\unicode[Arial]{x03B3}} _{\mathrm{b}2}$
(11), which gives the inclination of this line with respect to the
$X_{M}$
axis (Figure 5):
\begin{align} \begin{cases} {\unicode[Arial]{x03B3}} _{ {b}2}=\tan ^{-1} \left(\dfrac{{}^{ {M}}{ {y}}{}_{ {R}3}-{}^{ {M}}{ {y}}{}_{ {O}2}}{{}^{ {M}}{ {x}}{}_{ {R}3}-{}^{ {M}}{ {x}}{}_{ {O}2}}\right)\forall {}^{ {M}}{ {x}}{}_{ {O}2}\neq {}^{ {M}}{ {x}}{}_{ {R}3}\\ \\ {\unicode[Arial]{x03B3}} _{ {b}2}=90^{\circ}\qquad \qquad \qquad\,\,\quad{}^{ {M}}{ {x}}{}_{ {O}2}={}^{ {M}}{ {x}}{}_{ {R}3} \end{cases} \end{align}
Finally, to determine if the projection of a point
${}^{M}{P}{} ({}^{M}{x}{},{}^{M}{y}{},{}^{M}{z}{})$
is located before or after Edge 2, its coordinates can be evaluated using (10) considering
$\gamma _{b2}$
instead of
$\gamma _{b1}$
.
Characterization of the obstacle shape:
a cut was made to the obstacle using the plane
$X_{s1}Z_{s1}$
(shaded plane in Figure 6) and then studying the coordinates of the points
${}^{s1}{R_{1}}{}({}^{s1}{x}{}_{R1},0,0)$
and
${}^{s1}{O_{s2}}{}({}^{s1}{x}{}_{O2},0,{}^{s1}{z}{}_{O2})$
. The shape of the obstacle will be determined by (12) and Figure 7:
\begin{align}&\begin{array}{c} \\ {}^{s1}{z}{}_{O2}\gt 0\bigwedge \begin{cases} {}^{s1}{x}{}_{O2}-{}^{s1}{x}{}_{R1}\gt 0\ \textit{Ascending}\ ramp \\{}^{s1}{x}{}_{O2}-{}^{s1}{x}{}_{R1}=0\ \textit{Ascending}\ step \\{}^{s1}{x}{}_{O2}-{}^{s1}{x}{}_{R1}\lt 0\ \textit{Ascending}\ \textit{inverted}\ ramp \end{cases}\end{array}\nonumber \\ &{}^{s1}{z}{}_{O2}=0\bigwedge \left\{{}^{s1}{x}{}_{O2}-{}^{s1}{x}{}_{R1}=0\ \textit{Ditch}\right.\nonumber \\ &\begin{array}{c} {}^{s1}{z}{}_{O2}\lt 0\bigwedge \begin{cases} {}^{s1}{x}{}_{O2}-{}^{s1}{x}{}_{R1}\gt 0\ \textit{Descending}\ ramp \\{}^{s1}{x}{}_{O2}-{}^{s1}{x}{}_{R1}=0\ \textit{Descending}\ step \\{}^{s1}{x}{}_{O2}-{}^{s1}{x}{}_{R1}\lt 0\ \textit{Descending} \ \textit{inverted} \ ramp\end{cases} \end{array} \end{align}
Axonometric perspective of the obstacle.

Forms of the obstacle. Ascending: (a) Ramp, (b) Step, (c) Inverted ramp. At the same level: (d) Trench. Descending: (e) Ramp, (f) Step, (g) Inverted ramp.

3. Definition of the strategy to overcome obstacles
In this strategy, overcoming the obstacle is achieved when the robot lifts a pair of wheels at a time to position them over the obstacle and then lifts the remaining pair. The first pair of wheels that successfully clears the obstacle will hereinafter be referred to as the near wheels, while the last pair of wheels that clears the obstacle will be referred to as the far wheels. Subsequently, the determination of which pair of wheels will initiate the overcoming (near wheels) will depend on the orientation of the robot with respect to the obstacle: if
$45^{\circ}\leq \gamma _{b1}\leq 135^{\circ}$
, the front wheels will be lifted first to achieve overcoming; otherwise, the right wheels (
$0^{\circ}\lt \gamma _{b1}\lt 45^{\circ}$
) or the left wheels (
$135^{\circ}\lt \gamma _{b1}\lt 180^{\circ}$
) will be lifted first. In general, the strategy is completed with the execution of 8 stages for any type of obstacle, regardless of which wheels will be the near wheels: front (Figure 8) or a pair of lateral wheels (Figure 9). These stages are described in a general manner below:
Stages for overcoming obstacles by first lifting the front wheels.

Stages for overcoming obstacles by first lifting the lateral wheels.

-
a. Positioning in front of the obstacle: occurs when the presence of an obstacle is detected. The characterization of this is carried out, and the arm is prepared for the operation, placing it in the front position (
$\theta _{1}=0^{\circ}$
) and fully retracting the second link (Figure 8a and Figure 9a). -
b. Deployment of the arm over the obstacle: the robot moves towards the obstacle and rotates the arm until its end effector is positioned beyond the obstacle (beyond Edge 2) and in a suitable position. Then, the second link of the arm is deployed until its end effector touches Surface 2 (Figures 8b and 9b).
-
c. Initial elevation of the robot with the support of the arm: the second link of the arm continues to deploy until the two near wheels lose contact with the ground and rise to overcome the height of the obstacle (Figures 8c and 9c).
-
d. Advancement of the robot using the distant wheels: With the robot supported by the two far wheels and the end effector of the arm, the traction of the robot is activated, causing it to advance pulled by its far wheels until the near wheels surpass the obstacle, that is, they have passed over Edge 2 (Figures 8d and 9d).
-
e. Repositioning of the arm to lift the distant wheels: The arm retracts completely, leaving the robot supported on its near wheels that touch Surface 2. Then, the first link of the arm rotates to position itself properly, followed by the deployment of the second link until its end effector touches Surface 1 (Figures 8e and 9e).
-
f. Final elevation of the robot with arm support: The second link of the arm continues to deploy until the two far wheels are raised to surpass the height of the obstacle (Figures 8f and 9f).
-
g. Robot advance using the near wheels: With the robot supported by the two near wheels and the arm’s end effector, the robot’s traction is activated to move forward driven by its near wheels until the far wheels surpass the obstacle, that is, have crossed over Edge 2 (Figures 8g and 9g).
-
h. Landing: The second link of the arm retracts completely; during this process, the far wheels touch Surface 2 (after the obstacle), leaving the robot supported on its 4 wheels. Subsequently, the first joint rotates until the arm reaches its original position (Figures 8h and 9h).
Each stage is described in detail along with the sequential movements required. A program was developed to replicate these stages, accounting for time variations (
${\unicode[Arial]{x0394}} t$
) and simulating displacements and rotations using equations and homogeneous transformations to ensure geometric fulfillment of the defined conditions. At each time increment, the following variables are computed: roll (
$\alpha _{c}$
) and pitch (
$\phi _{c}$
) angles, arm joint variables (
$\theta _{1}$
,
$d_{2}$
), and the robot’s position (
${}^{M}{x}{}_{Oc},{}^{M}{y}{}_{Oc},{}^{M}{z}{}_{Oc}$
) relative to the
$X_{M}Y_{M}Z_{M}$
frame. The final values of these variables upon completing each stage are stored as setpoints for the robot’s actuators to achieve, ensuring full execution of the corresponding stage.
Stage a. Positioning in front of the obstacle
At the beginning of this stage, the obstacle is characterized, and the initial position of the robot
$({}^{M}{x}{}_{Oc},{}^{M}{y}{}_{Oc},{}^{M}{z}{}_{Oc})=(0,0,0)$
, the joint variables of the arm (
$\theta _{1}$
,
$d_{2}$
), and the angles
$\alpha _{c}$
and
$\phi _{c}$
(using the robot’s IMU) are defined for the initial instant t = 0 s. From this,
Movement 1
is generated, where the second link of the arm is fully retracted at a reference speed
$V_{d2}$
, and the arm is positioned forward by rotating it at a speed
$\omega _{\theta 1}$
, resulting in
$\theta _{1}=0^{\circ}$
.
Stage b. Arm deployment over the slope
To achieve the goal of this stage, the robot must perform three consecutive movements:
Movement 2:
The robot advances at a reference speed
$V_{c}$
until one of the two points located in front of the safety rectangle (
$E_{1}$
or
$E_{2}$
, see Figure 3) is over Edge 1. This advance is defined for each time instant (
${\unicode[Arial]{x0394}} t$
) as
${\unicode[Arial]{x0394}} x=V_{c}{\unicode[Arial]{x0394}} t$
, which is added to the
${}^{s1}{x}{}_{Oc}$
coordinate of the robot in the
$X_{s1}Y_{s1}Z_{s1}$
frame. Then, using (13), the positions of
${}^{s1}{E}{}_{1}$
and
${}^{s1}{E}{}_{2}$
in the
$X_{s1}Y_{s1}Z_{s1}$
frame can be obtained. Finally, these points are transformed into the
$X_{M}Y_{M}Z_{M}$
frame (updating the robot’s position
${}^{M}{O}{}_{c}$
) and evaluated until one of them reaches Edge 1 using (10):
\begin{equation} {}^{ {s}1}{ {E}}{}_{ {n}}=\left[\begin{array}{c} {}^{ {s}1}{ {x}}{}_{ {Oc}}\\ 0\\ 0 \end{array}\right]+{}^{ {c}}{ {E}}{}_{ {n}} \end{equation}
with
${}^{c}{E}{}_{n}$
defined in Figure 3.
Movement 3:
The robot rotates the first link of its arm to the target position,
$\theta _{1\,sp}$
, ensuring the end-effector moves beyond Edge 2. A fuzzy system was designed for this, using
$\beta _{1}$
,
$\beta _{2}$
, and
$\gamma _{b1}$
as input variables (antecedents), where
$\beta _{1}$
and
$\beta _{2}$
represent the maximum slope director angles of Surfaces 1 and 2, derived from their roll (
$\alpha _{si}$
) and pitch (
$\phi _{si}$
), as defined by (14), with
$i=\{1,2\}$
(Figure 10). Seven fuzzy sets were defined for each input within the ranges:
$\beta _{1}$
∈ [−180°,180°],
$\beta _{2}$
∈ [−180°,180°], and
$\gamma _{b1}$
∈ [0,180°]. For the output (
$\theta _{1\,sp}$
), 17 fuzzy sets were distributed across [−180°,180°]. A total of 343 fuzzy rules were established based on observations of a static robotic model tested on inclined obstacles, aimed at improving stability by adjusting the arm’s position. The relationship between two input variables (with the third held constant) and the output
$\theta _{1\,sp}$
is visualized through the 3D surfaces in Figure 11, illustrating the fuzzy system’s behavior in specific scenarios.
Parameters used in the fuzzy inference system: antecedents (
${\unicode[Arial]{x03B2}} _{1}$
,
${\unicode[Arial]{x03B2}} _{2}$
,
${\unicode[Arial]{x03B3}} _{{b}1})$
and consequent.

Surfaces generated for the consequent
$\boldsymbol{\theta }_{\mathbf{1}\,{sp}}$
using the fuzzy inference system.

Movement 4:
The second link of the arm is deployed until the end effector touches Surface 2. At this instant, the second link has a length
$d_{2}$
obtained from (15) knowing the position of the robot
$({}^{M}{x}{}_{Oc},{}^{M}{y}{}_{Oc},{}^{M}{z}{}_{Oc})$
relative to the
$X_{M}Y_{M}Z_{M}$
frame:
\begin{align} &{d}_{2}= {d}_{2 {c}}-\nonumber\\ &\frac{ {n}_{ {z}}\!\left({a}_{1} {c}{\unicode[Arial]{x03B8}} _{1} {c}\phi _{ {c}}+ {a}_{1} {s}{\unicode[Arial]{x03B8}} _{1} {s}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}}+{}^{ {M}}{ {x}}{}_{ {Oc}}\right)+ {o}_{ {z}}\!\left({a}_{1} {s}{\unicode[Arial]{x03B8}} _{1} {c}{\unicode[Arial]{x03B1}} _{ {c}}+{}^{ {M}}{ {y}}{}_{ {Oc}}\right)+ {a}_{ {z}}\!\left(-{a}_{1} {c}{\unicode[Arial]{x03B8}} _{1} {s}\phi _{ {c}}+ {a}_{1} {s}{\unicode[Arial]{x03B8}} _{1} {c}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}}+{}^{ {M}}{ {z}}{}_{ {Oc}}\right)+ {p}_{ {z}}}{ {n}_{ {z}} {s}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}}- {o}_{ {z}} {s}{\unicode[Arial]{x03B1}} _{ {c}}+ {a}_{ {z}} {c}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}}} \end{align}
with:
\begin{align} {n}_{ {z}}&= {s}\phi _{ {s}2} {c}{\unicode[Arial]{x03B1}} _{ {s}2}\nonumber \\ {o}_{ {z}}&=- {s}{\unicode[Arial]{x03B1}} _{ {s}2}\nonumber \\ {a}_{ {z}}&= {c}\phi _{ {s}2} {c}{\unicode[Arial]{x03B1}} _{ {s}2}\nonumber \\ {p}_{ {z}}&=-\left({}^{{M}}{ {x}}{}_{ {O}2} {s}\phi _{ {s}2} {c}{\unicode[Arial]{x03B1}} _{ {s}2}-{}^{ {M}}{ {y}}{}_{ {O}2} {s}{\unicode[Arial]{x03B1}} _{ {s}2}+{}^{ {M}}{ {z}}{}_{ {O}2} {c}\phi _{ {s}2} {c}{\unicode[Arial]{x03B1}} _{ {s}2}\right) \end{align}
Stage c. Initial elevation of the robot with arm support
Movement 5:
The second arm link continues deploying against Surface 2 until the near wheels (front or side, depending on
$\gamma _{b1}$
) clear the obstacle. Simultaneously, the robot rotates about an instantaneous axis defined by the far wheel contact points, causing changes in
$\phi _{c}$
(frontal near wheels) or
$\alpha _{c}$
(lateral near wheels). Initially,
$\phi _{c}=\phi _{s1}$
and
$\alpha _{c}=\alpha _{s1}$
. As the movement progresses, variations in
$\phi _{c}$
or
$\alpha _{c}$
at each
${\unicode[Arial]{x0394}} t$
allow estimation of a far wheel n contact point position,
${}^{s1}{P_{n}}{}=[{}^{s1}{x_{n}}{},{}^{s1}{y_{n}}{},{}^{s1}{z_{n}}{},1]^{T}$
, where changes depend solely on
${\unicode[Arial]{x0394}} x_{r}=R_{r}\sin(\phi _{c}-\phi _{s1})$
. This allows calculation of the (imaginary) contact points of the lifted near wheels,
${}^{s1}{P_{m}}{}=[{}^{s1}{x_{m}}{},{}^{s1}{y_{m}}{},{}^{s1}{z_{m}}{},1]^{T}$
and
${}^{s1}{P_{p}}{}=[{}^{s1}{x_{p}}{},{}^{s1}{y_{p}}{},{}^{s1}{z_{p}}{},1]^{T}$
.
The near wheels must be lifted until their imaginary contact point heights,
${}^{s1}{z_{m}}{}$
and
${}^{s1}{z_{p}}{}$
, surpass the obstacle heights on each robot side,
${}^{s1}{z_{1b2}}{}$
and
${}^{s1}{z_{2b2}}{}$
(Figure 12), plus a safety margin; this applies to front wheel lifting. For lateral wheels, only the height of the lifted side’s obstacle is considered. The obstacle heights,
${}^{s1}{z_{1b2}}{}$
and
${}^{s1}{z_{2b2}}{}$
, are determined using a linear equation representing the projected Edge 2 in the
$Y_{s1}Z_{s1}$
plane, substituting the ordinates,
${}^{c}{y_{E1}}{}$
and
${}^{c}{y_{E2}}{}$
, from the safety rectangle (Figure 3).
Heights of the obstacle (
${}^{\boldsymbol{s}\mathbf{1}}{\boldsymbol{z}_{\mathbf{1}\boldsymbol{b}\mathbf{2}}}{}$
and
${}^{\boldsymbol{s}\mathbf{1}}{\boldsymbol{z}_{\mathbf{2}\boldsymbol{b}\mathbf{2}}}{}$
) on each side of the robot.

Stage d. Robot advance using the far wheels
Movement 6:
Now, the robot must advance supported by the far wheels and the arm’s end effector until the near wheels (lifted wheels) surpass Edge 2, exceeding it by a safety distance
$d_{s}$
. It is expected that, during the advance, the robot maintains the elevation of the lifted wheels achieved in the previous stage (height above
${}^{s1}{z_{1b2}}{}$
and/or
${}^{s1}{z_{2b2}}{}$
). To achieve this, it must keep the angles
$\alpha _{c}$
and
$\phi _{c}$
constant, which can be achieved by continuously changing the extension of the arm’ second link according to (15).
So, let n be a far wheel with coordinates of the contact point
${}^{M}{P_{n}}{}=[{}^{M}{x_{n}}{},{}^{M}{y_{n}}{},{}^{M}{z_{n}}{},1]^{T}$
, its position will be modified as the robot advances with a speed
$V_{c}$
at time intervals
${\unicode[Arial]{x0394}} t$
. For each moment, the position of the (imaginary) contact points on the near wheels can be obtained. These points are used to evaluate whether these wheels have surpassed Edge 2 according to (10) (considering
$\gamma _{b2}$
instead of
$\gamma _{b1}$
), plus a safety distance
$d_{s}$
, which varies according to the type of obstacle. If the robot is ascending over the obstacle or crossing ditches,
$d_{s}\approx 0$
, but when descending from obstacles,
$d_{s}$
must be defined to ensure that, during the following phases, the wheels do not collide with the obstacle. In the case of descent with front wheels,
$d_{s}=d_{s1}+d_{s2}$
, where
$d_{s1}$
is the distance that ensures that the entire wheel surpasses edge 2 (not just the contact point, see Figure 13a). This distance is defined by (17) and depends on the radius of the wheel
$r_{r}$
and its width
$a_{r}$
.
Factors to determine the safety distance
${d}_{s}$
.

\begin{align} \begin{cases} {d}_{ {s}1}=\frac{1}{\cos \phi _{ {s}1}}\left({R}_{ {r}}+\frac{ {a}_{ {r}}}{2\left| \tan {\unicode[Arial]{x03B3}} _{ {b}2}\right| }\right){\unicode[Arial]{x03B3}} _{ {b}2}\neq 90^{\circ}\\ \\ {d}_{ {s}1}=\frac{ {R}_{ {r}}}{\cos \phi _{ {s}1}}\qquad \qquad\qquad{\unicode[Arial]{x03B3}} _{ {b}2}=90^{\circ} \end{cases} \end{align}
On the other hand,
$d_{s2}$
is a distance that compensates for the inward turn that occurs when the wheel (which has already surpassed Edge 2) descends from the obstacle (Figure 13b). In the case of Lázaro,
$d_{s2}$
was calculated based on data obtained in multiple simulations using the MSC ADAMS software (Figure 14), and it depends on
${}^{M}{z}{}_{b}$
, which is the height of the obstacle on the side of the last wheel that surpasses Edge 2. Finally, when evaluating the descent with lateral wheels,
$d_{s}=d_{s1}+d_{s2}/| \tan \gamma _{b2}|$
.
Development of an empirical model for
$\boldsymbol{d}_{\boldsymbol{s}\mathbf{2}}$
using data from MSC ADAMS.

Stage e. Repositioning of the arm to lift the far wheels
It consists of four consecutive movements, which are:
Movement 7:
involves retracting the second arm link until one or both near wheels contact Surface 2 (behind the obstacle). Concurrently, the robot rotates about an instantaneous axis defined by the far wheel contact points, altering
$\phi _{c}$
(frontal near wheels) or
$\alpha _{c}$
(lateral near wheels). Considering a far wheel n, with initial contact point
${}^{M}{P_{n}}{}=[{}^{M}{x_{n}}{},{}^{M}{y_{n}}{},{}^{M}{z_{n}}{},1]^{T}$
(known from the previous stage), its position at each
${\unicode[Arial]{x0394}} t$
is determined using
${\unicode[Arial]{x0394}} \phi _{c}$
or
${\unicode[Arial]{x0394}} \alpha _{c}$
(position changes are solely due to
${\unicode[Arial]{x0394}} x_{r}$
). This allows calculation of the robot’s position
${}^{M}{O}{}_{c}$
, and the near wheel contact points,
${}^{M}{P}{}_{c1}$
and
${}^{M}{P}{}_{c2}$
. Note that these near wheel contact points are not real until contact with Surface 2 occurs. However, they are calculated, incorporating
${\unicode[Arial]{x0394}} x_{f}=R_{r}\sin(\phi _{c}-\phi _{s2})$
(Figure 2b), to determine the precise contact position. The movement ceases when a near wheel touches Surface 2, verified by evaluating
${}^{M}{P}{}_{c1}$
and
${}^{M}{P}{}_{c2}$
using the Section 2.3 procedure. The second link extension,
$d_{2}$
, is obtained using (15).
Now, if Surface 1 and Surface 2 have differing inclinations, the near wheels won’t contact Surface 2 simultaneously. One wheel might touch, leaving the other suspended, potentially requiring a further robot body rotation until both near wheels make contact. This rotation depends on the robot’s center of gravity (COG) position relative to the support polygon formed by the wheels contacting the ground. If the COG’s horizontal projection lies within the triangle formed by the far wheel contact point projections and the first near wheel touching the ground, no rotation occurs (Figure 15a). Otherwise (Figure 15b), rotation occurs, positioning the COG within a new triangle formed by the near wheel contact points and a far wheel (Figure 15c). Let
${}^{H}{P_{cn}}{}=[{}^{M}{x_{cn}}{},{}^{M}{y_{cn}}{}]^{T}$
,
${}^{H}{P_{m}}{}=[{}^{M}{x_{m}}{},{}^{M}{y_{m}}{}]^{T}$
,
${}^{H}{P_{n}}{}=[{}^{M}{x_{n}}{},{}^{M}{y_{n}}{}]^{T}$
,
${}^{H}{P_{cs}}{}=[{}^{M}{x_{cs}}{},{}^{M}{y_{cs}}{}]^{T}$
and
${}^{H}{P_{COG}}{}=[{}^{M}{x_{cog}}{},{}^{M}{y_{cog}}{}]^{T}$
represent the horizontal plane projections of the near wheel
$c_{n}$
(first to contact Surface 2), far wheels m and n (counterclockwise), near wheel
$c_{s}$
(contacting after rotation), and the COG respectively. No rotation occurs if the following conditions are met:
Rotation process: (a) No rotation exists; (b) Imminent rotation; (c) Robot after rotation.

Otherwise, there will be rotation if:
On the other hand, when there is rotation, it occurs around an imaginary axis formed by the near wheel that has already touched Surface 2 and the diagonally opposite far wheel to it. In practice, this translates into a change in
$\phi _{c}$
that will continue to vary at intervals of
${\unicode[Arial]{x0394}} t$
, plus a change in
$\alpha _{c}$
obtained through (20), where the subscripts
$g_{m}$
and
$g_{n}$
correspond to the two wheels that are part of the imaginary pivot axis.
\begin{equation} {\unicode[Arial]{x03B1}} _{ {c}}=\tan ^{-1} \left[\frac{\left({}^{{M}}{ {z}}{}_{ {gm}}-{}^{ {M}}{ {z}}{}_{ {gn}}\right)+\sin \phi _{ {c}} \left({}^{{c}}{ {z}}{}_{ {gm}}-{}^{ {c}}{ {z}}{}_{ {gn}}\right)}{\cos \phi _{ {c}}\left({}^{{M}}{ {y}}{}_{ {gm}}-{}^{ {M}}{ {y}}{}_{ {gn}}\right)}\right] \end{equation}
This rotation ends when the suspended near wheel
$c_{s}$
touches Surface 2, so this condition must be continuously evaluated using the procedure described in Section 2.3 with
${}^{M}{P}{}_{cs}$
. When this rotation is completed,
$\alpha _{c}=\alpha _{s2}$
(near wheels are front) or
$\phi _{c}=\phi _{s2}$
(near wheels are lateral).
Movement 8: After the end effector of the arm stops touching Surface 2, this movement continues with the complete retraction of the second link, which occurs to prevent subsequent collisions when the arm changes position. In this movement, the other geometric and positional parameters of the robot remain constant.
Now, it is important to recall that when Surfaces 1 and 2 have different inclinations, the phenomenon of involuntary rotation described in Movement 7 may occur. If it did not occur during that movement, it could occur during the subsequent ones (8, 9, or 10). Therefore, at the end of each movement, the rotation analysis should be performed to assess a possible rotation in the body of the robot due to the position of the COG.
Movement 9:
The robot rotates its first arm link to a target position,
$\theta _{1\,sp}$
, positioning the end effector before Edge 1. Another fuzzy logic-based system determines
$\theta _{1\,sp}$
, prioritizing robot stability. The input variables (antecedents) are
$\beta _{1}$
,
$\beta _{2}$
(14), and
$\gamma _{b1}$
, each using the seven fuzzy sets defined in Movement 3. The output (consequent),
$\theta _{1\,sp}$
, uses seventeen fuzzy sets distributed across 0–360°, mathematically transformed to −180° to 180°. Similar to Movement 3, 343 fuzzy rules determine
$\theta _{1\,sp}$
, visualized as 3D surfaces in Figure 16 (showing examples with two variable antecedents and one constant).
Surfaces generated for
$\boldsymbol{\theta }_{\mathbf{1}\,\boldsymbol{sp}}$
using the fuzzy inference system.

Movement 10:
The arm’s second link is extended with a speed
$V_{d2}$
until the end effector touches Surface 1. At that moment, the second arm link has a length
$d_{2}$
determined by:
\begin{align} &{d}_{2}= {d}_{2 {c}}\nonumber\\&-\frac{ {n}_{ {z}}\left({a}_{1} {c}{\unicode[Arial]{x03B8}} _{1} {c}\phi _{ {c}}+ {a}_{1} {s}{\unicode[Arial]{x03B8}} _{1} {s}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}}+{}^{ {M}}{ {x}}{}_{ {Oc}}\right)+ {o}_{ {z}}\left({a}_{1} {s}{\unicode[Arial]{x03B8}} _{1} {c}{\unicode[Arial]{x03B1}} _{ {c}}+{}^{ {M}}{ {y}}{}_{ {Oc}}\right)+ {a}_{ {z}}\left(-{a}_{1} {c}{\unicode[Arial]{x03B8}} _{1} {s}\phi _{ {c}}+ {a}_{1} {s}{\unicode[Arial]{x03B8}} _{1} {c}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}}+{}^{ {M}}{ {z}}{}_{ {Oc}}\right)}{ {n}_{ {z}} {s}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}}- {o}_{ {z}} {s}{\unicode[Arial]{x03B1}} _{ {c}}+ {a}_{ {z}} {c}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}}} \end{align}
with
\begin{align} \begin{cases} {n}_{ {z}}= {s}\phi _{ {s}1} {c}{\unicode[Arial]{x03B1}} _{ {s}1}\\ {o}_{ {z}}=- {s}{\unicode[Arial]{x03B1}} _{ {s}1}\\ {a}_{ {z}}= {c}\phi _{ {s}1} {c}{\unicode[Arial]{x03B1}} _{ {s}1} \end{cases} \end{align}
Stage f. Final elevation of the robot with the support of the arm
Movement 11:
With the end effector contacting Surface 1, continued deployment of the second arm link lifts the far wheels, clearing the obstacle. This causes robot rotation about an instantaneous axis defined by the near wheel contact points, altering
$\phi _{c}$
(frontal near wheels) or
$\alpha _{c}$
(lateral near wheels). Considering a near wheel contact point, n, with known initial position
${}^{M}{P_{n}}{}$
in the
$X_{M}Y_{M}Z_{M}$
frame, its position is updated at each instant based on
$\phi _{c}$
or
$\alpha _{c}$
variations (changes due solely to
${\unicode[Arial]{x0394}} x_{f}$
). This allows determining the robot’s position,
${}^{M}{O}{}_{c}$
, and the positions of the lifting far wheels,
${}^{s1}{P_{l1}}{}=[{}^{s1}{x_{l1}}{},{}^{s1}{y_{l1}}{},{}^{s1}{z_{l1}}{},1]^{T}$
and
${}^{s1}{P_{l2}}{}=[{}^{s1}{x_{l2}}{},{}^{s1}{y_{l2}}{},{}^{s1}{z_{l2}}{},1]^{T}$
. The far wheels are raised until their contact point heights,
${}^{s1}{z_{l1}}{}$
and
${}^{s1}{z_{l2}}{}$
(imaginary as there’s no contact), exceed the obstacle heights on each robot side (
${}^{s1}{z_{1b1}}{}$
and
${}^{s1}{z_{2b2}}{}$
; Figure 12) for frontal wheels, or the obstacle height on the lifted side for lateral wheels, plus a safety distance,
$d_{s}$
. During this lift, the second arm link extends by
$d_{2}$
, obtained using (21).
Stage g. Advancement of the robot using the near wheels
Movement 12:
Now the robot must advance supported by the near wheels and the arm’s end effector until the far wheels (raised wheels) exceed Edge 2 by a safety distance
$d_{s}$
. It is expected that, during the advance, the robot maintains the elevation of the far wheels reached in the previous stage (height greater than
${}^{s1}{z_{1b2}}{}$
and/or
${}^{s1}{z_{2b2}}{}$
). To achieve this, as the robot advances
${\unicode[Arial]{x0394}} x$
at time intervals
${\unicode[Arial]{x0394}} t$
, its inclination will be with a constant
$\alpha _{c}$
and
$\phi _{c}$
changing continuously according to (23), if the robot advances supported by the front wheels.
\begin{equation} \phi _{ {c}}=\tan ^{-1} \left(\frac{\dfrac{{}^{ {M}}{ {z}_{ {c}1}}{}-{}^{ {M}}{ {z}_{ {l}1}}{}}{{}^{ {c}}{ {x}_{ {l}1}}{}-{}^{ {c}}{ {x}_{ {c}1}}{}}}{\sqrt{1-\left(\dfrac{{}^{ {M}}{ {z}_{ {c}1}}{}-{}^{ {M}}{ {z}_{ {l}1}}{}}{{}^{ {c}}{ {x}_{ {l}1}}{}-{}^{ {c}}{ {x}_{ {c}1}}{}}\right)^{2}}}\right) \end{equation}
In this case,
$l_{1}$
and
$c_{1}$
correspond to a far and near wheel respectively, belonging to the same side, with contact points having coordinates
${}^{M}{P_{l1}}{}({}^{M}{x_{l1}}{},{}^{M}{y_{l1}}{},{}^{M}{z_{l1}}{},)$
and
${}^{M}{P_{c1}}{}({}^{M}{x_{c1}}{},{}^{M}{y_{c1}}{},{}^{M}{z_{c1}}{})$
in the
$X_{M}Y_{M}Z_{M}$
frame, and coordinates
${}^{c}{P_{l1}}{}({}^{c}{x_{l1}}{},{}^{c}{y_{l1}}{},{}^{c}{z_{l1}}{})$
and
${}^{c}{P_{c1}}{}({}^{c}{x_{c1}}{},{}^{c}{y_{c1}}{},{}^{c}{z_{c1}}{})$
in the
$X_{c}Y_{c}Z_{c}$
frame. On the other hand, if during the advance, the robot is supported on lateral wheels, the angle
$\phi _{c}$
remains constant while
$\alpha _{c}$
changes continuously according to (24). In this case, the far wheel
$l_{1}$
and the near wheel
$c_{1}$
must both belong to either the front of the robot (wheels 1 and 2) or the rear of the robot (wheels 3 and 4).
\begin{equation} {\unicode[Arial]{x03B1}} _{ {c}}=\tan ^{-1} \left(\frac{\dfrac{{}^{ {M}}{ {z}_{ {c}1}}{}-{}^{ {M}}{ {z}_{ {l}1}}{}}{ {c}\phi _{ {c}}\left({}^{{c}}{ {y}_{ {c}1}}{}-{}^{ {c}}{ {y}_{ {l}1}}{}\right)}}{\sqrt{1-\left(\dfrac{{}^{ {M}}{ {z}_{ {c}1}}{}-{}^{ {M}}{ {z}_{ {l}1}}{}}{ {c}\phi _{ {c}}\left({}^{{c}}{ {y}_{ {c}1}}{}-{}^{ {c}}{ {y}_{ {l}1}}{}\right)}\right)^{2}}}\right) \end{equation}
Given
$\phi _{c}$
and
$\alpha _{c}$
, the position of the robot
${}^{M}{O}{}_{c}$
can be obtained at each instant as well as the extension of the arm’s second link
$d_{2}$
using (32), which will be the necessary action to keep the far wheels at the expected height. Then, the coordinates
${}^{M}{E_{l1}}{}$
and
${}^{M}{E_{l2}}{}$
of the rear vertices of the safety rectangle (vertices 3 and 4, Figure 3) can be found. These coordinates will be used to evaluate if the rear wheels have completely surpassed the Edge 2 according to (10) (considering
$\gamma _{b2}$
instead of
$\gamma _{b1}$
), plus a safety distance
$d_{s}$
. This distance is
$d_{s}\approx 0$
if the robot is ascending over the obstacle or surpassing trenches. However, in the descent of obstacles, it is necessary to define a sufficient
$d_{s}$
to ensure that, during the subsequent descent of the wheels, they do not collide with the obstacle (see Figure 17). In the case of the descent of rear wheels,
$d_{s}$
is defined by (25), whereas in the descent of lateral wheels, it is defined by (26), where
$r_{r}$
and
$a_{r}$
are the radius and width of the wheels, and (
$\phi _{ci}$
,
$\alpha _{ci}$
) are the pitch and roll angles of the robot at the instant when the descent of the far wheels begins.
Safety distance in descent with: (a) rear wheels; (b) lateral wheels.

Stage h. Landing
Movement 13:
includes the retraction of the second link of the arm until the far wheels touch Surface 2. In this case, the robot also undergoes a rotation with an instantaneous axis of rotation formed by the contact points of the near wheels with the ground, causing a variation in
$\phi _{c}$
(if the near wheels are frontal) or
$\alpha _{c}$
(if the near wheels are lateral). Therefore, if the initial position
${}^{M}{P_{n}}{}$
of a near wheel from the previous stage is known, its new position can be calculated as variations in
$\phi _{c}$
or
$\alpha _{c}$
occur over
${\unicode[Arial]{x0394}} t$
. From this, the real position of the descending far wheels (
${}^{M}{P_{l1}}{}$
and
${}^{M}{P_{l2}}{}$
) (wheels l
1
and l
2
) in the
$X_{M}Y_{M}Z_{M}$
frame can be obtained using (1)–(2). This position, combined with the procedure described in Section 2.3, is used to determine when the far wheels make contact with Surface 2.
Movements 14 and 15: These two movements sequentially aim to fully retract the second link of the arm and then reposition the arm in front of the robot to continue navigation (similar to movement 1).
4. Tip-over stability analysis
During obstacle traversal, it is essential to prevent the robot from tipping due to changes in inclination. Therefore, the tipping tendency must be studied. This work uses a criterion based on reaction forces [Reference García, Martínez, Mandow and García-Cerezo33], which includes the effects of perturbing forces generated by the arm’s end effector in contact with the ground. According to this criterion, a four-wheeled robot becomes unstable when the sum of the reaction forces along a tipping axis (an imaginary line connecting two consecutive wheel-ground contact points) approaches zero. A normalized stability index is defined by (27), where
$F_{mn}$
represents the sum of the reaction forces from two consecutive wheels (m and n) along the
$Z_{c}$
axis (
$F_{mnz}=F_{mz}+F_{nz}$
). This index, normalized to the robot’s weight (W), ranges from 1 (maximum stability) to 0 (imminent tipping).
However, during the obstacle overcoming process, the robot may be supported on three ground contact points. In this case, the normalized stability index depends on the reaction forces at these three contact points. Thus, if the robot is supported on two wheels,
$m$
and
$n$
, plus the end effector of the arm (contact 5), the stability index is defined by (28).
4.1. Reaction forces with the robot supported on its four wheels
Let
$\phi _{c}$
and
$\alpha _{c}$
be the roll and pitch angles defining the inclination of the robot, respectively. The position of the center of gravity and the weight vector (both defined according to the
$X_{c}Y_{c}Z_{c}$
frame) can be obtained for any inclination or arm position through (29) and (30), respectively (Figure 18), where a, b, c and d are constants specific to the robot.
Reaction forces on wheels of the Lázaro robot.

\begin{equation} \left[\begin{array}{c} {W}_{{x}}\\ {W}_{{y}}\\ {W}_{{z}} \end{array}\right]={W}\left[\begin{array}{c} \sin \phi _{{c}}\\ \cos \phi _{{c}}\sin {\unicode[Arial]{x03B1}} _{{c}}\\ \cos \phi _{{c}}\cos {\unicode[Arial]{x03B1}} _{{c}} \end{array}\right] \end{equation}
\begin{equation} \left[\begin{array}{c} {x}_{{cog}}\\ {y}_{{cog}}\\ {z}_{{cog}} \end{array}\right]=\left[\begin{array}{c} {a}+{r}\cos {\unicode[Arial]{x03B8}} _{1}\\ {b}+{r}\sin {\unicode[Arial]{x03B8}} _{1}\\ {c} \,{d}_{2}+{d} \end{array}\right] \end{equation}
\begin{align} {F}_{12{z}}={F}_{1{z}}+{F}_{2{z}}&=\frac{1}{{x}_{{t}}-{\unicode[Arial]{x0394}} {x}_{{r}}+{\unicode[Arial]{x0394}} {x}_{{f}}}\left[{W}_{{z}}\left({x}_{{r}}-{\unicode[Arial]{x0394}} {x}_{{r}}+{x}_{{cog}}\right)+{W}_{{x}}{z}_{{cog}}-{F}_{5{z}}\left({x}_{{r}}-{\unicode[Arial]{x0394}} {x}_{{r}}+{a}_{1}{c}{\unicode[Arial]{x03B8}} _{1}\right)\right. \nonumber\\&\quad +\left .{F}_{5{x}}\left({d}_{2}-{d}_{2{c}}\right)\right] \end{align}
\begin{align} {F}_{34{z}}={F}_{3{z}}+{F}_{4{z}}&=\frac{1}{{x}_{{t}}-{\unicode[Arial]{x0394}} {x}_{{r}}+{\unicode[Arial]{x0394}} {x}_{{f}}}\left[{W}_{{z}}\left({x}_{{f}}+{\unicode[Arial]{x0394}} {x}_{{f}}-{x}_{{cog}}\right)-{W}_{{x}}{z}_{{cog}}+{F}_{5{z}}\left(-{x}_{{f}}-{\unicode[Arial]{x0394}} {x}_{{f}}+{a}_{1}{c}{\unicode[Arial]{x03B8}} _{1}\right)\right. \nonumber\\&\quad -\left .{F}_{5{x}}\left({d}_{2}-{d}_{2{c}}\right)\right] \end{align}
Now, to find the sum of reaction forces
$F_{mn}$
on each tipping axis, the static equilibrium moment summation is used considering that the robot and its arm move at low speeds, obtaining the
$F_{mn}$
corresponding to the four tipping axes (1–2, 3–4, 1–4, and 2–3), measured on the
$Z_{c}$
axis, which are expressed from (31) to (34).
4.2. Reaction forces with the robot supported on three points
During obstacle traversal, the robot will be supported on three points at certain moments: two consecutive wheels and the end effector of the arm. In this case, it is necessary to determine the reaction forces at these three points, presenting four possible scenarios:
(a) The front wheels are lifted (
$\boldsymbol{F}_{\mathbf{1}\boldsymbol{z}}+\boldsymbol{F}_{\mathbf{2}\boldsymbol{z}}=\mathbf{0}$
):
the reaction forces on the wheels touching the ground (wheels 3 and 4) can be determined from (33) and (34), considering that
$F_{1z}=0$
and
$F_{2z}=0$
. The normal reaction force
$F_{5}$
at the end effector is obtained through (35), knowing that
$\phi _{si}$
and
$\alpha _{si}$
correspond to the tilt angles of the surface i that the end effector of the arm is touching.
(b) The rear wheels are lifted (
$\boldsymbol{F}_{\mathbf{3}\boldsymbol{z}}+\boldsymbol{F}_{\mathbf{4}\boldsymbol{z}}=\mathbf{0}$
):
the reaction forces on the front wheels (1 and 2) are also obtained from (33) and (34), knowing that
$F_{3z}=0$
and
$F_{4z}=0$
.
$F_{5}$
is obtained through (36).
(c) The left-side lateral wheels are lifted (
$\boldsymbol{F}_{\mathbf{1}\boldsymbol{z}}+\boldsymbol{F}_{\mathbf{4}\boldsymbol{z}}=\mathbf{0}$
):
the reaction forces on the right-side wheels (2 and 3) are obtained from (31) and (32), knowing that
$F_{1z}=0$
and
$F_{4z}=0$
.
$F_{5}$
is obtained through (37).
(d) The right-side lateral wheels are lifted (
$\boldsymbol{F}_{\mathbf{2}\boldsymbol{z}}+\boldsymbol{F}_{\mathbf{3}\boldsymbol{z}}=\mathbf{0}$
):
the reaction forces on the left-side wheels (1 and 4) are also obtained from (31) and (32), knowing that
$F_{2z}=0$
and
$F_{3z}=0$
.
$F_{5}$
is obtained through (38).
In any case, the component
$F_{5z}$
in (28) is required, which can be obtained from (39)
\begin{align} {F}_{5}&=\left[{W}_{ {z}}\left(\frac{ {y}_{ {t}}}{2}+ {y}_{ {cog}}\right)- {W}_{ {y}} {z}_{ {cog}}\right]/\left[\left(\frac{ {y}_{ {t}}}{2}+ {a}_{1} {s}{\unicode[Arial]{x03B8}} _{1}\right)\right.\left({s}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}} {s}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right.+ {s}{\unicode[Arial]{x03B1}} _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {si}}+\left. {c}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}} {c}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right)\nonumber\\&\quad\left.-\left({s}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}} {s}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}- {c}{\unicode[Arial]{x03B1}} _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {si}}+ {c}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}} {c}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right)\vphantom{\frac{ {y}_{ {t}}}{2}+ {a}_{1} {s}{\theta} _{1}}\left({d}_{2}- {d}_{2 {c}}\right)\right] \end{align}
\begin{align} {F}_{5}&=\left[{W}_{ {z}}\left(\frac{ {y}_{ {t}}}{2}- {y}_{ {cog}}\right)+ {W}_{ {y}} {z}_{ {cog}}\right]/\left[\left(\frac{ {y}_{ {t}}}{2}- {a}_{1} {s}{\unicode[Arial]{x03B8}} _{1}\right)\right.\left({s}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}} {s}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right.+ {s}{\unicode[Arial]{x03B1}} _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {si}}+\left. {c}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}} {c}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right)\nonumber\\&\quad\left.+\left({s}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}} {s}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}- {c}{\unicode[Arial]{x03B1}} _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {si}}+ {c}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}} {c}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right)\vphantom{\frac{ {y}_{ {t}}}{2}+ {a}_{1} {s}{\theta} _{1}}\left({d}_{2}- {d}_{2 {c}}\right)\right] \end{align}
\begin{align} {F}_{5}&=\left[\left({W}_{ {y}} {c}{\unicode[Arial]{x03BB}} + {W}_{ {x}} {s}{\unicode[Arial]{x03BB}} \right) {Z}_{ {cog}}- {S}_{ {cog}} {d}_{13- {cog}} {W}_{ {z}}\right]/\left\{\left({d}_{2}- {d}_{2 {c}}\right)\left[{c}{\unicode[Arial]{x03BB}} \left({s}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}} {s}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right.\right.\right. \nonumber\\ &\left.\left.- {c}{\unicode[Arial]{x03B1}} _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {si}}+ {c}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}} {c}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right)- {s}{\unicode[Arial]{x03BB}} \left({c}\phi _{ {c}} {s}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}- {s}\phi _{ {c}} {c}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right)\right] \nonumber\\ &\left.- {S}_{5} {d}_{13-5}\left({s}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}} {s}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}+ {s}{\unicode[Arial]{x03B1}} _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {si}}+ {c}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}} {c}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right)\right\} \end{align}
\begin{align} {F}_{5}&=\left[\left({W}_{ {y}} {c}{\unicode[Arial]{x03BB}} - {W}_{ {x}} {s}{\unicode[Arial]{x03BB}} \right) {Z}_{ {cog}}- {S}_{ {cog}} {d}_{24- {cog}} {W}_{ {z}}\right]/\left\{\left({d}_{2}- {d}_{2 {c}}\right)\left[{c}{\unicode[Arial]{x03BB}} \left({s}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}} {s}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right.\right.\right. \nonumber\\ &\left.\left.- {c}{\unicode[Arial]{x03B1}} _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {si}}+ {c}\phi _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {c}} {c}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right)+ {s}{\unicode[Arial]{x03BB}} \left({c}\phi _{ {c}} {s}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}- {s}\phi _{ {c}} {c}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right)\right] \nonumber\\ &\left.- {S}_{5} {d}_{24-5}\left({s}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}} {s}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}+ {s}{\unicode[Arial]{x03B1}} _{ {c}} {s}{\unicode[Arial]{x03B1}} _{ {si}}+ {c}\phi _{ {c}} {c}{\unicode[Arial]{x03B1}} _{ {c}} {c}\phi _{ {si}} {c}{\unicode[Arial]{x03B1}} _{ {si}}\right)\right\} \end{align}
4.3. Reaction forces during rotation on two diagonal wheels
Rotation on diagonal wheels occurs as a result of the COG position and can be controlled by the action of the end effector of the arm (
$F_{5}\gt 0$
), as would happen in movements 7 and 11; or it could be spontaneous with
$F_{5}=0$
if it occurs in movements 8, 9, or 10. The equations that allow quantifying the reaction forces for two specific cases are described below.
Rotation on wheels 1-3:
If the rotation is regulated by the action of the end effector of the arm (
$F_{5}\gt 0$
), the magnitude of the force
$F_{5}$
on the effector is obtained from (40), where
$\lambda$
is the angle between the 1–3 axis and the
$X_{c}$
axis,
$d_{13-cog}$
and
$d_{13-5}$
are the distances defined in the
$X_{c}Y_{c}$
plane, from the 1–3 axis to the COG and to the contact point of the end effector with the ground (point 5) respectively (Figure 19a);
$S_{cog}$
and
$S_{5}$
take the values given by:
Top view of the Lázaro robot showing rotation axes: (a) 1–3; (b) 2–4.

\begin{align} {S}_{{cog}}=\begin{cases}\begin{array}{cl} 1&\text{COG is to left of the }\text{axis }\\ 0& \text{COG is on the axis }\\ -1&\text{COG is to right of the }\text{axis } \end{array}\end{cases} \end{align}
\begin{align} {S}_{5}=\begin{cases} \begin{array}{cl}1& \text{ Point }5\ \text{is to left of the }\text{axis }\\ 0&\text{ Point }5\ \text{is on the axis }\\ -1&\text{ Point }5\ \text{is to right of the }\text{axis } \end{array}\end{cases} \end{align}
Then, the reaction forces can be calculated: on wheel 1 (
$F_{1z}$
) through (31) (knowing that
$F_{2z}=0$
); and on wheel 3 (
$F_{3z}$
) through (32) (setting
$F_{4z}=0$
).
Rotation on wheels 2-4:
In this case, if the rotation is regulated by the action of the end effector of the arm (
$F_{5}\gt 0$
), the magnitude of the force
$F_{5}$
is obtained from (41), where
$\lambda$
is the angle between the 2–4 axis and the
$X_{c}$
axis,
$d_{24-cog}$
and
$d_{24-5}$
are the distances defined in the
$X_{c}Y_{c}$
plane, from the 2–4 axis to the COG and to the contact point of the end effector with the ground (point 5) respectively (Figure 19b). From there, the reaction forces are calculated: on wheel 2 (
$F_{2z}$
) through (31) (knowing that
$F_{1z}=0$
); and on wheel 4 (
$F_{4z}$
) through (32) (with
$F_{3z}=0$
).
5. Validation of the overcoming strategy
5.1. Simulations
The obstacle-overcoming strategy was implemented in a “planner” program (Figure 20), which performs three main operations: First, based on external information (Localization of
$R_{1}$
,
$R_{2}$
,
$R_{3}$
,
$R_{4}$
,
$O_{s2}$
), the obstacle is characterized to define its surfaces and edges and obtain geometric information (
$\alpha _{s1}$
,
$\phi _{s1}$
,
$\alpha _{s2}$
,
$\phi _{s2}$
,
$\gamma _{b1}$
,
$\gamma _{b2}$
). Second, the overcoming process is computationally emulated through the entire procedure described in Section 3, consisting of 8 stages translating into 15 movements. For each movement, the robot’s position and the joint variables’ magnitudes are defined at each time instant. Finally, the program generates the sequential commands for the robot to execute each of the 15 movements, including the robot’s displacements and the arm’s positions (defined by
$\theta _{c}$
and
$d_{2}$
).
Planner developed to implement the strategy.

A model of the Lázaro robot was implemented in MSC. ADAMS dynamic simulation software [Reference Grazioso, Ugenti, Galati, Mantriota and Reina34]. Additionally, a control system was developed in SIMULINK to manage the robot’s actuators. The SIMULINK system receives setpoints from the planner and real-time variables from MSC. ADAMS generates control actions which are then executed by the robot in ADAMS. Using this setup, six simulations were conducted (Figure 21) to represent various types of obstacles. Table 2 summarizes the information for these obstacles. The results from these simulations were compared to those obtained from the planner. Figure 22, for simulation C, shows a comparison of the position parameters (
${}^{M}{x_{c}}{}, {}^{M}{y_{c}}{}, {}^{M}{z_{c}}{}, d_{2}$
) and orientation (
$\phi _{c}$
,
$\alpha _{c}$
,
$\theta _{1}$
) from both the planner and the simulation.
Simulations carried out in MSC. ADAMS for obstacle overcoming.

Geometry of obstacles for 6 simulations.

Position and orientation parameters of the robot obtained in Simulation C: (a) Planner; (b) Simulation.

Firstly, while there is absolute equivalence between these parameters, the planner does not accurately quantify the execution time of the obstacle overcoming strategy. The planner estimates the strategy’s completion in 60 s, whereas the simulation estimates it in 80s due to differing standard movement speeds and the planner’s lack of consideration for speed variations at the start and stop of each movement. If these results are plotted as a function of their magnitudes at the beginning and end of each movement (15 in total), Figure 23 demonstrates total correspondence between the planner and the simulation. This ensures that the planner’s generated actions (setpoints) are appropriate and allow the robot to efficiently overcome an obstacle.
Comparison of position and orientation parameters of the robot, obtained with the planner and Simulation C.

To complement these results, Table 3 provides a statistical comparison between the planner and each simulation, including the mean error (
$\overline{\mu }$
), standard deviation (
$\sigma$
), and mean absolute percentage error (MAPE) for variables
$\phi _{c}$
,
$\alpha _{c}$
,
$\theta _{1}$
, and
$d_{2}$
. Analyzing
$\overline{\mu }$
and
$\sigma$
confirms the planner’s high reliability due to their low magnitudes. This is further evidenced by the MAPE, which has a maximum value of 5.2%, indicating high precision in the planner’s forecasts. Figure 24 compares the results for simulation C, showing total correspondence between the planner and simulation for reaction forces and stability index
$I_{t}$
. Additionally, Tables 4 and 5 present statistical comparisons of these variables for the six simulations, showing that
$\overline{\mu }$
and
$\sigma$
are very low compared to the forces’ magnitudes, which reach up to 175 N. The maximum MAPE in this comparison is 3.3% for forces and 4.7% for
$I_{t}$
, demonstrating the high precision of the planner’s equations.
Statistical comparison between planner and simulations for
$\boldsymbol{\theta }_{\mathbf{1}}$
,
$\boldsymbol{d}_{\mathbf{2}}$
,
$\boldsymbol{\alpha }_{\boldsymbol{c}}$
and
$\boldsymbol{\phi }_{\boldsymbol{c}}$
.

Comparison of
$\boldsymbol{F}_{\boldsymbol{nmz}}$
and
$\boldsymbol{I}_{\boldsymbol{t}}$
obtained with the planner and the simulation.

Statistical comparison between planner and simulations for forces
$\boldsymbol{F}_{\boldsymbol{nmz}}$
.

Statistical comparison between planner and simulations for
$\boldsymbol{I}_{\boldsymbol{t}}$
.

Finally, the effectiveness of the fuzzy inference system that positions the first joint of the arm (
$\theta _{1\,sp}$
) to improve tip-over stability was studied. Figure 24 shows the stability index
$I_{t}$
(last graph) during the obstacle overcoming process. It was observed that for all simulations,
$I_{t}\gt 0.5$
for obstacles near the height limit for Lázaro, 140 mm, due to the dimensions of the second link of the arm defining the limits of
$d_{2}$
(
$-432.5\leq d_{2}\leq -132.5$
mm). With these
$I_{t}$
magnitudes, the robot is guaranteed not to tip over. Then, the lowest
$I_{t}$
values occur when
$F_{5z}\gt 0$
, meaning the robot supports itself with the arm’s end effector while the first joint is oriented according to
$\theta _{1\,sp}$
. Other simulations without the fuzzy system, positioning the arm with
$\theta _{1}$
perpendicular to the obstacle, showed
$I_{t}\gt 0.06$
at the same instant, implying an imminent rollover risk. This comparison confirmed the fuzzy system’s effectiveness in enhancing the robot’s stability during obstacle overcoming.
5.2. Implementation on Lázaro robot
In order for the robot to execute the strategy autonomously, an additional system scans the environment (using a LiDAR), detects the presence of obstacles, characterizes them, and extracts the required dimensional features. Subsequently, the planner is activated, which is fed with this data to obtain the setpoints for each movement. These setpoints are ultimately delivered to a behavior responsible for commanding the execution of the developed strategy to overcome the obstacle, through a control system that takes these setpoints and controls the actuators in a closed loop, continuously fed with data collected by the sensors installed on the robot to measure the variables:
$\theta _{1}$
,
$d_{2}$
,
$\phi _{c}$
and
${}^{M}{X}{}_{c}$
.
Preliminary tests on the Lázaro robot verified its capability to overcome obstacles using the developed strategy. The robot was positioned on obstacles with
$\gamma _{b1}\neq 90^{\circ}$
(Test 1:
$\gamma _{b1}=110^{\circ}$
, Test 2:
$\gamma _{b1}=70^{\circ}$
) and a maximum height of 140 mm (Figure 25). Dimensional data from each test were input into the MATLAB planner to obtain setpoints for each movement, which were then delivered to the robot for executing the strategy. Figure 26 shows the stages followed during Test 1 to climb a step, and Figure 27 shows the process for Test 2 to descend a step. Variables measured by the robot’s sensors
$\theta _{1}$
,
$d_{2}$
,
$\phi _{c}$
and
${}^{M}{X}{}_{c}$
; Figure 28) were compared between real tests and simulations with MSC. ADAMS. The sequences and magnitudes were found to be consistent, validating that the process developed through equations and simulations corresponds to the actual execution of the strategy by the robot.
Implementation of the strategy on the Lázaro robot to overcome obstacles: (a) Test 1: ascent with
$\boldsymbol{\gamma }_{\boldsymbol{b}\mathbf{1}}$
=110°; (b) Test 2: descent with
$\boldsymbol{\gamma }_{\boldsymbol{b}\mathbf{1}}$
=70°.

Process followed by the Lázaro robot when overcoming the obstacle in Test 1.

Process followed by the Lázaro robot when overcoming the obstacle in Test 2.

Parameters of position and orientation of the robot obtained in: (a) Test 1; (b) Test 2.

Finally, it was observed that the strategy’s execution time differs between simulation and real implementation: in simulation, the robot overcomes the obstacle in approximately 80 s, while in reality, it takes about 120 s on average. This difference does not invalidate the strategy’s effectiveness; it indicates that the robot executes the stages more slowly in reality, considering factors not quantifiable in the simulation, such as sensor data acquisition, communication delays between the robot and a remote PC, processing time, and actuator dynamic response. Despite these factors, the robot successfully overcomes obstacles according to the control setpoints provided by the planner.
6. Final considerations
At this point, it is essential to analyze the requirements for the robot to undertake the obstacle overcoming strategy. Prior knowledge of the obstacle is vital, simplified in this work through five points (
$R_{1}$
,
$R_{2}$
,
$R_{3}$
,
$R_{4}$
,
$O_{s2}$
) for complete characterization (edges and surfaces). Other methods include LiDAR [Reference Serón, Martínez, Mandow, García-Cerezo, Morales, Reina and García26] or stereo cameras [Reference Sung and Kim35]. Characterization is crucial for this deliberative strategy, where all 15 movements are planned in advance. Thus, the mathematical analysis shown in this article is important, as it forms the basis for computational emulation in the planner. Additionally, Eqs. (31)–(41) are relevant, providing sums of the wheel reaction forces with the terrain, useful for roll stability analysis during planning. This allows for quantitative estimation of tip-over risk before the robot encounters the obstacle, offering an additional safety resource, especially in environments where the robot cannot be recovered after a tip-over that renders it inoperable.
It is important to highlight the increased obstacle-overcoming capability of the Lázaro robot when using the developed strategy. Typically, a wheeled robot can overcome obstacles with a maximum height (
$H_{o}$
) equal to the radius of its wheels (
$R_{r}$
), resulting in
$H_{o}/R_{r}=1$
. By implementing the strategy, Lázaro’s capability increases to
$H_{o}/R_{r}=1.9$
, which is competitive compared to other robots: Spirit and Opportunity [Reference Lindemann, Bickler, Harrington, Ortiz and Voorhees36] with
$H_{o}/R_{r}=1.60$
, Hanzo [Reference Shiroma, Chiu, Min, Kawabuchi and Matsuno37] with
$H_{o}/R_{r}=1.65$
, Q-Whex [Reference Zhang, Ma, Liu, Zeng, Kong and L.14] with
$H_{o}/R_{r}=1.86$
, and TurboQuad [Reference Chen, Lin, Lin and Lin38] with
$H_{o}/R_{r}=1.38$
. While there are robots with greater capabilities, such as Epi.q-1 [Reference Quaglia, Oderio, Bruzzone and Razzoli39] with
$H_{o}/R_{r}=3.60$
, Lázaro’s ability is limited by the dimensions of the linear actuator in the second arm link. Changing this actuator could further improve its obstacle-overcoming capability.
Also, it is relevant to note that the measured capability
$H_{o}/R_{r}$
was estimated considering horizontal surfaces, but it can vary with the obstacle’s actual inclination. Simulations and tests showed this capability decreases during ascent or descent with front wheels when large obstacle heights and changes in orientation between
$\phi _{s1}$
and
$\phi _{s2}$
are combined (Figure 29). In such cases, the distance
$d_{2}$
required may exceed the arm’s joint limits. Therefore, each test checks if the robot meets dimensional requirements; if not, the planner issues warnings indicating the strategy’s infeasibility. The same occurs when tip-over stability analysis indicates a high risk of tipping over.
Geometry of obstacles that can decrease the robot’s ability to overcome obstacles.

Finally, analyzing the strategy’s applicability to other robots is crucial. Designed for wheeled mobile robots with an articulated arm and an end-effector for ground contact, this strategy’s use might be limited. However, other compatible robots like HEAP [Reference Jelavic and Hutter29], with a fully rotating arm and a digging scoop, could utilize this strategy. Adapting the strategy requires modifying equations involving arm variables (
$a_{1}$
and
$d_{2}$
) to fit specific arm characteristics.
7. Conclusions
A strategy was defined that allows mobile robots with wheels and an articulated arm to overcome obstacles located on inclined terrain and positioned obliquely to the robot’s trajectory. It consists of a procedure formed by 8 stages and 15 autonomous movements that the robot must follow to achieve obstacle traversal. Two of these movements (in the first joint of the arm) were defined through a fuzzy inference system that, based on the inclination of the two surfaces that make up the obstacle and its position relative to the robot, allows positioning the arm in such a way that the risk of tipping over is reduced, which was studied based on the criterion of reaction forces. Equations were defined to study these forces in all stages of the obstacle traversal process.
On the other hand, the strategy was validated using dynamic simulation and then through implementation tests with the Lázaro robot. These validations confirmed that the proposed models for actions and stability index efficiently predict the obstacle traversal process and the associated risks for which they were designed. Additionally, it was demonstrated that these models provide highly accurate predictions.
Future work includes studying slippage during the obstacle traversal process. Considering that the robot moves on inclined surfaces, slippage may occur during the execution of the strategy, potentially hindering its completion. Additionally, the incorporation of reactive elements during the execution of the strategy will be explored. This could allow for the modification of the traversal process in response to disturbances or significant deviations that may occur during the execution.
Acknowledgements
ChatGPT 4.0 [40] and Copilot [41] were used to improve the translation and writing in English.
Author contribution
Jesús M. García conceived and designed the study and performed the simulations and tests. He also wrote the article. Franklyn Duarte led the study, supervised and revised the manuscript.
Financial support
This work was partially funded by project No. 01-025-2016 from Dean of Research of the National Experimental University of Táchira
Competing interests
The authors declare that no conflicts of interest exist.
Appendix. Nomenclature utilized in equations
























































