1. Introduction
In construction automation, automatic features have been developed and commercialized over the past few decades. In many cases, the existing machines have been retrofitted with sensors and computational units for GNSS-based positioning and functions assisting the operator (e.g., [
1]). A bulldozer is a mobile earthmoving machine with an onboard manipulator for soil cutting and carrying. The propulsion system of the machine generates traction between the tracks and soil to push the onboard blade below the ground. For bulldozers, automatic surface grading and traction control solutions have been developed in the industry [
1,
2]. In these functions, the operator typically selects the vehicle travel velocity manually. However, the Cartesian velocity of the machine itself and the onboard manipulator are limited by the available hydraulic flow to the corresponding actuators.
In automated end-effector positioning tasks, offline planning of a trajectory based on the known actuator limits is a well-known approach [
3]. However, the manipulator’s ability to execute the desired trajectory depends on how well the planning phase approximates the system behaviour. In an earthmoving application, the uncertain interaction with soil poses a problem that is difficult to handle accurately in the planning phase, and hence, an online strategy is desirable for simplifying the planning and adding robustness. For manipulators, online scaling of the requested end-effector velocity can keep the requested torques within the known bounds and is more robust against modelling errors [
4]. For hydraulic manipulators, constraints posed on the rate of motion by hydraulic flow limits have been considered using similar ideas [
5], improving Cartesian positioning accuracy significantly even when using simple joint controllers. For mobile robots, a solution to wheel-actuator-limit-bounded, path-following control of general wheeled robot structures was presented in [
6]. The robot’s progress velocity on the path was controlled online based on velocity limits posed by known actuator constraints to deliver feasible references to actuator controllers and to improve the path-following accuracy and time optimality. In [
7], similar bounded velocity control was applied in practice on a 4WD hydraulic vehicle, limiting the mobile base velocity based on limits imposed by the flow of hydraulic motors. Centimetre-range path-following errors were reported using the feedforward–feedback control of the actuators. Simulating the machine of [
7], the authors of [
8] also considered the flow limit of the onboard manipulator to greatly improve the end-effector path-following accuracy by using mobile base velocity-scaling based on [
7] and the manipulator Cartesian position error.
Grading with a bulldozer is an end-effector path-following task, where the desired path is defined in the worksite reference frame as the desired ground elevation profile. The motion of the machine body needs to be compensated by the blade to keep it on the desired profile. The typical control problem in mobile manipulation literature includes the mobile base moving in the x–y plane and the manipulator in three-dimensional space [
7,
8,
9,
10]. In this paper, the orientation of the base is partially determined by uneven ground surface, letting the mobile base move in a z-direction as well. End-effector control has been considered in such a case for hydraulic bulldozers in [
11] on a relatively level surface. In [
12], feedforward–feedback control was applied for rejection of more substantial terrain disturbances on the orientation of a hydraulically actuated end-effector. Using feedforward accompanied with feedback, centimetre-range control accuracy was shown in experimental tests on a hydraulic bulldozer driving on uneven terrain [
13]. However, these studies did not consider the actuator flowrate limits. Typically, a bulldozer drives straight forward while grading, meaning that the machine orientation caused by ground shape cannot be controlled by the platform actuators. However, the orientation differentials can, which is an important aspect in our solution. In this case, the required manipulator joint rates, and, hence, flowrates, are determined by the rate of motion of the mobile base along the ground profile created by the end-effector.
In this paper, we consider the motion of a bulldozer during surface grading and design a velocity controller based on the flowrate limits. Travelling at a constant velocity that does not cause flowrate violations can ensure acceptable performance in grade control but may increase the task completion time. During parts where following the desired grade requires little to no manipulator joint motion, the machine can operate at a higher velocity, leaving room for improvement. Our approach allows the machine to run at higher travel velocities in such situations, reducing the velocity when needed based on the limits of the propulsion and manipulator systems. This way, grading can be performed more quickly and accurately when creating varying elevation profiles with the blade.
The rest of this paper is organized as follows:
Section 2 describes the studied system, and
Section 3 presents the proposed velocity controller. In
Section 4, the dynamic simulation model is introduced, and
Section 5 presents the velocity controller performance in the dynamic simulation. Finally,
Section 6 concludes the present study.
2. System Description
A typical hydraulic scheme for a tracked bulldozer’s propulsion can be found in [
14]. The hydrostatic transmission (HST) consists of a single diesel engine and separate hydraulic circuits for each track driving wheel. This configuration is called a dual-path HST. In each of the circuits, there is a variable displacement hydraulic pump connected to a variable displacement hydraulic motor. An implement pump is included in the system to provide the onboard manipulator with hydraulic flow.
Figure 1 illustrates a simplified hydraulic diagram of the system considered in this study.
A simplified actuator scheme for the implement (blade) of a small to medium-sized bulldozer can be found in [
15]. In this paper, we consider a blade with similar actuation (
Figure 2). We consider the control of the first joint, which is actuated to control the blade elevation. The configuration of the machine and coordinate frames associated with it are illustrated in
Figure 3. In most soil-cutting tasks, the other joint angles are kept in their home positions. We use this simplification for brevity so that the parallel manipulator mechanism need not be considered in this paper. However, the contributions of this paper can be extended for more complex hydraulic manipulator mechanisms. As illustrated in
Figure 1, flow from the implement pump is directed through a directional valve, after which the flow is distributed evenly to the chambers of two cylinders actuating joint 1 angle
.
2.1. Manipulator
The considered mobile manipulator and its coordinate frames are shown in
Figure 3. The required manipulator joint angle rates, in order to follow a desired inertial frame velocity, are computed using the Mobile Manipulator Jacobian (MMJ) [
10] inverse. In the following, the upper-left index denotes the frame in which a quantity is expressed. For brevity, quantities expressed in the inertial frame {W} do not have this index. The MMJ relates the joint velocities to end-effector Cartesian velocities in the following way
where
is the 6 × 1 column vector of end-effector linear and angular velocities,
and
, respectively. The linear and angular velocities of the mobile base (
and
, respectively) form a 6 × 1 column vector
. Vector
=
includes the 3-axis vehicle position,
, orientation,
, and the manipulator joint angles
[
16]. The MMJ is denoted as
, consisting of matrices
and
, defined as
where matrix
is the vehicle rotation matrix,
is the 6 by n fixed-base n-DOF manipulator Jacobian and
is the position of the end-effector in the vehicle frame [
10]. As detailed in [
10],
is the cross-product matrix of the vector
.
The instantaneous orientation of the mobile base is determined by its position along the ground contour. Positions in the x and y direction and heading angle are controllable by the track wheels (see
Section 2.2), but roll, pitch and z are determined by the ground profile at the current location of the vehicle. Hence, the MMJ is used with the current velocities of the mobile base,
, to resolve the redundancy of
. The travel velocity of the mobile base is determined separately, as described later. To compute the inverse of the MMJ, it is first decomposed into two parts, one describing the effect of the mobile base motion on the end effector velocity, and the other containing the effect of the manipulator joint angle rates [
16].
Solving for
, the desired manipulator joint angle rates can be obtained:
where the subscript
represents the desired value and
is the measured velocity vector of the mobile base [
16]. With this notation, only the fixed-base manipulator Jacobian needs to be inverted [
16]. The desired velocity vector,
, is defined such that the degrees of freedom uncontrollable by the manipulator are replaced with the measured values. As we take a path-following approach to control, the desired values for
are defined based on the end-effector’s progress on the path instead of time.
With the obtained joint rates, the required flow can be computed using the joint-actuator velocity mapping and the hydraulic cylinder sizes. Mapping for the joint considered in this paper is obtained as
where
is the velocity of the hydraulic cylinder extension, and the dimensions and angles are illustrated in
Figure 2. Now, the flowrate to the cylinder is
where
and
are the areas of the
A and
B chambers of the cylinder, respectively.
2.2. Mobile Base
The inverse kinematics of the differentially steered mobile base in the instantaneous terrain tangent plane are simplified, as in [
17], as
where
and
are the left and right-side wheel rotational velocities, respectively,
is the forward velocity of the machine centre,
its heading rate,
half of the distance between the left and right driving wheels and
the radius of the wheel. These parameters are illustrated in
Figure 4.
For the dual-path HST, the rotational velocity of each driving track wheel can be calculated as
where
denotes left or right wheel,
is the diesel engine rotational velocity (rpm) and
and
are the pump and motor displacement ratios, respectively.
and
are the HST pump and motor maximum displacements,
and
are the volumetric efficiencies of the pump and motor and
is the gear ratio between a motor and a wheel. The maximum wheel velocity is achieved when
is at the maximum rpm,
and
. The range of values for the pump and motor displacement ratios are
,
, with
.
3. Travel Velocity Controller
In this section, we derive online velocity scaling for the mobile base to keep the requested flow below the maximum limits. We consider the typical grading task, where the desired end-effector path is defined in the worksite reference frame as the desired ground elevation profile, and the machine drives straight forward. The tracks of the vehicle remain in contact with the terrain so that there is at least one contact point per track. Thus, the orientation of the machine is determined by the position of the contact points in the terrain coordinates. Assuming no sliding on the terrain, the angular rates of the mobile base caused by the terrain profile are determined by its velocity vector in the world frame. In this case, progress of the mobile base on the terrain contour and the required joint rates are determined by the travel velocity . This means that the joint rate limitation must be performed based on the mobile base motion.
The maximum velocity of the mobile base that keeps the required flowrate within its limits is derived considering the flow limits of the manipulator and HST. Equation (7) describes the required flowrate for the manipulator in time domain. To map this into path spatial domain, the computed flowrate is divided by the actual vehicle velocity on the ground to obtain the normalized flow as
The actual travel velocity in Equation (10) compensates for velocity tracking errors. The maximum flowrate to a cylinder is determined by the implement pump and directional valve maximum flowrates:
where
is the implement pump displacement and
its volumetric efficiency.
is the maximum flow through the directional valve. When
, Equation (11) is not computed. This approach can be extended to consider simultaneous actuation of multiple manipulator joints.
The mobile base maximum travel velocity is also limited by the HST, as described in Equation (9). Its value can be computed using the inverse kinematics Equation (8) for each side wheel by substituting the maximum values of Equation (9) and solving for the velocity
Equation (13) provides the maximum travel velocity candidates computed for each driving wheel velocity requirement. To determine the commanded travel velocity,
, for the mobile base, we take the minimum out of maximums:
where
is the desired velocity.
is limited to be larger than a small velocity,
.
3.1. Verification in Kinematics Simulator
To show the efficacy of the velocity controller, we first test it in a simulation using a kinematic model of the vehicle. In this simulation, the end-effector frame follows the desired spatial path (
Figure 5a). The elevation and pitch of the mobile base are simulated using prerecorded data from a dynamic simulator (see
Section 4) that is inserted to a lookup table with the mobile base position as its input. This way, the values of pitch angular velocity and elevation depend instantaneously on the velocity of the mobile base.
The results of the kinematic simulation are shown in
Figure 5, where the blade cuts a 0.35 m deep trench and the mobile base drives in a straight line. At 6 m, the body of the machine drives into the trench and starts to incline and move in the z-direction. This is seen in the required flowrate, as joint 1 is actuated to compensate for the body motion and follow the blade elevation reference. Throughout the simulation, the required flowrate does not exceed the maximum bound. Some oscillation is seen at 7 m when the mobile base pitch and elevation change. This is most likely caused by small delays required in the numerical simulation model to eliminate algebraic loops (a small overshoot is seen at 4 m as well).
3.2. Mobile Base Acceleration Limit
The dynamics of the vehicle do not permit perfect tracking of a kinematically determined velocity reference. As our solution uses the measured values of the vehicle orientation and joint angles, errors in travel velocity tracking can cause oscillations in the requested velocity. To address this issue, we propose a simple acceleration limit based on knowledge of the machine operation.
Knowing the mechanics of a bulldozing task, we can determine for the near future when decelerating the vehicle is required. Assuming that the blade is in contact with the ground, the orientation of the vehicle due to ground contour can be anticipated. When the blade is not in its home position,
(cut edge at track level), and the vehicle is moving forward, the profile between the blade and tracks is not flat. Thus, the body is necessarily going to incline and drive over the ground profile generated by the blade. With this, we restrict the positive vehicle acceleration when the body is about to incline due to terrain gradients. This way, the motion of the vehicle is not jerky, and driving is more comfortable and power efficient. The acceleration limit algorithm running every sampling instance is summarized as pseudocode in Algorithm 1, where the value for limit parameter
is determined based on the angle
of joint 1. The threshold value,
, determines the angle difference that counts as leaving the joint home position. When the blade was in its home position, we chose the limit
to keep a constant velocity if the mobile base slows down due to flowrate limits. The deceleration rate is not bounded. Another choice could be made to improve the time optimality of the path-following. The default acceleration limit was chosen as 0.5 m/s
2 and was used when joint 1 was in its home position.
Algorithm 1. Pseudocode for mobile base acceleration limit. |
1 | Get Inputs: , and |
2 | Set |
3 | IF AND |
4 | |
5 | ENDIF |
6 | Apply positive rate limit to |
7 | Give output: |
4. Dynamic Simulation Model
To test our solution, we implement it in a simulation model containing the straight driving dynamics of the mobile base and the manipulator. In this section, we briefly discuss the used model and provide references to the omitted parts for the interested reader. The tracks of the machine are modelled using
wheels. In this paper, we choose
. The model used here is a half vehicle model based on that in [
18] with some simplifications. The pitching motion of the mobile base around its mass centre can be expressed as
where
is the moment of inertia of the rotation around the vehicle mass centre;
is the force exerted by the suspension of wheel
;
is the distance of the
ith wheel from the mass centre in
;
is that distance in
. To have the modelled machine pitch like a bulldozer, the suspension forces are limited in the negative z direction to gravity. Elevation of the vehicle mass centre is described as
where
is the mass of the vehicle. The suspension force components are computed as in [
18] using a spring-damper model and are omitted from this paper for brevity. The longitudinal dynamics of the mobile base are expressed as
where
and
are the traction forces generated by the left and right track, respectively, and
is the rolling resistance of the tracks. The traction force is computed using the well-known methods found in e.g., [
19,
20].
The dynamics of the HST are modelled as in [
14], with the hydraulic motor angle included. We neglect the diesel engine dynamics and assume that it can produce the desired rpm. Control of the HST is designed to track the desired track-wheel velocity using a steady-state, model-based feedforward and a PI-controller. Each track has a separate controller using a logic for switching between controlling the pump and motor displacements (e.g., [
21]). The dynamics for the manipulator are modelled using MATLAB Simscape, and the hydraulic modelling is described in our previous work [
15]. The resistance from soil cutting is assumed negligible in this paper. This assumption is acceptable when finishing a desired surface, as the blade moves no more than a few centimetres below the present surface, making the resistance effect very small compared to the machine dynamics. For deeper blade motion through soil, however, the tracks can lose traction, which should then be considered. Manipulator joint control is achieved using Equation (5) and a controller with the desired cylinder velocity feedforward using Equation (6) aiming to improve the controller reaction to the pitching of the mobile base [
12]. A PID feedback completes the controller. The body dynamics are computed using Equations (15)–(17) in order to complete the dynamic model illustrated with the controllers in
Figure 6.
5. Simulation Results and Discussion
In this simulation scenario, blade elevation control with straight driving is considered.
Figure 7 illustrates the performance of the velocity-limited blade elevation control and a comparison to driving at constant velocity. The
x-axis is selected as distance to make comparing the scenarios easier. The desired velocity was set to 1.6 m/s and the diesel engine rpm was selected in the middle of the operating range as 1500 rpm to showcase the velocity controller functionality. The manipulator flow requirement was the minimum in Equation (14), as the mobile base velocity did not cause the requested HST flowrate limit to be reached in this scenario. The desired ground profile for the blade is seen in
Figure 7a. With the velocity-limiting solution, the blade cut edge remains within 0.02 m of the desired grade as the required flowrate stays mostly below the maximum limit (
Figure 7d). The constant travel velocity test shows that the flowrate requirement clearly exceeds the available rate on four occasions. This causes noticeable errors in the blade elevation, as most clearly seen at 10 m, where the blade is 0.1 m below the desired elevation. Further errors are caused as the mobile base drives over the unintended error as illustrated from 13 to 16 m. The velocity profile in the velocity-limited case is achievable by the vehicle, although fast deceleration happens at 23 m. The acceleration limit keeps the required velocity constant during the parts mentioned in
Section 3.2, which prevents the velocity from oscillating as the maximum velocity changes.
Figure 8 illustrates the maximum velocity computed using (14) without considering the desired velocity. This showcases the upper limit imposed by the HST from Equation (13). This functionality allows the machine to follow the desired mobile base paths, straight or curved, with high accuracy. For brevity, such cases are left out of this paper. The command velocity is shown in
Figure 8. The effect of the acceleration limit is seen clearly, as the command velocity remains constant while the maximum velocity changes.
Figure 9 illustrates the trench of
Figure 7, cut with a constant travel velocity chosen such that the flowrate limits are not exceeded. Similar blade elevation control accuracy, as in the test of
Figure 7, was obtained by selecting the mobile base travel velocity as 1 m/s. In that case, the time taken to finish the desired ground profile was 27 s. When using the velocity limiter with desired velocity set to 1.6 m/s, the finishing time was 22 s with the cut edge always within 2 cm of the desired grade.
Comparing these results to [
8], a similar increase in end-effector control accuracy was achieved. Compared to [
11,
13], the range of position control errors is similar when using the proposed solution on uneven terrain, although the effects of vibration and sensor noise are not seen in our simulation results. This showed that, in the simulation, feedforward control of the hydraulic cylinder was successful as suggested in [
12]. Without the flow-bounded velocity controller, errors became higher than reported in [
11], showing that the proposed method worked in the tests on the described application.
The proposed velocity control simplifies the closed-loop control of the machine as offline computation of requested velocity profiles is not required. A desired ground profile can be graded with a relatively high desired velocity, and the velocity limiter increases control accuracy in demanding tasks where the system is operating at the limits of its capabilities. Furthermore, the hydraulic system can be operated accurately at lower diesel rpm to save fuel. However, if the desired profile has a steeper downward gradient change, part of the track loses contact on the terrain and the rate of orientation change can become much larger as the centre of gravity passes over the ledge. In such a case, deceleration limit should be imposed when using the presented algorithm. Otherwise, the requested velocity may reduce rapidly to the set minimum value,
, which may increase the task completion time unnecessarily. Using similar reasoning as in
Section 3.2, velocity could potentially be reduced before inclination and flow requirement increase occur for better performance on steep terrain shapes.
6. Conclusions
In this paper, we presented a velocity controller for the path-following of hydraulic bulldozers. For such machines, the velocity limits are imposed by the available hydraulic flow to the manipulator and mobile base actuators. Recognizing the dependency of the mobile base orientation differentials on linear travel velocity, a flowrate-based velocity controller was proposed. The control goal was to cut the ground to the desired contour while manipulating the vehicle’s travel velocity to keep the required hydraulic flowrate within the available limits. We considered the flowrate requirement of the manipulator by the Mobile Manipulator Jacobian formulation and the requirement of the mobile base by differentially steered mobile robot inverse kinematics. Normalizing this flowrate by the current travel velocity, the maximum allowed mobile base velocity was determined.
The dynamic simulation of blade elevation control showed the efficacy of our proposed solution. Limiting the desired acceleration of the mobile base when its orientation was about to change resulted in non-oscillating velocity profiles. The errors in blade control remained much smaller than when travelling at the desired constant velocity. Furthermore, the solution allowed a higher desired velocity setting than constant velocity driving, reducing the time taken to complete the soil-cutting task. On steep ground gradient changes, the proposed algorithm could be improved by reducing the travel velocity before the mobile base inclines on the terrain instead of reacting to the measured motion. Future research topics include testing the solution on an experimental platform, as well as in 3D soil manipulation and more complex mobile base motion. We also aim to consider power and traction capabilities in heavy loaded soil pushing.