THE OVERTAKING CAR SIMULATION USING THE TECHNOLOGY OF VIRTUAL REALITY

Currently, motor vehicles are very widely used in everyday life. In Indonesia the growth of motor vehicle is very rapid, even reaching 10 percent per year. With the high value of the development of this motor vehicle, the number of accidents also increases. The cause of the accident is not only from the error engine but also it can be caused by the driver fault. The driver should be given more attention and information about the rule and how to ride the motor vehicles well. Sometimes the experience is needed to learn how to act in the different condition when the driver drives the motor vehicle. This paper implements the technology of Virtual Reality for the simulation of overtaking. There are two additional devices used in this research. There are the Steering Wheel and the Oculus Rift. This research aims to explore the VR technology and explore the implementation of the Steering Wheel and the Oculus Rift in overtaking simulation game.


INTRODUCTION
Currently, motor vehicles are very widely used in everyday life. In Indonesia the growth of motor vehicle is very rapid, even reaching 10 percent per year. With the high value of the development of this motor vehicle, the number of accidents also increases. The cause of the accident is not only from the error engine, but also it can be caused by the driver fault. This becomes the reason why there are some test drives that are needed to get the driving license. Not only the test drive, the driver who needs to get the driving license, also get the theoretical test about the traffic sign or any other rules about how to drive well.
This research is expected to develop an alternative media to learn how to drive well especially in overtaking the car. This research implements the Virtual Reality (VR) technology to simulate the virtual environment and create the sensation for the user. This research can also be an alternative media that can simulate the test drive in the test to get the driving license.
The technology of Virtual Reality (VR) is a technology that can generate the virtual environment to simulate the real environment computed by the computer. This VR technology also provides the interaction between the user and the virtual environment to make the user can feel the sensation like in the real environment. In the VR technology, there are some additional devices that can be used to provide the sensation for the user, there are Oculus Rift, Google Card Board, Microsoft Hololens, etc. These devices are also known as the Head Mounted Device (HMD).
In this research, Oculus Rift is used to implement the VR technology. The Oculus Rift is a device found by Palmer Luckey. This device is used to manipulate the virtual object to look like the real one. Besides the Oculus Rift, this research also uses the Steering Wheel to control the motor vehicles (car) movements.
The Steering Wheel is a type of game control that is like steering control in the vehicles or vessels. This steering wheels can be used in the racing game. These game controllers are available for arcade cabinets, personal computer, and console games.
There are not many studies about the VR technology and driving simulator. From IEEExplore, it was found research from Ahmed Ali, et.al. [1]. The Ahmed Ali, et.al. research test the capabilities of the gamified virtual reality driving simulator implemented in the earlier using the Oculus Rift, Microsoft Sidewinder force feedback and the Unity game engine. This simulator can be used to help to learn how to drive some certain driving behaviors like overpassing cars and giving the priority to pedestrians using the real-life scenarios and situations. The scenario that is used in this simulation is a real-life driving school. Osama Halabi,et.al. [2] present the design of a driving seat. This driving seat can recognize the driver activities based on a passive method for measuring the body postures. In this research, it is used two force sensor arrays to inspect the pressure patterns exhibited in driver's seat and backrest. This VR driving simulation is developed to test the accuracy of the recognition in the immersive environment. The result shows that the VR immersive driving environment enhanced the accuracy recognition in some postures. Xin Pan, et.al. [3] develop a novel electroencephalograph (EEG) based on the VR driving (EEG-VD) prototype. The user can enjoy the driving simulation using a virtual car around the city only through the brain signal. This research combines the Brain-Computer Interface (BCI) and the VR technology and it can bring some new experience to the handicapped.
The steering wheel device has been implemented in some researches. F Maita et.al [4] in their research integrates the steering wheel system based on nanostructured elastomeric sensors for real time detection of driver drowsiness status. This research proposes a new sensing system by using the smart steering wheel to increase the driver safeness. Miguel Martines-Garcia and Timothy Gordon [5] model a multiplicative human steering control. This research has potential application in the wide range of fields from human performance modelling to the development of human machine interface, particularly in the application of ground vehicle automation. Yutaro Ueno, Keigo Watanabe, and Isaku Nagai [6] design and develop a steered active wheel caster. This research propose a mobile platform, and describe the production process and experimental results.
This research aims to develop the game application that can simulate the simulation process in overtaking the car. Besides, this research also aims to explore the VR technology by using the Oculus Rift and the Steering Wheel.

METHODOLOGY The Oculus Rift
The Oculus Rift is a VR headset developed and manufactured by Oculus VR. This headset was released on March 28, 2016. The more information about Oculus Rift can be found at this link [7].
To implement the Oculus Rift in VR technology, there is a library that is needed. It is Oculus Utility. The Oculus Utility is a package that includes the assets to develop the Oculus Rift application. The OVR Camera Rig is one of the assets in Oculus Utility. This camera is used to set the view of the user. There are many other assets that include in the Oculus Utility package. These assets have different features to provide the sensation for the user in Oculus Rift application. This link [8] can be used to download this package.

The Steering Wheel
The Steering Wheel is a type of game control that is like steering control in the vehicles or vessels. The definition of game control here is the plug-in that is connected to the device to provide the interaction between the user and the application/game developed. Besides the Steering Wheel, there is any other game control e.g. the mouse, the keyboard, the joystick, the gamepad, etc.
The steering wheels can be used in the racing game. These game controllers are available for arcade cabinets, personal computer, and console games. In this research, the Steering Wheel is used for the simulation of overtaking car to provide the real sensation. Figure 1 described the Steering Wheel that is used in this research. This Steering Wheel is known as Genius Speed Wheel 6 MT. The Genius Speed Wheel 6MT is kind of Steering Wheel that has two part e.g. The top and the bottom. In the top, there is the Steering Wheel that can be used to move the car to the right or to the left. There is shift stick for the manual transmission. The shift stick can be moved in three directions e.g. L3 for the front, R3 for the back, and L1 for the right. In the bottom of the Genius Speed Wheel 6MT, there are two plastic flappy pedals. These pedals are smaller in height than the real pseudo-manual automatic vehicle in real life

DESIGN AND IMPLEMENTATION The Simulation Process
The simulation process that is designed in this research is based on the Government Regulation or in Indonesia it is known as Peraturan Pemerintah (PP) 1993 No. 43/1993 in clause 52-55. The more information about this can be accessed from this link [9].
To implement the VR technology, in this research uses the Oculus Rift and the Steering Wheel. These devices are connected to the computer. The computer will manage and control the input. The computer will also show the virtual environment in the monitor. This implementation of the VR technology can be described in Figure 2.
In this research, the game is designed in three levels. In the first level, the player needs to finish the mission to end the game. There are four cars and the parked bus in the street. The player needs to overtake these motor vehicles to end finish the mission. The player can win this mission if the player can overtake the motor vehicle four times. The description of the virtual environment generated in this game is described in Figure 3. In figure 3, the white box describes the other car or bus in the street. The player needs to overtake these motor vehicles.
In the second level, the player can finish the level when the player can overtake five motor vehicles in the street. If the player's position is outside of the road defined and the player crashes the building, the system will be automatically end and game over. It will also happen in the Level 1. Figure 4 describes the design of game play in the level 2.
In the level 3, the difficulties of the game will increase. There are many motor vehicles. The players need to overtake six motor vehicles to finish the mission. The game play designed for level 3 can be described in Figure 5.

The Implementation
In the main menu, there are four buttons that can be pressed by the player. There are Level 1 button, Level 2 button, Level 3 button, and Exit button. The player needs to move the steering wheel to the left and the right to press the button. The process is as same as when the player needs to move the car. The interface of the main menu is described in Figure 6.
There are some important parts of the simulation page interface, e.g. the steering wheel, rearview mirror, and the score to count how many motor vehicles that have been overtaken by the player. The view of the simulation page is described in Figure 7.
The process to implement the steering movement is described in Figure 8. The first step of the process is to get input from the steering device used. The player can only move the steer to the left or to the right. That is the reason why the angle of the variable steer can be multiplied only by (-90). After the position of car object was changed, the position of steer object needs to be changed. This aims to synchronize the virtual environment and the real environment.
The rearview mirror is implemented by add the camera and the raw image of the camera will show the view that is recorded by the camera. This raw image will be used as the rearview mirror.  The implementation of the shift stick to move the car forward or backward can be shown in Figure 9. Figure 9 shows that the system will start to get the input from the user. Then, the system will check the input condition. If the input says "Maju", the system will execute the function to move the car object forward. But if the input says "Mundur", the system will execute the function to move the car object backward.
The Oculus Rift has a package that can be used to develop the application using the Unity 3D game engine. This package can be downloaded from this link [8] . From the package, there are plugins. These plugins can be added to the Unity game engine by copy and paste to the Unity project folder, the place where the application is developed.
To connect Oculust hardware and the system, we can use Input Manager in the package. This input manager provides input type Joystick. The Steering Wheel will be set as Joystick in Unity to enable system in accessing the device.
The configuration to create the input navigation using Steering Wheel can be described as follows. And the EventSystem is setted as seen in Figure 10 and Figure 11.  Figure 10 describes the virtual environment on the first level, Figure 11 describes the virtual environment on the second level, and the virtual environment of the third level can be described in Figure 12.
To check the other motor vehicles that must be overtaken by the player, this research implements the box collider. This box collider is used to trigger an action to add the score when the player overtake the motor vehicles. The other motor vehicles that must be overtaken by the player, are generated randomly. Figure 14 shows the steps to generate the random position of the motor vehicles. The system will random the position first, then transform the position, transform rotation, and instantiate the new car object with new random position.
The rearview mirror is implemented by inserting Canvas UI and Raw Image used to show the image recorded by camera. The camera will record view in behind the car. Besides, this research also add the Texture Render that has the same size with the Raw Image. The setting in the Texture Render is shown in Figure 17.
The raw image will be added to camera. The setting in Camera can be shown in Figure 18. And the setting in raw image can be shown asin Figure 19. The result of rearview image can be shown in Figure 20.

RESULT AND DISCUSSION
The application developed is tested based on its features or functionalities. This kind of software test is known as black box testing. The purpose of this software test is to check the software from any bugs, errors, and faults. There are only two main features in this application, e.g. choose the level, and begin the simulation process.
The first test is to test the main menu (to choose the level in the game). There is no requirement that is needed to enter any levels in the application. The player can choose any level in the main menu and begin the simulation. The result of the first test shows that there is no error, bug, or fault found in this first functionality test.
The second test is to test the simulation process. The player can begin the simulation process by press one of the level buttons. After the user press one of the level buttons. The system will start to generate or render the virtual environment in this level.
The third test is to test the end conditions of the game. There are two conditions in the end of the game. The player completes the mission, and the player can not complete the mission. From the test result, those conditions can be reached by the player well. There are not found any error, bug, or any fault in the application developed. The mission in every level is different, and the player must finish each mission to win and finish the level. The condition that shows the player cannot complete the mission can be caused by the player's position. If the player's condition is outside the road defined or crash the building, the application will automatically end the game. Table 1 shows the resume of this test result.
To measure the user experience, the research uses the questionnaires. There are total 10 respondents. In the questionnaires, there are 5 point intervals: (1) very agree, (2) agree, (3) neutral, (4) disagree, and (5) very disagree. The parameters measured in this research are the user interface, the system performance, and the simulation process. Each parameters consist of questions that must be answered by the respondents.
The user interface is related to the design that is interesting, the menu can be accessed easly, and the position of button that can provide information clearly. The performance is related to the result of functionality test, is there any errors, bugs, and faults that can affect to the user enjoyment. And the simulation process is related to the real process in driving car simulation. The resume of user experience result can be described in Table 2.  The user experience based on the performance of system 3.7 The simulation process 3.7 The result shows that the average score of user interface is 4.1. This can be concluded that the application developed is interesting, easy to use, and the position of any button or any text can provide the information clearly.
The average score for the system performance is 3.7. This means that the application developed can run well. The application developed uses steer, pedal and shift stick to control the game.
User who never learn how to drive a car, will be difficult to control the game. This will affect to the system performance. Some users cannot enjoy the game because of that difficulties.
The simulation process that is measured in this research has average score 3.7. The application can simulate the process in driving a car. Although the simulation is not as real as the simulation in any driving car games.

CONCLUSION
This research is to explore the technology in virtual reality using the steering wheel device. The functionality test shows that the application can run well. The user experience measures based on the user interface design, the system performance, and the simulation process.
The result shows that the user interface design is interesting, easy to use, and the position of any button or text in the game can provide the information clearly. There is not found the overlap view. The system performance also has a good result. There is not found any errors, bugs, and faults. And the application development can simulate the driving car process.
For the future work of this research, there are many chances in VR technology. There are not only the Oculus Rift that can be used to provide the VR technology. It is also the Leap Motion Controller, the Google Card Board, the Kinect, or any other additional devices that can be implemented to provide the VR technology.