Perceiving the location of dangerous moving vehicles and broadcasting this information to vehicles nearby are essential to achieve active safety in the Internet of Vehicles (IOV). To address this issue, we implement a real-time high-precision lane-level danger region service for moving vehicles. A traditional service depends on static geofencing and fails to deal with dynamic vehicles. To overcome this defect, we devised a new type of IOV service that manages to track dangerous moving vehicles in real time and recognize their danger regions quickly and accurately. Next, we designed algorithms to distinguish the vehicles in danger regions and broadcast the information to these vehicles. Our system can simultaneously manipulate a mass of danger regions for various dangerous vehicles and broadcast this information to surrounding vehicles at a large scale. This new system was tested in Shanghai, Guangzhou, Wuhan, and other cities; the data analysis is presented in this paper as well.

1. Introduction

For the Internet of Vehicles (IOV), vehicle active safety services have become one of the most vital research directions. Active safety focuses on the following two stages, the accident avoidance stage during vehicle crashes [1] and dynamic danger control stage under common driving conditions [2]. The former depends on active safety technologies, such as Dedicated Short Range Communications (DSRC). Traffic data indicates that the probability of vehicle accidents can be cut by more than 80% by deploying onboard navigation systems with dynamic danger control. Thus, danger control should occur before a crash happens; the most important situation therefore is the dynamic danger control stage. This stage could rely on a location service provided by the IOV to cooperating vehicles, meaning that the IOV collects driving status information about dangerous vehicles and transmits this information to surrounding vehicles. In this paper, we address the topic of dynamic danger control.

Up till now, it has only been possible to send static danger information (the location of static dangerous vehicles) successfully [1, 3], making dynamic danger control an elusive research goal. In China, more than 60% of traffic accidents are related to high-priority vehicles (i.e., passenger vehicles) and high-danger vehicles (i.e., heavy goods vehicles) as Figure 1 shows. We term these two vehicles types as dynamic danger targets.

Thus, our motivation is to effectively control danger by developing in our service the capacity to quickly detect threats stemming from dynamic danger targets’ moving statuses, share this information with surrounding vehicles or pedestrians, and guide them safely around the danger targets. The proposed system only monitors dynamic danger targets’ moving statuses. Given the large number of vehicles, in order to prevent the IOV from detecting and sharing locational information for all vehicles, we only focus on a limited number of dynamic danger targets. In this way, all users can receive warnings about latent dangers around them while lessening the pressure on the IOV.

Our proposed system efficiently deals with the following two traffic safety situations. When a high-danger target (e.g., dangerous chemical transportation vehicles) appears in front of passenger vehicles, a warning can be sent to nearby drivers. This kind of warning signal can be used to decrease the accident risk in certain situations, such as during long-distance/night driving with low visibility or in relation to hidden dangers. (2) When a high-priority vehicle (i.e., school bus) is in front of a driver, a warning signal will be sent to decrease the risk of traffic accidents.

Sharing safety information about dynamic danger targets with surrounding vehicles requires the precise location of those dynamic danger targets. Thanks to the rapid development of GNSS, it is possible to get precise location at present. We realize lane-level positioning based on BeiDou-Xihe system [4] and Cooperative Real-Time Precise Positioning (CRPP) technology and explain this process in Section 3. In Sections 46, we build a model of the region around dynamic danger targets for real-time concurrent control of the danger region by sharing information cooperatively with vehicles in the immediate region.

The contributions of this work are summarized as follows:(1)We realize CRPP by means of a lane-level terminal device, and with inexpensive MEMs sensors, we can monitor the locations of multiple dynamic danger targets.(2)We propose an IOV active safety model for dynamic danger targets; the implementation structure and active cooperation algorithms for the modeling process are detailed in this paper.(3)Our proposed system was tested in Shanghai, Guangzhou, Wuhan, and other cities. Test results show that the IOV model for 71,178 dynamic danger targets was verified for the Guangzhou province IOV system.

Danger control based on the data from GPS has become one of the most vital applications of GPS. Reference [5] proposes a road safety alerting system with radar and GPS cooperation. Reference [6] designs an improved fast simultaneous localization and mapping system based on distributed structure for autonomous robot navigation. Reference [7] provides an up-to-date overview of emerging state-of-the-art automotive sensor technologies related to danger control which can work as a guideline for the study on the danger control and sensor selection. However, these techniques achieve road-level positioning rather than lane-level positioning with standard GPS. To achieve lane-level positioning, the precision of GPS must be improved.

At present, there has been much research on lane-level positioning and perception of vehicles’ moving states. Reference [8] proposes a high-precision-based vehicle network location service to achieve lane-level positioning. Reference [9] introduces the Beidou navigation network that provides preliminary positioning and navigation functions. Reference [10] uses L1 and L2 raw observations and estimates atmospheric delays to achieve high-precision positioning with atmospheric corrections derived from the reference stations. Reference [11] introduces a 3D multisensor integrated navigation system that achieves accurate estimation of inertial sensor errors (biases). This work suggests that it is technically feasible to achieve high-precision positioning and perceive vehicles’ moving states through sensors. Additionally, however, we also need a technology to realize the cooperation between vehicles for a successful warning system.

Dynamic danger targets query of related objects can build on the Continuous k-Nearest Neighbor (CkNN) approach. Reference [12] puts forward Euclidean restriction to efficiently get candidate item sets and used Euclidean range query to get the final results. In this way, the performance problem resulting from the extension of road networks is avoided. References [13, 14] propose a continuous query processing framework based on multithreading to periodically calculate the query result and divides the whole process into two parts, offline precomputation and online CkNN query; thus query efficiency was improved by the parallel execution of multithreading processing framework. Considering the relative movements between moving objects and query nodes, [15, 16] come up with query pruning and refining algorithms to reduce the cost of repeated queries and communication. However, CkNN query just involves k-nearest moving objects in road networks but fails to consider the complicated traffic scenes and security semantics of active safety. For instance, moving objects that drive in the same direction with danger targets require more urgent warnings than those driving in the opposite direction.

3. Perceiving Lane-Level Position of Dangerous Vehicles with CRPP

3.1. Lane-Level High-Precision Positioning Service

Nowadays, GNSS is widely used for positioning. However, due to errors caused by disturbances in the satellite orbits, satellite clocks, and the atmosphere, GNSS positioning precision is typically about 10~20 m, which fails to realize accurate positioning. To improve the precision, our system applies Wide-Area Real-Time Precise Positioning GNSS (WRPP-GNSS). This approach takes full advantage of satellite observation data from GNSS services and satellite reference stations to model the main positioning errors, sends correction messages for each error source to terminal users, and thus helps positioning terminals enhance location precision.

Our system is capable of providing lane-level positioning of danger targets and ascertaining their danger regions by our algorithms. Then this system broadcasts warning messages to surrounding vehicles of danger targets, which belong to danger regions.

Figure 2 shows the framework of our proposed system. It involves three procedures: get location information provided by GPS/Beidou satellites, (2) make service center collect correction messages which came from WRPP-GNSS (Wide-Area Real-Time Precise Positioning GNSS) and reference stations throughout the world, especially stations located in China, and (3) combine these two kinds of information together at danger target terminals and terminals automatically broadcast the precise location information to nearby vehicles.

3.2. Lane-Level Map Service

Based on lane-level positioning, our system achieves a lane-level map service (Figure 3) to offer lane-level geographic information about dangerous road sections. Compared with traditional maps, our map provides accurate location for each lane on a road, including the location of the lane lines and road signs. In this way, we can perceive the exact lane where the danger target is located in real time, and this is the foundation for the rest of our work.

3.3. Experiment

To test how well this positioning service might work, we conducted an experiment in several cities and chose three representative situations to show our test results. Results seen in Figure 4 present two different tracks which comprise red dots and blue dots. These dots stand for the vehicles instantaneous position. Red dots are the positioning results from ordinary GPS, and the blue dots are from WRPP-GNSS. These two tracks are the vehicle moving tracks as recorded by these two different service systems. We find that blue dots are much denser than red dots; the blue track in Figure 4 is much more precise than the red track. Thus, we conclude that our WRPP-GNSS positioning service can precisely perceive vehicle movements in different situations, such as turning, lane changing, and entering waiting zones.

We must achieve lane-level positioning of danger targets to provide precise warnings to vehicles nearby and reduce the processing demand on the IOV. As the statistics of introduction section suggests, it is much more likely for danger targets to have accidents than any other vehicles. Using the lane positioning of a danger target, for instance, a school bus, we can send warnings to vehicles nearby the bus, which in turn cuts down the risk of accidents. Considering the high cost of each precise positioning vehicle terminal as well as the massive number of vehicles in the IOV, it would be prohibitively expensive to equip every vehicle with terminals. Moreover, processing the data from all these vehicles would overwhelm the Internet. Hence, we just equip the limited number of high-priority and high-danger targets and then share warnings with surrounding vehicles. In this way, not only do we reduce the cost, but also we lessen the pressure on the IOV.

4. Figuring out Danger Regions of Dangerous Vehicles

A danger region for vehicles is the region where danger targets are prone to cause accidents. Based on danger regions, we can sort the objects located in this region and push warnings to them. A simple way to define a danger region is to draw a circle around the danger target; however, without considering the road site, this way may push information to vehicles located inside but on a nonadjacent road. Therefore, it is of immense value to define danger region in a more rational way.

4.1. Basic Definitions

Definition 1 (road network). It is defined as an undirected weighted graph , where is the set of all edges and is the set of all nodes (vertexes of edges) in the road network.

Definition 2 (edge). Each nonintersecting road in the road network can be defined as , , where represents the number of the road in the road network, is the start node, is the end node of the road, denotes the road length, and denotes the permitted highest velocity.

Definition 3 (related moving object). Related moving object (object) refers to the receiver vehicles of traffic security information in a road network. is the number of objects in a road network, is the number of the edge where it lies, is the absolute distance between the object and the start node of the edge, is positive when the vehicle travels from the start node to end node, and is the set of all objects in a road network.

Definition 4 (security event). It is a collection of various security events, ; denotes the number of security events, is the distance between the target and start node of the edge where it lies, represents the current speed (it is positive when the target travels from the start node to end node), means the current security state of the target, and is the concrete description of security event.

Definition 5 (dynamic danger target). Dynamic danger target (target) is a vehicle moving on a road network and sends the warning signal to related moving objects. is its number in the road network, denotes the edge where it lies, is the security event it brings about, and is the set of all dynamic danger targets in a road network.

4.2. Security Distance Definition

Definition 6 (security distance). Suppose that, at time , the dynamic danger target and related moving object are moving at the speed and , respectively, in a road network. If they can meet during time interval , we define the distance between and as their security distance; that is, . If not, let the security distance .

Scene 1 . and are on the same edge . Suppose that , which means the danger target moves from the ending node to the beginning node . Due to the various speeds and locations of and , Scene 1 can be divided into the four situations about the move relation of target and objects ~, just as Figure 5(a) shows. There are three situations where and move towards the same direction, so it is possible for to meet during time interval ; thus, the security distance is . There is one situation where and move in opposite directions; and will not meet each other during time interval so the security distance is .

Scene 2 . This means that there is at least one common node between the edge that danger target located and the edge that moving object located. Scene 2 has four different moving patterns; they are (i) and , (ii) and , (iii) and , and (iv) and ; and these objects’ locations and moving directions are shown in Figure 5(b). Regarding (i), (ii), and (iii), during the time interval , they may meet each other. So we get security distance . In the fourth situation, will not meet ; thus .

Scene 3 . As shown in Figure 5(b), there are not any common nodes between edge where lies and edge where lies. So the security distance is .

4.3. Danger Region Definition

Definition 7 (danger region). We start with each ; define a danger region along with road networks to ensure the security distance between and each moving object outside is more than the distance threshold (); the security distance between and each moving object inside is less than the distance threshold (); additionally, .

4.4. The Danger Region Computing Process

In a real system, in order to simplify the computation and management of the IOV when computing danger regions, we grid the road networks to transform the calculation of the distance between two points into a calculation of the distance between two cells.

Definition 8 (edge cell). When a certain cell only maps to one edge of , this cell is an edge cell of and we define the edge cell as , where and are its coordinates, is the edge where it is located, and and are the two intersections of and the edge cell. When a cell maps to more than one edge, it is regarded as an edge cell of all these edges. For instance, a grid includes three edges, , , and , and is divided into three edge cells, , , and .

After defining the edge cell, we compute the danger regions for each danger target. However, to explain this computation process clearly, we first consider the situation without gridded road networks. For example, Figure 6 shows a simple road network; the danger target lies on the edge . Suppose the distance threshold is , and we set , , and . Although , we need not calculate the following two edges, and , because they do not have any common nodes with edge , so we stop at node . Thus, the danger region of is the black area in Figure 6. According to this process, we reach the conclusion that the danger region is limited in the adjacent edges, and any locations in this region are less than from the danger target, .

Now, we consider the computation of danger region with the gridded road network. Instead of finding the adjacent edges, we need to find the adjacent edge cells; instead of computing the distance of two points, we need to compute the distance of two edge cells. As seen in Figure 6, the gray edge cells are the danger region of .

In the model implementation, the danger regions of moving danger targets only depend on road network and distance threshold . So the computation of can be preprocessed in order to provide indexing for the following query. When the data is initialized, we set the edge cell where danger target is located as ; the computation process for is described by Algorithm 1.

Input: , , // is the edge cell for computation
    (1) FOR IN DO
    (2) IF
    (3) // To get the mapping edge cell set of :
    (5) FOR IN DO
   // Computing the distance
    (11) IF () DO
    (12) Put into
    (13) END IF
    (14) END FOR
    (15) END IF
    (16) END FOR
    (17) RETURN

In Algorithm 1, the edge has common nodes with the edge where is located and transfers into the mapping edge cells set . Then it calculates the distances between and each cell of ; if the distance is less than , the cell will be put into . In Algorithm 1, the edge length is set as , the grid cell length is , the number of edges is , and the number of edges next to the edge where the current edge cell locates is ; therefore the time complexity of Algorithm 1 is .

For each danger target , the larger the is, the wider the pushing regions are. During the initializing phase, we compute corresponding when is , , and in advance; thus, in the implementation, we just need to change ; the higher is the larger is. We store the mapping table of edge cells and danger areas in with B+ tree to build indexing as the right side of Figure 6 suggests.

5. Warning the Surrounding Vehicles and System Implementation

In practical applications, danger targets are always moving on a road network. As a consequence, danger regions are changing all the time. We calculate more than one danger region on a road network.

5.1. Dynamic Danger Region Definition

Definition 9 (dynamic danger region). For every edge cell the danger target goes through within a certain time , we calculate its danger regions and work out the union set of these regions; the dynamic danger regions depend on magnitude and direction of the velocities of danger targets as well as the time period .

In order to manage dynamic danger regions, we need to query more than one dynamic danger target in real time and push the corresponding information to the related moving objects in road networks. The whole management process can be divided into two parts, the query phase and pushing phase, as in Figure 7. We applied the MapReduce computing framework in the system. In the map phase, we allocated a computing node for every danger target to execute the query phase, get their dynamic danger regions based on their moving location and the preprocessed mapping table of edge cells and danger regions then filter out the moving objects that do not meet the pushing conditions from the current dynamic danger regions, and obtain the moving objects set that needs to be pushed with information. Through the execution of query phase, we get several key-value pairs . The reduce phase matches the pushing phase in the algorithm, where are sorted to achieve prioritized pushing. The whole process is presented in Algorithm 2.

Input: , ,
Output: No
   (1) Map stage
   (2) FOR IN DO
   (3) // Acquire the dynamic danger region () of current query object
(6) FOR IN
   (8) Insert into
   (9) END FOR
   (10) END FOR
   (11) Reduce Stage
   (13) FOR IN
   (14) FOR IN DO
     // Send safety information to nearby vehicles
   (16) END FOR
   (17) END FOR

We focused on how to ensure the moving objects are set for each danger target in the map phase. The following two sections detail two subalgorithms of the map phase: getDynamicDangerRegion( ) and objectFilter( ).

5.2. Dynamic Danger Region Computation in Real Time

The main aim of query phase is to express the dynamic danger regions during the time period in the sets of edge cells. The concrete steps are seen in Algorithm 3. First, calculate moving range of the danger target in based on the magnitude and direction of velocity of , transfer the moving range into the set of edge cells, and then, for edge cells of the set, search out their own edge cells sets of danger regions by indexing the mapping table; next filter out the edge cells that do not have any common nodes with the edge where locates at time ; thus the result is dynamic danger region of during the time period . In Algorithm 3, the edge length is set as , the grid cell length is , the number of edges is , and the number of adjacent edges to the edge where the current edge cell is located is ; therefore, the time complexity of rows (4)~(17) is and for rows (18)~(27) it is .

Input: , , ,
   (1) // Initialize , is the edge cell set of these edges that goes by during
   (3) // Compute moving region during
   (5) // Compute
   (6) FOR IN DO
   (7) IF
   (8) // Get   ‘s  
   (10)  FOR IN DO
   (11)   IF
   (12)  Insert into
   (13)  END IF
   (14)  END FOR
   (15)  END IF
   (16)  END FOR
   (18)  FOR IN DO
   (20)  FOR IN DO
   (21)   IF
   (23)  Insert into
   (24)  END IF
   (25)  END FOR
   (26)  END FOR
5.3. Filter out the Information Pushing Objects from the Dynamic Danger Region

The filter algorithm has two major functions. The first one is to find out the moving objects that locate in those edge cells returned from Algorithm 3. The second function prevents pushing traffic information too frequently towards the related objects around the target .

5.4. System Implementation

In this paper, active cooperation and information pushing methods for dynamic danger targets were used as plug-in software on the IOV real-time monitoring platform. An experimental deployment was conducted on the traffic management platform in Zhongshan, Guangdong. This platform supplies the latest data for road networks and was the data source for the index. This platform was accessed through the monitoring terminal or the moving objects, so we can collect the locations of vehicles at any time. Based on this, our algorithm is able to update the location of danger targets and the mapping relationship between edge cells and moving objects. After the query phase, our algorithm sends the set of pushing objects to the platform so that the platform can communicate with corresponding vehicles. The system architecture and the running interface are shown in Figure 8.

6. Experiments and Simulation

6.1. System Data, Experiments, and Analysis

The traffic management platform in Zhongshan, Guangdong, provides us with a counterpart node. Based on this counterpart, we carried out a series of experiments to estimate the accuracy and efficiency of the whole active safety service. The targets of the experiments are 71178 vehicles that have accessed to this system; the types of vehicles are shown in Figure 9. We made simulation tests once for 300 dynamic danger targets among these vehicles, gridded the road network according to various edge lengths, and computed the index of danger region for each edge cell based on the model presented in Section 4. When security levels were high, medium, and low, the scales of danger region were 500 m, 800 m, and 1000 m, respectively.

6.1.1. Accuracy Analysis

Active safety warning depends on the accuracy of the selection of related objects highly associated with the layout of road networks and the relationship among dynamic targets. We define the accuracy of active safety warning as follows:where is the number of related objects that are returned from system query of danger targets before the road network gridded and is the number of related objects returned from system query of danger targets after the road network gridded. In order to examine the impact of the accuracy of system query result with road network gridded, we chose the peak hour in Zhongshan, from 8:00 am to 9:00 am, taking 600 times queries for the danger targets at the rate of 1/6 times per second.

Figure 10 shows us that when the warning time is 30 s, 150 s, and 210 s, the system accuracy varies with different lengths for edge cells. We can learn from the result that no matter how long the length of an edge cell is the system accuracy can be kept above 80%. When the length is 50 meters, we get the most accurate output. As the length of an edge cell increases, there will be more mixing of objects and vehicles in an edge cell leading to a decline of system accuracy. Another thing we can learn from Figure 10 is the fact that, with the increase in the warning time, accuracy decreases. Just as Figure 10 shows, when the warning time is 210 seconds, there is no significant difference in system accuracy with various lengths of edge cells. In addition, when warning time is short, the accuracy is influenced so much that the error limit becomes quite obvious. When the warning time is long, the accuracy remains stable. The reason for this phenomenon is the fact that the shorter the warning time is the smaller the dynamic danger regions are, so the related objects are much fewer and the change in accuracy is more evident.

6.1.2. Efficiency Analysis

Extending the range of edge cell helps to enhance the query efficiency of related vehicle objects surrounding dynamic danger targets so as to meet the demand of response time of active safety location-based services for vehicles’ normal driving phases. We made a simulation experiment in Zhongshan during the peak period, 8:00-9:00, and test the danger targets 1/6 times per second.

Figure 11 shows that when the length of edge cell changes, different warning times impact the time for system queries and the number of related objects returned. We find that as warning time increases more time is spent by the system to complete the analysis and computation of 300 dynamic danger regions, while more related objects are returned from the computation. Comparing 50 m, 125 m, and 250 m edge cells, the query time is the shortest when the length of edge cell is 50 m. This is because a shorter edge cell length means the road network is divided into more small cells. Though the system uses MapReduce framework in the parallel calculation of each dynamic danger targets, since there are more edge cells, more data is required to pass to each single computing unit, thus contributing to a longer system query time. When the length of edge cell is longer, the system query time does not increase with the warning time. At the same time, it is easily observed that as for different lengths of edge cells the number of related objects returned from the system query makes no significant difference. We can properly select the relevant parameter in practice when these findings are combined with the analysis of warning accuracy described in Section 5.1.

6.1.3. Gridding Effect Analysis

Gridding is an important implement for our experiment; therefore it is necessary to analyze the effect of gridding. Figure 12 shows the system query time and the number of returned objects without gridding. The query time is little changed with different warning times. In comparison with Figure 11, the query time shown in Figure 12 is notably longer than the query time with gridding. Thus, it can be concluded that after gridding the network system query efficiency is significantly enhanced with little accuracy loss.

6.2. Simulation

In order to further extend our system to a larger IOV platform so that the active safety warning services can be provided for more vehicles, we carried out a numerical simulation on the extended capabilities of the system. The simulation experiment was based on the single server and single node computation. The experimental environment included an Intel Xeon E3-1230 v2 CPU, 16 GB of memory, Linux Debian 3.13-1-amd64 system operation, and an ext4 file system as well as Java programming language. The NoSQL database used for storage was MongoDB. In this experiment, we constructed a road network consisting of 5521 nodes and 8980 edges and created a moving objects generator to produce dynamic targets and related objects. The velocity of both the dynamic targets and related objects was set at 40–140 km/h. As for the security level of dynamic targets, 10% of them were set to high, 20% were set to medium, and the rest were set to low.

The selection of parameters is essential under various road and traffic situations. Consider the following situation. A vehicle drives at 100 km/h on the highway; according to the “Specification for Layout of Highway Traffic Signs and Markings” [17], the advance exit sign and lane guide marking should be set three kilometers away form an interchange on the highway. It determined the warning time for the vehicle as 120 s. From Figures 10 and 11, we can see the 120 s warning time promises query time and system accuracy a sufficient level. Moreover, in Figure 11, the query time with a 100 m edge cell length is significantly less than that with 50 m cell length. In Figure 11, the system accuracy with 100 m cell length is higher than those with a 200 cell length. Based on above conclusions, we selected 100 m as the cell length in our experiment.

In the experiment, the length of edge cell was limited to 100 m and the warning time was set at 120 s. Figure 13 shows the simulated effects of different numbers of dynamic targets and related objects on the query time. We find that more query time is spent as the number of dynamic targets and related objects increases. However, with 800 dynamic targets and 200,000 related objects, the time for the system to update remains low, 2.5 s. Therefore, we conclude that the system is equipped with an appropriate extended capability.

7. Conclusions

This paper proposes an active safety model for the IOV, focusing on dynamic danger targets consisting of high-danger and high-priority-of-way vehicles. We elaborate a relevant modeling process, implementation structure, and active cooperation algorithm. We use these proposed solutions to monitor all kinds of dynamic danger targets in traffic and facilitate cooperation among surrounding related objects.

According to the results of verification and simulation experiments, our method can track and query dynamic danger targets on a large scale, providing active safety services for vehicles in dynamic danger regions. Relevant achievements were brought into the national BeiDou-Xihe research project.


Chi Guo is the first author.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.


The authors thank Professor Lou Yidong and postgraduate ChenXi for their help. This paper is supported by The National High Technology Research and Development Program (863 Program) major project (2013AA12A206, 2015AA124100), (2) The program of Introducing Talents of Discipline to Universities (B07037), and (3) National Natural Science Foundation of China research project: social network awareness and security cooperation technologies in location-based services (41104010).