• No results found

Driver model for a software in the loop simulation tool

N/A
N/A
Protected

Academic year: 2021

Share "Driver model for a software in the loop simulation tool"

Copied!
57
0
0

Loading.... (view fulltext now)

Full text

(1)

IN

DEGREE PROJECT ELECTRICAL ENGINEERING, SECOND CYCLE, 30 CREDITS

,

STOCKHOLM SWEDEN 2019

Driver model for a software

in the loop simulation tool

YUE ZHENG

(2)
(3)

Examensarbete TRITA-ITM-EX 2019:662 En förarmodell för ”software in the loop”

simuleringsverktyg Yue Zheng Godkänt 2019-12-06 Examinator Martin Törngren Handledare Lei Feng Uppdragsgivare Scania AB Kontaktperson

Antonius Kies, Anders Jensen

Sammanfattning

För detta projekt används ett simuleringsverktyg Software-In-the-Loop (SIL) på Scania (“VTAB” - Virtual Truck and Bus), vilket simulerar submodellerna för de mekaniska fordonskomponenterna tillsammans med de verkliga styrenheterna. Simuleringsverktyget innehåller följande submodeller: Motormodell, Drivmotormodell, Drivcykelmodell, Restbusmodell och Drivermodell. Den simulerade submodellen för mänsklig förare i restbussmodellen kommer att sända två pedalsstyrsignaler till styrenheten, nämligen gas och broms. Med dessa två pedalsignaler kan styrenheten avgöra lägen av mekaniska fordonskomponenter. Denna drivrutinmodell måste omarbetas för att få en bättre hastighetsspårnings presentationsförmåga.

Två styrenheter, fuzzy PI anti-windup och bakåtberäkning, implementeras i förarmodell och jämförs respektive med hastighetsspårningsnoggrannhet och pedalväxelfrekvens. I jämförelse- och analysavsnittet simuleras två olika cyklar och två nyttolast.

Simuleringsresultaten visar att båda kontrollerna kan förbättra förarmodellens hastighetsspårningskapacitet. Vidare är fuzzy PI-anti-windup-kontroller bättre när man tar hänsyn till pedalsignalernas fluktueringsfrekvens och implementeringskomplexitet.

Nyckelord: HDV (tungt fordon), simuleringsverktyg, förarmodell, longitudinell hastighetsregulator

(4)
(5)

Master of Science Thesis TRITA-ITM-EX 2019:662 Driver model for a software in the loop simulation tool

Yue Zheng Approved 2019-12-06 Examiner Martin Törngren Supervisor Lei Feng Commissioner Scania AB Contact person

Antonius Kies, Anders Jensen

Abstract

For this project, a Software-In-the-Loop (SIL) simulation tool is used at Scania (“VTAB” – Virtual Truck and Bus), which simulates the submodels of the mechanical vehicle components together with the real control units. The simulation tool contains the following submodels: Engine model, Drivetrain model, Drive cycle model, Restbus model, and Driver model. The simulated human driver submodel in the restbus model outputs two pedal control signals to the control unit, namely the gas and brake pedals. With these two pedal signals, the control unit decides the modes of mechanical vehicle components. This driver model needs to be reworked to obtain a better velocity following performance.

Two controllers, fuzzy PI anti-windup and backward calculation, are implemented in the driver model and compared by the velocity tracking accuracy and the pedal switching frequency. In the comparison and analysis section, two different cycles and two weights of payload are simulated. The simulation results demonstrate that both controllers can improve the driver model’s velocity tracing accuracy. Further, the fuzzy PI anti-windup controller is better when considering pedal signals fluctuation frequency and implementation complexity.

Keywords: HDV (Heavy duty vehicle), simulation tool, Driver model, longitudinal velocity controller

(6)
(7)

FOREWORD

This is the final report of a thesis project, carried out at Scania CV AB and aiming at upgrading the driver model in the company’s self-developed simulation platform. Here, two new driver models are recreated and tested on the platform under multiple circumstances.

I greatly appreciate my supervisors Antonius Kies and Anders Jensen at Scania, for their professional help and suggestion for this project. Their patience and support encouraged me a lot when difficulties arose. I would also like to thank my supervisor Prof. Lei Feng and examiner Prof. Martin Törngren at KTH for providing guidance and feedback when needed, which make me deepen my knowledge during the project. I also want to thank Robert Lundquist, Philipp Bock and Johan Holmberg for their generous help and advice on simulation process and pedal switching design.

Antonius Kies, Anders Jensen, Lei Feng, Martin Törngren, Robert Lundquist, Philipp Bock, Johan Holmberg Sweden, 2019-02 to 2019-07

(8)
(9)

NOMENCLATURE

Notations

Symbol

Description

E Young´s modulus (Pa)

r Radius (m) F Force (N) Tq Torque (Nm) m Mass (kg) v Velocity (m/s) a Acceleration (m/𝑠2) J Rotational inertia (kg× 𝑚2) g Gravitational acceleration (m/𝑠2))

𝜃 Road gradient (degree)

CdAf Effective air drag area (𝑚2)

𝜌 Density (kg/𝑚3)

𝜔 Rotational velocity (rad/s)

i Gear ratio (-)

P Power (W)

e Error (m/s)

v_sim Simulated velocity (m/s)

v_d Demanded velocity (m/s)

u Control output (-)

𝑓𝑅𝑅 Rolling resistance coefficient (N/N)

Abbreviations

VTAB Virtual Truck And Bus

(10)

COG Center of gravity (Fuzzy control)

MOM Mean of maximum (Fuzzy control)

XML Extensible Markup Language

(11)

TABLE OF CONTENTS

FOREWORD ... 5 NOMENCLATURE ... 7 TABLE OF CONTENTS ... 9 1 INTRODUCTION ... 11 1.1Background ... 11 1.2 Purpose ... 11 1.3 Research question ... 12 1.4 Delimitations ... 12 1.5 Method ... 12 2 FRAME OF REFERENCE ... 14

2.1 Analysis of the existing PI controller driver model ... 14

2.2 Control strategy and algorithm ... 16

2.2.1 Fuzzy PI anti-windup control ... 16

2.2.1 Backward calculation control ... 20

3 SIMULATION ... 24

3.1 Structure of simulation tool VTAB ... 24

3.2 Submodels of VTAB ... 24

3.2.1 Engine model ... 24

3.2.2 Drivetrain model ... 25

3.2.3 Outerworld model ... 25

3.2.4 Restbus model ... 25

3.2.5 Driver Interface model ... 25

3.2.5.1 Implementation of fuzzy PI anti-windup controller ... 25

3.2.5.2 Implementation of backward calculation controller ... 29

3.3 Simulation process ... 31

4 RESULTS ... 33

5 DISCUSSION AND CONCLUSIONS ... 41

5.1 Discussion ... 41

5.2 Conclusions ... 41

(12)
(13)

1 INTRODUCTION

1.1 Background

The VTAB (Virtual Truck And Bus) framework is a simulation platform at Scania to make a Virtual Truck or Bus environment accessible on every Scania PC workstation for testing. Its environment is built on the Functional Mock-up Interface (FMI) standard (www.fmi-standard.org). FMI is a tool-independent standard to support both model exchange and co-simulation of dynamic models. According to a reference [26], the file that contains co-simulation model which adheres to the FMI standard is called a Functional Mock-up Unit (FMU). It is a zip-file with one or more .dll-files containing the executable model and a model description file in .xml-format to describe the inputs and outputs and parameters, see [23]. An external FFI funded project with a few partners (Volvo Cars, Modelon AB, Algoryx and Umeå University) were run alongside the VTAB project to build their own masters. A master is a software program that loads, connects and runs the FMUs, see [22]. The entire simulation environment consists of: A simulation master that starts, steps and finishes the simulation, FMUs of the available control systems and physical models and scripts to start a simulation configuration, see [21].

Both the control units and the models in this project are packed as FMUs. They are then executed by a simulation master, which starts, runs and controls the simulation. It connects the signals between the FMUs.

1.2 Purpose

The purpose of this thesis is to develop a new driver model with which the simulated velocity can follow the reference velocity as close as possible. It aims at higher accuracy and stability of the output velocity, because the output velocity of the basic driver model in VTAB does not produce to follow the start-and-stop cycle and has a severe oscillating velocity output

With the current driver model, the system’s output speed has a severe oscillation, unsettling behavior and long response time as this model is not made to track transient start-stop cycles. From control perspective, the driver model can be regarded as a pedal controller and the vehicle can be regarded as the control target (a plant). The whole system can be considered as a closed-loop system. In this way, looking at the driver as a controller, control theories can be directly applied to the system mathematical model to obtain a better accuracy and faster settling time.

(14)

The new driver models will be structured with new pedal control algorithms and implemented in MathWorks SIMULINK to insert into SIL tool VTAB.

1.3 Research question

Applying an appropriate control algorithm is essential to manipulate and control the behavior of the subject in order to achieve the best performance. The research question is: Considering influences on velocity tracking accuracy, pedal switching frequency and robustness, what are the implications and limitations of three control strategies, PI feedback, fuzzy PI anti-windup and backward calculation, for the given vehicle pedal control system?

1.4 Delimitations

The driver model can only be applied to time-based cycles simulation.

No processor-in-the-loop and hardware-in-the-loop testing will be implemented. Only one simulation can be conducted at one time.

1.5 Method

This project is an applied and quantitative research, since its goal is to find a solution of an industrial problem and there will be data collection and result evaluation.

To achieve the research target, the following steps are required to be conducted:

 Literature review on the previous work and get acquainted with the latest version of the simulation tool.

 Current models’ parameters adjustment.

 Decide the influential factors which should be taken into consideration in the driver model and build a mathematical vehicle model. Also, analyse the relationship between pedal regulation and acceleration.

 Design control principle and implement both fuzzy PI controller and backward calculation controller in Matlab Simulink model. Combine the driver model with control unit models and other mechanical models to simulate the platform with test cycles.

 Plot and collect figures and data through the analysis.

The third-party software used in this project includes:

 Matlab/Simulink: used for basic simulation model development, data transmission between models and compilation of models.

 Notepad: used to modify simulation program files in other computer languages.

 Excel: used to generate velocity lookup tables which will be read into Matlab simulation workspace and record the simulation output result for final comparison.

Compare the result with consideration of different requirement and implementation cost. Both controllers aim to allow the vehicle to track a prescribed trajectory. The first one, fuzzy PI controller, which is based on fuzzy logic to analyse continuous input in terms of logic values 0 or

(15)

1, is simpler for implementation and adjustment. It only needs the current velocity, reference velocity as input to adjust pedal position to eliminate the difference between reference speed and simulated speed. Meanwhile, another control method called backward calculation is proposed to optimize the driver model. The backward calculation controller utilizes mechanical theory to calculate and convert the required vehicle velocity to components transmission torques and energy to obtain the suitable pedal position. This method needs to input road gradient and the specific property data of the vehicle are required, such as engine full load curve, road slope etc.

(16)

2 FRAME OF REFERENCE

2.1 Analysis of the existing PI controller driver model

The existing controller in the driver model is a conventional PI controller. The classic PID controller combines three terms based on proportional P, integral I, and derivative D to correct the control output.

𝑢 = 𝐾𝑝× 𝑒 + 𝐾𝑖∫ 𝑒 𝑑𝑡0𝑡 + 𝐾𝑑𝑑𝑒(𝑡)𝑑𝑡 (1) Where 𝐾𝑝, 𝐾𝑖 and 𝐾𝑑 are all non-negative and independently devote to proportional, integral and derivative parts in the PID controller, see [1]. As can be seen from the below figure, it is a closed-loop system and the PID controller determines the control input u based on the error 𝑒 between the reference 𝑟𝑒𝑓 and the real output 𝑦.

Figure 2. Structure of the classic PID controller

An analysis and comparison of various combinations of PID control methods are presented by Wade Harold L [2]. It points out that the PI controller is the most often used control method as PID controller is more complicated to adjust and the inappropriate derivate parameter could increase noise signals. Also, in order to compare with the basic PI controller driver model in VTAB, the PI controller is selected to apply on the new driver model. The equation of PI controller is shown in Equation 2. Figure 3 demonstrates the structure of a classic PI controller. The only difference between it and the classic PID controller is the derivative term.

𝑢 = 𝐾𝑝× 𝑒 + 𝐾𝑖∫ 𝑒 𝑑𝑡0𝑡 (2)

(17)

The controller’s output 𝑢 is the sum of the product of error 𝑒 and a proportional gain 𝐾𝑝, and the product of an integral gain 𝐾𝑖 and the integral of error 𝑒. Figure 4 shows an example of error in the driver model. There are a red curve standing for simulated velocity and a black line denoting reference velocity. The error 𝑒 is the difference between reference speed and simulated speed. In the default driver model, two PI controllers are implemented for acceleration and braking separately in the original model, their parameters are: 𝐾𝑝 = 25, 𝐾𝑖 = 5 (Accelerator), 𝐾𝑝 = 20, 𝐾𝑖 = 2 (Brake).

Figure 4. Example of error

The inputs of the basic driver model are error and shift-in-process signal, which is turned on when the gear is shifted down. When the shift-in-process signal is on, the driver model only uses a proportional controller to adjust pedal positions as the driving torque increases with a lower gear. Otherwise, it will activate the PI controller. The output signals are positive acceleration signal and negative brake signal as illustrated in Figure 5.

Figure 5. Structure of the PI controller in basic driver model

With this current driver model, the system’s output speed has severe oscillations, inaccurate settling position and long response time. Moreover, as shown in Figure 6, the red simulation velocity curve cannot follow the black start and stop cycle curve.

(18)

Figure 6. Result of basic driver model

2.2 Control strategy and algorithm

2.2.1 Fuzzy PI anti-windup control

The target of the new controller is to obtain a more accurate and smoother velocity control performance. The first proposed controller is called fuzzy PI anti-windup controller, which combines fuzzy logic, classic PI controller and anti-windup strategy.

Firstly, this fuzzy logic controller is a fuzzy inference system that describes control protocols by means of if-then rules, such as "if the input error is small, then the output control value is small" . An example of fuzzy inference system is shown in Figure 7. The fuzzification module transforms the inputs (crisp values) into fuzzy sets and passes them into the rule base. The conclusions of each rule are aggregated into a single fuzzy set, which will be transformed back to a precise number and outputted.

Figure 7. Fuzzy inference system example

The classic logic demonstrates the judgement by only assigning boolean true or false, see a published book [6]. The classic method to handle input is to separate the input range into several intervals and assign input values to the discrete levels. Each input value either belongs or does not belong to a discrete level and there is no ambiguity. Nevertheless, the fuzzy logic introduces the concepts of fuzzy sets and membership functions to prevent this sharp separation. Fuzzy logic is a many-valued logic which has more than two truth values, see [25]. It uses membership function to assign numeric values between 0 and 1 to each proposition that represents the probability of a value of belonging to a subrange (fuzzy set) to analyse the input variables. An

(19)

example is shown in Figure 8, where the total area of the variable is assumed to have three subranges, small, medium and big. The three trapezoid membership functions determine the likelihood of a continuous value to the three subranges. [7] is a reference paper from the Internet that provides more detailed explanation. There are various types of membership function and the most common functions include: piecewise linear function, nonlinear smooth function, sigmoidal function and polynomial function and irregular shaped function, see [4]. This step of representing input data in terms of fuzzy set is called fuzzification.

Figure 8. Fuzzy logic example

After processing the input, it comes to the design of the fuzzy PI control algorithm. Following the design process of fuzzy PI controller presented in [3], the fuzzy PI controller takes in the error and the derivation of error to operate an online adjustment of PI controller’s parameters. A control flow diagram of fuzzy PI controller is shown in Chapter 3, Figure 19. The finalized PI controller parameters are presented as 𝐾𝐼 and 𝐾𝑃, which are equal to the sum of the initial values of them, 𝐾𝐼0 and 𝐾𝑃0, and their increment variables, ∆𝐾𝐼 and. ∆𝐾𝑃(𝐾𝑝 = ∆𝐾𝑝+ 𝐾𝑝0 , 𝐾𝑖 = ∆𝐾𝑖 + 𝐾𝑖0). The correction of increment variables is based on the input’s membership degree of each fuzzy set and a fuzzy lookup table, see [5]. The control rules that construct the fuzzy lookup table are defined by inference and experiment experience. Take 𝐾𝑃 as an example. The selection of 𝐾𝑃 will influence system’s response speed. With a larger 𝐾𝑃, it can increase response speed. Nevertheless, an excessive 𝐾𝑃 will lead to an obvious overshoot, or even system’s instability. Thus, during the initial phase of the regulation, a relatively bigger 𝐾𝑃 is selected to raise response speed. Later when it comes to the middle or the final stage, 𝐾𝑃 should be decreased to a small value to ensure the system a small overshoot. For parameter 𝐾𝐼, its main effect is to

eliminate system’s steady-state error. Owing to some reasons, such as saturated nonlinear property, the integral part could produce an integral saturation in the first phase of adjustment, which might cause a large overshoot. Hence, to prevent this situation, a smaller value or even zero could be selected as 𝐾𝐼 at the beginning. And to avoid affecting system stability, 𝐾𝐼 should

be set to some medium value in the middle stage and enhanced in the final phase to diminish steady-state error. With the input fuzzy set and fuzzy control protocol, fuzzy system’s output fuzzy set will be determined.

Nevertheless, in most cases, the control system’s output has to be crisp value instead of fuzzy terms. A reference book [10] presents the inverse process of fuzzification. This process is called defuzzication, which transfers fuzzy inference result into a precise value. The most commonly used defuzzication methods include center of gravity (COG) and mean of maximum (MOM).

(20)

Where 𝑥 is the values of the output fuzzy set from the fuzzy inference of each sample element and 𝜇(𝑥) is the degree of 𝑥’s membership. ∫ 𝜇(𝑥)𝑥 𝑑(𝑥) denotes the bounded area under the black curve 𝜇 and 𝑥∗ is the x-coordinate of the blue center of gravity point, see Figure 9.

Figure 9. COG method

Using the mean of maximum (MOM) method, the defuzzified number is regarded as the element with the highest membership. If there are more than one element that has the maximum membership, the mean value of these defuzzified results is taken as the final result.

𝑥∗ =∑𝑥𝑖∈𝐻𝑀(𝑥𝑖)

𝑁 (4)

Where 𝑁 is the number of the fuzzy value that 𝑥𝑖 ∈ 𝐻𝑀. Here 𝑥𝑖 ∈ 𝐻𝑀 represents the fuzzy value 𝑥𝑖 that has the highest membership (HM) value. In the example as shown in Figure 10, two fuzzy values, a and b, have maximum membership value. The average of these fuzzy values is the crisp result of defuzzification.

Figure 10. MOM method

Furthermore, when there is a large change in the process, the integral terms could accumulate a significant value of error during the rise. This makes the theoretical control output much higher than the available control output on many occasions. Because of this, when the system reaches the target and requires less control output, it will take a long duration which leads to an overshoot as this accumulated error is unwound, see [8]. An example is shown in Figure 11, where the yellow and black curves represent the control signals, and the purple curve represents the output error. The yellow theoretical curve that is higher than the saturation point makes the black actual output curve stay at the maximum value and hence gives the system unnecessary high control input after the system reaches the target.

(21)

Figure 11. Integral windup

To avoid this problem, an anti-windup method is added in controller design. The controller’s output signal 𝑦 is the input to the target plant, for example, vehicle model. There are two most-used methods: clamping and back-calculation. The back calculation method functions when the control output signal exceeds saturation bounds. As demonstrated in Figure 12, it calculates the difference between the actual controller output 𝑦 and the saturated output and subtracts it from the integral part, multiplied by a back-calculation factor 𝐾𝑏, see a comparison carried out by [9].

Figure 12. Example of back-calculation anti-windup method

In this case, clamping is selected owing to its robust ability while back-calculation’s performance highly depends on its back-calculation coefficient. The clamping method stops integration when the sum of integration, proportion and derivation exceeds the output limit and the sign of integration part is the same as output’s sign. It will resume the integration if either one of the above conditions is unsatisfied, see reference [12]. In Figure13, the product of input 𝑢 and the sum of the three terms is compared with 0 to test if the integration part has the same sign as output. If it does and the output 𝑦 differs from the value before being saturated, it will activate the switch block, feeding 0 as the error into the integrator.

(22)

Figure 13. Example of clamping anti-windup method

2.2.1 Backward calculation control

Another control method, the backward calculation is suggested and provided by Antonius Kies at Scania AB. It is more like a mechanical update calculation method. From the speed of vehicle wheels to drivetrain, to engine, and to pedals, it calculates the desired torque and power step by step following the power transmission direction, see reference [14] and [17]. Different from the above fuzzy control method, this requires more dynamic and vehicle property information. The vehicle longitudinal dynamic model and the driveline structure are shown in Figure 14 and 15.

(23)

Figure 15. Driveline components

Firstly, the model calculates the total required driving force 𝐹𝑠𝑢𝑚 to propel or brake the vehicle. As Equation (5) shows, there are four forces included: inertia force 𝐹𝑖𝑛𝑒𝑟𝑡𝑖𝑎, gravity force 𝐹𝑔𝑟𝑎𝑣,

rolling force 𝐹𝑟𝑜𝑙𝑙 and air resistance force 𝐹𝑎𝑖𝑟. [13] is an example.

𝐹𝑠𝑢𝑚 = 𝐹𝑖𝑛𝑒𝑟𝑡𝑖𝑎+ 𝐹𝑟𝑜𝑙𝑙 + 𝐹𝑔𝑟𝑎𝑣+ 𝐹𝑎𝑖𝑟 (5)

In equation 6, 𝑎𝑑 denotes the demanded acceleration for each sampling time 𝑡. The inertia force 𝐹𝑖𝑛𝑒𝑟𝑡𝑖𝑎 contains both translational and rotational masses. The translational part’s is the mass of vehicle 𝑚𝑣, and the rotational part mass is the quotient of inertia of wheel 𝐽𝑤ℎ𝑒𝑒𝑙 divided by

square of vehicle dynamic radius 𝑟𝑑𝑦𝑛, see [15].

𝑎𝑑 =𝑣𝑠𝑖𝑚−𝑣𝑑

𝑡 (6)

𝐹𝑖𝑛𝑒𝑟𝑡𝑖𝑎 = 𝑎𝑑 × (𝑚𝑣𝑒ℎ+𝐽𝑟𝑤ℎ𝑒𝑒𝑙

𝑑𝑦𝑛2) (7)

The gravity force 𝐹𝑔𝑟𝑎𝑣 is calculated by vehicle mass 𝑚𝑣, gravity coefficient 𝑔 and road slope 𝜃. It can be regarded as a resistance force when the vehicle is going uphill or an additional driving force when the vehicle is going downhill owing to the sine of inclination.

𝐹𝑔𝑟𝑎𝑣 = 𝑚𝑣𝑒ℎ × 𝑔 × sin (𝜃) (8)

The rolling resistance force 𝐹𝑟𝑜𝑙𝑙 acts to oppose the vehicle’s motion when tires roll. This friction

lies along the surface and expressed as a coefficient factor 𝑓𝑅𝑅 times a vertical force 𝑚𝑣∗ 𝑔 ∗

cos (𝜃) load on surface. The coefficient factor 𝑓𝑅𝑅 depends on the material of tire and the texture

(24)

coefficient 𝐶𝑑 and the frontal area of the vehicle 𝐴𝐹. Air drag depends directly on quadratic

vehicle speed.

𝐹𝑎𝑖𝑟 =𝐶𝑑×𝐴𝐹×𝜌𝑎𝑖𝑟×𝑣𝑐𝑢𝑟2

2 (10)

The next stage is driveline torque transmission calculation. With the demanded driving force on wheel, the demanded torque, rotational force on wheel, is equal to the required driving force 𝐹𝑠𝑢𝑚 times vehicle dynamic radius 𝑟𝑑𝑦𝑛:

𝑇𝑞𝑤ℎ𝑒𝑒𝑙 = 𝐹𝑠𝑢𝑚 × 𝑟𝑑𝑦𝑛 (11)

Given the ratio of axles, gearboxes and the current velocity, the below formulas can be utilized to compute the engine’s demanded rotational speed 𝜔𝑒𝑛𝑔, rotational acceleration 𝜔̇𝑒𝑛𝑔 and required input torque of gearbox 𝑇𝑞𝑔𝑏𝑥𝑖𝑛 under two different situations.

𝜔𝑒𝑛𝑔=𝑣𝑐𝑢𝑟×𝑖𝑎𝑥×𝑖𝑔𝑏𝑥

𝑟𝑑𝑦𝑛 (12)

𝜔̇𝑒𝑛𝑔 =𝑎𝑑×𝑖𝑟𝑎𝑥×𝑖𝑔𝑏𝑥

𝑑𝑦𝑛 (13)

Where 𝑖𝑎𝑥 and 𝑖𝑔𝑏𝑥 are the ratio of axle and gearbox at that moment.

𝑇𝑞𝑔𝑏𝑥𝑖𝑛 = { 𝑇𝑞𝑤ℎ𝑒𝑒𝑙 𝜂𝑎𝑥×𝑖𝑎𝑥×𝜂𝑔𝑏𝑥×𝑖𝑔𝑏𝑥, 𝑇𝑞𝑤ℎ𝑒𝑒𝑙 ≥ 0 𝑇𝑞𝑤ℎ𝑒𝑒𝑙×𝜂𝑎𝑥×𝜂𝑔𝑏𝑥 𝑖𝑎𝑥×𝑖𝑔𝑏𝑥 , 𝑇𝑞𝑤ℎ𝑒𝑒𝑙 < 0 (14) Where 𝜂𝑎𝑥 and 𝜂𝑔𝑏𝑥 are two efficiency coefficients which are usually in range of [0.93, 0.98]. Engine demanded auxiliary power 𝑃𝑎𝑢𝑥 provides energy for engine’s cooling fan, steering pump and so on. 𝐽𝑒𝑛𝑔 is engine rotational inertia referred to crankshaft and 𝑇𝑞𝑒𝑛𝑔 is the engine drag torque that refers to engine speed. Thus, the engine torque can be described as:

𝑇𝑞𝑒𝑛𝑔= 𝑇𝑞𝑔𝑏𝑥𝑖𝑛+ 𝑃𝑎𝑢𝑥

𝜔𝑒𝑛𝑔+ 𝐽𝑒𝑛𝑔× 𝜔̇𝑒𝑛𝑔 (15)

Lastly, we estimate the corresponding pedal position. For the brake pedal position, a two-dimensional lookup table is applied, which only refers to demanded braking deceleration.

There is a three-dimensional lookup table for acceleration pedal position. The two input signals are engine speed and engine torque separately and the output signal is acceleration pedal position. This three-dimensional map is interpolated by using Matlab Curve Fitting Tool with a three dimensional matrix that contains the engines information. This toolbox is used to realize diverse types of linear or nonlinear curve or surface fitting. Besides plotting fitting graphs, it can also save the fitted model, a function or a set of functions that describe the fitting surface or curve, to Matlab workspace. The available fit types are Exponential, Fourier, Gaussian, Interpolant, Polynomial, Power, Rational and etc.

Linear interpolation is a simple but most used interpolation method. It returns the value of the desired position that lies on the straight line of two connected known data points, see paper [24] and [16]. Assume that two coordinates (𝑥0, 𝑦0) and (𝑥1, 𝑦1), the blue points in Figure 16, are

(25)

𝑦−𝑦0 𝑥−𝑥0 =

𝑦1−𝑦0

𝑥1−𝑥0 (16)

Figure 16. Linear interpolation

In this manner, backwards calculation driver model needs vehicle data while fuzzy PI anti-windup controller does not. The vehicle data include: radius of the drive wheel, vehicle mass, retarder ratio, vehicle wheel inertia, engine torque loss map, engine lowest idling speed, engine full load and drag curve, engine inertia, gearbox type number, air drag coefficient and frontal area of the vehicle.

(26)

3 SIMULATION

3.1 Structure of simulation tool VTAB

The submodels of VTAB are designed and developed in Matlab/Simulink at first, then compiled and packaged into FMU (Functional Mock-up Unit) models, including control systems for components. These FMU models are implemented on FMI (Functional Mock-up Interface) standard, which was established by European organizations to solve the issues of model reuse, tool fragmentation and standardize the interface of complex cyber-physical systems. It is a standard that does not rely on software tools but utilizes the combination of XML files and compiled programmes to support model exchange and co-simulation of dynamic models. The XML files contain information and data of model interface, while C codes realize model’s dynamic behavior functionalities. The FMI was developed and led by Daimler AG in Modelisar project with other European cooperators in 2008 and published its matured standard FMI2.0 in 2014. Now it becomes the most accepted and the most widespread used interface standard. For more detailed information, see official website1. The output file through FMI standard is a compressed file with .fmu file extension. The structure of VTAB is shown in Figure 17. A simulation master is connected with FMUs of control systems and physical models to start, step, and finish the simulation. The testlogger connected to simulation master is compiled into FMU model as well and runs an automatic simulation with VTAB.

Figure 17. VTAB structure

3.2 Submodels of VTAB

3.2.1 Engine model

A basic engine model contains both the engine model and the engine control system by sending out the necessary CAN messages. It takes in the demanded input from driver to update engine torque and rotational speed to reach the target. Several .mat files also provide the model detailed property information of different types engines, such as full load curve, drag torque curve and etc. Additionally, the fuel consumption of the engine is also calculated. In this project, the following engine basic data are modified to match the simulated vehicle: engine flywheel inertia, engine

(27)

lowest idling speed and engine variant number. Here engine variant number stands for the model of engine and selects engine’s variant and power level from a .mat engine data files in VTAB.

3.2.2 Drivetrain model

The drivetrain model provides information of vehicle driveline components excluding engine or motor. It not only illustrates the power delivery between clutch, gearbox, retarder, brake and wheels, but also calculates driving resistance and vehicle speed from road gradient, resistance forces, engine torque and power losses. The following variables need to be updated: vehicle mass, tire radius, gearbox variant number, wheel inertia, air drag coefficient, speed dependent term of coefficient of rolling resistance, constant term of coefficient of rolling resistance. Here the gearbox variant number represents the model of gearbox and mappings to corresponding data in VTAB basic configuration files.

3.2.3 Outerworld model

The outerworld model contains information of road and ambient conditions, such as altitude, slope, curvature, wind speed and moving direction. The basic model in VTAB uses distance based lookup table, taking vehicle position as input and returning road and air data of that position. For example, road slope, curvature and air pressure or temperature. But this distance based model can not follow the start and stop cycle because the breakpoints of Simulink lookup table must be monotonically increasing. In another word, for each distance breakpoint, it can only have one corresponding reference speed. Hence, it is converted into time based model to follow the cycles.

3.2.4 Restbus model

Restbus model acts as a message transfer station. It receives and sends messages from other control units connected to CAN channel and contains some functionality to prevent CAN connection time out.

3.2.5 Driver Interface model

The main function of the driver interface model is providing an automatic control of accelerator and brake pedals to reach a certain longitudinal velocity. This model outputs pedal position in percentage, which will be delivered to the restbus model and vehicle components control system to determine modes of other components, such as gear number, engine speed.

3.2.5.1 Implementation of fuzzy PI anti-windup controller

Since the highest truck speed limit is 90km/h in Sweden, the input error range is set to be [−100, 100]. As explained in chapter 2, based on the concept of fuzzy sets, the numerical input will be converted into linguistic terms: NB(negative big), NM(negative medium), NS(negative small), ZE(zero), PS(positive small), PM(positive medium), PB(positive big). The membership function selected to represent fuzzy sets is triangular function. Figure 18 shows the implementation of error 𝑒’s membership function with Matlab. The range of error is divided into 7 intervals with triangles denoting the triangular membership function. Equation 17 is the

(28)

𝜇(𝑥) = { 0, 𝑥 ≤ 𝑎 𝑜𝑟 𝑥 ≥ 𝑏 𝑥−𝑎 𝑚−𝑎, 𝑎 < 𝑥 ≤ 𝑚 𝑏−𝑥 𝑏−𝑚, 𝑚 < 𝑥 < 𝑏 (17)

Figure 18. Membership function of error e

Table 1. Parameters of fuzzy PI controller

parameter category

e ce Kp Ki

Range [-100, 100] [-100, 100] [0, 45] [0, 3] Membership function triangular triangular triangular triangular

The fuzzy system’s inputs are the e(error between target speed and simulated speed) and ce(change of error) and its outputs are 𝐾𝑝(proportional part) and 𝐾𝑖(integral part).

Where: 𝐾𝑝 = ∆𝐾𝑝+ 𝐾𝑝0 , 𝐾𝑖 = ∆𝐾𝑖 + 𝐾𝑖0

∆𝐾𝑝 and ∆𝐾𝑖 are self-adjustment variables, 𝐾𝑝0 and 𝐾𝑖0 are preset original value of 𝐾𝑝 and 𝐾𝑖.

Table 1 lists the ranges and types of membership function of parameters 𝑒, 𝑐𝑒, 𝐾𝑝, 𝐾𝑖. From the result plot of original PI controller, Figure 6 shows the vehicle can accelerate and decelerate to the target in limited time. Therefore, the initial value of PI controller’s parameters, 𝐾𝑝0 and 𝐾𝑖0,

are selected to be 20 and 2, similar to the setting of the basic controller. Then, taking 5 as a step for ∆𝐾𝑝 and 1 as a step for ∆𝐾𝑖, the most suitable maximum ∆𝐾𝑝 and ∆𝐾𝑖 are tested to be +25

and +1 with different truck cycles. Furthermore, during the control process, when the system reaches or exceeds the target, the finalized 𝐾𝑝 and 𝐾𝑖 could be decreased to 0 to follow the target.

Because of this, the range of 𝐾𝑝 and 𝐾𝑖 are set to be [0, 45] and [0, 3].

The change of error is the quotient of the change of error ∆𝑒 and simulation time step ∆𝑡 = 10𝑚𝑠 = 0.01𝑠, see Equation 18:

(29)

The structure of fuzzy PI control system is shown in Figure 19:

Figure 19. Structure of fuzzy PI anti-windup controller

Through combining theoretical analysis and simulation experience, fuzzy rules determining the relation of e(error), ce(derivative of error) and PI controller parameters 𝐾𝑝, 𝐾𝑖 are set. Some simple examples are shown in the following graph. The three plots are velocity (where red line is simulated speed, black line is target speed), error of velocity and change of error from top to bottom by sequence:

(30)

proportional part is tuned to be appropriately larger than the original value to minimize the error when it is slightly increasing. Meanwhile the integral parameter, is tuned to be lower than original value as the system has not reached steady state.

(2) If e is NS(negative small) and ce is PS(positive small), then ∆𝐾𝑝 should be ZE(zero) and

∆𝐾𝑖 should be NS(negative small), which means 𝐾𝑝 = 𝐾𝑝0 and 𝐾𝑖 < 𝐾𝑖0. In the second

stage, the proportional parameter is reduced to prevent overshoot response as the error is reducing. Because the system is still under a tuning process, 𝐾𝑖 remains to be the same as

it was in last phase.

Combining the design thoughts above and the highly used experience based fuzzy rules table, see [19] and [5], the finalized fuzzy rules are presented in Table 2.

Table 2. Fuzzy rules table of ∆𝐾𝑝

ce e NB NM NS ZO PS PM PB NB PB PB PM PM PS ZO ZO NM PB PB PM PS PS ZO NS NS PM PM PM PS ZO NS NS ZO PM PM PS ZO NS NM NM PS PS PS ZO NS NS NM NM PM PS ZO NS NM NM NM NB PB ZO ZO NM NM NM NB NB

Table 3. Fuzzy rule table of ∆𝐾𝑖

ce e NB NM NS ZO PS PM PB NB NB NB NM NM NS ZO ZO NM NB NB NM NS NS ZO ZO NS NB NM NS NS NS PS PS ZO NM NM NS ZO PS PM PM PS NM NS ZO PS PS PM PB PM ZO ZO PS PS PM PB PB PB ZO ZO PS PM PM PB PB

Abbreviation in the above two tables: NB(negative big), NM(negative medium), NS(negative small), ZE(zero), PS(positive small), PM(positive medium), PB(positive big).

After getting the linguistic terms of PI controller parameters, the next step is conversion to numerical values from fuzzy sets, which is called defuzzification. The method chosen in the step is COG (center of gravity), see chapter 2. It computes the corresponding x-axis number of center of the area under the curve and is implemented with Matlab fuzzy logic toolbox.

Since the pedal position is represented in percentage, the output limit is [−100, 100], where negative output indicates deceleration. With the saturation range, the anti-windup function will be operated as this set of formulas:

𝑢𝑡 = {

𝐾𝑝× 𝑒, (𝑢𝑡−1> 100 𝑜𝑟 𝑢𝑡−1< −100) 𝑎𝑛𝑑 (𝑠𝑖𝑔𝑛(𝑒) = 𝑠𝑖𝑔𝑛(𝑢𝑡−1))

(31)

If error 𝑒 and control output 𝑢 of current time (𝑡 − 1) have the same sign, then the controller stops integration.

Figure 21 is the implementation logic graph of fuzzy controller. The braking block is a protection mechanism to output maximum braking (-100) when the reference velocity is zero.

Figure 21. Implementation of fuzzy PI anti-windup controller

3.2.5.2 Implementation of backward calculation controller

The backward calculation controller accesses more FMU signals from other models, see Figure 22.

Figure 22. Implementation of backward calculation controller

The upper part including “Backward calculation block”, “Drag Torque map” and “Acceleration Lookup map” is for acceleration pedal tuning and the lower part including “Deceleration lookup

(32)

position can be obtained from a two dimensional lookup table. The brake pedal calculation only takes in the error of velocity to output the proper brake pedal position.

Futhermore, a selection block is added here to avoid conflict due to switching between pedals. If the error is positive, the controller will only output acceleration pedal. Otherwise, it will only active brake pedal. And, to improve the driver model to follow the start and stop request more precisely, a determine block is placed after previous blocks. When the reference speed is zero, it will active 100% brake pedal.

Figure 23. Engine requested torque

The figures below are two examples of acceleration map and deceleration map which are generated from the lookup tables in VTAB vehicle model to improve the control precision. When generating these two maps, the interpolation type and method are selected to be linear interpolant.

(33)

Figure 25. One-dimensional deceleration map

3.3 Simulation process

The simulation process is based on and upgraded from the process model developed by Philipp Bock [18].The first step is the installation of simulation platform and environment to a specific location in a computer. This location is pre-defined and unchangeable owing to later simulation programmes’ lookup address. After this, a folder consisting of reworked models and data will be automatically copied into simulation environment, active simulation and record results by running a starting script. This folder contains new Simulink driver models, outerworld models, testing cycles, vehicles property datasheets and simulation Matlab scripts. A number of scripts call each other during the simulation and control the process, see figure 26.

(34)

scripts starting and executing VTAB complete the preparation, i.e., entering the required data and remove the redundant files to avoid errors in the next step. Afterwards, the makeFMU script will build FMU models based on Simulink models and continue the process regarding to the simulation mode that is defined in the starting script. There are two modes available, manual and automatic. The manual method means the simulation will stop after it finished compiling FMU models and copy them into VTAB FMU library destination path. Meanwhile, automatic mode will proceed with the python simulation by modifying necessary configuration files and essential programme codes.

(35)

4 RESULTS

Table 4 presents the key parameters of the simulated truck:

Table 4. Truck configuration data

Test truck name Rigid Lorry Vehicle mass Vehicle mass Engine Axlegear ratio Tyres Transmission Portello 4*2 15 tons (Only lorry) 30 tons (Lorry with twin-axle trailer) 9L, inline-5, 1420Nm, 208Kw (DC09-130) 2.92 315/70 R22.5 12-speed AMT, 11.32~1.00

By converting the distance based lookup table into time based lookup table, the original PI controller now can generally follow start-and-stop cycles, see figures 27-28. However, there still exists obvious late response even for small vehicle mass.

(36)

Adapting the time-based lookup method, the output of simulations for the three different controllers are shown in Figures 30 to 35 and 37 to 42. In each graph, the first subplot is the plot of simulated speed versus reference speed, where simulated speed is the red line and reference speed is the black line. The second subplot contains the signals of brake and gas pedals position. The red cure denotes the acceleration pedal while the blue curve stands for the brake pedal. The axis of these two subplots are all time axis and synchronous. Besides presenting simulation result graphs, the sum of absolute value of error for the simulation process 𝑠𝑢𝑚(𝑎𝑏𝑠(𝑒)), maximum value of error max (𝑒) and minimum value of error min (𝑒) are also computed for comparison. The first and second tests are simulated with the same truck cycle called “Truck_Long_Haul”. Figure 29 shows the cycle’s road gradient in percentage with blue line compared with the red 0% gradient line.

Figure 29. VECTO truck Long Hual Cycle

The first test is simulated with 15 tons truck. The Long Haul cycle mostly keeps moving uphill or downhill but maintains a constant speed. The first 600 seconds simulation with one stop-and-start for each controller is taken out to estimate controllers’ capability.

(37)

Figure 31. Fuzzy PI controller

Figure 32. Backward controller

Table 5. Simulation results of velocity error in the first test

controller

e Basic Fuzzy Backward sum(abs(error)) 8.3553e+04 4.4574e+04 9.0229e+04

max(error) 20.8918 8.7918 12.0077 min(error) -6.7806 -1.8614 -5.3088

In the first comparison on cycle Truck_Long_Haul with the 15-tonnes vehicle, the fuzzy PI anti-windup controller has a highly accurate velocity tracking performance and smooth switching control between pedals when compared to the other two controllers. In contrast, the backward calculation, unlike the other cases, has the largest sum of error, but a smaller minimum value of error and maximum value of error than the basic drive model in spite of its smoother velocity

(38)

The second test is simulated on the same cycle with 30 tons truck. The intention is to see, with a heavier vehicle mass, what is the performance of each controller.

Figure 33. Original PI controller

Figure 34. Fuzzy PI controller

(39)

Table 6. Simulation results of velocity error in the second test

controller e

Basic Fuzzy Backward sum(abs(error)) 2.000e+05 9.8064e+04 1.2463e+05

max(error) 41.1360 19.2333 22.1857 min(error) -5.6258 -2.1955 -5.2432

In the second comparison on the same cycle with heavier mass, 30 tonnes, it is hard for the basic model to accelerate to the target speed at the beginning due to the controller’s late response and there still exist oscillations in speed tracing and pedal shifting. As demonstrated in Figure 35, the control effect of backward calculation is closer to the desired outcome. Not only is the result improved at minimizing error, but also at pedal changeover. On the other hand, the fuzzy controller, which also achieves better reaction, even has a faster response during initiation.

The third and fourth tests are simulated with a truck cycle called “Truck_Urban_Delivery”. The road profile is less steep in general than the last one, but has more slight flutters. As the previous simulation, the first 600 seconds simulations are used for comparison, see Figure 36.

Figure 36. VECTO truck Urban Delivery Cycle

The third test is run with a 15-tonn truck and the demanded velocity, presented with black line in the first subplot of Figure 37, rises and falls along time.

(40)

Figure 37. Original PI controller

Figure 38. Fuzzy PI controller

(41)

Table 7. Simulation results of velocity error in the third test

controller e

Basic Fuzzy Backward sum(abs(error)) 2.2018e+05 7.2646e+04 1.2554e+05

max(error) 19.1811 12.3885 21.4642 min(error) -16.5421 -3.6044 -4.4979

Figures 37 to 39 show that on the cycle Truck_Urban_Delivery with a 15 tonne vehicle, the basic controller cannot maintain stable at demanded speed most of the time, while both the other two new controllers can realize comparatively accurate velocity control for the most part. However, similar to the first test with the same vehicle mass, the backward calculation controller still has high frequency fluctuation in pedal switching and late reaction when starting the engine.

The fourth test is simulated with the same truck cycle and a 30 tonnes truck. The target is to see controllers’ tracking ability under different weights.

(42)

Figure 42. Backward controller

Table 8. Simulation results of velocity error in the first test

controller e

Basic Fuzzy Backward sum(abs(error)) 4.5885e+05 1.3300e+05 1.2554e+05

max(error) 60.7321 21.8379 21.8642 min(error) -15.1622 -1.9930 -4.4979

The fourth groups of results show that, the basic controller performs worse when adding payload. But, differentiate from the above three tests where the fuzzy controller always owns the smallest sum of error, this time the backward calculation controller outputs a slightly better velocity following result than the other two regardless the oscillation of pedal shifting.

(43)

5 DISCUSSION AND CONCLUSIONS

5.1 Discussion

To have a general view of the test results in chapter4, Table 9 summarizes the comparison result of the four tests by using numbers 1, 2 and 3 to represent the ranking of each controller in each test.

Table 9. General test results of three controllers

controller test

Basic Fuzzy Backward

1st 2 1 2

2nd 3 1 2

3th 3 1 2

4th 2 1 1

In the first test, since the basic controller has a small sum of absolute value of error but backward controller owns a smoother tracing effect. Hence, both of them are listed in the second place with number 2. The comparison results of the second and third tests are the same because both two new redesigned controllers have more accurate control performance similarly and fuzzy controller can guarantee a comparatively smoother pedal switching. The final test’s result is similar to the result of the third test, except the sum of absolute error of backward controller is a bit lower than the one of fuzzy controller. Thus, both new controllers are put in the first place with number 1.

5.2 Conclusions

In this project, two new driver models are created and embedded into the VTAB simulation platform, and compared with the default driver model. These controllers are evaluated on their velocity tracking accuracy, pedal shifting frequency and robustness and the result are presented in Table 10 with numbers 1-3 as their rankings. The basic driver model does not have advantage in these three evaluation aspects when compared to the new controllers. The fuzzy driver model has the most ideal velocity tracking function as well as robustness adaptive capacity because it can closely follow the cycles under different circumstances, but its pedal switching adjustment could be further improved. In spite of the similar good tracing accuracy to fuzzy driver model, the backward driver model has obvious drawbacks on pedal shifting and robustness owing to the significant pedal signals oscillation and the unstable performance.

Table 10. Capability comparison results of three controllers

controller capability

(44)

Simulation results show that both two new controllers can follow the start-and-stop cycles as required and the results vary significantly with different cycles. The fuzzy PI controller always has a better control performance than the basic driver model in VTAB regardless of testing cycles and vehicle masses as it has an obviously smaller sum of error and a smoother gas/brake switching. On the other hand, the backward calculation controller improves the driver model’s tracing function except the first test, although the sum of error raises and the maximum error is lower. In addition, it has an even severer fluctuation on pedals cutover, which indicates that this controller still has some uncertainties and drawbacks.

In general, the fuzzy controller owns the best control performance with regards to its velocity tracing capability, pedal shifting adjustment and robustness to different types of vehicles. Either the sum of absolute value of error or the maximum/minimum value of error of the fuzzy controller is smaller than the other two at the time. Moreover, it is more reliable and easier for implementation as it does not request any property information of vehicle dynamic properties.

(45)

6 RECOMMENDATIONS AND FUTURE WORK

6.1 Recommendations

The function of converting distance-based cycle into time-based cycle or using distance-based cycle as look-up tables without transformation could be developed in outerworld model and driver model since some cycles are implemented in distance-based.

As the backward calculation controller reacts aggressively for small vehicle payload when the error is minor, an assumption is that maybe part of the acceleration map in this controller can be improved when engine speed or engine requested torque is small.

6.2 Future work

Figure 43. Fuzzy PI controller

To sum up, three deficiencies are expected to improve in future work. The first problem is whenever the vehicle almost reaches the stop position, the simulated velocity, the red curve in the first subplot of Figure 43, always suddenly drops to zero, though the brake pedal position signal received by the restbus model, the blue curve in the second subplot, is decreasing. This problem might be related to some protect function inside the VTAB platform.

The second problem is the oscillation of pedal position signal. Despite the types of controllers, the output pedal signals from each of them mostly can not smoothly adapt pedals to different speed requests on different roads. This oscillation could affect vehicle’s fuel consumption and components lifetime. A low-pass FIR filter was added right before pedal position output in the

(46)

Figure 44. FIR filter setting

Another experiment has been left to do is the combination of neural network and fuzzy PI controller. In this project, the fuzzy PI controller only takes in error as the determined input to adapt pedal position. The improved assumption is that the road slope is also considered as one of input elements in neural network’s input layer. This suggested controller will use neural network to analysis the relation between these two inputs and output to construct a mathematical model to describe their relation, see [19] and [20].

(47)

7 REFERENCES

[1] K. K. Tan, Q. G. Wang, and C. C. Hang, Advances in PID control. London: Springer, 1999. [2] H. L. Wade, Basic and advanced regulatory control: system design and application.

Research Triangle Park, North Carolina: ISA, 2017.

[3] A. Nürnberger, R. Kruse, F. Klawonn, and K. Michels, Fuzzy Control. Springer Berlin Heidelberg, 2006.

[4] N. H. Siddique, Intelligent control: a hybrid approach based on fuzzy logic, neural networks and genetic algorithms. Cham: Springer, 2016.

[5] L. Du, X. Lu, M. Yu, B. Dong, and Y. Li. (2018). Experimental Investigation on Fuzzy PID Control of Dual Axis Turntable Servo System. Procedia Computer Science, 131 (2018): 531-540.

[6] R. Belohlavek, J. W. Dauben, and George J. Klir. Fuzzy Logic and Mathematics: A Historical Perspective. Oxford University Press. 2017.

[7] Y. Wen, and S. Thenozhi. Active structural control with stable fuzzy PID techniques. Springer International Publishing. 2016.

[8] A. Visioli. Practical PID control. Springer Science & Business Media, 2006.

[9] E. Torstensson, Comparison of schemes for windup protection. Master's Thesis ISRN LUTFD2/TFRT-5915-SE, Department of Automatic Control, Lund University, Sweden (2013 March)

[10] J. Harris. Fuzzy logic applications in engineering science. Microprocessor-based and Intelligent Systems Engineering. 29 (2006): 11-30.

[11] R. Precup, and R. David. Nature-Inspired Optimization Algorithms for Fuzzy Controlled Servo Systems. Butterworth-Heinemann. 2019.

[12] X. Li, J. Park, and H. Shin. Comparison and evaluation of anti-windup PI controllers. Journal of Power Electronics 11.1 (2011): 45-50.

[13] W. Chen, H. Xiao, Q. Wang, L. Zhao, and M. Zhu. Integrated Vehicle Dynamics and Control. Singapore: John Wiley & Sons Singapore Pte. 2016.

[14] A. Kies, A contribution to the analysis of fuel efficiency measures for heavy-duty vehicles, PhD, Department of Internal Combustion Engines and Thermodynamics, TU Graz, Austria 2018. – ISBN: 978-3-85125-

[15] K. El. Majdoub, F. Giri, H. Ouadi, and F.Z. Chaoui, (2014). Nonlinear cascade strategy for longitudinal control of electric vehicle. Journal of Dynamic Systems, Measurement, and Control, 136(1), 0110051-1100513.

[16] M. JD. Powell. A direct search optimization method that models the objective and constraint functions by linear interpolation. In Advances in optimization and numerical analysis (pp. 51-67). Springer, Dordrecht. 1994.

(48)

[19] W. Wang, X. Huang, and W. Huang. (2011). Design and simulation of heat substation controller based on neural network-fuzzy PID control. In 2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics, Hangzhou, China, vol. 2, pp. 3-6. IEEE, 2011.

[20] G. Singh, M. Nandakumar, and S. Ashok. (2016). Adaptive Fuzzy-PID and Neural network based object tracking using a 3-Axis platform. 2016 IEEE International Conference on Engineering and Technology (ICETECH), Anchorage, Alaska , 1012-1017.

[21] UMIT research lab. Vehicle testing, without the vehicle. UMIT Annual Report (2015) p. 12-13.

[22] J. Telborn. Virtual Truck and Bus. Oct 2017.

[23] C. Lacoursière, & T. Härdin, (2017, July). FMI Go! A simulation runtime environment with a client server architecture over multiple protocols. In Proceedings of the 12th International Modelica Conference, Prague, Czech Republic, May 15-17, 2017 (No. 132, pp. 653-662). Linköping University Electronic Press.

[24] T. Blu, P. Thévenaz, and M. Unser. Linear interpolation revitalized."IEEE Transactions on Image Processing 13.5 (2004): 710-719.

[25] A. Urquhart, Many-valued logic, Handbook of philosophical logic. Springer, Dordrecht, 1986.

[26] A. Abel, T. Blochwitz, A. Eichberger, P. Hamann, U. Rein, (2012, September). Functional mock-up interface in mechatronic gearshift simulation for commercial vehicles, In Proceedings of the 9th International MODELICA Conference, Munich, Germany, 2012 Nov 19 (No. 076, pp. 775-780). Linköping University Electronic Press.

(49)

APPENDIX A: SupplemEntary INFORMATION

Truck_Long_Haul.xlsx – Excel sheet

(50)

Truck_Urban_Delivery.xlsx – Excel sheet

(51)

Plots of truck long haul full cycle

Plots of truck urban delivery full cycle

(52)
(53)
(54)
(55)
(56)

Backward calculation Matlab function

function Tq_engmap = fcn(e_v, i_gbx, F_roll, F_grad, F_air,J_wheel, J_eng, r_dyn, m_veh, w_eng)

% from drvtn config file

i_axle = 2.35; % ydmc data eta_gbx = 0.96; eta_axle = 0.96; a_d = (e_v)/3.6; F_inertia = a_d*(m_veh+J_wheel/(r_dyn^2)); F_sum = F_inertia+F_roll+F_grad+F_air; Tq_wh = F_sum*r_dyn; if Tq_wh>0 Tq_gbx = Tq_wh/(eta_axle*i_axle*eta_gbx*i_gbx); else Tq_gbx = Tq_wh*eta_axle*eta_gbx/(i_axle*i_gbx); end Tq_engcs = Tq_gbx+PAUX/w_eng; dotw_eng = a_d/(r_dyn*i_axle*i_gbx); Tq_engmap = Tq_engcs+J_eng*dotw_eng; if e_v ==0 Tq_engmap = Tq_engcs; end end

(57)

References

Related documents

The returns of potential investments are interesting for every investor. In this thesis we compared two financial models that are often used to predict expected returns of portfolios

Total CO 2 emission for electric devices: At electricity part, according to information that user have entered, energy consumption for each device was calculated and saved on

Men om det nu skulle vara möjligt att döda utan att orsaka något lidande, skulle det kunna rättfärdigas moraliskt? Nej, det tycker jag inte att det kan. Respekten för allt liv

Anledningen till att filtrering och stabilisering avstås från är för att behålla mer doft- och smakaromer samt pigment för att vinet ska kunna vara mer orört (Suárez et al., 2007)

In a HIL test, a specific technique is used: real signals from a physical controller are connected to a virtual model of a machine that will simulate the reality.. It tricks

A top handle chainsaw Greenworks Tools GS 110 (by Globe Group) that is currently available on the market (using in-built battery) is examined and tested in the project along with

Submitted to Linköping Institute of Technology at Linköping University in partial fulfilment of the requirements for the degree of Licentiate of Engineering. Department of Computer

The model is a structured unified process, named S 3 P (Sustainable Software Security Process) and is designed to be easily adaptable to any software development process. S 3