Transportation Research Part C 26 (2013) 314–330
Contents lists available at SciVerse ScienceDirect
Transportation Research Part C journal homepage: www.elsevier.com/locate/trc
Driving behaviour modelling system based on graph construction Sei-Wang Chen, Chiung-Yao Fang ⇑, Chih-Ting Tien Department of Computer Science and Information Engineering, National Taiwan Normal University, Taipei, Taiwan
a r t i c l e
i n f o
Article history: Received 22 May 2012 Received in revised form 12 October 2012 Accepted 12 October 2012
Keywords: Driving relational map (DRM) Driving habit graph (DHG) Driving style modelling system Graph construction
a b s t r a c t This paper presents a novel method for modelling the driving styles of different drivers. In fact, the driving style of a driver is significantly related to their personality. Over the years, very few driving assistance systems have taken driver personalities into account. We developed the driving habit graph (DHG) to model driving styles, which driving assistance system designers may find useful for adjusting their parameters in order to improve driving safety. The proposed DHG is composed of macro-nodes and arcs. Each macro-node corresponds to a driving relational map (DRM) and represents a driving behaviour. A DRM also contains its own nodes and arcs. The nodes of a DRM are created when the continuous input data of driving factors shows significant change. Thus, each node represents a significant change in a specific driving factor, and each arc between two nodes indicates the time-ordering of these nodes. Since a DRM represents a driving behaviour, a path of the DHG can be considered a sequence of driving behaviours. By merging the driving paths of a driver, it is possible to construct a unique DHG to model the driving style of that driver. Different drivers will have different DHGs. The experimental data are obtained through a driving simulator due to the danger inherent in realizing the experimental scenario on actual roads. The experimental results show that constructing DHGs to model the driving styles of drivers is effective and feasible. DHGs will enable future driving assistance systems to be better customized for drivers. Ó 2012 Elsevier Ltd. All rights reserved.
1. Introduction Different drivers have different driving styles, depending on their personal characteristics and driving habits. Some drivers are cautious, while others are more impatient, and the driver’s personal characteristics and habits will also affect their reaction when faced with a dangerous situation while driving. The minimum reaction time in a crisis situation will also differ between novices and experienced drivers. Thus, applying the same safety criteria for all drivers is not a beneficial approach for designing driving safety assistance systems (Riener, 2012). In order to solve this design problem, it is necessary to represent and classify the driving styles of different drivers based on their personal characteristics. This paper proposes a model that can represent different types of driving styles. In recent years, many researchers have attempted to model human driving behaviours (Lindgren et al., 2009; Pauwelussen and Feenstra, 2010; Toledo et al., 2007; Uang and Hwang, 2003; Wang et al., 2011). Oliver and Pentland (2000) proposed the use of graphical models, such as hidden Markov models (HMM) and coupled hidden Markov models (CHMM), for driver behaviour recognition in a Smart Car. They created graphical models to represent seven different driver maneuvers, namely passing, changing lanes, turning right and left, starting, and stopping. These models can be used to predict driver behaviour. However, modelling individual driver behaviours is not enough to fully understand a person’s driving style. ⇑ Corresponding author. Fax: +886 2 29322378. E-mail address:
[email protected] (C.-Y. Fang). 0968-090X/$ - see front matter Ó 2012 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.trc.2012.10.004
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
315
Sekizawa et al. (2007) developed a system that models and recognizes human driving behaviours through a stochastic switched autoregressive exogenous (SS-ARX) model. An ordering three-state model was used to model a driver’s collision-avoidance behaviour. They focused on just one situation, where the preceding vehicle stops suddenly while the test subject in the following car is not looking at the road. Data collected from the seven test subjects showed that the SSARX model has excellent potential as a behaviour recognizer. Toledo et al. (2009) presented a driving behaviour model that integrates various driving decisions. To construct the model, they used data collected on a 997 m-long freeway section in Arlington, Virginia. These data include the positions of vehicles at discrete points in time, from which other variables can be derived, such as speed, acceleration, lane changes, headway, and lengths of gaps in traffic. This model can be used to explain lane changing and acceleration decisions. However, the latter studies also consider only some specific driving behaviours, not their overall driving style. Papada and Jablokow (2011) proposed a Fuzzy ART based driving style recognition framework. They applied a neural network algorithm to Engine Control Unit (ECU) vehicle data to detect patterns in it. The vehicle data includes vehicle speed, wheel speed, engine load, and throttle position. Taking these data as input; the system attempts to ensure that the driver’s driving behaviour is safe and efficient. This study proposes a method to model the driving styles of drivers. However, the driving habits defined in this paper are simple; they include normal traction, excessive wheel slip, normal braking, hard braking, efficient workload, inefficient workload, efficient fuel usage, and inefficient fuel usage. Chang and Chou (2009) developed a fuzzy-based collision warning system to prevent rear-end collisions when the preceding vehicle performs an emergency braking maneuver on a freeway. Although they focused only on deciding the thresholds of the parameters, their idea that different thresholds should be applied for different types of drivers is useful and important. Zhang et al. (2010) proposed the use of pattern recognition methods, such as a decision tree, a support vector machine (SVM), and a multilayer perceptron artificial neural network (MLP-ANN), for classifying drivers, according to their skill level, as expert, average, and low skilled. This information is used to modify the vehicle control parameters of driver assistance systems. Since different drivers have different driving styles, it is logical to represent their individual driving behaviours. In this paper, we propose the driving habit graph (DHG) model to automatically model the driving styles of drivers, instead of focusing on a few specific driving behaviours. 2. Data representation and system flowchart As mentioned earlier, the inputs for the proposed system are raw data obtained from several sensors on the vehicle. As an example, Fig. 1 shows input values of the degree of throttle actuation and the corresponding longitudinal acceleration of the vehicle. The total driving time was approximately 10 min. Clearly, this data are unstable and noisy. However, the output of the proposed system is a DHG model consisting of macro-nodes and arcs. Thus, the main function of the system is to transform the low-level numerical input data into a high-level abstracted form. Therefore, the system flowchart represents a data abstraction process. We first describe the data representation method before introducing the system flowchart. Table 1 lists the raw data inputs utilized in this study, which are obtained from a driving simulator. The raw input data consists of the angle of the steering wheel (SA), degree of throttle actuation (TH), degree of brake actuation (BR), longitudinal and lateral acceleration of vehicle (AX and AY), longitudinal and lateral speed of vehicle (VX and VY), and longitudinal and lateral position of vehicle (PX and PY). We refer to these as driving factors, and these factors affect the speed and direction of a vehicle. The values of these driving factors are obtained through several sensors on the vehicle. The range of these values in the driving simulator is also shown in Table 1.
Fig. 1. Examples of raw input data: (a) the degree of throttle actuation of a vehicle and (b) the longitudinal acceleration of a vehicle.
316
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330 Table 1 List of driving data values obtained from a driving simulator. No.
Symbols
Driving factors
The range of input values
1 2 3 4 5 6 7 8 9
SA TH BR AX AY VX VY PX PY
Angle of the steering wheel Degree of throttle actuation Degree of brake actuation Lateral acceleration of vehicle Longitudinal acceleration of vehicle Lateral speed of vehicle Longitudinal speed of vehicle Lateral position of vehicle Longitudinal position of vehicle
500–500° 0–100% 0–100% 8.5 to 8.5 m/s2 8.5 to 8.5 m/s2 0–27.8 m/s (0–100 km/h) 0–27.8 m/s (0–100 km/h) Unlimited Unlimited
Fig. 2. The hierarchical data levels.
Raw data input
Node extraction
Driving relation map construction
DHG construction Fig. 3. The flowchart of the driving style modelling system.
Fig. 2 shows the hierarchical data levels defined in this study. Starting from the lowest, the levels are raw data, node, map (macro-node), and graph. The flowchart for modelling driving style by constructing driving relational maps (DRM) is shown in Fig. 3. Once the raw data in level 1 is input, the nodes (on level 2), which are named after their corresponding symbols in Table 1, can be extracted. Next, in level 3, these nodes are used to construct the DRMs based on their occurrence time ordering. Each DRM can be regarded as a macro-node of the DHG on level 4, the highest of the hierarchical data levels. The DHG can be used to model the driving style of a driver. The following sections will discuss, in detail, the steps involved in node extraction, DRM construction, and DHG construction. 2.1. Node extraction Once the raw data has been input into the system, it is smoothed using the average operation to remove isolated noises. Let dt1, dt, and dt+1 be the data input at time t 1, t, and t + 1, respectively, the smoothed value of dt can be obtained by
317
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
Input data
m m±s
m ± T10
Fig. 4. The dynamic thresholds of the input data shown in Fig. 1a.
s
dt ¼ ðdt1 þ dt þ dtþ1 Þ=3. Two dynamic thresholds Tu and Td are then calculated to decide whether a node should be created for the DRM. The creation of a node may indicate that a driving factor is changing at that moment. The dynamic thresholds are defined by the mean and standard deviation of the input data. and standard deviation s can be calcuGiven N sequential data inputs for a driving factor, X = {x1, x2, . . . , xN}, the mean m lated as:
¼ m
s¼
N 1X f ðxi Þ; N i¼1
rffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 XN 2; ðf ðxi Þ mÞ i¼1 N1
ð1Þ
ð2Þ
where f(xi) is the average smoothing function and N is a constant. This implies that the system only calculates the mean and and s prevents them standard deviation of the last N input data values. Using only the last N input data values to calculate m and s are calcufrom being affected by too many previous values. If the number of input data values is less than N, then m lated using the available data. We calculate another reference value T10 to determine the dynamic thresholds. Let Dmax represent the maximum difference between the values of driving factors so far, and T10 is equal to 10% of Dmax, so that the two dynamic thresholds can be defined as
þ maxðs; T 10 Þ; Tu ¼ m
ð3Þ
maxðs; T 10 Þ; Td ¼ m
ð4Þ
Fig. 4 illustrates the values of s and T10 calculated from the raw data in Fig. 1a. These input data represent the degree of at each instant. The two red lines represent throttle actuation of the vehicle. The blue1 line represents the value of mean m s and the two green lines represent m T 10 . Input values larger than m þ maxðs; T 10 Þ or less than m maxðs; T 10 Þ will m result in node creation, as such values indicate a significant change in a driving factor (TH). Moreover, the duration of these situations will be the duration time of the created nodes. The red ellipses shown in Fig. 5 indicate where the nodes (TH) are created as a result of the large change in the degree of throttle actuation. s used as the threshold will obtain reasonable results only if the raw data contains significant change, similar to the m second and third pictures on level 1 of Fig. 2. However, if the raw data contains smooth but small vibrations, similar to the s as the threshold will cause too many nodes because of the noise. In this first picture on level 1 of Fig. 2, using only m situation, the reference value T10 can help to reduce the number of nodes and avoid this problem. This method can be applied to process the input data of each driving factor listed in Table 1 and to create different types of nodes. By ordering these nodes, the driving relational maps can be constructed. Fig. 6 shows the nodes that were created, ordered by their time of occurrence. For example, the driver braked at 18 s (BR node created) and the duration is 3 s, and the longitudinal acceleration of vehicle decreased (AY node created) almost instantly. The driver kept braking for some time (BR created) and then stepped on the throttle (TH created), increasing both longitudinal acceleration and speed of the vehicle 1
For interpretation of colour in Figs. 1, 2, 4–12 and 14–21, the reader is referred to the web version of this article.
318
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
Fig. 5. The created nodes of the input data shown in Fig. 1a.
Fig. 6. Example of nodes created from input data, including TH and VY shown in Fig. 1a and b.
(AY and VY created). The speed of the vehicle increased smoothly from 42 s to 72 s. During this time, an AX node was created to indicate that the lateral acceleration of the vehicle increased at 35 s. From Fig. 6, it is clear that among the changes in the driving factors recorded, only those lasting for a significant duration and representing a large change result in the formation of nodes. In this way, the system is able to discard noise and utilize significant changes in the driving factors to create the driving relational map. Another important observation is that nodes are created in groups while driving. This implies that certain changes in the driving factors are interrelated, and a group of nodes may describe a type of driving behaviour. Fig. 6 shows three groups, with the second and third groups being very similar. Thus, we conclude that the same driving behaviour creates similar groups. 2.2. Driving relational map construction A driving relational map is used to represent a group or a driving behaviour, as discussed in the previous section. Next, we describe how a driving relational map is built from these grouped nodes. Fig. 7 shows the nodes contained within group 2 from Fig. 6. Fig. 7 represents one kind of the behaviour when a driver meets the overtaking vehicle. The driver first throttles down for a few seconds to decrease the longitudinal speed of the vehicle; they then press the throttle to increase the longitudinal acceleration of the vehicle. We can observe that the nodes are created at different times, but this difference is extremely small. Thus, we can consider some changes in driving factors to have occurred concurrently. Consequently, it does not make sense to sort the nodes by creation time and to construct a linear ordering map, as shown in Fig. 8a. Instead, changes in driving factors that occur concurrently should be represented on the same layer, as shown in Fig. 8b. We propose a method to merge nodes in the same layer by their time of occurrence. We first select the two nodes with the closest time of occurrence in a group. If these times are sufficiently close, the nodes will be merged into the same layer. The earlier of the two times of occurrence is substituted for both times in that layer. Next, the two closest times of occurrence
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
319
Fig. 7. Group 2 extracted from Fig. 6.
Fig. 8. DRMs (a) ordered by node creation time (b) after the merging process.
Fig. 9. An example to merge nodes into the same layers.
will be selected and merged in the same way. This step is repeated until the difference between the times of occurrence of the two closest nodes is sufficiently large. Fig. 9 shows an example of merging nodes into the same layer. The numbers in the bottom row are the time of occurrence of the nodes shown in Fig. 7. In this example, six nodes are created and their times of occurrence are 108.33 (TH), 111.59 (AY), 111.80 (BR), 112.08 (VY), 114.33 (AY), and 114.36 (TH), respectively. In the first iteration, the two nodes AY and TH with times of occurrence equal to 114.33 and 114.36 respectively are selected and merged into one layer. The time of occurrence for both is set to 114.33. In the second iteration, nodes AY (111.59) and BR (111.80) are selected and merged into another layer. Their times of occurrence are set to 111.59. In the third iteration, the system selects and merges nodes (AY and BR) (111.59) and VY (112.08). In the fourth iteration, the difference between the times of occurrence of the nodes is sufficiently large (>1 s) so the algorithm terminates. Thus, the six-node group is represented by a three-layer DRM, as shown in Fig. 8b. This DRM represents the driving behaviour where the driver first slows down and then speeds up. It should be noted that this merge process selects only the two closest nodes to merge in one iteration. Fig. 10 shows another example of constructing a DRM. In the figure, the behaviour when a driver starts the host vehicle is shown. The driver first presses the brake followed by the throttle to increase the longitudinal speed of the vehicle. Fig. 10a shows the details of group 1 extracted from Fig. 6, and Fig. 10b shows the corresponding DRM after the merge process. In this case, only two nodes are merged because now the difference in the times of occurrence for each pair of nodes is sufficiently large. This DRM represents the driving behaviour where the driver begins driving. When the system constructs a DRM, each node and arc of the DRM will be assigned a corresponding weight to record information about the driving factors. As previously mentioned, the nodes and arcs of a DRM are related by three corresponding values, the time of occurrence, the duration time, and the maximum change magnitude. For example, the time of occurrence of the first node (TH) shown in Fig. 7 is 108.33, its duration time is 5.68 (=114.01–108.33), and its maximum change magnitude is 27.2. We now show how to integrate this data to calculate the weights of the nodes and arcs, respectively. Given a node n, let vn be the maximum change magnitude of the node, and dn be its duration time. The weight of node n is defined as
320
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
Fig. 10. Another DRM example. (a) Group 1 extracted from Fig. 6. (b) The corresponding DRM after merge process.
W node ðnÞ ¼ tanh
knode Sðv n Þ ; dn
ð5Þ
where knode indicates a parameter whose value depends on the driving factors which the node represented, node e {SA, TH, BR, AX, AY, VX, VY, PX, PY}. This means that different kinds of driving factors will be assigned different constants. A sigmoid function SðxÞ ¼ 2ð1 þ ekx Þ1 1 is used to transform the range of values of the driving factors into the range [1, 1], where k is a positive constant. From (5), we can observe that the weight is positive correlated with the maximum change magnitude and negative correlated with its duration time. On the other hand, let tn and tn0 indicate the times of occurrence of nodes n and n0 , respectively, the weight of the arc pointing from node n to n0 can be obtained as
W arc ðn; n0 Þ ¼ tanh
karc ; t n0 t n
ð6Þ
where karc is a constant. Since tn0 tn is always positive, the range of the tanh function is [0, 1]. If the times of occurrence of node n to n0 , tn and tn0 , are close, the weight of the corresponding arc will be close to 1. This means the two nodes have strong connection. Otherwise, the weight value of the arc will be close to 0 if tn and tn0 are far away. The method used to measure the similarity of two DRMs is a two-way fuzzy attributed map matching approach first proposed by Fang et al. (2010). The system divides the nodes of a DRM into several sets based on their time of occurrence. This means the nodes occurring at the same time (on the same layer) belong to the same set. These sets are then fuzzified into fuzzy sets. When the system measures the similarity of two DRMs, it considers not only the similarity of the nodes belonging to the sets currently compared, but also the similarity of the nodes belonging to their previous sets and their following sets. For example, if two fuzzy sets occurring at a certain time (t) are said to be ‘‘similar’’, it means that not only the nodes and arcs of the two fuzzy sets are similar, but also that the nodes and arcs of their previous sets (which occur at a time t 1) and their following sets (which occur at a time t + 1) should also be similar. Further details of this method can be found in Fang et al. (2010). In summary, each DRM represents a driving behaviour on level 3 of the hierarchical data level shown in Fig. 2. They are regarded as a macro-node of the DHGs and can link successive driving factors in a few seconds. We hope the DRMs can be regarded as fundamental elements used to construct DHGs and help represent the driving behaviour of drivers clearly. 2.3. Driving habit graph construction As mentioned earlier, a DHG consists of multiple DRMs. The DRMs can be considered the macro-nodes of the graph. The arcs of the DHGs indicate the probability of transformation from one DRM to another. For example, Fig. 11 shows a DHG containing two DRMs. These two DRMs correspond respectively to group 1 and group 2 shown in Fig. 6. The DRMs represent when the driver begins to drive (group 1) and then slows down and speeds up again (group 2). At this point, the probability
Fig. 11. A simple example of a driving style graph.
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
321
of the arc is set to 1 because the DHG building process has just started. If the macro-nodes and arcs are created and added into the DHG one by one, the DHG can be constructed iteratively. However, two problems remain and need to be solved here. The first problem is of combining two similar DRMs together. The second problem exists in updating the probabilities of the arcs. Merging two similar DRMs can reduce the number of nodes in the DHG, making it possible to construct compressed DHGs. Updating the probabilities of the arcs can allow the DHGs to better learn the driver’s driving style. 2.3.1. DRM integration Fig. 12 shows some driving behaviours recorded for the same driver at different times. Clearly, the three driving behaviours are very similar and can be used to construct three very similar DRMs. To construct a compressed DHG, these similar DRMs should be merged. To merge similar DRMs, it makes more sense to select one of the DRMs, rather than to integrate them by finding the average, or by some other method. This is because one DRM represents one specific recorded driving behaviour, whereas the averaged DRM may never actually occur. However, it is important that the DRM chosen should adequately represent all similar DRMs. Thus an integration algorithm, shown in Fig. 13, is used to integrate an input DRM. Given a DHG, let MIN be the new input DRM. Then, let M SB and M SC substitute, respectively, for the representative DRM and the alternate DRM stored in the macro-node S of the DHG. MSC can be considered a candidate for the representative DRM. In our system, each macro-node in a DHG should store two DRMs. Once a new DRM MIN is created and input into the system, the system will search for the most similar DRM from the DHG. 0 0 Suppose that the most similar typical DRM is stored in macro-node S0 , and is called M SB . If MIN and M SB are dissimilar, then a new new new macro-node S is created in the DHG and MIN is set as the representative DRM of that macro-node, M SB M IN . At the Snew S0 S0 same time, the vote of M B is set to 1. If MIN and M B are sufficiently similar and M C does not exist, the system will assign MIN 0 0 to be the alternate DRM, M SC M IN . Otherwise, if MIN and M SB are sufficiently similar, then the system calculates the votes of S0 S0 0 MC and M B of the macro-node S to decide which one is the representative DRM. The one that has more votes is considered the representative DRM of macro-node S0 , while the other is considered the alternate DRM. IN The Map-Integration algorithm is shown in Fig. 13, where MDIN the degree of similarity between maps B ðMDC Þ indicates 0 0 S0 S0 S0 S0 MIN and M B (MIN and M C ). Votes M C and Votes M B are the votes of maps M SC and M SB , respectively. T is a similarity threshold and Tmax_vote is an upper bound of votes for the alternate DRM to become the representative DRM. 2.3.2. Probabilities of the arcs In Fig. 11, the probability of the arc between two macro-nodes is initially set to 1. This implies that the second macronode will occur after the first. The probability of an arc indicates the probability that the driving behaviour will be trans-
Fig. 12. Similar driving behaviours recorded for the same driver.
322
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
Fig. 13. The algorithm to insert an input DRM into a DHG.
ferred from one macro-node to another. It can also describe the occurrence of a driving path and represent the driving style of the driver. Thus, the probabilities of arcs need to be updated dynamically while driving.Let P(Sx, Sj) represent the probability of the arc from macro-node Sx to Sj. If an arc from macro-node Sx to Sy occurs again, then the probability of this arc P(Sx, Sy), and the probabilities of all other arcs output from macro-node Sx, P(Sx, Si) Si – Sy, should be updated. The updated function is
8 PðSx ;Sj Þð1wÞþw P if Sj ¼ Sy > > > ð Si 2SPx PðSx ;Si ÞÞþPðSx ;Sj Þð1wÞþw > > > < Si –Sy PðSx ;Sj Þ P0 ðSx ; Sj Þ ¼ P if Sj 2 SPx and Sj –Sy ; > PðSx ;Si ÞÞþPðSx ;Sy Þð1wÞþw ð > Si 2SP > x > S –Sy > i > : 0 otherwise
ð7Þ
where SPx is the set of macro-nodes that are directly linked by the arcs leaving macro-node Sx, and w is a weight defined by a trial-and-error approach (w = 0.2 in our experiments). The purpose of the function is to increase the probability of an arc if it is the same as the current arc. Note that the update function not only considers the previous probability value of the arcs, but also normalizes all the probabilities of the arcs which leave from macro-node Sx.
Fig. 14. An example of updating the probabilities of the arcs.
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
323
Fig. 14 shows an example of updating the probabilities of the arcs. Let w = 0.2 and set the probability of the arc from S2 to S3 as one, i.e. P(S3, S2) = 1, as shown in Fig. 14a. Once the new macro-node S4 is created after S3, the number of arcs leaving S3 (the degree of S3) increases and the probabilities of all arcs leaving S3 should be updated. The probability of the arc from macro-node S3 to S4 can be calculated using Eq. (5).
P0 ðS3 ; S4 Þ ¼ P
i2SP S3 Si –S4
w 0:2 ¼ 0:167: ¼ PðS3 ; Si Þ þ w 1 þ 0:2
Moreover, the probability of the arc from S3 to S2 can be also updated using Eq. (5).
P0 ðS3 ; S2 Þ ¼ P
PðS3 ; S2 Þ 1 ¼ 0:833: ¼ PðS3 ; Si Þ þ w 1 þ 0:2
i2SP S3 Si –S4
The final result is shown in Fig. 14b. Using Eq. (7), the system can create new macro-nodes and update the probabilities of arcs one by one.
3. Experimental results In this study, driving data were collected using a driving simulator developed by the Institute of Transportation, Ministry of Transportation and Communications, ROC. Fig. 15 shows pictures of this driving simulator. The simulator contains a fullsized vehicle body, with six-axis movement (Fig. 15a) and 135-degree visual displays (Fig. 15b). Moreover, three small visual screens are integrated in the three rear-view mirrors of the vehicle, which show the appropriate images. The virtual reality road environment was developed Li (2005) using Visual Basic.NET, EON Studio, and Google SketchUp. Part of the configuration of the experimental environment is show in Fig. 16a (Lin, 2010). It is a two-way mixed-traffic-flow road containing 11 intersections and 6 lanes. The length of the road is 7.6 km. This road environment is based on some sections of Sinyi road, in Taipei city, Taiwan. The starting point is shown in Fig. 16b. The experiment environment is set in daytime. All the traffic lights at the road intersections are set to green. In the experiment, the test subjects are asked to obey the speed limit of 50 km/h in urban areas and to drive in the middle lane as much as possible. The experiment is designed to record the subjects’ driving behaviour when they encounter an overtaking situation. We ask the subjects to drive the host vehicle in the middle lane and to wait for the system to create an overtaking vehicle, which will attempt to overtake the host vehicle as per Fig. 17. In this situation, the driver has a few choices. For example, they can slow down and change lanes to give way to the overtaking vehicle, or they can speed up to overtake the overtaking vehicle. The subjects encounter 7–10 overtaking events during the experiment, and from the repetition we can observe they have the
(a) The vehicle
(c) the left rear-view mirror
(b) The view in from of the vehicle
(d) the centre rear-view mirror Fig. 15. The driving simulator.
(e) the right rear-view mirror
324
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
Fig. 16. (a) Part of the road environment for the experiment (Lin, 2010). (b) The starting point (Lin, 2010).
Host vehicle
Other vehicle
Fig. 17. The driving event that occurs in the experiment.
Table 2 The time schedule of the experiment for each driver. Items
Time (min)
Driving simulator introduction Driving simulator practice Formal experiments
5 5 25
Total time
35
same behaviours or not. Different overtaking vehicles take part in these overtaking events, but their behaviour is similar, with small variations due to random values inserted in the vehicle control parameters. In this experiment, the aim is to observe whether drivers show similar driving behaviours in similar situations. Twenty-seven test subjects participated in the experiment. The time schedule for the experiment is shown in Table 2, which took 35 min for each driver. The test subjects were first given an introduction to the driving simulator and allowed to practice on the driving simulator for about 5 min. Next, they took part in the main experiment by driving twice on the simulated sections of Sinyi road in Taipei city, Taiwan. The subjects had never driven on the simulator before. The first driving process was considered a practice to allow them to become accustomed to the simulator, and as such could not be used to represent the normal driving habit of the driver. The DHGs shown in this paper are all obtained from the second driving process of the experiments. Fig. 18 shows the driving behaviours and their corresponding DRMs for the driver D1. The driving behaviours are shown above their corresponding DRMs. The driving time for D1 was about 9 min and 18 s. He started the vehicle, adjusted vehicle
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
(a) D1M1: starting the vehicle
(b) D1M2: first overtaking vehicle encountered
(c) D1M3: adjusting the vehicle speed
(d) D1M4: second overtaking vehicle encountered
(e) D1M5: adjusting the vehicle speed
(f) D1M6: third overtaking vehicle encountered
Fig. 18. The driving behaviours and their corresponding DRMs of driver D1. The driving behaviours are shown above the corresponding DRMs.
325
326
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
(g) D1M7: adjusting the vehicle speed
(h) D1M8: adjusting the vehicle speed
(i) D1M9: fourth overtaking vehicle encountered
(j) D1M10: adjusting the vehicle speed
(k) D1M11: adjusting the vehicle speed
(l) D1M12: adjusting the vehicle speed
(m) D1M13: fifth overtaking vehicle encountered
(n) D1M14: adjusting the vehicle speed
Fig. 18. (continued)
speed, encountered several overtaking vehicles, and then stopped the vehicle. Fig. 18 shows that this driving time was divided into 19 driving behaviours (or DRMs). Some DRMs are very similar to each other, for example, (D1M2, D1M4, and D1M13) or (D1M3, D1M5, D1M7, D1M10, D1M11, D1M12, D1M14, and D1M16), allowing them to be merged by the Map-Integration
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
(o) D1M15: sixth overtaking vehicle encountered
327
(p) D1M16: adjusting the vehicle speed
(q) D1M17: seventh overtaking vehicle encountered
(r) D1M18: adjusting the vehicle speed
(s) D1M19: stopping the vehicle Fig. 18. (continued)
algorithm. Moreover, note that D1M15 and D1M13 are similar and they are merged into node D1G2 as shown in Fig. 19. Here D1M13 is the representative DRM, while D1M15 is the alternate one. Fig. 19 shows the final DHG, which contains 9 macronodes and 12 arcs, constructed from the merged DRMs. Fig. 19 also shows that when driver D1 encounters the overtaking vehicles, his reactions result in the creation of five macro-nodes D1G2, D1G4, D1G6, D1G7, and D1G9. All these macro-nodes contain BR nodes, which represent the degree of brake actuation. Thus, the DHG shows that when D1 encounters overtaking vehicles, he often brakes to slow down. Figs. 20 and 21 show the DHGs of drivers D7 and D15, respectively. Their driving times were about 9 min, and they also started the vehicle, adjusted vehicle speed, encountered overtaking vehicles several times, and then stopped the vehicle. In contrast to Fig. 19, instead of BR nodes, more TH (the change of degree of throttle actuation occurring) and PX (the change of
328
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
Fig. 19. DHG of the driver D1.
Fig. 20. DHG of driver D7.
lateral position of vehicle occurring) nodes appear in the macro-nodes of Fig. 20. This shows that when this driver encountered overtaking vehicles, he preferred to use the throttle actuator and the steering wheel, not the brake actuator, to control the vehicle. From the detailed data shown in the macro-nodes, we conclude that when driver D7 encounters the overtaking vehicles, he usually reduces throttle and changes into the left lane. The DHG in Fig. 21 shows that when driver D15 encounters the overtaking vehicles, he often slows down by changing brake or throttle input and moves to the right lane. From Figs. 19–21, it is clear that different drivers will have different DHGs, and that DHGs can reveal their driving style.
4. Conclusions This paper presents the use of a driving habit graph (DHG) to model the driving styles of drivers. The DHG is built through a data abstraction process, from the bottom level up. The raw data are the driving factors input into the system, which are used to extract the nodes of the DRM. The arcs between these DRM nodes indicate the ordering according to time of occurrence for the nodes. Each DRM represents a specific driving behaviour and can be considered a macro-node of the DHG. The
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
329
Fig. 21. The DHG of driver D15.
arcs between the macro-nodes in the DHG represent the order of occurrence of the driving behaviours. Experiments show that the DHG can model the driving style of a driver effectively and that different DHGs represent different driving styles. Since the DHG can model driving styles, it may be used to predict the driving behaviour of a driver and estimate the degree of danger in oncoming driving situations (Wang et al., 2010). Moreover, classifying DHGs of different drivers can be used to classify drivers based on their driving style. This information will be useful for deciding the values of parameters in the design of future active driving safety assistance systems. In the future, we could also classify the drivers into different types, such as very cautious, cautious, normal, impatient, and very impatient, based on their individual DHG. We can apply suitable values of the parameters, such as the threshold to send a warning message to assist the driver. For example, if we suppose an assistance system has detected an overtaking vehicle passing the host vehicle from the right or left, the system could warn a very impatient driver, especially if their DHGs show that they always overtake other vehicles. On the other hand, this kind of warning message will not be needed for cautious drivers if they are shown to never overtake other vehicles. Acknowledgments This work was supported by the National Science Council, Republic of China, under Contract 99-2221-E-003-019-MY2 and NSC 100-2631-S-003-006. And the driving simulator was supported by Institute of Transportation, Ministry of Transportation and Communications, ROC. References Chang, C.Y., Chou, Y.R., 2009. Development of fuzzy-based bus rear-end collision warning thresholds using a driving simulator. IEEE Transactions on Intelligent Transportation Systems 10 (2), 360–365. Fang, C. Y., Wu, P.Y., Wang, J.M., Chen, S.W., 2010. Dangerous driving event prediction on expressways using fuzzy attributed map matching. In: International Conference on Machine Learning and Cybernetics (ICMLC), Qingdao, China, pp. 2718–2723. Li, C.L., 2005. A Driving Simulator Development to Apply to a Driver-Behavior Research, Master Thesis. Department of Mechanical Engineering, National Central University. Lin, C.Y., 2010. IOT DS Instruction Manual, Technique Report. Institute of Transportation, Ministry of Transportation and Communications, ROC. Lindgren, A., Angelelli, A., Mendoza, P.A., Chen, F., 2009. Driver behaviour when using an integrated advisory warning display for advanced driver assistance systems. IET on Intelligent Transport Systems 3 (4), 390–399. Oliver, N., Pentland, A.P., 2000. Graphical models for driver behavior recognition in a smart car. In: IEEE Proceedings of Symposium on Intelligent Vehicles, Dearborn, Michigan, USA, pp. 7–12. Papada, D., Jablokow, K.W., 2011. Conceptual design of a driving habit recognition framework. In: 2011 IEEE Symposium on Computational Intelligence in Vehicles and Transportation Systems (CIVTS), Paris, France, pp. 59–66. Pauwelussen, J., Feenstra, P.J., 2010. Driver behavior analysis during ACC activation and deactivation in a real traffic environment. IEEE Transactions on Intelligent Transportation Systems 11 (2), 329–338. Riener, A., 2012. Subliminal persuasion and its potential for driver behavior adaptation. IEEE Transactions on Intelligent Transportation Systems 13 (1), 71– 80. Sekizawa, S., Inagaki, S., Suzuki, T., Hayakawa, S., Tsuchida, N., Tsuda, T., Fujinami, H., 2007. Modeling and recognition of driving behavior based on stochastic switched ARX model. IEEE Transactions on Intelligent Transportation Systems 8 (4), 593–606. Toledo, T., Koutsopoulos, H.N., Ben-Akiva, M., 2007. Integrated driving behavior modeling. Transportation Research Part C 15, 96–112.
330
S.-W. Chen et al. / Transportation Research Part C 26 (2013) 314–330
Toledo, T., Koutsopoulos, H.N., Ben-Akiva, M., 2009. Estimation of an integrated driving behavior model. Transportation Research Part C 17, 365–380. Uang, S.T., Hwang, S.L., 2003. Effects on driving behavior of congestion information and of scale of in-vehicle navigation systems. Transportation Research Part C 11, 423–438. Wang, J., Zhu, S., Gong, Y., 2010. Driving safety monitoring using semisupervised learning on time series data. IEEE Transactions on Intelligent Transportation Systems 11 (3), 728–737. Wang, W., Zhang, W., Guo, H., Bubb, H., Ikeuchi, K., 2011. A safety-based approaching behavioural model with various driving characteristics. Transportation Research Part C 19, 1202–1214. Zhang, Y., Lin, W.C., Chin, Y.K.S., 2010. A pattern-recognition approach for driving skill characterization. IEEE Transactions on Intelligent Transportation Systems 11 (4), 905–916.