Abstract:
The population growth and technology development has increased traffic congestion in urban
areas. If people can get traffic information before starting their journey, they can use
alternative routes to avoid traffic instead of sticking in the traffic congestion. And also when
it comes to long trips, it is better if the driver can roughly get an idea about how much of
money will be needed to be spent on fuel.
Our intention was to develop an android application which is able to find the best route
between source and the destination, considering the traffic jam and the minimum distance.
Additionally the proposed system will facilitate users to reach the nearest fuel filling station
when fuel is running low by providing information about the fuel condition of the vehicle
while they are driving.
The traffic information forecasting has been done with the use of previous traffic count of
selected route. Generally, prior data pattern labels have been used to train the Artificial
Neural Network (ANN) to identify the traffic conditions. The shortest path is generated with
the use of ‗Dijkstra's Algorithm‘.
The challenge that we had to face was gathering data regarding traffic count in Sri Lankan
roads at a given time because there is no proper way to collect traffic data. So we had to
observe daily traffic count (vehicle count) in a selected route. We collected vehicle count
during 10 days of period. According to the observation results we created simulated data set.
Our total number of records was 388. In this case 70% of the data was used to train the
network, 15% was used to validate and rest was used to testing purpose.
The accuracy of the traffic prediction was 99.5% according to the results of data trained using
ANN.
Another challenge that we had to face was creating communication between neural network
and the android application. To transfer data between JAVA program and the MATLAB
neural network we had to use transferring medium. So to overcome this challenge we used
TCP/IP socket communication which has the ability to call Java directly from within
MATLAB. This application follows client server architecture where MATLAB environment
is the server and android application is the client.