The proposed control scheme has two parts. It consists of a parallel control structure, where one tracks a velocity reference and the other tracks a slip reference. The combined scheme is visualized in
Figure 11, with the two controllers being the nominal controller for velocity and the robust slip controller for slip. The slip reference is based on whether the robot is accelerating or decelerating. The required torque is determined by the slip controller to maintain a desired slip ratio. The disturbance observer checks for discrepancies between the nominal and the actual traction force through a lowpass filter. The traction forces are calculated from the magic formula with the normal forces on each wheel found from the system of equations in
Section 5.1. A PID controller maintains the system at the reference velocity, outputting the demanded nominal torque, where the slip controller adjusts to avoid slippage. The control structure is similar for all three wheels.
6.2. Adaptive Controller
A proposed solution to avoid wheel spin is to use an adaptive controller to supervise the nominal controller. The adaptive controller is enabled when the amount of slip crosses the boundaries of a set threshold as seen in Equation (
14). The adaptive controller is based on a robust sliding mode controller with a disturbance observer from the following paper [
32]. It is modified to handle multi-wheel drive and includes a rotational part. The sliding mode controller tracks a slip set-point, and the observer is used to counter any changes in the surface conditions or varying parameters. This is particularly important when operating under uncertain traction conditions. Similar adaptive control methods have been successfully applied in [
30]. Compared to the nominal controller, the adaptive one is set to operate on each separate wheel, assuming varying surfaces between the wheels. The controller is developed to handle both forward and backward acceleration in one system, unlike the two systems typically used in cars: ABS (anti-lock braking system) and TCS (traction control system). Since the crawler can operate forward and backward, Equation (
12) is approximated using a Sigmoid function seen in Equation (
15).
Here,
a is the design parameter, where using a large value allows
to approximate
. Then, the approximate slip ratio becomes
where
v is the crawler’s longitudinal velocity defined as
. This is performed to be consistent with the literature, where longitudinal body velocity is always of concern. The approximate and actual slip ratios are visualized in
Figure 12.
6.3. Robust Control
As the crawler is operating in an offshore environment, external disturbances such as waves, added mass from water, non-uniform members due to welding, and out-of-roundness or biofouling will impact its operational performance. The biofouling will change the traction the crawler expected compared to reality. This will impact the individual wheels differently as the wheels are not expected to drive on the same surface due to the variety in biofouling and their locations. Therefore, the traction force and rolling resistance will vary during the operation. To handle this, a robust control system is required to handle the physical parameters’ fluctuation and disturbances.
In this work, only the mass is set to vary; the rest are set to be known as described in
Table 3. The reason is that all the external forces, such as added mass from water, forces from waves, and change in piston pressure and the resulting difference in rolling and viscous friction, can all be described in some relationship to a change in mass with respect to the traction force experienced by the crawler.
The traction force variation is due to the surface difference between the true value
and the nominal value
found from the real system traction curves in
Figure 9. The true value is then defined with the nominal value and a state-bounded coefficient
. The coefficient changes then depending on the road surface conditions and the relationship is described in Equation (
17).
The slip controller is designed by the differentiation of Equation (
12) and substituting it with Equations (
7) and (
11), considering acceleration (
) and braking (
) in Equations (
18) and (
19), respectively.
where
is defined as Equation (
20).
which can be reduced to Equation (
21).
The disturbance observer, illustrated in
Figure 13, estimates the
, with the following Equation (
22). The other system states of the crawler (
) as well as the velocity of each of the three wheels (
) can all be measured. Therefore, they are not observed.
using a lowpass filter to remove high-frequency components from the signal, resulting in the estimated torque
.
Using the estimated
, the actual traction force can be estimated as Equation (
23).
To verify the observer, it is tested in an open loop, where the input traction force is set to step down with 500 N at 0.4 s intervals visualized in
Figure 14 from an original 1000 N. The observer for 1 wheel is only shown since the other 2 have the same response in the open loop.
From
Figure 14, it is seen that the disturbance observer converges to the actual value after 0.15 s, with minimal overshoot. The time it takes to converge is deemed acceptable, as the crawler operational speed is at 0.05 rad/s, resulting in minimal surface change, allowing the observer to adapt during the operations. The transition period of the observer can affect the performance of the controller due to the uncertainty of the estimated traction force. When the observer is settled, the current value is maintained until the next step is applied. The observer can handle both positive and negative traction forces. Each wheel only detects the traction forces related to it, as long as there is enough traction in the system to keep the velocity constant. If all wheels simultaneously enter an area with combined insufficient traction for the crawler, the subsequent slippage from the crawler results in the individual observers being impacted by each other as they depend on the velocity of the crawler.
A control law can then be established that is able to reject disturbances as described in Equations (
24) and (
25).
where, in this case,
0 is a design parameter, and
is defined as
with
is determined as the difference between the current slip and the demanded slip, where
is the desired slip ratio, as denoted in Equation (
28).
Here,
is a positive constant denoting the desired slip ratio, which is between zero and the maxima
on the slip curves seen in
Figure 9. Based on the estimated slip curves,
is chosen with a static value of 0.07.
By substituting Equation (
18) into Equation (
25) and solving it with respect to
results in Equation (
29), for acceleration
. The same can be performed for the deceleration case
using Equations (
19) and (
25) resulting in Equation (
30).
Here, the estimated error is defined as Equation (
31).
To check if the robust controller is stable, the Lyapunov stability theorem is used with the following candidate function Equation (
32).
Taking the time derivative of the Lyapunov function again and using the trajectories of the closed-loop system of the robust system gives the following for acceleration in Equation (
33) and braking in Equation (
34).
If
in Equations (
33) and (
34) satisfies the following condition,
then Equations (
33) and (
34) can be rewritten as Equation (
36), for acceleration (
), and Equation (
37) for braking (
).
So,
for both acceleration and deceleration for all
are stable for as long as the crawler and the wheel speeds are positive.
The Lyapunov function is positive-definite and decreasing, which results in
asymptotically converging to zero. This means that the slip ratio
will converge to the desired slip ratio
. The crawler can only operate in one direction since the speed always has to be positively defined. This means that the crawler can not rotate both ways without implementing a switching statement that changes what the controller perceives as the system’s positive driving direction. The change depends on the crawler’s velocity, on what it perceives as forward, as in Equation (
39).
In this case, the following applies, v = vd, and
=
. This ensures that it is always viewed in the positive driving direction. The change to the controller is seen in Equation (
40) to ensure bidirectionality.
All the used parameters are found in
Table 5.