Development of a Power and Communication Bus Using HIL and Computational Intelligence

This paper deals with the development of a power and communication bus named DLN (Device Lightweight Network) that can be seen as a new interface with auto-addressing functionality to transfer power and data by means of two wires in modern cars. The main research goal of this paper is to elaborate a new method based on a hardware in the loop technique aided by computational intelligence algorithms in order to search for the optimal structure of the communication modules, as well as optimal features of hardware parts and the values of software parameters. The desired properties of communication modules, which have a strong influence on the performance of the bus, cannot be found using a classical engineering approach due to the large number of possible combinations of configuration of the hardware and software parts of the whole system. Therefore, an HIL-based optimization method for bus prototyping is proposed, in which the optimization task is formulated as a multi-criteria optimization problem. Several criterion functions are proposed, corresponding to the automotive objectives and requirements. Different soft computing optimization algorithms, such as a single-objective/multi-objectives evolutionary algorithm and a particle swarm optimization algorithm, are applied to searching for the optimal solution. The verification study was carried out in order to show the merits and limitations of the proposed approach. Attention was also paid to the problem of the selection of the behavioural parameters of the heuristic algorithms. The overall results proved the high practical potential of the DLN, which was developed using the proposed optimization method.


Introduction
The first car design by Benz in 1885 [1] had an elementary harness, which merely involved high voltage cables to spark plugs. In 1915 [2], the Ford Motor Company implemented electric headlamps and horns, soon followed by turn signals, electric wipers, and other equipment. In the 1980s, Bosch proposed the first data interface, called the Controller Area Network (CAN) [3], for reducing the number of wire harnesses. Nowadays, cars are equipped more and more with electronic systems [4], Electronic Control Units (ECU) and interfaces. The typical low-speed CAN is limited to 125 kpbs, a classic CAN is limited to 1 Mbps, and CAN FD is limited to 3-5 Mbps depending on the environment. A Local Interconnect Network (LIN) is commonly used in communication with comfort devices or non-safety sensors, due to the lack of hardware redundancy and low speed (typically 20 kbps). FlexRay, which was developed to be faster and more reliable than other protocols, is used for safety critical applications and allows the transferring of data up to 10 Mbps [5]. Ethernet is used for high-speed-requiring devices, such as cameras in autonomous driving, and a typical baud rate is 100 Mbps or 1000 Mbps [6]. Autonomous driving raises communication techniques to a higher level, using the newest and the fastest technology of wireless techniques such as 5G for V2X communication [7][8][9]. Unfortunately, point-to-point wiring is still being used.

New Communication Protocol
The authors of this paper proposed a new interface, the Device Lightweight Network (DLN). DLN allows us to use only one pair of cables to transfer data and power. However, the goal is to implement an auto-addressing functionality. The first version of DLN was characterized by the following parameters: data link up to 2 Mbps, power link up to 48 V and 10 A. The data are transferred during small breaks in power delivery. To avoid electromagnetic interference (EMI), data are transferred on a low voltage (about 2 V) and power on a much higher voltage (9-48 V), as in the example in Figure 2 with a 24 V power supply. Power and data delivery time can be adjusted depending on whether a higher data rate or more power is expected. Figure 2 shows an example of transferring high power (1.2 ms for data, 12.8 ms for power in each period) due to the supply for high-power lamps, an electric heater and two electric motors ( Figure 1).
A proof of concept was built, where lamps and side mirrors are controlled. The side mirror was equipped with two electric motors and an electric heater. The network that was built operated perfectly while the devices were controlled at the same time, and the maximum current consumption was 6 A. The protocol was calibrated using engineering methods ( Figure 2). Auto-addressing, due to the multiple parameters to adjust, and the multi-criteria assessment, required using artificial intelligence algorithms connected with the hardwarein-the-loop technique. Most scientists use particle swarm optimization (PSO) or genetic algorithm (GA). The authors decided to use both algorithms with different parameters in order to compare the results of the optimization. To avoid unnecessary effort of simulations, the authors decided to find the optimal solutions using easier methods such as planning the experiment. For comparison purposes, the authors decided to find the best solution by applying an easier method based on a Latin hypercube sampling (LHS) approach to avoid unnecessary effort of simulations.

Motivation
Regarding multiple of the same devices on the line, for example, 25 lighting/sensor/ actuator modules which are in one element in the car, for example, door side/cockpit/ middle console, the possibility of auto-addressing can radically reduce cost, materials and time for production. Nowadays, a 4-line solution is commonly used in the case of auto-addressing, one pair of power supplies, and one pair of LIN_in, and LIN_out signals [16]. In this paper, the authors propose a solution for how to use only two wires, for power, transmitting data and auto-addressing. While auto-addressing is the ability to give a unique ID to each slave node on the line, ID defines the position on the line. Data transmission was designed and tuned using engineering methods with promising results, nevertheless tuning the auto-addressing features required to use artificial intelligence algorithms such as genetic algorithms [22] and particle swarm optimization, due to the number of possible combinations.
Due to the goal of finding a global optimum and a nonlinear function with discrete values, gradient methods cannot be used, mainly due to the stochastic nature of the objectives and because there are continuous and discrete decision variables in the vector p (more details can be seen in Section 3). The authors decided to use an experiment planning method, genetic algorithm and particle swarm optimization to compare results and check if given results can be treated as a global optimum.
The idea for solving the auto-addressing task was to inject by master a disruption which will be reflected and modified by the client, and at the end the master signal will be sampled. Such a solution is very difficult to test in a virtual environment. The authors decided to connect the whole system to hardware-in-the-loop instead of trying to build a mathematical model according to the Jaguar Land Rover approach, which connects the windscreen wiper for the hardware-in-the-loop setup [23] and other non-automotive researchers who optimized the buck converter [22], and validated PID using HIL [24].

Auto Addressing Method
There are several methods of auto-addressing. In the beginning, it auto-addressing has to be defined. Nowadays, almost every device has a unique number or address. In this paper, the authors focus on addressing defined as assigning the next unique number to the next device. Such a solution is used by Texas Instruments [16] and Melexis [15] for the LIN interface, as well as the RS485 interface [17].

The Method of Auto Addressing
Due to the target of using only one pair of cables, the use of some kind of reflectometer idea was needed, which is used in optics [25], echo location/ultrasounds [26] and also in detecting damages in electric cables [27] and will be used in the proposed approach. However, it has to be simplified to a maximum, and the system has to be able to change the characteristics of the nodes on the line, or measure the signal directly on the clients.

•
Measure on clients: this solution was the easiest. Using a simple pulse generator, the authors measured up to 400 mV deferments on each node. The voltage drop was lower at a greater distance from the master. This solution required a separate measurement circuit on each node which in the end will give the result but will be too expensive to implement. • Measure on master: using an oscilloscope, the authors cannot prove whether this solution will work or not. The voltage drop could be observed using an oscilloscope (less than 1 mV). It will be difficult to measure with a simple ADC circuit [28]. The circuit has to be as simple as possible to reduce the potential cost and allow the automotive market to reduce the number of harnesses.
The second approach is the chosen one. The authors used advanced techniques to find optimal parameters for this solution. Clients will connect coils and/or capacitors to create distortion on the line.

Auto-Addressing Configuration
The idea to use the auto-addressing feature was to generate a special signal by the master board, then generating disruption by client(s), and using parasitic parameters of the connection cable, recognizing how far from the master the client is. Information about the distance of each client from the master providing a unique address. This method has the disadvantage of minimal cable length between clients. After the first test, using an oscilloscope, the authors noted that 20 cm of cable is sufficient length to recognize changes in the signal shape. This is enough to meet the project requirement, and to develop an auto-addressing idea. The proposed interface uses only two wires to transmit power, data and allowing auto-addressing, which necessitates a wireless connection to have a second layer of communication between nodes and the MATLAB environment(MathWorks, Natick, Massachusetts, USA). The second layer will be used only for research, to avoid any disturbance from the signal between nodes. It is widely known that many solutions can be incorporated, with optical or radio connection options as are most commonly used. The optical connection can be characterized by the necessity of face-to-face transceivers' orientation. The idea was to use 15 nodes in the research stand. To ensure high stability, each node should have an individual transceiver, which generates problems to find or build management devices for all 15 transceivers. The second approach is to use radio, which eliminates most of the problems related to optical solutions. The authors had to decide which radio communication standard to choose. Due to their broad experience with IoT, the authors conducted research on IoT libraries in the MATLAB environment. An external MQTT library written in Java was adapted to the MATLAB environment. After stability tests, the decision was made to continue the idea of using the external library. The test setup was built with ESP32 and MQTT brokers on Raspberry Pi (Rpi, Raspberry Pi Foundation, Cambridge, England), where Raspberry was also configured as an Access Point (AP) for ESP32 clients. DLN interface works by continually changing the state of work from power delivery to data interface. For the auto-addressing procedure, the signal was divided into a 10 ms period of power delivery, and 12 ms of auto-addressing signals; an example is given in Figure 3a. Positions of clients are known. Calculated positions are compared with known positions; when they match, parameters like cost, standard deviation between nodes' addresses (more is better), standard deviation between measures (less is better) and minimal difference between addresses(more is better), are calculated. If not successful, all parameters are set to 1.
Every test contains 15 repeats (for each node- Figure 3a), every repeat contains 25 measure cycles (Figure 3b). Each cycle is based on sending an energy pulse to the line ( Figure 4). Most of the parameters were initially programmed to allow change in value during operation. All signals that can influence the possibility of auto-addressing were connected with algorithm solvers to optimize their value. Figure 4 shows how a generator for injecting disturbance was constructed. Variable X2(A22) defines time in µs to charge capacitor C0; a higher time denotes more energy. Variable p h 5 defines which pulse coil will be used to inject the signal. Time to discharge the capacitor C0 through the coil is constant (A23). Switches S1-S8 are close during the whole cycle ( Figure 3b, elements C0-C24).  Using a dedicated circuit with an RC filter, an active peak detector and an analogue to digital converter (ADC), the microcontroller can capture the numerical value of the response from the line. Based on Andreas Spiess tests [29], the authors anticipated that the internal ADC from the ESP32 microcontroller would not be precise enough to measure signals. The PCB was equipped with an external, precise ADC, but the analogue signal was also connected to integrated ADC from ESP32. During the final test, the authors recognized that internal ADC was precise enough, and was much cheaper. Therefore, the authors decided to use only the internal one. During the first tests, using an oscilloscope, the authors observed a response from a line. Depending on additional elements on the line, the response signal is characterized by different parameters, such as amplitude or length of the wave form. Due to the usage of active peak detector, it is essential when the analogue value will be taken. Variable p s 2 defined the delay between generating pulse and first ADC sample, Variable p s 3 defined the delay between four measures.
To generate disturbance on the line, a coil, or capacitor, was connected to the line. The schematic on Figure 5 shows the idea of connection. For switches, the authors chose transistors with high peak current and fast opening time. To provide many configuration options, components as shown in Table 1 were chosen. Later in the article, these components will be named LC terminators.
Four auto-addressing strategies have been developed. Algorithms chose a strategy using parameter p s 4 [see Table 2]. In the case of 15 nodes (1 master + 14 clients), measurements have to be repeated 15 times (R0-R14 in Figure 3a). Strategies define which clients have to connect the LC terminator parallel with the signal line. Table 3 shows the first strategy. In all variants, LC terminators are always used by the master board. Parameters p h 2 and p h 3 can be set to not use the LC terminator-it allows us to reduce the quantity of strategy from eight variants to four variants giving the same effect. Strategy 2 is similar to the first one, but all LC terminators are, as a default, disconnected from the line, and with every next repeat (R0-R14) the proper client connected his LC terminator.  Figure 3 p h 1 1-9 Selection capacitor on Master (see Table 1).
Selection coil on Master. See Table 1 p h 3 1-9 Selection capacitor on Client. See Table 1 p h 4 1-9 Selection coil on Client. See Table 1 p s 2 1-999 [µs] (Signal A31)-delay before first ADC measure. See      Strategy 3 consists of connecting the LC terminator of clients with lower positions than current repeats, see the example in Table 4. Strategy 4 is characterized by a similar mechanism to strategy 3, but at the beginning all LC terminators are connected with the line. With every iteration, the next client disconnected its LC terminator.
Parameters p h6 and p h7 contain information if master (p h6 ) and client (p h7 ) connect termination resistors 100 (Ω) to the line.

Test Description
The first research stand was constructed by using one master and four clients. This small application was used to set up many options, such as signal flow, measure strategy, software on clients and master, objective functions in MATLAB and so forth. After the first test, specifically where changing setup or software on clients was very fast, the authors decided to expand the research stand. Twenty prototype boards were ordered, in the case of an unpredicted problem only 15 boards were used to build the test setup. With five boards, everything works correctly using Rpi as the MQTT server and AP. With this setup, the authors adjusted all parameters to optimize communication between nodes, where 2 Mbps was achieved. All parameters of communication were adjusted using well-known laboratory equipment and engineering knowledge.
The next step was to build up a research stand for 15 boards and find parameters of auto-addressing, which finally was even more difficult than the authors expected. Unfortunately, the stability of AP on Rpi was unsatisfactory when all 15 nodes sent the report after the test (exactly at the same time). The report contains 1500 measured parameters. The behaviour was diagnosed by MQTT.fx-external tool. It necessitated the use of additional AP, where the Mikrotik RouterBoard was selected, then all frames could be received by the computer with the MQTT.fx and MATLAB environment installed in it. The last issue the authors had to tackle was the MQTT library written in Java for the MATLAB environment because it lacked speed to process all frames from MQTT. The standard solution is to increase Quality Of Service (QOS) in MQTT frames. The disadvantage of this solution is, however, the extended time of sending each measurement. Therefore, in the case of planned 500 k-1 mln tests, another solution was selected. A two-thread script was written in Python, and ran on Rpi. One thread handled receiving and decoding MQTT frames from the JSON format, the other one analysed data, and after the finished test, it collected all data into one frame which was then sent to Matlab. This configuration made the research stand and data flow concept more complicated, but significantly reduced the time of a single measurement, and guaranteed almost 100% data correctness. The only programmed delay ( Figure 6, p. 4) was to synchronize all nodes. The authors prepared a special program in the MATLAB environment, which received input data of 15 variables, where artificial algorithms (AA) try to find optimal values and many static values, such as strictly hardware dependent parameters, or the component cost of LC terminators. The communication between all components of the stand is shown in Figure 6. The MATLAB environment code is responsible for building up MQTT frames. All frames are sent to boards and Rpi. Client boards after receiving frames with an individual configuration ( Figure 6 frame 3) are set to wait for a trigger from the master. To avoid any problems with synchronization, the software waits 200 ms ( Figure 6 p. 4) before the data publish the start of the test frame ( Figure 6 frame 5). After the test, the boards publish the measured data, which are collected by Rpi to one frame (Figure 6 frame 9), which is published by Rpi, and subscribed by the MATLAB environment ( Figure 6 frame 10).

Research Stand
The main goal of the test stand is to test and optimize communication between nodes, and optimize auto-addressing parameters. This chapter will be dedicated to the second use case: optimize auto-addressing parameters. Figure 7 shows the relations and signals flow between blocks in the whole Hardware-In-The-Loop system, while Figures 6 and 8 show the test bench and nodes of the communication. One master and 14 client nodes can be found in the bottom-right corner. Each node is connected through a single twisted pair of cables, and WLAN allows reliable communication during tests.

HIL-Based Optimization Method for Bus Prototyping
The effectiveness of the power supply and communication bus strongly depends on its Hardware-In-The-Loop structure S as well as on the hardware components and software parameters of the proposed solution. These factors have a great influence on addressables, and therefore they must be adjusted correctly.
The main purpose of the optimization process is to search for the optimal structure of the bus and the optimal values of hardware parameters p h and software parameters p s , to obtain the highest performance of the whole system. This issue is viewed as a multi-objective optimization problem and hence it can be stated as the following equation: where S, p h and p s represent decision variables, c i is the i-th criterion function that is being used to express the desirable features and performance of the research version of the bus (it should be stressed that criterion functions represent objectives which are not conflicted), Ω is related to constraints and boundaries, which should be chosen to consider different variants of hardware and software parameters. To reduce the complexity of the problem, it is noted that in some cases the structure S can be determined using a part of the decision variables corresponding to the values of hardware features included in p h . The hardware and software features of the bus for the given number of the modules n can be written using the general formula as follows: where p h M and p h C denote the hardware parameters of a master and clients, whereas p s M and p s C describe their software parameters.
In this paper, it is assumed that p h M is composed of four values of parameters as follows: and p h C is composed of where p h 2 is the number corresponding to the selected capacitor on master (see Table 1), p h 2 is the number corresponding to the selected inductor on master (see Table 1), p h 6 is used to decide whether a termination resistor on master is necessary or not, p h 5 is applied to describe the inductor in the pulse generator (see Figure 4), p h 3 is used to select a capacitor on client (see Table 1) and ( Figure 5), p h 4 is used to select an inductor on client (see Table 1 and Figure 5), p h 7 is used to decide whether a termination resistor on client is needed or not. Except for hardware parameters, software decision variables can be divided to autoaddressing configurations such as p s 2 and p s 3 , where the delay before the first ADC sample and the gap between samples can be chosen, p s 1 is the time to charge pulse generator (A22 in Figure 3d), and p s 4 is a discrete variable defined strategy of auto-addressing, especially managing the use of coils and capacitors on master and clients (Tables 3 and 4). The second group of software decision variables are data processing methods, like p s 5 where mathematical operations of the input data are chosen, p s 6 , where the source of data for analysis is chosen, and p s 7 , where the target manner for addressing is chosen. Prior research has thoroughly investigated how the following addresses will look; two obvious trends ware noticed-following addresses will rise or fall-as well as another two not so obvious trends-in the rising trend the lower value is the last one, and in the falling trend, the higher avlue is the last one. An example is shown in Figure 9. Generally, multi-objective functions very often have an infinite number of local as well as global extrema and therefore one should investigate a set of points, each of which satisfies the objectives. Because of this, the predominant Pareto optimality concept is adopted. The Pareto-optimal solution is often considered the same as a non-dominated solution; it exists if there is no solution that improves at least one objective function without worsening the others. In this research, it is sufficient to apply the following fundamental measures as objectives: • c 1 , which is based on addressable factor: where elements of the vector a are computed using the proposed rule in the form as follows: a n (a) =    a n = max(a) + 1 if a n = min(a) and p s 7 = 3 a n = min(a) − 1 if a n = max(a) and p s 7 = 4 no change in other, and n represents the number of nodes, p s 7 defines the addresses trend (see Table 2), and a i measures address value of the i-th node.
• c 2 is based on the minimal difference between addresses: where ∆ max describes the difference in addresses between neighbour nodes.
• c 3 is used to show the overall cost of the system: where ν is the function which calculates a cost of each element used in the current approach.
On the other hand, the global criterion method can be successfully applied to transform a multiple objective function into a single objective one. This way, an indirect utility function can be expressed in its simplest form as the weighted sum of objectives: where w is a row vector with weights indicating the relative significance of the objective functions; in this study, w 1 and w 2 indicate the weights for the second and third criteria, respectively. The optimal solution is found if the criterion function C has a relative minimum value at p*, that means if: It has been decided to apply intelligent computing and hardware in the loop techniques due to several difficulties in bus prototyping discussed in Section 2. The proposed scheme of the optimization method is present in Figure 8. The HIL part of the system is composed of n modules (one master unit and n − 1 clients), where all modules are connected with one twisted pair of cables and a wireless network to remove the influ-ence of auto-addressing signals. The optimization process is managed by the software created employing MATLAB and Raspberry Pi platforms.The authors decided to use the Global Optimization Toolbox for the implementation of evolutionary and particle swarm algorithms. More details are given and described in Section 5.2.
Different optimization algorithms can be utilized for solving the problem, which has been declared in the form of (2) or (10). Hard computing optimization methods, for example, gradient-based approaches, cannot be adopted in this paper, mainly due to the stochastic nature of the objectives and because there are continuous and discrete decision variables in the vector p. On the other hand, pure stochastic optimization methods, for example, Monte Carlo techniques, will not be able to find an accurate solution, in this case guaranteeing polynomial-time convergence. Instead, soft computing optimization methods may be used to find the global minimum of the function. In this study, heuristic algorithms are applied such as SOAE, MOAE (Single or Multi-Objective Evolutionary Algorithm) and PSO (Particle Swarm Optimization).

Single or Multi-Objective Evolutionary Algorithm
Evolutionary algorithms are based on the natural selection process that mimics biological evolution. In order to apply such an optimization technique for finding a solution of the problem it is necessary to define the following properties of the algorithm [30]: the representation of the individuals, the fitness function, selection and succession methods, crossover and mutation operators. It is assumed that the number of individuals in the population is fixed at each epoch of the evolutionary process and that individuals are composed of genes representing real numeric and integer values of adjustable hardware and software parameters of the bus. The length of the chromosome is dependent on the number of these parameters and equals the length of the vector p: The initial population is generated using the normal distribution. The fitness value of an individual is computed using the objective function (2) or (10). The best fitness value for a population is the smallest fitness value for every individual in the population. Stochastic uniform is applied to choose parents for the next generation, whereas succession operations are realized by defining the reproduction rules characterized by two parameters: elite count (δ s ) and crossover fraction (p c ). The first parameter is the number of individuals with the best fitness values in the current generation that are guaranteed to survive to the next generation. The second one is the fraction of individuals in the next generation, other than elite children, that are created by crossover. It is decided to use a simple heuristic crossover operator. On the basis of two individuals, p 1 and p 2 , in the case of C(p 1 ) < C(p 2 ), then the new one p 3 is created according to the formula mentioned below where λ h is a fraction pointing at the better adapted individual. A mutation operator is responsible for generating heterogeneous individuals. This operator is based on an adaptive feasible method, and it randomly generates directions with respect to the last successful or unsuccessful generation. The mutation operator finds a direction and step length satisfying bounds and linear constraints. The algorithm is also described by two important parameters such as the population size and the number of generations. The values of these parameters are arbitrarily selected during optimization experiments. In this study, it is decided that the total number of evaluation of the fitness function is constant, and it is equal to Ψ. Hence, the number of individuals in a population is calculated using the following formula:

Particle Swarm Optimization
The particle swarm optimization is a population-based stochastic optimization technique [31,32], which is inspired by simulation of the social behaviour reflected in flocks of birds, bees and fish that adapt their movements in order to seek the best food sources as well as to avoid predators [31,33]. This type of optimization approach is also viewed as a parallel evolutionary computation technique.
Numerically, the basic PSO algorithm can be formulated in vector notation, as is proposed in [34]. The velocity v k is updated using its current value and a term which attracts the particle towards its own previous best position p * 1 and globally the best position p * 2 in the whole swarm: while the particle position p k is dynamically actualized using its current value and the newly computed velocity v k+1 : where the symbol ⊗ denotes element-by-element vector multiplication, a is the momentum factor, also known as the inertia weight, coefficients b 1 and b 2 are used to describe the strength of attraction (cognitive and social attraction coefficients, respectively), c and d are black-box tuning parameters, vectors of random numbers r 1 and r 2 that are useful for good state space exploration (they are usually obtained using the generator of pseudo-random numbers with uniform distribution in the range of 0 to 1). In this algorithm, the cost function in the form of (10) was used. The PSO algorithm characterizes three main parameters-population size, self-adjustment weight and minimal neighbours' fraction. To have a reliable comparison between algorithms, the same total number of cost function evaluations is necessary (Ψ), hence the max iteration is calculated using the simple equation: The self-adjustment weight parameter can be in the range from 0.5 to 3.5 with step 1.0, where a default value is 1.49. Considering a stability analysis provided by Brest et al. [35], Clerc and Kennedy [36] or Katunin and Przystałka [37], it is decided to relate the selfadjustment weight (b 1 ) and social adjustment weight (b 2 ) as follows: This technique was chosen to test the parameters of the algorithm with different configurations; some researchers use PSO with fixed parameters where self-adjustment weight (b 1 ) and social adjustment weight (b 2 ) are set to 2 [33,38]. The adopted methodology used close values at b 1 = 2.5 and at b 1 = 2.5, where b 2 is calculated to 1.55 and 2.55. Interpolating results from Section 6, the authors conclude that the decision was the right one. The interpolated quality parameters of PSO also suggest that the default value of b 1 is closer to optimal than 2.

Verification and Validation
Verification was divided into a few sections, where initially the authors compared results from GA with different parameters. There will be quantitative and qualitative comparisons. The same approach will be used for PSO. All results will also be compared with LSH.

LHS Results
Finding solutions using artificial algorithms always provides the risk of not finding the best-fit result, especially in a noisy environment. The authors decided to start with the LHS algorithm to have sample coverage. The results, shown in Figure 10 will also be beneficial for comparison with other algorithms, to prove AI algorithms can always be better. The authors generated Ψ = 10, 000 unique elements using LHS and checked the results. Seven input samples allowed HIL to correct addressing. The LHS algorithm worked with a success factor 0.07%.
To have reliable addressing, c 2 should be at a minimum level of 0.5. LSH gives us only three such results, which is 0.03% of the selected data. LHS does not deliver any information about which optimization variable we can reduce, as we can find many parameters in each decision variable in all seven results.

Results of GA
The results of Multi objective Optimization using Genetic Algorithm were divided into two parts; one is quantitative, where the authors checked how many results ware found from each algorithm configuration, and the second is a qualitative comparison, where the authors checked how close to optimal all the algorithms were.

Quantitative Results of GA
The authors carried out 48 optimizations with different parameters ( Table 2). The best one finds 50 results in 100 individuals (crossover fraction 0.4 and crossover heuristic parameter 1.2), which is remarkable in correlation with LSH. The worst one could not find even one result-all cases with 200 generations, where the population is characterized by only 50 individuals. Figure 11 and Table 5 present a number of correct solutions, depending on algorithm parameters. Table 5. Sum of correct results using specific GA parameters. Colour code: Green → the best; light green → better than 70% of best; orange → better than 40% of best; red → worst than 40% of best. As can be seen in Table 5, the highest number of results can be found using the largest populations (in this test 200 individuals), the crossover fraction set to 0.4 and crossover heuristic parameter set to 1.2. During testing different parameters, test with the above parameters found the largest amount of correct results.

Qualitative Results of GA
Due to multi objective optimization used in GA, quality features were compared on the Pareto front. For the first, the check width was most of the results, all points were printed on a diagram with the cost (c 3 ) of the solution on the X-axis and minimal difference between address (c 2 ) on the Y-axis (Figures 12-14). Decision variable c 2 was calculated from Equation (8). The colour code informs about the type of optimization (see Table 6). It is worth noticing that GA parameters, which generate a higher number of results, did not generate the best results.

Best Solution from GA Multi
Comparing the best results from quantitative and qualitative perspectives, it can be expected that the best results are from the simulation with a population (pop) of 200 individuals, the crossover fraction (Cfra) set to 0.4 and the crossover heuristic parameter (Cheu) set to 1.1, which is not a case. The algorithm with the highest number of results did not deliver optimal solutions. It is clearly visible that LHS usually gives us the worst results; there was only one case where GA delivered worse results than LHS. As for the results, almost all variants of GA configuration delivered a different spectrum of solutions, which is a different local minimum. Only two configurations (pop:200, Cfra:0.6, Cheu:1.1 and pop:200, Cfra:0.9, Cheu:1.2) deliver solutions from a few local minima. However, all algorithms found all optimal results with the same two decision variables; the strategies of using coils and capacitors (P s4 ) and the addresses' trend (P s7 ) always have the same value.

Summary GA Multi
The results show how important it is to set correct optimization parameters. There was no significant influence of crossover fraction (CFR) and crossover heuristic parameter (CHP), but the size of the population has a considerable influence on the results, both quantitative and qualitative. Table 5 shows us that a crossover fraction set to 0.4 and a crossover heuristic parameter set to 1.2 are the best parameters for the current approach. It is essential to indicate that for all results, four from 14 decision variables have an almost fixed value (all are discrete one) and the others are very alike.

Results of PSO
The authors checked 36 unique configurations of the PSO algorithm with the following configuration: swarm population: 50, 100, 200 individuals; self adjustment weight(b 1 ): 0.5, 1.5, 2.5, 3.5 ; social adjustment weight: calculated with Equation (18); min. neighbours' fraction: 0.12, 0.25, 0.5. Each configuration has 10,000 objective function calls. Details in Table 7. Due to the single objective optimization of Particle Swarm Optimization, the authors cannot mark the best results as being ahed of optimal solutions. PSO was reduced to criteria, according to the pattern Equation (10), where λ is the inverse of the number of addresses where each one is a (physical) higher (or lower-depending on algorithm) address. There are 14 clients online, meaning 13 areas nodes. If fewer addresses will be correct, variable c 1 will be characterized by a higher value. "C" is the cost of the current solution, c 2 is the minimal difference between addresses. Figure 18 represents alternative solutions of PSO algorithms. Shape and colour codes were shown in Table 8. As one can see, higher population size means better results, but even in the smallest population there was one result with c 2 close to 0.2 (according to Equation (8) c 2 has the higher weight). Decision parameter c 2 should have a minimum value of 0.5, which was achieved only two times at a particle size of 50, four times at a particle size of 100 and nine times at a particle size of 200, which led the authors to the conclusion that the number of correct solutions is growing proportionally to population size. Based on Table 8, if the minimum neighbours fraction is set to 3.5, the chances of finding a multiple solution are poor; based on this, the maximum correct solution in the current approach will be nine, which translates into the conclusion that a population at a particle size of 200 is optimal for the correct solution.

Quantitative Results of PSO
For analysing the quantitative results of PSO, Figure 18 was created. The size of the bubble represents the quantity of correct results.We can see that setting the optimal value is more important in PSO than in GA. As with GA, a bigger population is better. The authors obtained 51 correct solutions during those tests in which population size = 200. In future research, the best population should be tested. Parameters such as minimal neighbour fraction and self adjustment weight have been well estimated due to the biggest results in the middle of the parameters' spectrum. The full comparison of parameters' influence on the number of results is visible in Table 8.  Table 8. Sum of correct results using specific PSO parameters. Colour code: green → the best; light green → better than 70% of best; orange → better than 40% of best; red → worst than 40% of best.

Summary of PSO
It is clearly visible that LHS usually gives us the worst results, but in the case of using bad algorithm configurations, LHS can deliver better results. As for the results, on the upper diagrams, the authors mark 19 results-the best from each algorithm configuration. In Figures 16 and 17, "x" can be found in the bottom-left corner and two solutions are visible; they are the best results from all tests that the authors conducted. Comparing these two points and all other points (not shown in the figures) from these two configurations, the authors noted that only one decision variable was not the same in all cases.

Summary
To summarize, the best results ware achieved by PSO (Size: 200, MNF: 0.5 SAW:0.25), confirmed by Equation (10). The best GA solution was 59%, and the best LHS solution was 245%, which was more expensive compared to PSO, the comparison is shown on Figure 19. However, the best GA solution was characterized by a three times better MDA than PSO (in this particular case the costs are 3.23 times higher than in the best result), and the best LHS is characterized as two times worse c 2 compared to PSO.

Conclusions
The goal of this research was to develop and test a power and communication bus, with a focus on developing and finding the best parameters for auto-addressing. All goals were achieved. The bus was developed with better parameters than were expected; it is up to four times faster (up to 2 Mbps, where 512 kbps was the target) and can transfer up to 480 W (48 V and 10 A). DLN is cutting-edge technology, which can significantly reduce the number of cables in cars, which at the end reduce CO 2 footprint, the weight of a car and also reduce costs by reducing production time and used materials. The authors are confident that the proposed solution can be used in all non-safety applications in a car. The cost of the example of usage is much lower than the current solution.
The authors, using the HIL setup, artificial intelligence computing in a particular genetic algorithm, swarm optimization and planning an experimental method, checked multiple parameters of DLN and chose the best one to ensure the proper operation of the auto-addressing function. The best results were achieved by using artificial intelligence algorithms, in both cases of the solution and the difference between module addresses. Out of the two used algorithms, both have better results in the highest number of individuals in a population. Particle swarm optimization delivered the best results in the tested approach. However, in future, the use of PSO algorithms with more variants of minimal neighbour fraction parameters have to be tested, especially 0.2 and 0.3.
The proposed bus DLN can be implemented in new cars after real life tests and admission tests. DLN can be commonly used in QM solutions and not in safety systems due to the lack of redundancy. The proposed Hardware-In-The-Loop system connected to artificial intelligence proved to be a perfect method for adjusting physical hardware. This approach can be used in the future for solving similar problems. Data Availability Statement: Data available in a publicly accessible repository that does not issue DOIs. Publicly available data sets were analyzed in this study. Data can be shared on request.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript: