Introduction
Electrification and automation are two major current development trends not only in the entire mobility sector but also regarding commercial vehicles [1]. An exemplary application for electric articulated vehicles are innovative sweepers [2], a use case that is also of interest in terms of automation [3]. In mining industry automated articulated haulers are a preferred solution, as articulated steering offers enhanced maneuverability [4] while automation increases safety of human operators [5].
Drive-by-wire systems including steer-by-wire enable the deployment of automated driving functions. For lateral guidance the steer-by-wire control unit receives the steering commands from an input module and transmits the corresponding signals to an actuator that is connected to the steering gear module of the vehicle [6]. The steering command can come either from an operator interface (steering wheel) or, in the case of an automated driving vehicle, from a control unit [6], [7].
Unlike conventional steering systems, there is no mechanical link between the driver’s input device and the steered wheels. Thus, the driver can no longer intervene as a fallback in the event of a malfunction of the steering actuation [6]. The requirements for fault-tolerant steer-by-wire systems towards reliability and availability, both in manual operated and automated vehicles, are therefore very demanding [7], [8]. Classically, these requirements are met by using hardware redundancies, but there are alternative approaches, such as the architecture presented by Bergmiller [9], which reduces the need for hardware redundancies by exploiting vehicle-wide functional redundancies.
Articulated vehicles are steered by pivoting the two vehicle sections. Commonly a hydraulic actuator is used to adjust the articulation angle
Actuator forces for longitudinal and lateral control of an articulated vehicle. (a) In conventional solutions longitudinal wheel forces
The use of differential steering in articulated vehicles not only enables the reduction of actuator load but also the complete substitution of the steering actuator (Fig. 1b). Lateral and longitudinal dynamics of the vehicle are controlled by distributing the longitudinal wheel forces
In order to make this type of steering actuation usable as steer-by-wire system in manually or autonomous driven articulated vehicles, it is necessary to ensure the vehicles functionality even in the event of a drive motor failure. For this purpose we propose a vehicle dynamics control approach for a four wheel individually driven articulated vehicle in this paper. The approach allows for compensation of the effect of a drive motor failure on the vehicles maneuverability.
For the investigation and development of the vehicle dynamics control a demonstrator vehicle (scale 1:5) was used (Fig. 2). In addition we set up a simulation model with the software tool MATLAB representing the vehicle dynamics of the demonstrator. The function of the proposed control approach is to follow the desired setpoints (vehicle velocity
Demonstrator vehicle (scale 1:5) consisting of the front vehicle section (right) and the rear section (left). The sections are connected with an articulated swivel joint that is freely rotatable around the articulation axis and the longitudinal axis. The vehicle measures 920 mm in length and 375 mm in width and has a maximum articulation angle
This paper is organized as follows: Section II introduces the methodology of this work, including the description of the demonstrator vehicle, the corresponding vehicle dynamics model, and the maneuvers used for testing and validation. In Section III we describe the reference control method and the proposed control method with constrained control allocation. The results of the driving tests of the simulation-based study and those of the demonstrator vehicle tests are presented and discussed in Section IV, followed by the conclusion in Section V.
Methods and Procedures
A. Demonstrator Vehicle
The demonstrator vehicle is an electric four wheel independently driven articulated vehicle, that is not equipped with any steering actuator (Fig. 2). It can be controlled manually via remote control, controlling articulation angle
Sensors, motors, motor controllers, control unit and battery are the essential components of the mechatronic system (Fig. 3). The controller approach developed in the simulation environment (MATLAB) can be compiled and transferred to the control unit of the vehicle. The motor speeds
Placement of the main components within the demonstrator vehicle (top) and functional diagram (bottom): control unit (1), electric motor and gear units with motor controllers (2), motor speed sensors (3), articulation angle sensor (4) and battery (5).
B. Vehicle Dynamics Simulation Model
The articulated vehicle is a multi-body system consisting of two bodies. We used a free body diagram of vehicle sections to find the system equations (Fig. 4). Assumptions and simplifications were made in order to set up the system equations. Due to the low height of the center of gravity and the low lateral acceleration, the vehicle can be assumed to be flat and weight transfer can be neglected. The lateral wheel forces
Free body diagram of the two body system representing the demonstrator vehicle with longitudinal wheel forces
The coordinate systems of the vehicle sections are placed in the corresponding centers of gravity
To derive the total system equation, all necessary components first need to be set up in the corresponding coordinate systems. Then they can be transformed into the front section coordinate system to evaluate the equilibrium conditions. For the detailed derivation, refer to Appendix A. The six scalar equations of the equilibrium conditions resulting from (46)–(49) have to be solved according to the highest order derivatives of the four state variables by eliminating the internal forces \begin{align*} \ddot {x}_{1}=&f_{1}\left ({\dot {x}_{1}, \dot {y}_{1}, \dot {\psi }_{1}, \delta , \dot {\delta }, F_{D_{1}}, F_{D_{2}}, F_{D_{3}}, F_{D_{4}}}\right ) \\ \ddot {y}_{1}=&f_{2}\left ({\dot {x}_{1}, \dot {y}_{1}, \dot {\psi }_{1}, \delta , \dot {\delta }, F_{D_{1}}, F_{D_{2}}, F_{D_{3}}, F_{D_{4}}}\right ) \\ \ddot {\psi }_{1}=&f_{3}\left ({\dot {x}_{1}, \dot {y}_{1}, \dot {\psi }_{1}, \delta , \dot {\delta }, F_{D_{1}}, F_{D_{2}}, F_{D_{3}}, F_{D_{4}}}\right ) \\ \ddot {\delta }=&f_{4}\left ({\dot {x}_{1}, \dot {y}_{1}, \dot {\psi }_{1}, \delta , \dot {\delta }, F_{D_{1}}, F_{D_{2}}, F_{D_{3}}, F_{D_{4}}}\right )\tag{1}\end{align*}
\begin{align*} \boldsymbol {z}=&\begin{bmatrix}\dot {x}_{1} &~~ \dot {y}_{1} &~~ \dot {\psi }_{1} &~~ \delta &~~ \dot {\delta }\end{bmatrix}^{T} \\ \boldsymbol {u}=&\begin{bmatrix}F_{D_{1}} &~~ F_{D_{2}} &~~ F_{D_{3}} &~~ F_{D_{4}}\end{bmatrix}^{T}\tag{2}\end{align*}
\begin{equation*} \dot{\boldsymbol {z}} = f\left ({\boldsymbol {z},\boldsymbol {u}}\right )\;\;\;\; \boldsymbol {z}(0) = \boldsymbol {z}_{0}\tag{3}\end{equation*}
C. Test and Validation Procedure
We used two different maneuvers to evaluate the control approach. During the test run, a failure of a drive could be initiated to consider how the vehicle compensates for the failure. We ran each test with both the proposed approach and, to provide a benchmark for evaluation, additionally with a reference control approach as used by Wadephul et al. [10]. First, we performed the investigations on the simulation model and then validated the results in selected aspects on the real vehicle.
The first maneuver was a step-steer followed by a steady-state circular maneuver. We used it to investigate how the behavior of the vehicle differs during a step in the articulation angle setpoint, depending on whether a failure of a drive is present or not. In a further test, the failure was initiated later during the steady-state circular drive. From this, the immediate response of the control approach to a failure could be evaluated.
In addition, a slalom maneuver was considered. Compared to the first maneuver, the required articulation angle in this case changes continuously, making this maneuver suitable for investigating the dynamic steering behavior before, during and after a failure. This allowed us to evaluate the vehicle’s driving behavior in critical situations such as a drive failure during an evasive maneuver.
In the following, the maneuvers, failure scenarios and the quantities that were evaluated are considered in more detail.
1) Driving Maneuvers
The step-steer maneuver included a short acceleration phase while driving straight and a step in the articulation angle setpoint after 4 s followed by stationary circular maneuver at constant velocity. At the end of the maneuver, a braking process was initiated at a constant articulation angle.
In order for the maneuver to be considered both demanding and representative of a real driving situation, the speed and articulation angle specifications are chosen in consideration of the step-steer definition of ISO 7401 [14]. There, a lateral acceleration of 4 m /s2 is recommended. Taking into account the vehicle scale, a lateral acceleration of at least 0.8 m /s2 is therefore required.
We choose a vehicle velocity
The slalom maneuver also started with straight line acceleration phase. After reaching constant velocity the articulation angle setpoint
The course of the vehicle velocity
Setpoints. (a) Vehicle velocity
2) Failure Scenarios
The failures of each of the four drives were considered separately. A failure was emulated by overwriting the corresponding drive torque
3) Analysis
The following values were recorded for the evaluation of the experiments: actual articulation angle
To quantitatively compare the performance of the two approaches, error metrics were applied to the evaluation intervals of interest. The maximum absolute deviation of the actual articulation angle from its setpoint is given by
4) Resulting Experimental Plan
From preliminary tests with the reference method, we knew that with a positive articulation angle, the failure of the drive at the front left wheel
The combination of driving maneuvers, failure scenarios, and control methods considered in this work resulted in the experimental plan shown in Table 1.
Control Methods
The vehicle considered has four independently driven wheels and is thus overactuated, since two drives on one axle are already sufficient to follow the setpoints of vehicle velocity
In a four wheel driven articulated vehicle, the available degrees of freedom can thus be used to distribute the drive torques
From this consideration, we concluded that a failure of a drive can be compensated immediately and completely by suitable redistribution of the drive torques
In the following, a constrained control allocation module is presented which we added to the existing controller to provide a fault-tolerant control method. Its task is to compensate for the failure of a drive motor in such a way that the vehicle continues to drive without failure-induced deviation of velocity
A. Concept of the Proposed Control Method
The proposed vehicle dynamics control with constrained control allocation was designed to be integrated into the overall vehicle control method of a steer-by-wire or an automated controlled articulated vehicle. A corresponding overall vehicle control structure is shown in Fig. 6. The automation function is based on the sense-plan-act paradigm [15], commonly used for automated driving.
Integration of constrained control allocation and failure detection into the control method of an automated four wheel driven articulated vehicle.
The vehicle trajectory controller realizes the planned motion of the trajectory by specifying the vehicle velocity
The total drive force
In addition to the main purpose, the fulfillment of the control objectives, the remaining degrees of freedom of the drive torque distribution can be used for the optimization of a secondary objective by setting up an optimization problem [16]. Minimizing energy or maximizing driving safety by reducing the maximum driving force of the four wheels are two possible applications.
The constrained control allocation must take into account the limitations of the drive torques
In the overall architecture shown, the vehicle dynamics control with control allocation can be understood as the inner control loop and the trajectory control (either conducted by the driver or by the controller of the automated function) as the outer control loop. The proposed method takes the approach of addressing the fault-tolerant functionality in this inner control loop to prevent the outer control loop from being affected in case of a drive failure. Therefore, the evaluation of the fault-tolerant behavior in this work is based on the control error of the inner control loop (articulation angle
B. Reference Control Method
The controller used by Wadephul et al. [10] was implemented as a reference. Velocity and articulation angle are each controlled in an independent PI and PID controller. In contrast to the control method proposed in Fig. 6, the control allocation approach of this reference control method does not consider constraints of the drive torques. Instead, the allocation problem is solved by specifying the following heuristic relations between the actuator torques and thus eliminating the degrees of freedom:\begin{align*} M_{D_{3}}=&M_{D_{2}} = M_{D_{2,3}} \\ M_{D_{4}}=&M_{D_{1}} = M_{D_{1,4}}\tag{4}\end{align*}
To find the mapping between the actual controls
is the sum of the four drive torques divided by the dynamic wheel radius
.r_{W} With their respective lever arm, the two driving forces of an axle generate a torque about the articulated joint axis. The sum of both torques (taking into account the direction of action) results in the steering torque
. The lever arms correspond to half the track widthM_{Steer} (Fig. 4).s_{1,2}
As for the demonstrator vehicle the track widths of both sections are equal we define the overall steering lever arm \begin{equation*} r_{S}=2s_{1} = 2s_{2}\tag{5}\end{equation*}
With the dynamic wheel radius \begin{align*} M_{D_{1,4}}=&r_{W}\left ({\frac {1}{4} F_{Drive}-\frac {1}{r_{S}} M_{Steer}}\right ) \\ M_{D_{2,3}}=&r_{W}\left ({\frac {1}{4} F_{Drive}+\frac {1}{r_{S}} M_{Steer}}\right )\tag{6}\end{align*}
This approach can also be described according to the explicit ganging method summarized by Oppenheimer et al. [16]. The control allocation problem can be formulated as \begin{equation*} \mathbf {B}\boldsymbol {\delta } = \boldsymbol {d}_{des}\tag{7}\end{equation*}
\begin{align*} \boldsymbol {\delta }=&\begin{bmatrix} M_{D_{1}} &~~ M_{D_{2}} &~~ M_{D_{3}} &~~ M_{D_{4}} \end{bmatrix}^{T} \\ \boldsymbol {d}_{des}=&\begin{bmatrix} F_{Drive} &~~ M_{Steer} \end{bmatrix}^{T} \\ \mathbf {B}=&\frac {1}{r_{W}} \begin{bmatrix} 1&~~1&~~1&~~1 \\ -\frac {1}{4}r_{S} &~~ \frac {1}{4}r_{S} &~~ \frac {1}{4}r_{S} &~~ -\frac {1}{4}r_{S} \end{bmatrix}\tag{8}\end{align*}
The ganging law becomes \begin{equation*} \boldsymbol {\delta } = \mathbf {G}\boldsymbol {\delta }_{pseudo}\tag{9}\end{equation*}
\begin{align*} \boldsymbol {\delta }_{pseudo}=&\begin{bmatrix} M_{D_{1,4}} & ~~M_{D_{2,3}} \end{bmatrix}^{T} \\ \mathbf {G}=&\begin{bmatrix} 1&\quad 0&\quad 0&\quad 1 \\ 0&\quad 1&\quad 1&\quad 0 \end{bmatrix}^{T}\tag{10}\end{align*}
\begin{equation*} \mathbf {B}\mathbf {G}\boldsymbol {\delta }_{pseudo} = \boldsymbol {d}_{des}\tag{11}\end{equation*}
The resulting control method with the two controllers and the control allocation is shown in Fig. 7.
Reference control method with PID-controllers for velocity and steering control with explicit ganging control allocation based on [10].
Tuning of the controller parameters on the demonstrator vehicle yielded
C. Proposed Control Method
The proposed controller approach (see Fig. 8) differs from the reference solution with respect to the control allocation method used. Velocity and steering controllers are not modified. The fault-tolerant behavior of the proposed solution is taken into account by considering the drive torques limits \begin{align*} \boldsymbol {\delta }=&\begin{bmatrix} M_{D_{1}} &\quad M_{D_{2}} &\quad M_{D_{3}} &\quad M_{D_{4}} \end{bmatrix}^{T} \\ \boldsymbol {d}_{des}=&\begin{bmatrix} F_{Drive} & \quad M_{Steer} \end{bmatrix}^{T} \\ \mathbf {B}=&\frac {1}{r_{W}} \begin{bmatrix} 1&\quad 1&\quad 1&\quad 1 \\ -r_{S_{l}} &\quad r_{S_{r}} &\quad r_{S_{l}} &\quad -r_{S_{r}} \end{bmatrix}\tag{12}\end{align*}
A consideration of the effect of driving forces on the steering torque \begin{align*} r_{S_{l}}=&\frac {1}{2}s+l\tan \left ({\frac {1}{2}\delta _{act}}\right ) \\ r_{S_{r}}=&\frac {1}{2}s-l \tan \left ({\frac {1}{2}\delta _{act}}\right )\tag{13}\end{align*}
\begin{equation*} J=\Vert \boldsymbol {W}_{\delta }\left ({\boldsymbol {\delta }-\boldsymbol {\delta }_{p}}\right )\Vert ^{2}+\gamma \Vert \boldsymbol {W}_{d_{des}}\left ({\boldsymbol {B}\boldsymbol {\delta }-\boldsymbol {d}_{des}}\right )\Vert ^{2}\tag{14}\end{equation*}
\begin{align*} \boldsymbol {W}_{\delta }=&diag\left ({W_{\delta _{1}},\ldots , W_{\delta _{4}}}\right ) \\ \boldsymbol {W}_{d_{des}}=&diag\left ({W_{d_{1}},W_{d_{2}}}\right )\tag{15}\end{align*}
With \begin{equation*} \boldsymbol {\delta }_{p} = \begin{bmatrix} 0 &\quad 0 &\quad 0 &\quad 0 \end{bmatrix}^{T}\tag{16}\end{equation*}
\begin{equation*} \boldsymbol {\delta }_{opt}=\arg \min _{\underline {\mathrm {\boldsymbol {\delta }}} < {\mathrm {\boldsymbol {\delta }}}\leq \bar {{\mathrm {\boldsymbol {\delta }}}}} \left \Vert{ \boldsymbol {W}_{\delta }\boldsymbol {\delta }}\right \Vert ^{2}+ \left \Vert{ \boldsymbol {W}_{d_{des}}\left ({\boldsymbol {B}\boldsymbol {\delta }-\boldsymbol {d}_{des}}\right )}\right \Vert ^{2}\tag{17}\end{equation*}
The vectors \begin{align*} \underline {\mathrm {\boldsymbol {\delta }}}=&\begin{bmatrix} -M_{lim,D_{1}} &~~ -M_{lim,D_{2}} &~~ -M_{lim,D_{3}} &~~ -M_{lim,D_{4}} \end{bmatrix}^{T} \\ \bar {\mathrm {\boldsymbol {\delta }}}=&\begin{bmatrix} M_{lim,D_{1}} &~~ M_{lim,D_{2}} &~~ M_{lim,D_{3}} &~~ M_{lim,D_{4}} \end{bmatrix}^{T}\tag{18}\end{align*}
\begin{align*} \boldsymbol {\delta }_{opt}=\arg \min _{\underline {\mathrm {\boldsymbol {\delta }}} < {\mathrm {\boldsymbol {\delta }}}\leq \bar {{\mathrm {\boldsymbol {\delta }}}}}\begin{Vmatrix} \vphantom {\begin{bmatrix} \sqrt {\boldsymbol {R}_{d}}\boldsymbol {B}\\ \boldsymbol {W}_{\delta }\end{bmatrix}} \smash [b]{\underbrace {\begin{bmatrix} \boldsymbol {W}_{d_{des}}\boldsymbol {B}\\ \boldsymbol {W}_{\delta }\end{bmatrix}}_{\boldsymbol {A}}}\boldsymbol {\delta } - \smash [b]{\underbrace {\begin{bmatrix} \boldsymbol {W}_{d_{des}}\boldsymbol {d}_{des}\big)\\ \boldsymbol {0}\end{bmatrix}}_{\boldsymbol {b}}}\end{Vmatrix}^{2}\tag{19}\end{align*}
Therefore, the formulation solving the overdetermined system becomes \begin{equation*} \boldsymbol {\delta }_{opt} =\arg \min _{\underline {\mathrm {\boldsymbol {\delta }}} < {\mathrm {\boldsymbol {\delta }}} \leq \bar {{\mathrm {\boldsymbol {\delta }}}}}\left \Vert{ \boldsymbol {A\delta }-\boldsymbol {b}}\right \Vert\tag{20}\end{equation*}
\begin{equation*} \boldsymbol {\delta }_{opt,unconstr} =\boldsymbol {A}\backslash \boldsymbol {b}\tag{21}\end{equation*}
The control constraints are considered by an iterative redistribution scheme based on the one of the redistributed pseudo inverse approach presented in [16]. The solution of the unconstrained system (21) is checked for compliance with the limits given in the constraint vectors
Set all control values
that violate the constraints to their corresponding limit value\boldsymbol {\delta }(i) or\underline {\mathrm {\boldsymbol {\delta }}}(i) respectively.\bar {\mathrm {\boldsymbol {\delta }}}(i) Define
containing all limited control values, the other elements are 0.\boldsymbol {\delta }_{lim} Reduce the control objective
by the effect of the limited control values\boldsymbol {d}_{des} \begin{equation*} \boldsymbol {d}^{\ast }_{des} =\boldsymbol {d}_{des}-\boldsymbol {B}\boldsymbol {\delta }_{lim}\tag{22}\end{equation*} View Source\begin{equation*} \boldsymbol {d}^{\ast }_{des} =\boldsymbol {d}_{des}-\boldsymbol {B}\boldsymbol {\delta }_{lim}\tag{22}\end{equation*}
Define
and\boldsymbol {B}^{\ast } by deleting all rows and/or columns in\boldsymbol {W}_{\delta }^{\ast } and\boldsymbol {B} that correspond to an limited control value.\boldsymbol {W}_{\delta } Solve the reduced least squares problem of the unconstrained controls
\begin{align*} \boldsymbol {\delta }_{opt}^{\ast }=\begin{bmatrix} \boldsymbol {W}_{d_{des}}\boldsymbol {B}^{\ast }\\ \boldsymbol {W}_{\delta }^{\ast }\end{bmatrix}\Big \backslash \begin{bmatrix} \boldsymbol {W}_{d_{des}}\boldsymbol {d}_{des}^{\ast }\big)\\ \boldsymbol {0}\end{bmatrix}\tag{23}\end{align*} View Source\begin{align*} \boldsymbol {\delta }_{opt}^{\ast }=\begin{bmatrix} \boldsymbol {W}_{d_{des}}\boldsymbol {B}^{\ast }\\ \boldsymbol {W}_{\delta }^{\ast }\end{bmatrix}\Big \backslash \begin{bmatrix} \boldsymbol {W}_{d_{des}}\boldsymbol {d}_{des}^{\ast }\big)\\ \boldsymbol {0}\end{bmatrix}\tag{23}\end{align*}
Return the control vector
containing both constrained control values\boldsymbol {\delta }_{opt} and unconstrained control values(\boldsymbol {\delta }_{lim}) (\boldsymbol {\delta }_{opt}^{\ast })
The behavior of the constrained control allocation can be adjusted by the specification of the matrices
Results and Discussion
The results of the test runs both in the simulation and with the demonstrator vehicle are represented by uniform plots. For each test run considered, the measurements of the attempt using the reference method (index “rm”) and the proposed method (index “pm,”) are shown in a common plot. The quantities from top to bottom in the figure are: vehicle velocity
A. Step-Steer Without Drive Failure
Fig. 9 shows the result plots of the step-steer maneuver without drive failure (test runs 1.1 and 1.2) whereas the left column contains the results of the simulation and the right column those of the tests with the demonstrator vehicle.
Results of the step-steer maneuvers without failure (test runs 1.1 and 1.2) for the two attempts with reference control method (rm) and proposed control method (pm). (a) Results from the simulation test runs. (b) Results from the demonstrator vehicle test runs.
The target velocity was reached after about 1 s followed by a small overshoot of 0.05 m /s in the simulation and 0.1 m /s on the demonstrator vehicle. In the simulation, the velocity was constant in the further course, while on the demonstrator vehicle a periodic oscillation around the setpoint value could be observed. The resulting velocity of the reference method and proposed method variants were identical. The period of the oscillation of the velocity corresponds to the duration of one round trip of the driven circle. We attribute the cause to the slightly tilted floor at the location of the test drives.
The demonstrator vehicle reached the target articulation angle 0.3 s after the setpoint signal and exceeded the setpoint value by 0.03rad (1.7°) with the proposed method. In the further course and also during braking of the vehicle, the articulation angle remained constant with deviations smaller than 0.025rad (1.4°). The articulation angle in the simulation showed a slower control response and an overshoot of 0.08rad (4.6°) which was the largest deviation of the simulation from the demonstrator vehicle test results. We attribute this behavior to the fact that the controller parameters have been optimized for the demonstrator vehicle and the same parameters were used in the simulation. Due to deviations of the simulation model from reality, the controller in the simulation did not behave identically to the one of the demonstrator vehicle. The steering torque required for step steer was 2.1Nm in the simulation and 2.3Nm on the demonstrator vehicle. During continuous cornering, the steering torque required to maintain the articulation angle was approximately 0.1Nm.
As expected from the torque distribution of the reference method, the drive torques of the diagonally opposite wheels were identical. During step-steer, negative drive torques were applied at wheels
Overall, it can be said that the behavior of the demonstrator vehicle and the simulation model showed good compliance, apart from the behavior of the steering controller in the simulation as described above. On the demonstrator vehicle, the controllers successfully tracked the course of the set points, regardless of the control allocation selected (reference method or proposed method).
In the following the focus is on the demonstrator vehicle test results and the differences between the reference method and the proposed methods in context of drive failures.
B. Step-Steer With Drive Failure
Using the reference control method (test run 2.1) a failure of drive the at the front left wheel resulted in unintended cornering with an articulation angle of 0.30rad (17°) during the acceleration phase (Fig. 10). After the step-steer the articulation angle oscillated between 0.43rad (25°) and 0.60rad (34°). When the vehicle decelerated the articulation angle was reduced to 0.02rad (1.1°).
Results of the step-steer maneuvers with permanent failure of the front left drive from the demonstrator vehicle test runs 2.1 and 2.2, respectively for the two attempts with reference control method (rm) and proposed control method (pm).
With the proposed control method (test run 2.2), the vehicle could be held straight when accelerating. The step steer angle was achieved with an overshoot of 0.07rad (4.0°), after which a decaying oscillation between 0.45rad (26°) and 0.52rad (30°) occurred. During braking, the articulation angle was kept constant. Compared to the reference method, the root-mean-square error
The reference control method does not take the failed drive into account. The unrealized drive torque acts like an external disturbance which must be compensated by the controller. The controller reacts to the control deviation by increasing the control value (see curve
With the proposed control method, the drive failure is considered by setting the control value limitation for the failed actuator to 0Nm. This results in a violation of the unconstrained solution of the least squares problem and the redistribution is performed throughout the maneuver. Since none of the other actuators reach their maximum actuating torque, a single iteration of the redistribution always results in a valid solution.
The curve of the steering torque does not deviate significantly from the corresponding curve of test run 1.2 (step-steer without drive failure). We see this as a proof that the control allocation redistributes the controller output despite the failed actuator in such a way that the desired effect of the controller output variable is achieved. The controller dynamics are thus preserved.
Compared to the other drive torques, the torque of the right rear wheel obtains the largest values during the maneuver. During acceleration, the maximum torque of this wheel, measuring 1.1Nm, is twice as high as the drive torque of the other wheels.
With regard to lateral dynamics, the results provide information on the extent to which the system reaches its limits during this maneuver in the event of failure. At constant circular speed, the failure of the front left drive results in a maximum required drive torque at the rear right drive of 0.37Nm, which corresponds to 17% of the drive torque capacity of 2.2Nm.
More demanding than steady-state circular driving is the change of the articulation angle during the step steer. Here, the maximum drive torque is 0.53Nm, which corresponds to 24% of the drive torque capability. Thus, it must be verified that the rate achieved meets the requirements in case of the failure. The ISO 7401 standard specifies a maximum steering wheel angle rate of 500°/s [14]. To apply this specification to an appropriate articulation angle rate of an articulated vehicle, we consider the duration required to reach the maximum steering angle from neutral position. Assuming a passenger car with 540° steering wheel angle difference from center to maximum steering wheel angle [20], a steering wheel angle rate of 500°/s corresponds to a duration of 1.08 s. Taking into account the maximum articulation angle of the articulated vehicle, this results in a corresponding maximum articulation angle rate requirement of 0.81rad/s. From Fig. 10 it can be observed that the achieved articulation angle rate is 0.97 rad/s. From this we conclude that the selected maneuver exceeds the requirements for the step-steer specified in the ISO 7401 standard not only in terms of lateral acceleration (see Section II-C1), but also in terms of maximum steering rate. Yet the maximum drive torque of a single wheel reaches only 24% of its drive torque capacity. This indicates that with the proposed approach, higher lateral accelerations can be achieved without reaching the system limit, even in the case of a drive failure.
C. Drive Failure While Cornering
The evaluation of test runs 3.1 and 3.2 (Fig. 11) focuses on the period after the sudden failure of the drive. The results at the beginning of the maneuver were identical to the step-steer maneuver without failure (test runs 1.1 and 1.2) and the behavior at the end of the maneuver were similar to that of the step-steer with permanent drive failure (test runs 2.1 and 2.2). When using the reference control method, 4 s after the failure of the drive, the deviation of the articulation angle reaches 0.16rad (9.2°). After that, oscillations occurred as in test run 2.1. Overall, the resulting root-mean-square error
Results of the step-steer maneuvers with sudden failure of the front left drive at
The use of the proposed control method resulted in no failure-induced deviation of the articulation angle, and the resulting root-mean-square error
D. Comparison of the Drive Failures on Different Wheels
Failures on different drives vary in terms of their effect on the course of the articulation angle when using the reference method. As can be seen from Fig. 12 and Table 2, with the reference method, a failure of a drive on one of the inner curve wheels of the demonstrator vehicle results in a larger maximum control error
Comparison of sudden failures of different drives during the step-steer maneuver from the demonstrator vehicle test runs, respectively for the two attempts with reference control method (rm) and proposed control method (pm). The time of failure is indicated by dotted vertical line. (a) Test runs 3.1 and 3.2. (b) Test runs 4.1 and 4.2. (c) Test runs 5.1 and 5.2. (d) Test runs 6.1 and 6.2.
In all failure cases the use of the proposed method leads to a reduction of the maximum control error
To evaluate the performance of the failure compensation, we also compare the maximum deviation
When defining the test plan (see Section II-C4), the focus of the analysis was on the failure of the front left drive when cornering to the left. This was done on the basis of findings from preliminary tests, which showed that the failure of the front left wheel in this driving situation represents the worst case. This finding can be confirmed from the results, since both
E. Drive Failure During Dynamic Driving Maneuver (Slalom)
The slalom maneuver test runs 7.1 and 7.2 were only conducted in simulation. Test drives with the demonstrator vehicle were not possible because the test site, which was chosen for its smooth surface in order to record measurement data without disturbance, did not offer the required length of about 27 m. The results are shown in Fig. 13. Before the failure, both the reference control method and the proposed control method followed the sinusoidal articulation angle setpoint with a time offset of 0.45 s and an amplitude reduction of 14%. At the moment of the highest steering torque the drive failure was initiated
Results of the slalom maneuvers with sudden failure of the front left drive at
Conclusion
With the simulation model and demonstrator vehicle studies we could prove that the proposed control method can compensate for the failure of a drive motor of the four-wheel-drive articulated vehicle. After the drive failure the vehicle continued to follow the course of the setpoints for articulation angle and velocity without negative influence at the same level as before, even in dynamic situations such as acceleration, deceleration or slalom driving. Our approach of a control allocation which we formulated as a constrained weighted least squares problem proved to be a suitable solution for the intended target. In failure-free operation the proposed controller approach can additionally use the available degrees of freedom of the drive torque distribution to achieve certain optimization objectives, which could be investigated in further research.
With the results we also could verify the validity of the used correlations in the control effectiveness matrix and the flexible pseudo lever arms.
The controllers for velocity and articulation angle, which precede the control allocation, were not the focus of this work and were implemented as simple PID controllers. The results showed that the guidance and disturbance behavior of the controller offers further potential for optimization, since control deviations occurred during the step-steer maneuver and especially during the slalom maneuver regardless of whether a drive has failed or not. Improvements could be achieved by alternative controller approaches such as cascaded PID controllers, gain-scheduled PID controllers, feedback linearization, linear–quadratic regulator or model predictive control.
For use in automated vehicles, not only fault-tolerant realization of the desired articulation angle is necessary, but also reliable path tracking. We consider our presented approach for a fault-tolerant vehicle dynamics controller as a prerequisite for the fault-tolerant functionality of a higher-level trajectory or path tracking controller. By reliably realizing the output variables of the path tracking controller, it can continue its functionality without being affected by a drive failure. Considering the behavior of a path tracking controller in combination with the proposed vehicle dynamics controller was not part of this work and should be investigated in further research.
For the integration of the proposed control method into the overall control structure of a steer-by-wire or automated vehicle, a failure detection will be needed (Fig. 6). This can be a diagnostic system within the individual control units of the drives or a central system that detects the errors by analyzing various vehicle sensors or the vehicle behavior.
Overall, we conclude that the proposed control approach is an appropriate solution in all respects to serve as a basis for further development of fault-tolerant drive-by-wire solutions for electrified articulated vehicles.
ACKNOWLEDGMENT
Many thanks to Luca Wahl and Clemens Brauch for their contribution in modifying and commissioning the demonstrator vehicle and in performing the simulation and vehicle test runs. The authors acknowledge support by the KIT-Publication Fund of the Karlsruhe Institute of Technology.
Appendix ADerivation of System Equations
Derivation of System Equations
This section describes the derivation of the system equation in detail and relates to Fig. 4. The vehicle parameters used in the model are described in Table 3 including the values identified for the demonstrator vehicle.
The position vectors from the center of gravity \begin{align*} \boldsymbol {r}_{CG_{1}\to W_{1}}^{F}=&\begin{bmatrix} -l_{CG_{1}} &\quad \frac {1}{2}s_{1} &\quad 0 \end{bmatrix}^{T} \\ \boldsymbol {r}_{CG_{1}\to W_{2}}^{F}=&\begin{bmatrix} -l_{CG_{1}} &\quad -\frac {1}{2}s_{1} &\quad 0 \end{bmatrix}^{T} \\ \boldsymbol {r}_{CG_{1}\to J}^{F}=&\begin{bmatrix} -l_{CG_{1}}-l_{1} &\quad 0 & \quad 0 \end{bmatrix}^{T}\tag{24}\end{align*}
\begin{align*} \boldsymbol {r}_{CG_{2}\to W_{3}}^{R}=&\begin{bmatrix} l_{CG_{2}} &\quad \frac {1}{2}s_{2} &\quad 0 \end{bmatrix}^{T} \\ \boldsymbol {r}_{CG_{2}\to W_{4}}^{R}=&\begin{bmatrix} l_{CG_{2}} &\quad -\frac {1}{2}s_{2} &\quad 0 \end{bmatrix}^{T} \\ \boldsymbol {r}_{CG_{2}\to J}^{R}=&\begin{bmatrix} l_{CG_{2}}+l_{2} & \quad 0 & \quad 0 \end{bmatrix}^{T}\tag{25}\end{align*}
\begin{align*} \mathbf {R}^{R\to F} = \begin{bmatrix} \cos (\delta ) &\quad \sin (\delta ) &\quad 0\\ -\sin (\delta ) &\quad \cos (\delta ) &\quad 0\\ 0 &\quad 0 &\quad 1 \end{bmatrix}\tag{26}\end{align*}
\begin{align*} \boldsymbol {r}_{CG_{2}\to W_{3}}^{F}=&\mathbf {R}^{R\to F} \boldsymbol {r}_{CG_{2}\to W_{3}}^{R} \\[-1pt] \boldsymbol {r}_{CG_{2}\to W_{4}}^{F}=&\mathbf {R}^{R\to F} \boldsymbol {r}_{CG_{2}\to W_{4}}^{R} \\[-1pt] \boldsymbol {r}_{CG_{2}\to W_{J}}^{F}=&\mathbf {R}^{R\to F} \boldsymbol {r}_{CG_{2}\to W_{J}}^{R}\tag{27}\end{align*}
\begin{align*} \boldsymbol {\omega }_{CG_{1}}^{F}=&\begin{bmatrix} 0 & \quad 0 & \quad \dot {\psi _{1}} \end{bmatrix}^{T} \\[-1pt] \boldsymbol {\alpha }_{CG_{1}}^{F}=&\frac {d}{dt}\boldsymbol {\omega }_{CG_{1}}^{F} = \begin{bmatrix} 0 &\quad 0 &\quad \ddot {\psi _{1}} \end{bmatrix}^{T}\tag{28}\end{align*}
\begin{equation*} \boldsymbol {\omega }_{CG_{2}}^{F} = \begin{bmatrix} 0 &\quad 0 & \quad \dot {\psi _{2}} \end{bmatrix}^{T} = \begin{bmatrix} 0 &\quad 0 & \quad \dot {\psi _{1}}-\dot {\delta } \end{bmatrix}^{T}\tag{29}\end{equation*}
\begin{equation*} \boldsymbol {\alpha }_{CG_{2}}^{F} = \frac {d}{dt}\boldsymbol {\omega }_{CG_{2}}^{F} = \begin{bmatrix} 0 &~ 0 & ~~\ddot {\psi _{2}} \end{bmatrix}^{T} = \begin{bmatrix} 0 &~~ 0 &~~ \ddot {\psi _{1}}-\ddot {\delta } \end{bmatrix}^{T}\tag{30}\end{equation*}
The velocity of \begin{equation*} \boldsymbol {v}_{CG_{1}}^{F} = \begin{bmatrix} \dot {x}_{1} & \quad \dot {y}_{1} &\quad 0 \end{bmatrix}^{T}\tag{31}\end{equation*}
The acceleration is determined by deriving the velocity vector. It should be noted that the basis vectors are taken into account in the derivation, since they change their orientation with the vehicle. For \begin{equation*} \boldsymbol {a}_{CG_{1}}^{F} = \begin{bmatrix} \ddot {x}_{1} - \dot {y}_{1} \dot {\psi }_{1} & \ddot {y}_{1} + \dot {x}_{1} \dot {\psi }_{1} &\quad 0\end{bmatrix}^{T}\tag{32}\end{equation*}
\begin{equation*} \boldsymbol {v}_{J}^{F} = \boldsymbol {v}_{CG_{1}}^{F} + \boldsymbol {\omega }_{CG_{1}}^{F} \times \boldsymbol {r}_{CG_{1}\to J}^{F}\tag{33}\end{equation*}
\begin{equation*} \boldsymbol {v}_{CG_{2}}^{F} = \boldsymbol {v}_{J}^{F} + \boldsymbol {\omega }_{CG_{2}}^{F} \times \boldsymbol {r}_{J\to CG_{2}}^{F}\tag{34}\end{equation*}
\begin{align*} \boldsymbol {v}_{CG_{2}}^{F}=&\boldsymbol {v}_{CG_{1}}^{F} + \boldsymbol {\omega }_{CG_{1}}^{F} \times \boldsymbol {r}_{CG_{1}\to J}^{F} \\[-1pt]& + \boldsymbol {\omega }_{CG_{2}}^{F}\times \left ({-\boldsymbol {r}_{CG_{2}\to J}^{F}}\right )\tag{35}\end{align*}
\begin{align*} \boldsymbol {a}_{J}^{F}=&\boldsymbol {a}_{CG_{1}}^{F} + \boldsymbol {\omega }_{CG_{1}}^{F} \times \left ({\boldsymbol {\omega }_{CG_{1}}^{F} \times \boldsymbol {r}_{CG_{1}\to J}^{F} }\right ) \\[-1pt]& + \boldsymbol {\alpha }_{CG_{1}}^{F} \times \boldsymbol {r}_{CG_{1}\to J}^{F}\tag{36}\end{align*}
\begin{align*} \boldsymbol {a}_{CG_{2}}^{F}=&\boldsymbol {a}_{J}^{F} + \boldsymbol {\omega }_{CG_{2}}^{F} \times \left ({\boldsymbol {\omega }_{CG_{2}}^{F} \times \left ({-\boldsymbol {r}_{CG_{2}\to J}^{F}}\right ) }\right ) \\[-1.8pt]& + \boldsymbol {\alpha }_{CG_{2}}^{F} \times {\left ({-\boldsymbol {r}_{CG_{2}\to J}^{F}}\right )}\tag{37}\end{align*}
The velocities at the positions of the wheels are derived analogously and result in:\begin{align*} \boldsymbol {v}_{W_{1}}^{F}=&\boldsymbol {v}_{CG_{1}}^{F} + \boldsymbol {\omega }_{CG_{1}}^{F} \times \boldsymbol {r}_{CG_{1} \to W_{1}}^{F} \\[-2pt] \boldsymbol {v}_{W_{2}}^{F}=&\boldsymbol {v}_{CG_{1}}^{F} + \boldsymbol {\omega }_{CG_{1}}^{F} \times \boldsymbol {r}_{CG_{1} \to W_{2}}^{F} \\ \boldsymbol {v}_{W_{3}}^{F}=&\boldsymbol {v}_{CG_{2}}^{F} + \boldsymbol {\omega }_{CG_{2}}^{F} \times \boldsymbol {r}_{CG_{2} \to W_{3}}^{F} \\ \boldsymbol {v}_{W_{4}}^{F}=&\boldsymbol {v}_{CG_{2}}^{F} + \boldsymbol {\omega }_{CG_{2}}^{F} \times \boldsymbol {r}_{CG_{2} \to W_{4}}^{F}\tag{38}\end{align*}
The slip angles are calculated from the components of the velocity vectors of the wheels as follows:\begin{equation*} \alpha = \arctan \left ({\frac {v_{y}}{v_{x}}}\right )\tag{39}\end{equation*}
\begin{align*} v_{W_{i},x}=&\begin{bmatrix} 1&\quad 0&\quad 0 \end{bmatrix} \boldsymbol {v}_{W_{i}} \\ v_{W_{i},y}=&\begin{bmatrix} 0&\quad 1&\quad 0 \end{bmatrix} \boldsymbol {v}_{W_{i}}\tag{40}\end{align*}
\begin{align*} \boldsymbol {v}_{W_{3}}^{R}=&\left ({\mathbf {R}^{R\to F}}\right )^{-1} \boldsymbol {v}_{W_{3}}^{F} \\ \boldsymbol {v}_{W_{4}}^{R}=&\left ({\mathbf {R}^{R\to F}}\right )^{-1} \boldsymbol {v}_{W_{4}}^{F}\tag{41}\end{align*}
\begin{align*} \alpha _{1}=&\arctan \left ({\frac {v_{W_{1},y}^{F}}{\left |{v_{W_{1},x}^{F}}\right |}}\right ) \\ \alpha _{2}=&\arctan \left ({\frac {v_{W_{2},y}^{F}}{\left |{v_{W_{2},x}^{F}}\right |}}\right ) \\ \alpha _{3}=&\arctan \left ({\frac {v_{W_{3},y}^{R}}{\left |{v_{W_{3},x}^{R}}\right |}}\right ) \\ \alpha _{4}=&\arctan \left ({\frac {v_{W_{4},y}^{R}}{\left |{v_{W_{4},x}^{R}}\right |}}\right )\tag{42}\end{align*}
The forces derived from the free body diagram (Fig. 4) can now be expressed vectorially.
The wheel forces and joint forces of the front section become \begin{align*} \boldsymbol {F}_{W_{1}}^{F}=&\begin{bmatrix} F_{D_{1}} - F_{R} \;sgn\left ({v_{W_{1},x}^{F}}\right ) &\quad -c_{1,2}\alpha _{1} &\quad 0 \end{bmatrix}^{T} \\ \boldsymbol {F}_{W_{2}}^{F}=&\begin{bmatrix} F_{D_{2}} - F_{R} \;sgn \left ({v_{W_{2},x}^{F}}\right )&\quad -c_{1,2}\alpha _{2} &\quad 0 \end{bmatrix}^{T} \\ \boldsymbol {R}^{F}=&\begin{bmatrix} R_{x} & \quad R_{y} & \quad 0 \end{bmatrix}^{T}\tag{43}\end{align*}
\begin{align*} \boldsymbol {F}_{W_{3}}^{F}=&\mathbf {R}^{R\to F} \boldsymbol {F}_{W_{3}}^{R} \\=&\mathbf {R}^{R\to F}\begin{bmatrix} F_{D_{3}} - F_{R}\;sgn\left ({v_{W_{3},x}^{F}}\right ) \\ -c_{3,4}\alpha _{3} \\ 0 \end{bmatrix} \\ \boldsymbol {F}_{W_{4}}^{F}=&\mathbf {R}^{R\to F} \boldsymbol {F}_{W_{4}}^{R} \\=&\mathbf {R}^{R\to F} \begin{bmatrix} F_{D_{4}} - F_{R}\;sgn \left ({v_{W_{4},x}^{F}}\right ) \\ -c_{3,4}\alpha _{4} \\ 0 \end{bmatrix}\tag{44}\end{align*}
\begin{equation*} \boldsymbol {M}_{D}^{F} = d \left ({\boldsymbol {\omega }_{CG_{1}}^{F} - \boldsymbol {\omega }_{CG_{2}}^{F}}\right )\tag{45}\end{equation*}
From the acceleration (32) and the forces (43) follows the equilibrium of forces of the front section:\begin{equation*} m_{1}\boldsymbol {a}_{CG_{1}}^{F} = \boldsymbol {F}_{W_{1}}^{F} + \boldsymbol {F}_{W_{2}}^{F} +\boldsymbol {R}^{F}\tag{46}\end{equation*}
\begin{align*} I_{1}\boldsymbol {\alpha }_{CG_{1}}^{F}=&\boldsymbol {r}_{CG_{1} \to W_{1}} \times \boldsymbol {F}_{W_{1}}^{F} + \boldsymbol {r}_{CG_{1}\to W_{2}}^{F} \times \boldsymbol {F}_{W_{2}}^{F} \\& + \boldsymbol {r}_{CG_{1}\to J}^{F} \times \boldsymbol {R}^{F} - \boldsymbol {M}_{D}^{F}\tag{47}\end{align*}
\begin{equation*} m_{2}\boldsymbol {a}_{CG_{2}}^{F} = \boldsymbol {F}_{W_{3}}^{F} + \boldsymbol {F}_{W_{4}}^{F} - \boldsymbol {R}^{F}\tag{48}\end{equation*}
\begin{align*} I_{2} \boldsymbol {\alpha }_{CG_{2}}^{F}=&\boldsymbol {r}_{CG_{2} \to W_{3}} \times \boldsymbol {F}_{W_{3}}^{F} + \boldsymbol {r}_{CG_{2}\to W4}^{F} \times \boldsymbol {F}_{W_{4}}^{F} \\&- \boldsymbol {r}_{CG_{2}\to J}^{F} \times \boldsymbol {R}^{F} + \boldsymbol {M}_{d}^{F}\tag{49}\end{align*}
Appendix BDerivation of Pseudo Steering Lever Arms
Derivation of Pseudo Steering Lever Arms
The pseudo steering lever arms \begin{equation*} M_{Steer} = -F_{D_{1}} r_{S_{1}} + F_{D_{2}} r_{S_{2}} + F_{D_{3}} r_{S_{3}} - F_{D_{4}} r_{S_{4}}\tag{50}\end{equation*}
Static free body diagram for derivation of lateral axis forces
Accordingly \begin{align*} M_{Steer}=&\left ({-F_{D_{1}} + F_{D_{2}} + F_{D_{3}} - F_{D_{4}}}\right )\frac {1}{2}s \\& + \left ({F_{y_{f}}+F_{y_{r}}}\right )l\tag{51}\end{align*}
\begin{align*} 0=&F_{x_{1}}+F_{x_{2}}-R_{x} \\ 0=&F_{y_{f}}-R_{y} \\ 0=&R_{x}+\cos (\delta )\left ({F_{x_{3}}+F_{x_{4}}}\right )+\sin (\delta )F_{y_{r}} \\ 0=&R_{y}+\cos (\delta )F_{y_{r}}-\sin (\delta )\left ({F_{x_{3}}+F_{x_{4}}}\right )\tag{52}\end{align*}
\begin{equation*} F_{y_{f}} + F_{y_{r}}= \left ({-F_{D_{1}}-F_{D_{2}}+F_{D_{3}}+F_{D_{4}}}\right )\tan \left ({\frac {1}{2}\delta }\right )\tag{53}\end{equation*}
\begin{align*} M_{Steer}=&-F_{D_{1}} \underbrace {\left ({\frac {1}{2}s+l \tan \left ({\frac {1}{2}\delta }\right )}\right )}_{r_{S_{1}}=r_{S_{l}}} \\& + F_{D_{2}} \underbrace {\left ({\frac {1}{2}s-l \tan \left ({\frac {1}{2}\delta }\right )}\right )}_{r_{S_{2}}=r_{S_{r}}} \\& + F_{D_{3}} \underbrace {\left ({\frac {1}{2}s+l \tan \left ({\frac {1}{2}\delta }\right )}\right )}_{r_{S_{3}}=r_{S_{l}}} \\&- F_{D_{4}} \underbrace {\left ({\frac {1}{2}s-l \tan \left ({\frac {1}{2}\delta }\right )}\right )}_{r_{S_{4}}=r_{S_{r}}}\tag{54}\end{align*}
It can be seen that the pseudo steering lever arms are identical on one side of the vehicle each. On the inside of the curve, they increase as the articulation angle increases, while on the outside of the curve they decrease to the same extent. For the dimensions of the demonstration vehicle, they become 0.165 m for