# Combining a Universal OBD-II Module with Deep Learning to Develop an Eco-Driving Analysis System
## 5 Discussion  
The present study developed an eco-driving assistant system to reduce fuel consumption and mobile pollution sources. In addition to a novel universal OBD-II module, the system incorporates deep learning to evaluate fuel consumption. Tests performed on different car models and road conditions revealed a fuel consumption prediction accuracy of over 90%. Compared with other systems, the proposed system is applicable to multiple car models and provides real-time notifications on abnormal driving behaviors based on relevant parameters. Relevant studies have mainly employed commercial OBD-II modules to collect driving information in eco-driving applications for analysis and discussion [27, 28, 29, 30]; however, they have not discussed the heterogeneous communication problem encountered in in-vehicle CANs. The problem of heterogeneous communication protocols persists between different car models and the low adoption of eco-driving remain crucial topics for discussion. In consideration of the aforementioned problems, the present study developed a universal OBD-II module that integrates CAN communication protocols used in vehicles manufactured after 2008. An eco-driving test performed using three car models revealed that the system could successfully collect driving data from car models. \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline \multirow{2}{*}{**Model**} & \multirow{2}{*}{**Training Times (s)**} & \multicolumn{3}{c}{**RMSE**} & \multicolumn{3}{c}{**\(\boldsymbol{\gamma}\)**} \\ \cline{3-8}  & & **Lancer** & **Mazda** & **Vios** & **Lancer** & **Mazda** & **Vios** \\ \hline Elman backprop & 29 & 4.077 & 3.672 & 8.24 & 0.9696 & 0.967 & 0.9827 \\ Layer recurrent & 42 & 6.369 & 7.737 & 9.266 & 0.9771 & 0.6616 & 0.9556 \\ Feed-forward & 25 & 9.742 & 9.504 & 12.685 & 0.7933 & 0.718 & 0.8471 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Comparison of fuel consumption predictions of the three models. Figure 10: Real-time GUI display of the eco-driving assistant system during driving. Eco-driving involves performing data analysis on driving behaviors, notifying drivers of abnormal driving behaviors, and assisting them in avoiding inappropriate driving habits. Therefore, the GUI design of the real-time driving assistant system and its overall driving behavior evaluation function are crucial to eco-driving. According to our literature review, we could not find relevant GUI designs in the field. Therefore, a detailed and intuitive GUI was developed to display real-time driving parameters and six parameters of abnormal driving behaviors, represented by light signals. The GUI notifies drivers of the counts of their inappropriate driving behaviors and uses red lights to provide real-time alerts when such behaviors are detected. More critically, the GUI details real-time fuel consumption for reference. Drivers may reference the GUI to learn about the frequency at which inappropriate driving behaviors have occurred and to make subsequent improvements; the GUI also provides fuel consumption as a feedback to indicate whether due improvement has been made. As depicted in Figure 9, in terms of the outlier when predicting fuel consumption, the FFB model exhibited a higher prediction error than the RNN models. This result is consistent with that of [PERSON] et al. [32], indicating that in fuel consumption analysis, RNN models would achieve more accurate prediction results than the conventional FFB model would. In terms of fuel consumption prediction when driving on mountain roads, the layer RNN and Elman backpropagation models achieved a lower RMSE than the FFB model. Possible reasons include low emission cars having low engine torque, such as the Toyota Vios (Table 1). Therefore, under a low gear, the engine RPM would exhibit greater increases. Based on the fuel consumption equation, the system increases the instant fuel consumption value, resulting in an increased difference between the calculated value and predicted values. This result is similar to that in [40].