© 2026 The authors. This article is published by IIETA and is licensed under the CC BY 4.0 license (http://creativecommons.org/licenses/by/4.0/).
OPEN ACCESS
The modern automatic car wash machines perform the washing and drying processes automatically without human intervention. They consume the same amount of water and electrical power for limited sizes of cars, which is a significant problem that cannot be avoided. In this work, this problem has been solved using Artificial Intelligence (AI) to determine the length, height, and width (dimensions) of the car, so the machine will: (1) activate the specified number of width and height spray nozzles according to the dimensions of the car, (2) move the spray nozzles arm at corresponding distance also according to the pre-defined car dimensions, so the amount of the water and power will be proportional to the size of the car, i.e. for large size car the machine will consume water and power more than that of small size car, which the main contribution of the proposed work. This work has addressed the design and implementation of an intelligent control unit using a Backpropagation Neural Network (BPNN) to perform the proposed job. The main reasons for choosing this network are: (1) high accuracy of results (due to including an optimization method to present the output results), (2) high processing speed, (3) the BPNN also has high reliability in the execution of the job. Two networks were designed for the proposed control unit. The first has been used for presenting suitable binary codes to determine the number of activated spray nozzles according to the incoming signals from sensors of the dimensions, while the second has been used for presenting appropriate decision signals to the motors, spray nozzles, and blowers according to the incoming signals from external push switches and internal sensors. The two networks had been realized using MATLAB software package, then they were downloaded into Field Programmable Gate Array (FPGA). Both networks offered accurate results. Their Mean Square Error (MSE) values reached 2.99 × 10-17 and 4.73 × 10-29, respectively.
Backpropagation Neural Network, car washing machine, controller, Field Programmable Gate Array, spray nozzles
Modern car wash machines include a microcontroller or an embedded system as a controller (control unit) for their work. The reasons for using these tools are: low cost, small size [1, 2]. These machines perform two important tasks automatically without human intervention. They are washing and drying the car. The control unit is responsible for presenting the appropriate signals for the: (1) water spray nozzles, (2) liquid soap nozzles, (3) motors that move the nozzles' arms, (4) drying motor (blower) [3-5]. These output signals are produced according to the states of specific sensors. The control unit is also responsible for moving the nozzles arms along the surroundings of the car. The car wash machine includes three main motors: (1) the first is responsible for moving the nozzles arm along the car, (2) the second is used for rotating the nozzles arm 1800 about the front and rear of the car, (3) the third, is a group of drying motors [6-8]. Figure 1 illustrates a commonly used model of a car wash machine. This model depends on a spray system. As shown, this model involves an arm (A) that moves along the car, going and coming. This arm is tied to another one called arm (B). A group of spray nozzles were mounted on this moving arm (B). Arm (B) can rotate right hand 1800 around the front and rear of the car [8-10]. The main motor can move both arms (A) and (B), while another motor will move only arm (B). Also, this model includes two main drying motors (blowers) [5-7]. They are located at the beginning sides of the machine. The liquid soap spray is mounted on the upper side and connected directly to the arm (A). The operation begins when the car is mounted at the specific location inside the machine. The arm (A) starts at the location at the front of the car, the soap sprayer will spray the liquid soap along the length and width of the car, and arm (A) will move the soap sprayer going and coming along the car, then arm (A) at last stays at the front, the next step starts when the water nozzles will spray the wash water, arm (A) will move along the car from front to rear, and arm (B) will rotate right hand 1800 to the right side of the car, then arm (A) will move back from rear to front the car, when it reaches the front side, arm (B) will rotate again right hand 1800 to the left side of the front of the car, which is considered the location of the operation beginning. Finally, when the washing operation is finished, the car will leave the machine, the drying motors will pump the air on the sides of the car, so the entire process finishes [8-10]. The main problem with these traditional automatic machines is that they are designed to wash cars of specific (limited) sizes, they consume same amount of water and electrical energy for all specific car sizes, and these machines cannot wash large and small size cars at same time [11, 12].
Figure 1. Commonly used model of car wash machine [8]
In this work, this problem has been solved by determining the water and power consumption for each car size, i.e. for each car size there is a specific amount of water and power consumption. The determination of the amount of water and power consumption depends on estimating the dimensions of the car, which is performed using photocells and photo sensors located around the car, i.e. these cells and sensors are placed along the height, width, and length of the car. The car size estimation occurred at the start of the car wash operation. The Backpropagation Neural Network (BPNN) has been used as an intelligent system for the proposed smart controller for the following reasons: (1) Reliable network, because it is a feed-forward and involves an optimization method (algorithm) for presenting the output results [13, 14], (2) its fast training (learning) and processing, (3) although if an error occurs in the input data, it can present the proper result [15, 16].
Two BPNN networks were proposed in this work. The first network determines the dimensions of the car according to the reading of the sensors that surround the car, i.e. it determines the height, length, width of the car. According to this reading, the network: (1) will activate a specific number of spray nozzles proportional to the size of the car, (2) the distance that will be moved by the arm (A). The output of the first BPNN network is directly driven to the input of the second BPNN.
The second BPNN is responsible for controlling the wash and drying processes. This network specifies the number of the active spray nozzles of the width and height of the car, and at the same time it specifies the moving distance of the arm (A). The second BPNN also controls the operation of the overall wash operation. It controls the activity of liquid soap spraying, water wash spray, and drying process.
The two proposed BPNN networks had been converted to Very high speed integrated circuit Hardware Description Language (VHDL) program, then this program was downloaded into Field Programmable Gate Array (FPGA).
The use of FPGA for implementing the proposed networks is due to these features: (1) high speed processing resulting from its parallel processing, whereas it can complete a big process in two or three machine cycles [17], (2) low cost, (3) small size, (4) easy implementation and upgrading [18-20].
Figure 2 shows the block diagram of the proposed system. As shown, the two BPNN networks 1 and 2 are downloaded (implemented) into FPGA, so the FPGA will involve 14-input lines of network 1 plus 7-input lines (A0-A6) of network 2. The 14-input lines of network 1 are fed from the length, width, and height sensors reading, while the 7-output of net 1 determine the activated spray nozzles and the moving distance of arm (A) along the length of the car. The output 6-lines (B0-B5) of net 2 present the required signals for: the two motors of arms (A) and (B), and the nozzles of width and height.
Figure 2. Block diagram of the proposed smart controller for car wash machine
Various recent researches have touched upon the proposed research topic, where they used microcontrollers to control a car wash machine. However, these researches and others like them, have not addressed the use of artificial neural networks to control such a machine. For example, the following researches:
Azman and Mohammad Noor [21] have proposed the use of Programmable Logic Control (PLC) as a controller for a prototype of an automatic car wash machine. They realized a software technique to make the car wash machine operate automatically without human intervention in the washing operation, which leads to consuming a limited amount of water. The automatic operation of car washing has been achieved by adding appropriate instructions to the main software, and using several sensors. As seen, this work did not use the neural network as a controller, also did not use FPGA, and this work is suitable for limited sizes of cars (i.e. did not use for various sizes of cars).
Aaradhana et al. [22] discussed a smart and automatic controller for a car washing machine based on implementation in FPGA (Xilinx Vivado type) using ISE design suit software package. The software for this work has been written in VHDL language, which can be easily downloaded in FPGA. They have proposed four modes of working: VIP (this mode refers to heavy-duty cycle), VIP with wax, standard, standard with wax. The VIP mode washing takes more time than standard mode, but it offers better cleanliness. The advantages of this work are: limited water consumption, low cost, rapid cleaning. This work is also used with the limited size of cars and is not used with multiple sizes.
Bijawe et al. [23] proposed a design and realization of an automatic controller for a car wash machine using PLC unit and Simatic HMI (Human-Machine Interfaces). They used sensors, actuators, and a suitable software for the PLC. The Simatic HMI presents an intuitive interface for the machine worker to control and monitor the washing process. This work is effective and saves time and water, but is also not used for various sizes of cars, and is used only for a limited size of car.
Kim and Bak [24] proposed a modeling method of a forward in addition to a BPNN, which has been trained on the non-linear relationship between input and output parameters of PCS (Power Conversion System), as known this system is used for controlling and converting the transmission of the electrical power. The proposed network of this work can predict the system variables accurately without using any types of sensors or mathematical models, where the proposed BPNN network can recognize the input and output variables of the PCS. The proposed network can present the output variable according to the input variable. The no. neurons of the: input layer is 5, the first hidden layer is 9, the second hidden layer is 9, and the output layer is 1. The number of epochs is 100, the learning rate is 0.001, and the Mean Square Error (MSE) has reached to 5 × 10-6, which is an acceptable value. This work realized the BPNN network using C language, which has been implemented in DSP (Digital Signal Processor) type TMS320F28335.
Sahi and Galibet [25] proposed a study of the design of a BPNN used for cryptocurrency price prediction. The proposed network of this design is composed of seven neurons in the input layer, five neurons in the hidden layer, and a single neuron in the output layer. The learning rate that was chosen is 0.2. The dataset of this design had depended on historical Bitcoin data. After testing the proposed network, the MSE value has reached 4.045 × 10-6, which corresponds to an accuracy value of 99.96%, which is an acceptable value. The simulation of this work was not implemented on any processing device, it is just software is controlled by a microcomputer.
Saeed et al. [26] have proposed a design and implementation of an intelligent controller for a clothes washing machine. The Back propagation neural network was used as an intelligent system for this controller. The proposed network involves: input, single hidden, and output layers. The proposed BPNN network recognizes the relation between the input and output dataset. The input data represent the signals incoming from input keys and the internal sensors, while the output data represent the decision data for the internal motors and solenoids. The input layer contains 10 neurons, the hidden layer consists of 10 neurons, and the output layer contains 5 neurons. The linear activation functions satins, Satin were used for the hidden and output layers. The training (training by Gradient Descent with adaptive learning rate) has been used as a learning function for the proposed BPNN network. The MSE value of this work has zero value, which supports the working reliability of the network. The simulation network of this work was downloaded into FPGA.
Oliveros et al. [27] suggested a BPNN network to control LFR (Line-Following Robot), this robot is a low-cost system is used for automated transport to follow a platform of colored line. This system can be used in accurate agricultural applications or material transport in industrial facilities. The input layer contains two neurons, the hidden layer also involves two neurons, and the output layer also contains two neurons. The hidden layer has used the RELU (Rectified Linear Unit) activation function, while the output layer has used SIGMOID (is a non-linear function has an S-shaped) activation function. The maximum number of epochs has been chosen is 4000 epochs. The learning rate of this network is in the range (0.01-0.91). The best obtained MSE for this work is nearly 0.0005. This proposed simulation is not downloaded into any processing device, it is just a software that can be managed by a microcomputer.
Backpropagation is a feedforward network; it contains: input, single hidden, and output layers. In this network, the input data propagates in the forward direction from the input layer towards to the output layers. Then an error signal will be generated, which propagates in backward direction from output to input layers [28, 29]. The error function must be minimized to present an optimal result. Both the hidden and output layers have activation functions for presenting their results. The error signal is used for updating the weights of the input and hidden layers [30-32]. For each step of training, the weights of the connections of the input and output layers are updated. Among all the neural networks types the BPNN is preferred because it includes an optimization algorithm for presenting the excellent results. The BPNN is fast in processing and training due to the parallel propagation of the input signals within the network [33, 34]. This network involves unique input layer, one or more hidden layers, and unique output layer. Generally, BPNN is used in recognition and control applications. The schematic diagram of the BPNN is illustrated in Figure 3.
Figure 3. Schematic diagram of the Backpropagation Neural Network (BPNN) network [32]
The error that is generated at the output layer is calculated as follows [33]:
$e=d-o$ (1)
where, e: error value; d: desired value; o: output value.
The error function that is generated to update the weights connections of the output layer is formulated as follows [33, 34]:
${{\delta }_{o}}=\left[ \left( d-o \right).{f}'\left( ne{{t}_{k}} \right) \right]$ (2)
where, ${{\delta }_{o}}$: error function of the output layer; ${f}'\left( ne{{t}_{k}} \right)$: differentiation of the output function of output layer; k: number of output layer neurons.
The error function of the hidden layer is calculated as follows [33, 34]:
${{\delta }_{y}}={{w}_{j}}.~{{\delta }_{o}}.~{f}'\left( ne{{t}_{j}} \right)$ (3)
where, ${{w}_{j}}$: initial weight vector of input connection of the output layer; ${f}'\left( ne{{t}_{j}} \right)$: differentiation of output function of the hidden layer; The MSE can be calculated by the following equation [33, 34]:
$MSE=~\mathop{\sum }_{k}{{(d-o)}^{2}}$ (4)
In this work, a smart controller was realized for a prototype of an automatic car washing machine. The proposed control unit governs the wash water consumption according to the dimensions of the car (height, width, length). For this work, there are limited ranges of car dimensions that can be washed by the proposed wash machines. They are: height range is (1.6-2) meters, width range is (1.6-2) meters, and length range is (2.6-4) meters. Out of these ranges, the proposed smart controller cannot be used.
Using the MATLAB software package, two BPNN networks were designed for the proposed control unit. As previously mentioned, the first network has been used for determining the number of activated spray nozzles that match the determined dimensions of the car, and the required distance for moving of arm (A), while the second network is designed for presenting the decision signals for the motors of the wash machine. The two BPNN networks were realized according to the following considerations:
1. Both networks involve: input, single hidden, and output layers.
2. The training function that has been chosen for both networks is the trainlm (training with Levenberg-Marquardt algorithm) function.
3. For both networks, the activation functions satlins (Bipolar Saturated Linear function) and satlin (Unipolar Saturated Linear function) were chosen for the hidden and output layers.
4. Initial values of the connection weights were set to zero.
5. For both networks, the initial learning rate was set to 0.05.
6. The incrementing value for the learning rate is 1.05.
7. For both networks, the maximum no. epochs was set to 200.
8. For the first network (net1), the input layer involves 14 neurons, and the output layer contains 7 neurons, which were specified according to the proposed datasets of Table 1.
9. For the second network (net2), the input layer involves 7 neurons, and the output layer contains 6 neurons, which were specified according to the proposed datasets of Table 2.
10. For network 1, the hidden layer involves 10 neurons, while for network 2 the hidden layer involves 5 neurons.
Table 1. The datasets of the first network net1
|
Input Lines |
Output Lines |
|
L0-L7 W0-W2 H0-H2 |
X0-X2 Y0 Y1 Z0 Z1 |
|
0 0 0 0 0 0 0 1 0 0 1 0 0 1 |
0 0 0 0 0 0 0 |
|
0 0 0 0 0 0 1 1 0 1 1 0 1 1 |
1 0 0 1 0 1 0 |
|
0 0 0 0 0 1 1 1 1 1 1 1 1 1 |
0 1 0 0 1 0 1 |
|
0 0 0 0 1 1 1 1 0 0 1 0 0 1 |
1 1 0 0 0 0 0 |
|
0 0 0 1 1 1 1 1 0 1 1 0 1 1 |
0 0 1 1 0 1 0 |
|
0 0 1 1 1 1 1 1 1 1 1 1 1 1 |
1 0 1 0 1 0 1 |
|
0 1 1 1 1 1 1 1 0 0 1 0 0 1 |
0 1 1 0 0 0 0 |
|
1 1 1 1 1 1 1 1 0 1 1 0 1 1 |
1 1 1 1 0 1 0 |
Table 2. The dataset of the second network net2
|
Input Lines |
Output Lines |
|
A0 A1 A2 A3 A4 A5 A6 |
B0 B1 B2 B3 B4 B5 |
|
0 0 0 0 0 0 0 |
0 0 0 0 0 0 |
|
1 0 0 0 0 0 0 |
0 1 0 0 0 0 |
|
1 1 0 0 0 0 0 |
0 1 0 1 0 0 |
|
1 0 1 0 0 0 0 |
1 0 0 1 0 0 |
|
1 0 1 1 0 0 0 |
0 0 1 1 0 0 |
|
1 1 0 1 0 0 0 |
1 0 0 1 0 0 |
|
1 1 0 0 1 0 0 |
0 1 0 0 1 0 |
|
1 0 1 0 1 0 0 |
1 0 0 0 1 0 |
|
1 0 1 1 1 0 0 |
0 0 1 0 1 0 |
|
1 1 0 0 1 0 0 |
1 0 0 0 0 0 |
|
1 1 0 1 1 1 0 |
0 1 0 0 0 1 |
|
1 0 1 0 1 1 0 |
1 0 0 0 0 1 |
|
1 0 1 1 1 1 0 |
0 0 1 0 0 1 |
|
1 1 0 0 1 1 0 |
1 0 0 0 0 1 |
|
1 1 0 1 1 1 1 |
0 0 0 0 0 0 |
The reasons for using the satlins and satlin activation functions are that these functions are saturated linear functions, but salins is bipolar while satlin is unipolar. Using these functions with binary will present accurate results. Also, using these functions will make the conversion of the MATLAB program to VHDL code program easier. At the same time, the size of the VHDL program will be smaller than if the non-linear functions were used.
The first network net1 has been trained using the datasets that are included in Table 1 (its data size is 98 bits), while the second network net2 has been trained using the datasets of Table 2 (its data size is 42 bits).
Table 1 represents the dataset for determining the length, width, and height of the car; the length detection range is (2.6–4) meters, the height detection range is (1.6-2) meters, and the width detection range is (1.6-2) meters.
As an example, the first input reading data of the dimension sensors is (00000001001001), then network 1 will present the output data (0000000). Here X0, X1, X2 are (000), which represents that the length of the car (which means the moving distance of the arm (A)) is 2.6 meters. Y0,Y1 is (00), which represents the number of spray nozzles, which corresponds to 1.6 meters in width. Z0, Z1 is (00) which represents the number of spray nozzles corresponding to 1.6 meters height, and so on the other seven input/output data. According to the first input/output data of Table 1, the number of spray nozzles of the width and height corresponds to 1.6 meter width and 1.6 meter height, and the moving distance of arm (A) is 2.6 meters.
Table 2 represents the input/output datasets of network 2. The input data represent the reading data of the manual input push switches and the sensors, while the output data represent the instructions signals for the: (1) motors of air blowers and arms (A), and (B), (2) the activated spray nozzles of width and height. The first input/output dataset (0000000), and (000000) which represent no operation. The second input data is (1000000), which represents the start of the wash operation. The network 2 will present the output data (010000), which means moving the arm (A) horizontally along the length of the car towards the rear. The third input data is (1100000), which represents keeping the arm (A) at the front of the car. The net 2 will present the output data (010100) that represents moving the arm (A) towards the rear of the car and starting to spray the liquid soap. In the fourth step, the input data is (1010000), it represents reaching the arm (A) at the rear of the car. In this state, net 2 will present the output data (100100). It represents moving arm (B) rotational 1800 to the right of the car and still spraying the liquid soap. The fifth step, the input data is (1011000). It represents the completion of the rotation of the arm (B) 1800 to the left of the car, with the continuation of liquid soap spraying. The net 2 will present the output data (001100), which represents moving the arm (A) horizontally to the front of the car along the length of the car with continued soap spraying. The sixth step, the input data is (1101000). It means that the arm (A) has reached the front of the car, the net 2 will present the data output (100100), which means moving the arm (B) rotational in the right direction with the continuation of soap spraying. The seventh step, the input data is (1100100), it means the stop the spraying of soap, the net 2 will present the output data (010010), which means the arm (A) in the front of the car, and the washing by the water will start by activating the wash nozzles of height and width, and so on. The performance of the next 8 steps occurs in the same manner, and then the wash machine will complete the wash and drying the car.
The MATLAB software package presents the structures of networks 1 and 2 with their initial results, which are shown in Figures 4 and 5. The flowchart of determining the number of activated hight, width nozzles and the moving distance of arm A is illustrated in Figure 6, and the flowchart of the complete washing process is shown in Figure 7. After completing the software for the proposed BPNN networks 1 and 2, these networks were converted to VHDL code programs, which were then implemented in FPGA (type: Xilinx SPARTAN 6 Evolution kit, XC6SLX45T) using ISE Design Suit software package. The clock frequency of this FPGA kit is 200 MHz, and the processing time for a single machine cycle is 5 nsec. By experimental testing of the proposed control unit, it was found that this FPGA kit completes its decision-making in 3 machine cycles, so it takes approximately 15 nsec to present its output.
Figure 4. The structure of the proposed Backpropagation Neural Network (BPNN) network 1
Figure 5. The structure of the proposed Backpropagation Neural Network (BPNN) network 2
Figure 6. Flowchart of determination of activated nozzles and moving distance of arm A
Figure 7. Flowchart of complete washing process
Figure 8 illustrates the implementation of the proposed BPNN networks in FPGA that is connected by an extension board with the experimental board, the last one involves: (1) 14 red light-emitting diodes (LEDs) that represent the input lines (L0-L7,W0-W2,H0-H2) of BPNN network 1, (2) 7-Red LEDs represent the output the network 1 (X0 X1 X2 Y0 Y1 Z0 Z1), (3) 7-Green LEDs represent of the input of the network 2 (A0-A6), (4) 6-yellow LEDs represent the output lines of network 2 (B0-B5).
Figure 8. Implementation of the proposed networks in Field Programmable Gate Array (FPGA)
After testing the proposed networks 1 and 2 using MATLAB software package, the performance and regression results were presented for each network. The performance of network 1 is shown in Figure 9. As seen, the MSE value starts with nearly 1 at epoch 0, then it gradually decreases to 4.73 × 10-17 at epoch 23, which had realized the success and reliability of the network. The training has occurred in 23 epochs. This result indicates the fast training of the network.
Figure 9. The performance characteristics of the Backpropagation Neural Network (BPNN) network 1
Figure 10 illustrats three important graphs, the upper represents the graient descent during 23 epochs, as shown the graient value starts with 1 to reach to 6.56 × 10-9 at epoch 23, the middel plot represents the mu (mu: is a dapming factor related to Levenberg-Marquardt learning method) variation during 23 epochs. The third plot which is the very important, it represents the validation check during 23 iterations, the plot presents that the validation check value is 0 that confirms the reliabilty of the proposed BPNN net1 to present its output.
Figure 10. Three plots represent the variation of: Gradient, damping factor(mu), and validation check during 23 epochs
The regression results of network 1 are illustrated in Figure 11. This figure shows the fitting between the actual and target (desired) output data which is indicated by the linear solid blue line along all the output data. This result also supports the reliability of presenting the output data according to the input data set.
Figure 11. The regression results of the Backpropagation Neural Network (BPNN) network 1
The performance characteristic of network 2 is shown in Figure 12. This figure presents the relationship between the MSE and the number, as shown the MSE value starts with nearly 1 at epoch 0, and then it reduces to 2.9 × 10-29 at epoch 10, which is encouraging result and supports the reliability of presenting the output data according to the proposed input dataset.
Figure 12. Performance characteristics of the Backpropagation Neural Network (BPNN) network 2
Figure 13 also illustrates three graphs, the upper represents the graient descent during 23 epochs, as seen, the graient value starts with 1 to reach to 2.3 × 10-15 at epoch 10, the middel plot represents the damping factor (mu) variation during 23 epochs. The third and lower plot represents the validation check during 23 iterations, this plot presents that the validation check value is 0 which confirms the reliabilty of the proposed BPNN net2 to present the its output.
Figure 13. Three plots represent the variation of: Gradient, damping factor (mu), and validation check during 10 epochs
The regression result of network 2 is illustrated in Figure 14. As shown, the real output data values fit the values of target data; the fitting is indicated by the linear blue solid line. Also, this result confirms the reliability of presenting the required output data.
Figure 14. Regression results of Backpropagation Neural Network (BPNN) network 2
After implementing the VHDL code programs of the proposed networks 1 and 2 into FPGA using ISE Design Suit software package, two reports were presented on the computer screen. The first report is illustrated in Figure 15. This report has confirmed the success of the implementation without warnings and errors. The second report presents the main used items in the FPGA. This report is illustrated in Figure 16. As shown, the number of used slice registers is 1125, while the available is 54576. The number of used slice Look-up-Tables LUTs is 1150, while the available is 27288. The number of used bounded input/output blocks IOBs is 28, while the available is 296. One can conclude that the proposed BPNN networks have occupied a small part of maximum capability of the software size of the FPGA. The software size of the proposed BPNN networks 1 and 2 has reached to 3.9M Byte. The implementation of the two BPNN networks into FPGA is shown in Figure 8. Referring to this figure, as shown, the input data of net1 is (10010011110000), and the output data is (0000011), which realizes the fourth step in Table 1. Also, one can see the input data of net 2 is (0000011), and the output data is (001010), which confirms the third step in Table 2.
Figure 15. A report presents the initial information and general status of the implementing
Figure 16. A report of implementing the proposed networks into the Field Programmable Gate Array (FPGA)
Table 3 presents a comparison between several experimental tests, in terms of number of h. l. (hidden layers), number of neurons in hidden layers, MSE, and software size. As seen, the first test is best in terms of MSE, and the size of the software. The other tests had not been considered. Table 4 presents a comparison between the features of the proposed work with the previous related works. As shown, the proposed work stands out from other researches (related works) in that it can be used on a wide range of car sizes. In addition to that, it consumes electrical energy and water depending on the size of the car, i.e. for a small-sized car, it can consume less power and water than for a large-sized car, whereas the amount of consumed water and electrical power is proportional to the size of the car, which is considered the contribution (novelty) of the proposed work.
Table 3. Comparison between several experimental tests
|
Exp. |
No. H. l. |
Neurons in H. l. |
MSE: Net1 Net2 |
Software Size |
|
(1)* |
1 |
10 |
2.99 × 10-17 4.73 × 10-29 |
3.9 Mb |
|
(2) |
1 |
5 |
3.67 × 10-9 5.47 × 10-20 |
3.1 Mb |
|
(3) |
2 |
10 10 |
7.32 × 10-5 6.95 × 10-8 |
6.5 Mb |
|
(4) |
2 |
5 5 |
5.56 × 10-3 3.43 × 10-5 |
5.3 Mb |
Table 4. Comparison between results of the proposed and related articles
|
The Work |
Implementation |
Power & Water Consum. |
Car Sizes Range |
|
[21] |
In PLC |
Fixed |
Limited |
|
[22] |
In FPGA |
Fixed |
Limited |
|
[23] |
In PLC with using of Simatic & HMI |
Fixed |
Limited |
|
The proposed work of this article |
In FPGA |
Proportional to size of the car |
Wide |
Table 5 shows the comparison between the washing process of the maximum and minimum car sizes in terms of number of activated nozzles, the moving distance of the arm A, water consumption, and energy consumption, one can see the difference between the important parameters: water and energy consumption.
Table 5. The comparison between the minimum and maximum car sizes processes
|
Dim. W × H × L (Meters) |
Active Nozzles |
Arm A Moving Distance (Meters) |
Water Cons. (Liter) |
Energy Cons. (kW.h) |
|
1.6 × 1.6 × 2.6 |
16 |
5.2 |
112 |
1.0325 |
|
2 × 2 × 4 |
20 |
8 |
140 |
1.3325 |
The main limitation of the proposed controller is the dimensions range of the washed car, as mentioned previously, hieght range is (1.6-2) meters, width range is (1.6-2) meters, and length range is (2.6-4) meters. The dimensions range depends on the number of arrays sensors of hieght, width, and length. For future work, one can improve the dimentions range by increasing them, whereas, the proposed controller can be used with large car sizes, but in same time, the increasing of the sensors can complicate the BPNN network 1, which leads to increase the size of the software, this point must be considered.
One potential problem that the proposed controller might encounter is sensor malfunction, which could disrupt the washing machine and potentially lead to dangerous accidents. The proposed solution to this problem is to install two rows of sensors on each side of the car, specifically for height, width, and length. At the start of the machine's operation, an electronic comparator circuit will compare the readings from each row on a specific side, if the comparison results are positive, the machine continues; if not, the process stops until the faulty sensor is identified and replaced. Another important point regarding sensors: to ensure the washing machine functions properly, the sensors should be cleaned regularly to confirm their integrity and functionality.
Similarly, to ensure the washing machine operates correctly, it must be supervised by a qualified person who can address any problems that may arise, for example, when a car with a complex or asymmetrical shape or size enters the machine. In this case, the qualified person will reprogram the controller so that the machine washes the car correctly.
Two challenges had been considered to accomplish the proposed BPNN networks, they are: accuracy of the output data, and the proposed software size. After several practical experiments and attempts, the following considerations have been concluded for designing the proposed BPNN networks:
Increasing the number of hidden layers will decrease the accuracy of the output data, and increase the software size, which is not preferable, so in this work, just a single hidden layer has been used.
The limited increasing of neurons number of the hidden layer leads to increase the accuracy, but also, in same time it increases the software size which is not preferable. Therefore, the designer must balance between increasing the accuracy and software size. Up to 10 neurons for the hidden layer are good for obtaining good accuracy and small software size, respectively.
As mentioned previously, using the training function trainlm for such system design, one can obtain accurate results. For future work, one can use other training functions, such as: traingd, or traingda, which they train with gradient descent, and with gradient descent with adaptive learning rate for obtaining better results than that of this work.
Using the non-linear activation functions such as tansig, or logsig one can obtain the best results, but at the same time, the software size will increase, and the converting process of the software to VHDL code will be difficult, while using the linear activation functions such as satlins, and satlin one can get accurate results with limited software size.
The software size of such systems will determine the choice of the appropriate FPGA for the implementing process. Therefore, when designing software, size must be taken into consideration. Note, when the capacity size of the FPGA increases, at the same time, the cost will increase too, so the cost of FPGA must be considered in the design.
Meaning column can be aligned from the top down. A template for nomenclature is as follows.
|
e |
error parameter |
|
d |
desired output value |
|
o |
actual output value |
|
${{\delta }_{o}}$ |
error function of output layer |
|
${f}'\left( ne{{t}_{k}} \right)$ |
differentiation of the output function of output layer. |
|
k |
number of output layer neurons. |
|
${{w}_{j}}$ |
initial weight vector of input connection of the output layer. |
|
${f}'\left( ne{{t}_{j}} \right)$ |
differentiation of output function of the hidden layer |
|
MSE |
Mean Square Error |
|
Mb |
Mega byte |
[1] Pinjari, T., Hadpad, M., Sukale, D., Mulgoankar, D., Aswar, P. (2020). Automatic car washing system using microcontroller. International Research Journal of Engineering and Technology, 7(6): 2711-2714.
[2] Jing, D.X. (2021). Control design of automatic intelligent car washing machine based on PLC. In 2021 10th International Conference on Applied Science, Engineering and Technology (ICASET 2021), Shandong Province, China, pp. 36-39. https://doi.org/10.2991/aer.k.210817.008
[3] Lin, W.J., Chen, M., Wang, Z.X. (2024). A new generation of intelligent environmental washing machine. In 3rd International Conference on Culture, Design and Social Development (CDSD 2023), Kuala Lumpur, Malaysia, pp. 88-95. https://doi.org/10.2991/978-2-38476-222-4_11
[4] Cahyadi, C.I., Siregar, M.F. (2021). Implementation of automatic car cleaning system with Microcontroller system Atmega 8. Budapest International Research and Critics Institute-Journal (BIRCI-Journal), 4(2021): 7075-7083. https://doi.org/10.33258/birci.v4i3.2548
[5] Yash, C., Nikhil, S., Pranav, S., Sagar, S., Avesh, C. (2023). Design and fabrication of automatic car washer. International Research Journal of Modernization in Engineering Technology and Science, 5(4): 431-434. https://www.doi.org/10.56726/IRJMETS37145.
[6] Patil, G., Mutturaj, H., Nandagadkar, K., Talawar, M.R., Zampa, S.C., Galagali, R.M. (2023). Design and fabrication of low cost portable vehicle washer. International Journal of Innovative Science and Research Technology, 8(4): 431-434. https: www.ijisrt.com.
[7] Sawant, Y., Vibhute, S. (2023). Review paper on automatic car washing system using PLC. International Journal of Novel Research and Development, 8(5): 767-773. https://www.ijnrd.org/papers/IJNRD2305694.pdf.
[8] Antal, T., Számadó, R. (2026). Design and evaluation of a compliance management framework for business operations: A system engineering perspective. Journal of Engineering Management and Systems Engineering 5(2), 120-136. https://doi.org/10.56578/jemse050201
[9] Belev, Y., Krustev, K. (2022). Design of a control system for self-serve car wash with industrial programmable logic controllers with" Internet of Things" (IoT) capabilities. Science, Engineering and Education, 7(1): 27-36. https://doi.org/10.59957/see.v7.i1.2022.4
[10] Li, B., Wang, G., Yao, J. (2019). Research and design of self-service car washer remote monitoring system based on NB-IoT. IOP Conference Series: Materials Science and Engineering, 569(4): 042026. https://doi.org/10.1088/1757-899X/569/4/042026
[11] He, P. (2020). New cleaning equipment for buses. International Core Journal of Engineering, 6(6): 41-46. https://doi.org/10.6919/ICJE.202006_6(6).0008
[12] Aung, E.E. (2019). PIC and sensors based automatic car washing system. International Journal of Science and Engineering Applications, 8(8): 279-282.
[13] Kan, D., Jiang, L., Liu, C., Yang, Z., Song, D. (2023). Prediction of used car prices using back propagation neural network model based on mean encoding. In Third International Conference on Intelligent Computing and Human-Computer Interaction (ICHCI 2022), Qingdao, China, pp. 695-700. https://doi.org/10.1117/12.2655828
[14] David, J., Brom, P., Starý, F., Bradáč, J., Dynybyl, V. (2021). Application of artificial neural networks to streamline the process of adaptive cruise control. Sustainability, 13(8): 4572. https://doi.org/10.3390/su13084572
[15] Zhu, Z., Xiong, L., Liao, H. (2024). Neural network inspired automation and intelligence of industrial product design. Computer-Aided Design & Applications, 21(S18): 239-253. https://doi.org/10.14733/cadaps.2024.S18.239-253
[16] Fauzan, A.N., Assahari, M.S., Jainun, A.R., Somantri. (2025). Backpropagation neural network algorithm for optimizing network bandwidth allocation based on user access patterns. Engineering Proceedings, 107(1): 56. https://doi.org/10.3390/engproc2025107056
[17] Mhaouch, A., Gtifa, W., Machhout, M. (2025). Fpga hardware acceleration of AImodels for real-time breast cancer classification. AI, 6(4): 76. https://doi.org/10.3390/ai6040076
[18] Geng, S., Wang, Z., Liu, Z., Zhang, M., Zhu, X., Dan, Y. (2025). Hardware implementation of FPGA-based spiking attention neural network accelerator. PeerJ Computer Science, 11: e3077. https://doi.org/10.7717/peerj-cs.3077
[19] Xu, H. (2023). FPGA: The super chip in the age of artificial intelligence. Journal of Physics: Conference Series, 2649(1): 012018. https://doi.org/10.1088/1742-6596/2649/1/012018
[20] Saeed, A.B. (2021). Elevator controller based on implementing a random access memory in FPGA. International Journal of Electrical and Computer Engineering, 11(2): 1053-1062. https://doi.org/10.11591/ijece.v11i2.pp1053-1062
[21] Azman, M.Z., Mohammad Noor, S.Z. (2022). Automated carwash using Programmable Logic Control (PLC). International Journal of Academic Reserach in Economics and Management Sciences, 11(4): 68-79. https://doi.org/10.6007/IJAREMS/v11-i4/15019
[22] Aaradhana, B., Jyothi, M.B., Sajja, A., Mandrumaka, K. K. (2023). Design and implementation of intelligent car washing system with water saving technique. International Journal of Advanced Research in Science, Communication and Technology (IJARSCT), 197-202. https://doi.org/10.48175/IJARSCT-9736
[23] Bijawe, S.P., Deshmukh, V.N., Lokhande, N., Pawar, R. (2023). Automatic car washing system using PLC & simatic HMI. International Research Journal of Modernization in Engineering Technology and Science, 5(4): 5252-5255. https://www.semanticscholar.org/paper/AUTOMATIC-CAR-WASHING-SYSTEM-USING-PLC-%26-SIMATIC-Lokhande-Deshmukh/2ed8da5c8479291b8324bc391b831fb15cfb6fbb.
[24] Kim, G., Bak, Y. (2025). Forward and backpropagation-based artificial neural network modeling method for power conversion system. Electronics, 14(23): 4718. https://doi.org/10.3390/electronics14234718
[25] Sahi, M., Galib, G.R.H. (2025). Artificial intelligence application of back-propagation neural network in cryptocurrency price prediction. IJEIE: International Journal of Electrical and Intelligent Engineering, 1(1): 32-46. https://ejournal.uin-malang.ac.id/index.php/ijeie/article/view/33800.
[26] Saeed, A.B., Gitaffa, S.A., Dawai, R.I. (2026). Design and implementation of an artificial-intelligence-based smart control unit for an automatic clothes washing machine. Journal Europeen des Systemes Automatises, 59(3): 699-706. https://doi.org/10.18280/jesa.590313
[27] Oliveros, O., Montenegro, D., Herrera, P. (2025). Backpropagation algorithm applied to a line-following robot. TEM Journal, 14(3), 1972. https://www.ceeol.com/search/article-detail?id=1363521.
[28] Saeed, A.B., Gitaffa, S.A., Dawai, R.I. (2025). FPGA-based realization of intelligent escalator controller using artificial neural network. Journal of Electrical and Computer Engineering, 2025(1): 7567924. https://doi.org/10.1155/jece/7567924
[29] Hashem, I.A.T., Alaba, F.A., Jumare, M.H., Ibrahim, A.O., Abulfaraj, A.W. (2024). Adaptive stochastic conjugate gradient optimization for backpropagation neural networks. IEEE Access, 12: 33757-33768. https://doi.org/10.1109/ACCESS.2024.3370859
[30] Dam, Q.T. (2024). Adaptive neural network-based PID controller design for velocity control of an internal combustion engine using back propagation technique. Journal of Electronics and Electrical Engineering, 613-630. https://doi.org/10.37256/jeee.3220245581
[31] Zhu, X., Li, M., Liu, X., Zhang, Y. (2024). A backpropagation neural network-based hybrid energy recognition and management system. Energy, 297: 131264. https://doi.org/10.1016/j.energy.2024.131264
[32] Pei, J.F., Zhang, J., Jin, D.C., Miao, B.L. (2024). Backpropagation neural network-based survival analysis for breast cancer patients. International Journal of Radiation Research, 22(1): 163-169. https://doi.org/10.61186/ijrr.22.1.163
[33] Adedeji, B.P., Zaidi, A. (2025). Radial basis function and feedforward backpropagation artificial neural networks for electric vehicles daily energy consumption and battery capacity estimations. Next Research, 101006. https://doi.org/10.1016/j.nexres.2025.101006
[34] Asmidewi, R., Muhyidin, Y., Minarto, M. (2024). Application of backpropagation neural network in predicting mandatory test vehicle parks. Digital Zone: Jurnal Teknologi Informasi dan Komunikasi, 15(2): 133-146. https://doi.org/10.31849/digitalzone.v15i2.21030