(Translated by https://www.hiragana.jp/)
A Time-varying Shockwave Speed Model for Trajectory Reconstruction using Lagrangian and Eulerian Observations

HTML conversions sometimes display errors due to content that did not convert correctly from the source. This paper uses the following packages that are not yet supported by the HTML conversion tool. Feedback on these issues are not necessary; they are known and are being worked on.

  • failed: autobreak

Authors: achieve the best HTML results from your LaTeX submissions by following these best practices.

License: CC BY 4.0
arXiv:2402.00063v1 [eess.SY] 29 Jan 2024

[auid=000, orcid=0000-0001-8882-4327] \cormark[1]

[auid=001, orcid=0000-0003-4571-2530]

[auid=002, orcid=0000-0001-7462-4674]

a]organization=Institute for Transport Planning and Systems, ETH Zurich, city=Zurich, postcode=8093, country=Switzerland

\cortext

[1]Corresponding author

A Time-varying Shockwave Speed Model for Trajectory Reconstruction using Lagrangian and Eulerian Observations

Yifan Zhang yifan.zhang@ivt.baug.ethz.ch    Anastasios Kouvelas kouvelas@ethz.ch    Michail A. Makridis michail.makridis@ivt.baug.ethz.ch [
Abstract

Inference of detailed vehicle trajectories is crucial for applications such as traffic flow modeling, energy consumption estimation, and traffic flow optimization. Static sensors can provide only aggregated information, posing challenges in reconstructing individual vehicle trajectories. Shockwave theory is used to reproduce oscillations that occur between sensors. However, as the emerging of connected vehicles grows, probe data offers significant opportunities for more precise trajectory reconstruction. Existing methods rely on Eulerian observations (e.g., data from static sensors) and Lagrangian observations (e.g., data from probe vehicles) incorporating shockwave theory and car-following modeling. Despite these advancements, a prevalent issue lies in the static assignment of shockwave speed, which may not be able to reflect the traffic oscillations in a short time period caused by varying response times and vehicle dynamics. Moreover, energy consumption estimation is largely ignored. In response, this paper proposes a novel framework that integrates Eulerian and Lagrangian observations for trajectory reconstruction. The approach introduces a calibration algorithm for time-varying shockwave speed. The calibrated shockwave speed of the CV is then utilized for trajectory reconstruction of other non-connected vehicles based on shockwave theory. Additionaly, vehicle and driver dynamics are introduced to optimize the trajectory and estimate energy consumption. The proposed method is evaluated using real-world datasets, demonstrating superior performance in terms of trajectory accuracy, reproducing traffic oscillations, and estimating energy consumption.

keywords:
Shockwave Speed Calibration \sepTrajectory Reconstruction \sepFixed Sensor \sepConnected Vehicle \sepFundamental Diagram \sepEnergy Consumption
{highlights}

Integrate Lagrangian and Eulerian observations to reconstruct trajectories.

Calibrate time-varying short-term shockwave speeds using the two types of data.

Reconstruct trajectories for non-connected vehicles based on shockwave theory.

Optimize trajectories by adding vehicle dynamics for better energy estimation.

Evaluation on real-world datasets shows excellent performances from several aspects.

1 Introduction

Vehicle trajectory information with a high sampling frequency plays a key role in many domains, including but not limited to traffic flow modeling, energy consumption estimation, and traffic flow optimization (Daganzo, 1997; Zhang et al., 2022; Li et al., 2020; Guo et al., 2019; Fiori et al., 2019; He et al., 2020). Collecting such granular information requires either a dense network of roadside sensors or transmission of location data from every individual vehicles. However, both approaches are financially and laboriously burdensome and maybe even infeasible in practice. In light of these constraints, it is crucial but challenging to infer the complete set of trajectories given limited sensing data rather than observing all of them directly. Thus, accurate reconstruction of trajectories with a minimal amount of Lagrangian observations provides a clear and significant contribution toward mixed traffic conditions.

Some methods are tailored to reconstruct trajectories using fixed sensors, including loop detectors, video cameras, radars, etc., which are deployed at a fixed location on the roadside to detect passing vehicles. This type of sensing data typically provides the information at an aggregated level, such as vehicle counts, average speed, and instantaneous velocities of passing vehicles, which is known as Eulerian observation. The data can be adopted to analyze and optimize the traffic flow from macroscopic views (Kachroo et al., 2001; Wang et al., 2011), estimate travel time (Coifman, 2002), and reconstruct trajectory (Coifman, 2002; van Lint and van der Zijpp, 2003; Lint, 2010). The shockwave theory is usually applied to this type of data to infer vehicles’ trajectory, given that the traffic state along the shockwave is the same. Conventionally, the traffic state is assumed to propagate in the traffic flow at a fixed speed, referred to as the shockwave speed. Although the value of shockwave speed is constant on average over a long time period, the fact is that the traffic state may not propagate at the same speed in the short time period due to the existence of varying response times and vehicle dynamics (Makridis et al., 2020), leading to sub-optimal reconstructed trajectories.

With the deployment of connected vehicles (CVs), mobile sensing data from CVs that report location information through vehicular networks, termed Lagrangian observation, largely contributes to trajectory reconstruction. The collected trajectory data includes temporal and spatial data of these CVs, providing a rich information to analyze human driving behaviors (Makridis et al., 2023; Suarez et al., 2022; Wang et al., 2020), estimate fundamental diagram (FD) (Seo et al., 2019; Li et al., 2022), and reconstruct the trajectory of vehicles (Montanino and Punzo, 2015; Yao et al., ; Makridis and Kouvelas, 2023). The trajectory of the CVs can be enhanced with a high accuracy using the collected data through interpolation curves (Sun et al., ), particle filters (Wei et al., 2021), maximum likelihood estimation (Hao et al., 2014), etc. The trajectory of non-connected vehicles (NCVs) is inferred by essentially replicating the trajectory of CVs based on Newells model, when the shockwave/backward speed in the model is a constant value (Montanino and Punzo, 2015; Yao et al., ). However, such a manner may not be able to characterize realistic traffic scenarios, given the inherent variability in vehicle and driver dynamics, as previously discussed.

To overcome the above challenges of separately using Lagrangian or Eulerian observations, more attention is attracted to integrating both for reconstructing trajectories. Specifically, most of the methods (Deng et al., 2023; Chen et al., 2022a; Mehran et al., 2012) are developed by deriving some reference points or candidate trajectories using one type of data and then optimizing them using the other type of data. Although the performance has been largely improved by the above hybrid methods, the following issues still need to be addressed. (1) Prevalent models often adhere to a fixed shockwave speed (Chen et al., 2022a; Mehran et al., 2012), while in reality, it has been observed to vary (Sakhare et al., 2023; Lei et al., 2014). A constant value of shockwave speed implies that independently of the current traffic conditions or disturbances the propagation of oscillations follows a consistent pattern which is unrealistic (Makridis et al., 2020). (2) Efforts to optimize time-varying shockwave speeds, as seen in (Deng et al., 2023), encounter limitations when there are fewer than two vehicles affected by the same shockwave. (3) Reconstructed trajectories can capture traffic flow dynamics but they are still unreliable for energy consumption estimations where a realistic distribution of observed accelerations is essential (Apostolakis et al., 2023). (4) Calibration of car-following models for simulation will not be feasible when instantaneous vehicle dynamics are not realistic (Ciuffo et al., 2018; He et al., 2022; Zheng et al., 2023).

To this end, we design a new hybrid method based on the trajectories of a limited number of CVs and the instantaneous speed of vehicles collected by a loop detector. Specifically, to address the issues associated with fixed shockwave speed, we propose an innovative algorithm to calibrate the time-varying shockwave speed using Lagrangian and Eulerian observations. Given the calibrated shockwave speed, we develop an algorithm to reconstruct the reference points for NCVs. Moreover, to fill the gap in energy consumption estimation, we apply a vehicle movement model, that accounts for vehicle and driver dynamics, to optimize the reference points and generate the final trajectory of NCVs. In this paper, we mainly focus on highway scenarios without considering the disturbance of traffic signals and intersections. Our main contributions are summarized as follows.

  • We propose a new algorithm to calibrate the time-varying shockwave speed using the fixed sensor data and mobile sensor data. Specifically, our calibration algorithm is designed based on shockwave theory-compliant trajectory reconstruction methods. The algorithm aims to determine time-varying shockwave speed values that minimize the error between the reconstructed trajectory and the ground truth. We design and implement a Monte Carlo sampling-based method to achieve the aforementioned goal.

  • We then design a trajectory reconstruction method using the time-varying shockwave speed and the data collected by fixed sensors. Each CV is considered as a leading vehicle, and our objective is to reconstruct the trajectory of the following vehicle of the CV. We derive reference points for the following vehicle using the CV’s calibrated results according to shockwave theory. These reference points are further optimized to reconstruct the trajectory, which is achieved by applying the microsimulation free-flow acceleration model (MFC) to fulfill the constraint of vehicle and driver dynamics.

  • We evaluate and validate our method using real-world datasets. We compare with several baseline models in terms of time headway accuracy, speed accuracy, fuel consumption accuracy, CO22{}_{2}start_FLOATSUBSCRIPT 2 end_FLOATSUBSCRIPT emission accuracy, and the capability of reproducing traffic oscillations. The experiment results show that our method achieves better performance compared with other baseline models, especially in the case of a low CV penetration rate.

  • We further introduce the concept of a reconstructed spatial-temporal area to assess the contribution of CVs with different average speeds. Our findings reveal that a lower average speed can contribute more to reconstructing a larger spatial-temporal area. Moreover, we explore the relationship between the amount of required information for calibration and the average speed of the CV. The results show that the average speed does not affect the amount of required information.

The paper is organized as follows. In Section 2, we review the literature on trajectory reconstruction and shockwave speed estimation. We first clarify the background and formulate the problem in Section 3. We then present the basic shockwave theory-based method and our method for calibrating time-varying shockwave speed in Section 4. The reconstruction process, including deriving reference points and reconstructing trajectory, is elaborated on in Section 5. We then show the experiment results of our method compared with baseline models in Section 6. In Section 7, we further analyze the contribution of CVs in reconstructing trajectories and the amount of required information for calibrating time-varying shockwave speed. We finally conclude our paper and discuss the future work in Section 8.

2 Literature Review

Trajectory reconstruction has been studied for decades using different types of data and methods. The data from fixed sensors is largely used to reconstruct trajectories based on FIFO and shockwave theory. In recent years, the trajectory of some connected vehicles has also been widely applied to improve the reconstruction accuracy, which is regarded as the data from mobile sensors. In the rest of the section, we mainly review the literature about different trajectory reconstruction methods. Moreover, as most of the methods including ours are based on the shockwave theory, where the shockwave speed is one of the most important parameters, we also review the literature on shockwave speed estimation.

2.1 Trajectory Reconstruction

The method of trajectory reconstruction is mainly differentiated based on the type of data it leverages.

Fixed sensors like loop detectors are very common in modern cities but they provide flow and potentially speed measurements at specific locations. Given the arrival time and velocity of vehicles collected by a fixed loop detector, (Coifman, 2002) firstly proposed to reconstruct the trajectory using the shockwave theory. Specifically, the vehicle’s trajectory is reconstructed by concatenating the collected velocity of the following vehicles under the assumption that the velocity dissipates along the road at a shockwave speed. (van Lint and van der Zijpp, 2003; Lint, 2010) proposed to use data from multiple loop detectors. (van Lint and van der Zijpp, 2003) Compared with (Coifman, 2002), (van Lint and van der Zijpp, 2003) developed a method to calculate the linear velocity instead of applying the collected velocities as constant values to reconstruct the trajectories. (Lint, 2010) proposed filtered inverse speed-based (FISB) to construct a speed map for the reconstructed spatial-temporal space. The free flow and congestion are separately considered to estimate the speed of individual vehicles and further reconstruct trajectories.

The second type is the data from mobile sensors. Usually, this type of data is reported by the individual CVs. One of the objectives of using this type of data is to reconstruct the trajectory of CVs since the frequency of the reported data from CVs may be too low to get enough information. Thus, many probabilistic methods are proposed to improve the resolution of the trajectory (Hao et al., 2014; Wan et al., 2016; Wei et al., 2021). Moreover, trajectory reconstruction of NCVs is also one of the objectives. Usually, the historical trajectory of NCVs is reconstructed by replicating the trajectory of CVs using Newell-based models (Montanino and Punzo, 2015; Yao et al., ). Besides, a huge amount of effort is made to reconstruct the future trajectory of the vehicle with the machine learning techniques (Liu et al., 2021). In the rest of this paper, we mainly discuss reconstructing the fully sampled historical trajectory of NCVs.

The third one is to integrate the data from both fixed sensors and mobile sensors. More and more researchers focus on leveraging these two types of data to improve overall accuracy. Specifically, (Mehran et al., 2012) proposed a data fusion framework to reconstruct the trajectories at signalized intersections based on the kinematic wave theory and variational solution of (Daganzo, 2005a, b). The temporal-spatial space of the trajectory is represented as a cumulative surface in a three-dimensional space. The data collected by the loop detector is the height of the cumulative surface at the specific temporal-spatial point. The trajectory of the CV is interpreted as a contour on the surface of cumulative curves. The other trajectories can be reproduced based on the estimation of this surface. Based on (Mehran et al., 2012), (Chen et al., 2022b) designed a new framework, which classifies the temporal-spatial space into four regions and applies a Particle Filter-based fusion method to estimate the trajectory of vehicles at signalized intersections. (Rey et al., 2019; Deng et al., 2023) proposed to estimate the trajectory of vehicles on multi-lane roads based on the data from multiple loop detectors and CVs. A new variable of a vehicle’s order is defined to represent its cumulative flows at different times and locations. (Chen et al., 2022a) designed a new framework to integrate both micro and macro models. The macro models based on shockwave theory aim to generate the velocity contour map, which includes the reference velocity. The micro model produces several candidate trajectories according to the trajectory of CVs. The final trajectories are optimized using the velocity contour map and candidate trajectories. All of the above methods are implemented based on wave theory, where the shockwave speed is one of the most important parameters.

The main issue of the above methods is that the value of the shockwave speed is usually set as a constant value, which implies homogeneous vehicle and driver dynamics in the traffic flow. However, it is unrealistic according to the real-world observations (Makridis et al., 2020). Moreover, the reconstructed trajectory is derived through a mathematical formulation or connecting several reference points directly, which may not satisfy the vehicle dynamics and can not be used for estimating energy consumption.

2.2 Shockwave Speed Estimation

As mentioned above, shockwave speed estimation plays a key role in reconstructing individual vehicle trajectories. Shockwave speed is an important parameter in describing the traffic flow. Many researchers have proposed different methods to estimate the value of shockwave speed in actual traffic. (Seo et al., 2019) performs a linear regression between the flow and density for each pair of probe vehicles to estimate the shockwave speed. The final shockwave speed is the mean of all the regression results. (Mehran et al., 2012) estimates the shockwave speed using the maximum flow, jam density, and free flow speed, which is largely determined by the road infrastructure. (Anuar and Cetin, 2017; Deng et al., 2023) locate the inflection point in the congested state and calculate the shockwave speed for each shockwave. Although (Deng et al., 2023) estimate different shockwave speeds for different periods to reconstruct the trajectories, it requires the trajectory of at least two CVs in the same shockwave to estimate the shockwave speed, which largely limits the performance with a lower penetration rate of CVs.

In summary, the trajectory reconstruction based on shockwave theory using fixed sensor and mobile sensor data has been widely studied. However, the challenges, including estimating and applying dynamic shockwave speeds, still remain unsolved. Moreover, the evaluation of the reconstructed trajectory usually focuses on the accuracy of the trajectory and largely ignores the energy aspects.

3 Background and Problem Formulation

We mainly consider the two following types of data to reconstruct the trajectories. The first one contains the arrival time and instantaneous speed of vehicles, collected by a fixed sensor deployed at the start of a road segment. The second one includes the trajectory of CVs, which are distributed randomly in the traffic flow at a lower penetration rate. As shown in Fig. 1, the fixed sensor is deployed at the start point of the road, and the blue vehicles are CVs. The objective is to use the above data to reconstruct the trajectories of other vehicles, namely, the black ones in Fig. 1.

Denote tisubscript𝑡𝑖t_{i}italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT as the arrival time and instantaneous speed of ithsuperscript𝑖𝑡i^{th}italic_i start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT vehicle, respectively, which is collected by the fixed sensor at position x0subscript𝑥0x_{0}italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. Denote Πi={xiτ,τ[ti,T]}subscriptΠ𝑖superscriptsubscript𝑥𝑖𝜏𝜏subscript𝑡𝑖𝑇\Pi_{i}=\{x_{i}^{\tau},\tau\in[t_{i},T]\}roman_Π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = { italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT , italic_τ ∈ [ italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_T ] } as the trajectory of ithsuperscript𝑖𝑡i^{th}italic_i start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT vehicle, where xiτsuperscriptsubscript𝑥𝑖𝜏x_{i}^{\tau}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT is the longitudinal position of ithsuperscript𝑖𝑡i^{th}italic_i start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT vehicle at time τ𝜏\tauitalic_τ and T𝑇Titalic_T is the end time of the trajectory. Denote I𝐼Iitalic_I as the union of all vehicles and J𝐽Jitalic_J as the union of all CVs, where JI𝐽𝐼J\subset Iitalic_J ⊂ italic_I and |J|<|I|𝐽𝐼|J|<|I|| italic_J | < | italic_I |. The problem of reconstructing the unknown trajectories is formulated as Eq. 1.

Πi=f(ΠJ,tI,vI),whereiI&iJ.formulae-sequencesubscriptΠ𝑖𝑓subscriptΠ𝐽subscript𝑡𝐼subscript𝑣𝐼where𝑖𝐼𝑖𝐽\Pi_{i}=f(\Pi_{J},t_{I},v_{I}),\ \mathrm{where}\ i\in I\ \&\ i\notin J.roman_Π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_f ( roman_Π start_POSTSUBSCRIPT italic_J end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT ) , roman_where italic_i ∈ italic_I & italic_i ∉ italic_J . (1)

We aim to derive the function f()𝑓f(\cdot)italic_f ( ⋅ ) to reconstruct {Πi,iI&iJ}subscriptΠ𝑖𝑖𝐼𝑖𝐽\{\Pi_{i},i\in I\ \&\ i\notin J\}{ roman_Π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_i ∈ italic_I & italic_i ∉ italic_J } given ΠJ,tI,subscriptΠ𝐽subscript𝑡𝐼\Pi_{J},t_{I},roman_Π start_POSTSUBSCRIPT italic_J end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT , and vIsubscript𝑣𝐼v_{I}italic_v start_POSTSUBSCRIPT italic_I end_POSTSUBSCRIPT.

Refer to caption
Figure 1: Illustration of the loop detector’s information and connected vehicles’ information.

4 Time-varying Shockwave Speed

The shockwave theory is the basis for reconstructing trajectories using different sources of data. Current methods usually assume a constant value for the parameter shockwave speed, which is not capable of handling dynamic and real traffic scenarios (Sakhare et al., 2023; Lei et al., 2014). To address this issue, we propose to calibrate the time-varying shockwave speed for trajectory reconstruction using the data from a double loop detector and CVs. In the rest of the section, we first introduce the preliminaries of shockwave theory and trajectory reconstruction. We then present our algorithm to calibrate the time-varying shockwave speed values on the basis of the shockwave theory.

4.1 Basics of Shockwave Theory

The traffic shockwave is caused by some disturbances and propagates backward to the following vehicles, which is firstly proposed by Lighthill, Whitham and Richards (LWR) (Lighthill and Whitham, 1955). LWR model describes the relation between flow and density, which vary with location and time as shown in Eq. 2.

k(x,t)t+q(x,t)x=0,k𝑥𝑡𝑡q𝑥𝑡𝑥0\frac{\partial\mathrm{k}(x,t)}{\partial t}+\frac{\partial\mathrm{q}(x,t)}{% \partial x}=0,divide start_ARG ∂ roman_k ( italic_x , italic_t ) end_ARG start_ARG ∂ italic_t end_ARG + divide start_ARG ∂ roman_q ( italic_x , italic_t ) end_ARG start_ARG ∂ italic_x end_ARG = 0 , (2)

where k(x,t)k𝑥𝑡\mathrm{k}(x,t)roman_k ( italic_x , italic_t ) is the density and q(x,t)q𝑥𝑡\mathrm{q}(x,t)roman_q ( italic_x , italic_t ) is the flow at location x𝑥xitalic_x and time t𝑡titalic_t. Eq. 2 can be further rewritten as Eq. 3.

1wq(x,t)t+q(x,t)x=0,1𝑤q𝑥𝑡𝑡q𝑥𝑡𝑥0\frac{1}{w}\frac{\partial\mathrm{q}(x,t)}{\partial t}+\frac{\partial\mathrm{q}% (x,t)}{\partial x}=0,divide start_ARG 1 end_ARG start_ARG italic_w end_ARG divide start_ARG ∂ roman_q ( italic_x , italic_t ) end_ARG start_ARG ∂ italic_t end_ARG + divide start_ARG ∂ roman_q ( italic_x , italic_t ) end_ARG start_ARG ∂ italic_x end_ARG = 0 , (3)

where w=qk𝑤qkw=\frac{\partial\mathrm{q}}{\partial\mathrm{k}}italic_w = divide start_ARG ∂ roman_q end_ARG start_ARG ∂ roman_k end_ARG is the shockwave speed.

Following by LWR, Newell (Newell, 1993) proposed a triangular fundamental diagram (FD) as Eq. 4.

q(k)={vfk,kkmw(kjk),k>km\mathrm{q}(\mathrm{k})=\left\{\begin{aligned} &v_{f}\mathrm{k},&\mathrm{k}\leq% \mathrm{k}_{m}\\ &w(\mathrm{k}_{j}-\mathrm{k}),&\mathrm{k}>\mathrm{k}_{m}\end{aligned}\right.roman_q ( roman_k ) = { start_ROW start_CELL end_CELL start_CELL italic_v start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT roman_k , end_CELL start_CELL roman_k ≤ roman_k start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_w ( roman_k start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - roman_k ) , end_CELL start_CELL roman_k > roman_k start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_CELL end_ROW (4)

where vfsubscript𝑣𝑓v_{f}italic_v start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT is the free flow speed, kmsubscriptk𝑚\mathrm{k}_{m}roman_k start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT is the road capacity, and kjsubscriptk𝑗\mathrm{k}_{j}roman_k start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is the jam density. The triangle FD is shown as Fig. 2(a). The traffic states propagate among vehicles at the same speed on the same leg of the triangle, namely, vfsubscript𝑣𝑓v_{f}italic_v start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT for the free flow and w𝑤witalic_w for the congested flow. According to Eq. 4 and Fig. 2(a), the traffic states are the same in one shockwave, which makes traffic states predictable given the partial traffic state in the shockwave. The most important parameter to derive the traffic states is the shockwave speed, indicating how fast the traffic state of the leading vehicle is passed to the following ones.

Refer to caption
(a) Newell fundamental diagram.
Refer to caption
(b) An example of trajectory reconstruction based on shockwave theory.
Figure 2: Trajectory reconstruction based on shockwave theory.

4.2 Trajectory Reconstruction Based on Shockwave Theory

According to (Coifman, 2002), the trajectory of vehicles can be reconstructed given the arrival time and instantaneous speed of their following vehicles detected by the loop detector. Based on the above assumptions that the traffic state along the shockwave is the same, the trajectory of a vehicle is reconstructed by concatenating the trajectory segment of its following vehicles, as shown in Fig. 2(b). Specifically, the trajectory segment of the following vehicle can be derived using the detected instantaneous speed of the vehicle. Then, these trajectory segments can be further concatenated following the shockwave propagation direction to construct the trajectory of the leading vehicle.

To simplify the reconstruction process, the reconstructed trajectory of each vehicle contains multiple line segments and each one is represented as a linear function in the temporal-spatial space, denoted as giτk(τ)superscriptsubscript𝑔𝑖subscript𝜏𝑘𝜏g_{i}^{\tau_{k}}(\tau)italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ), where i𝑖iitalic_i is the number of the vehicle and k𝑘kitalic_k is the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT following vehicle of vehicle i𝑖iitalic_i. As shown in Eq. 5, the slope of giτk(τ)superscriptsubscript𝑔𝑖subscript𝜏𝑘𝜏g_{i}^{\tau_{k}}(\tau)italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) is vi+ksubscript𝑣𝑖𝑘v_{i+k}italic_v start_POSTSUBSCRIPT italic_i + italic_k end_POSTSUBSCRIPT, namely, the speed of kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT following vehicle given the subject leading vehicle i𝑖iitalic_i, and x^iτsuperscriptsubscript^𝑥𝑖𝜏\hat{x}_{i}^{\tau}over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT is the reconstructed trajectory point of vehicle i𝑖iitalic_i at time τ𝜏\tauitalic_τ. Moreover, the shockwave propagation line that represents the propagation of speed vi+ksubscript𝑣𝑖𝑘v_{i+k}italic_v start_POSTSUBSCRIPT italic_i + italic_k end_POSTSUBSCRIPT is also modeled as a linear function hiτk(τ)superscriptsubscript𝑖subscript𝜏𝑘𝜏h_{i}^{\tau_{k}}(\tau)italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) with slope w𝑤-w- italic_w, as shown in Eq. 6. The notations are illustrated in Fig. 3 for easy understanding.

giτk(τ)={viτ+(x0viti),k=0vi+kτ+(x^iτk1vi+kτk1),k>0g_{i}^{\tau_{k}}(\tau)=\left\{\begin{aligned} &v_{i}\tau+(x_{0}-v_{i}t_{i}),&k% =0\\ &v_{i+k}\tau+(\hat{x}_{i}^{\tau_{k-1}}-v_{i+k}\tau_{k-1}),&k>0\end{aligned}\right.italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) = { start_ROW start_CELL end_CELL start_CELL italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_τ + ( italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT - italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , end_CELL start_CELL italic_k = 0 end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_v start_POSTSUBSCRIPT italic_i + italic_k end_POSTSUBSCRIPT italic_τ + ( over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT - italic_v start_POSTSUBSCRIPT italic_i + italic_k end_POSTSUBSCRIPT italic_τ start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT ) , end_CELL start_CELL italic_k > 0 end_CELL end_ROW (5)
hiτk(τ)=wτ+(x0+wti+k+1).superscriptsubscript𝑖subscript𝜏𝑘𝜏𝑤𝜏subscript𝑥0𝑤subscript𝑡𝑖𝑘1h_{i}^{\tau_{k}}(\tau)=-w\tau+(x_{0}+wt_{i+k+1}).italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) = - italic_w italic_τ + ( italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_w italic_t start_POSTSUBSCRIPT italic_i + italic_k + 1 end_POSTSUBSCRIPT ) . (6)

As mentioned above, the arrival time and instantaneous speed of vehicles at a fixed location x0subscript𝑥0x_{0}italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT are known. For obtaining the first trajectory segment of vehicle i𝑖iitalic_i, i.e., k=0𝑘0k=0italic_k = 0, we calculate (τ0,x^iτ0)subscript𝜏0superscriptsubscript^𝑥𝑖subscript𝜏0(\tau_{0},\hat{x}_{i}^{\tau_{0}})( italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) which is the point of intersection of giτ0(τ)superscriptsubscript𝑔𝑖subscript𝜏0𝜏g_{i}^{\tau_{0}}(\tau)italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) and hiτ0(τ)superscriptsubscript𝑖subscript𝜏0𝜏h_{i}^{\tau_{0}}(\tau)italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ). Thus, the first trajectory segment of vehicle i𝑖iitalic_i is the line from point (ti,x0)subscript𝑡𝑖subscript𝑥0(t_{i},x_{0})( italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) to (τ0,x^iτ0)subscript𝜏0superscriptsubscript^𝑥𝑖subscript𝜏0(\tau_{0},\hat{x}_{i}^{\tau_{0}})( italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ). Given (τ0,x^iτ0)subscript𝜏0superscriptsubscript^𝑥𝑖subscript𝜏0(\tau_{0},\hat{x}_{i}^{\tau_{0}})( italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ), vi+1subscript𝑣𝑖1v_{i+1}italic_v start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT, w𝑤witalic_w, and (ti+2,x0)subscript𝑡𝑖2subscript𝑥0(t_{i+2},x_{0})( italic_t start_POSTSUBSCRIPT italic_i + 2 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ), we can obtain giτ1(τ)superscriptsubscript𝑔𝑖subscript𝜏1𝜏g_{i}^{\tau_{1}}(\tau)italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) and hiτ1(τ)superscriptsubscript𝑖subscript𝜏1𝜏h_{i}^{\tau_{1}}(\tau)italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) so that the second trajectory segment is the line from (τ0,x^iτ0)subscript𝜏0superscriptsubscript^𝑥𝑖subscript𝜏0(\tau_{0},\hat{x}_{i}^{\tau_{0}})( italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) to (τ1,x^iτ1)subscript𝜏1superscriptsubscript^𝑥𝑖subscript𝜏1(\tau_{1},\hat{x}_{i}^{\tau_{1}})( italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ). As such, (τk,x^iτk)subscript𝜏𝑘superscriptsubscript^𝑥𝑖subscript𝜏𝑘(\tau_{k},\hat{x}_{i}^{\tau_{k}})( italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ), giτk(τ)superscriptsubscript𝑔𝑖subscript𝜏𝑘𝜏g_{i}^{\tau_{k}}(\tau)italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ), hiτk(τ)superscriptsubscript𝑖subscript𝜏𝑘𝜏h_{i}^{\tau_{k}}(\tau)italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) can be further derived to complete the trajectory of vehicle i𝑖iitalic_i by repeating the above procedures. In the rest of the paper, the process of calculating the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT trajectory segment is abbreviated as reconstruction step k𝑘kitalic_k.

Algorithm 1 Time-varying Shockwave Speed Calibration
1:Arrival time {ti,iI}subscript𝑡𝑖𝑖𝐼\{t_{i},i\in I\}{ italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_i ∈ italic_I } and speed {vi,iI}subscript𝑣𝑖𝑖𝐼\{v_{i},i\in I\}{ italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_i ∈ italic_I } collected by loop detector, trajectory of CVs {Πj,jJ}subscriptΠ𝑗𝑗𝐽\{\Pi_{j},j\in J\}{ roman_Π start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_j ∈ italic_J }, upper bound and lower bound of shockwave speed [wub,wlb]subscript𝑤𝑢𝑏subscript𝑤𝑙𝑏[w_{ub},w_{lb}][ italic_w start_POSTSUBSCRIPT italic_u italic_b end_POSTSUBSCRIPT , italic_w start_POSTSUBSCRIPT italic_l italic_b end_POSTSUBSCRIPT ], number of samples N𝑁Nitalic_N, accept thresholds ϵitalic-ϵ\epsilonitalic_ϵ, maximum iterations M𝑀Mitalic_M
2:Time-varying shockwave speed of CVs {Wj,jJ}subscript𝑊𝑗𝑗𝐽\{W_{j},j\in J\}{ italic_W start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , italic_j ∈ italic_J }, where Wj={wjτk,k[0,1,2,,kend]}subscript𝑊𝑗superscriptsubscript𝑤𝑗subscript𝜏𝑘𝑘012subscript𝑘𝑒𝑛𝑑W_{j}=\{w_{j}^{\tau_{k}},k\in[0,1,2,...,k_{end}]\}italic_W start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = { italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT , italic_k ∈ [ 0 , 1 , 2 , … , italic_k start_POSTSUBSCRIPT italic_e italic_n italic_d end_POSTSUBSCRIPT ] }
3:for j𝒥𝑗𝒥j\in\mathcal{J}italic_j ∈ caligraphic_J do
4:     D={(ti,vi),ti>tj}𝐷subscript𝑡𝑖subscript𝑣𝑖for-allsubscript𝑡𝑖subscript𝑡𝑗D=\{(t_{i},v_{i}),\forall t_{i}>t_{j}\}italic_D = { ( italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , ∀ italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT > italic_t start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT }
5:     Sort D𝐷Ditalic_D in ascending order of tisubscript𝑡𝑖t_{i}italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT
6:     k=0𝑘0k=0italic_k = 0
7:     for (ti,vi)Dsubscript𝑡𝑖subscript𝑣𝑖𝐷(t_{i},v_{i})\in D( italic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ∈ italic_D do do
8:         iter=0𝑖𝑡𝑒𝑟0iter=0italic_i italic_t italic_e italic_r = 0
9:         while True do
10:              Sample N𝑁Nitalic_N samples from uniform distribution U(wub,wlb)𝑈subscript𝑤𝑢𝑏subscript𝑤𝑙𝑏U(w_{ub},w_{lb})italic_U ( italic_w start_POSTSUBSCRIPT italic_u italic_b end_POSTSUBSCRIPT , italic_w start_POSTSUBSCRIPT italic_l italic_b end_POSTSUBSCRIPT )
11:              Using the samples 𝐰={wn,n[1,2,,N]}jτk𝐰superscriptsubscriptsubscript𝑤𝑛𝑛12𝑁𝑗subscript𝜏𝑘\mathbf{w}=\{w_{n},n\in[1,2,...,N]\}_{j}^{\tau_{k}}bold_w = { italic_w start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_n ∈ [ 1 , 2 , … , italic_N ] } start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT to derive gjτk(τ)superscriptsubscript𝑔𝑗subscript𝜏𝑘𝜏g_{j}^{\tau_{k}}(\tau)italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) and h~jτk(τ,wn)superscriptsubscript~𝑗subscript𝜏𝑘𝜏subscript𝑤𝑛\tilde{h}_{j}^{\tau_{k}}(\tau,w_{n})over~ start_ARG italic_h end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ , italic_w start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT )
12:              Calculate the point of intersection (τk,x^jτk)wn=gjτk(τ)h~jτk(τ,wn)subscriptsubscript𝜏𝑘superscriptsubscript^𝑥𝑗subscript𝜏𝑘subscript𝑤𝑛tensor-productsuperscriptsubscript𝑔𝑗subscript𝜏𝑘𝜏superscriptsubscript~𝑗subscript𝜏𝑘𝜏subscript𝑤𝑛(\tau_{k},\hat{x}_{j}^{\tau_{k}})_{w_{n}}=g_{j}^{\tau_{k}}(\tau)\otimes\tilde{% h}_{j}^{\tau_{k}}(\tau,w_{n})( italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) start_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) ⊗ over~ start_ARG italic_h end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ , italic_w start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT )
13:              Measure errors 𝐞𝐫𝐫={||(τk,x^jτk)wn,(τk,xjτk)||,n[1,2,,N]}\textbf{err}=\{||(\tau_{k},\hat{x}_{j}^{\tau_{k}})_{w_{n}},(\tau_{k},x_{j}^{% \tau_{k}})||,n\in[1,2,...,N]\}err = { | | ( italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) start_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ( italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) | | , italic_n ∈ [ 1 , 2 , … , italic_N ] }
14:              w*=argminw𝐞𝐫𝐫superscript𝑤subscript𝑤𝐞𝐫𝐫w^{*}=\mathop{\arg\min}_{w}\textbf{err}italic_w start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT = start_BIGOP roman_arg roman_min end_BIGOP start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT err
15:              if min(𝐞𝐫𝐫)<ϵmin𝐞𝐫𝐫italic-ϵ\mathrm{min}(\textbf{err})<\epsilonroman_min ( err ) < italic_ϵ then
16:                  wjτk=w*superscriptsubscript𝑤𝑗subscript𝜏𝑘superscript𝑤w_{j}^{\tau_{k}}=w^{*}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT = italic_w start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT
17:                  break
18:              else if (x^jτk)w*<xjτksubscriptsuperscriptsubscript^𝑥𝑗subscript𝜏𝑘superscript𝑤superscriptsubscript𝑥𝑗subscript𝜏𝑘(\hat{x}_{j}^{\tau_{k}})_{w^{*}}<x_{j}^{\tau_{k}}( over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) start_POSTSUBSCRIPT italic_w start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT end_POSTSUBSCRIPT < italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT then
19:                  Increase visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT
20:              else if (x^jτk)w*>xjτksubscriptsuperscriptsubscript^𝑥𝑗subscript𝜏𝑘superscript𝑤superscriptsubscript𝑥𝑗subscript𝜏𝑘(\hat{x}_{j}^{\tau_{k}})_{w^{*}}>x_{j}^{\tau_{k}}( over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) start_POSTSUBSCRIPT italic_w start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT end_POSTSUBSCRIPT > italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT then
21:                  Decrease visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT
22:              end if
23:              iter=iter+1𝑖𝑡𝑒𝑟𝑖𝑡𝑒𝑟1iter=iter+1italic_i italic_t italic_e italic_r = italic_i italic_t italic_e italic_r + 1
24:              if iter>M𝑖𝑡𝑒𝑟𝑀iter>Mitalic_i italic_t italic_e italic_r > italic_M then
25:                  wjτk=w*superscriptsubscript𝑤𝑗subscript𝜏𝑘superscript𝑤w_{j}^{\tau_{k}}=w^{*}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT = italic_w start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT
26:                  break
27:              end if
28:         end while
29:         k=k+1𝑘𝑘1k=k+1italic_k = italic_k + 1
30:     end for
31:end for
Refer to caption
Figure 3: Process of shockwave speed calibration.

4.3 Calibration Algorithm

Several studies in the literature discuss the estimation of shockwave speed (Seo et al., 2019; Deng et al., 2023). Some of them have proved that the value should not be fixed (Deng et al., 2023; Anuar and Cetin, 2017). However, the shockwave speed in Coifman’s method and its variants is set as a constant value, which may lead to sub-optimal results. This motivated this work to calibrate time-varying shockwave speed values.

Besides the loop detector data, the trajectory data reported by CVs is leveraged to achieve this goal. The objective of calibration is to find the optimal shockwave speed value wjτksuperscriptsubscript𝑤𝑗subscript𝜏𝑘w_{j}^{\tau_{k}}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT for CV j𝑗jitalic_j at reconstruction step k𝑘kitalic_k, which minimizes the error between the ground truth trajectory and the reconstructed one, as shown in Fig. 3. The objective function is formulated as Eq. 7.

wjτk=argminw||gjτk(τ)h~jτk(τ),(τk,xjτk)||,w_{j}^{\tau_{k}}=\mathop{\arg\min}_{w}||g_{j}^{\tau_{k}}(\tau)\otimes\tilde{h}% _{j}^{\tau_{k}}(\tau),(\tau_{k},x_{j}^{\tau_{k}})||,italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT = start_BIGOP roman_arg roman_min end_BIGOP start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT | | italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) ⊗ over~ start_ARG italic_h end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) , ( italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) | | , (7)

where the operation tensor-product\otimes is to calculate the point of intersection, ||,||||\cdot,\cdot||| | ⋅ , ⋅ | | is the distance between two points, and h~jτk(τ)superscriptsubscript~𝑗subscript𝜏𝑘𝜏\tilde{h}_{j}^{\tau_{k}}(\tau)over~ start_ARG italic_h end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) is the time-varying variant of Eq. 6. Specifically, the time-varying shockwave line function is illustrated in Eq. 8.

h~jτk(τ)=wjτkτ+(x0+wjτktj+k+1).superscriptsubscript~𝑗subscript𝜏𝑘𝜏superscriptsubscript𝑤𝑗subscript𝜏𝑘𝜏subscript𝑥0superscriptsubscript𝑤𝑗subscript𝜏𝑘subscript𝑡𝑗𝑘1\tilde{h}_{j}^{\tau_{k}}(\tau)=-w_{j}^{\tau_{k}}\tau+(x_{0}+w_{j}^{\tau_{k}}t_% {j+k+1}).over~ start_ARG italic_h end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) = - italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_τ + ( italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_t start_POSTSUBSCRIPT italic_j + italic_k + 1 end_POSTSUBSCRIPT ) . (8)

The optimization problem in Eq. 7 can not be solved explicitly since the ground truth trajectory can not be represented using the enclosed mathematical formulation so that the point (τk,xjτk)subscript𝜏𝑘superscriptsubscript𝑥𝑗subscript𝜏𝑘(\tau_{k},x_{j}^{\tau_{k}})( italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) can not be determined before knowing h~jτk(τ)superscriptsubscript~𝑗subscript𝜏𝑘𝜏\tilde{h}_{j}^{\tau_{k}}(\tau)over~ start_ARG italic_h end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) and gjτk(τ)superscriptsubscript𝑔𝑗subscript𝜏𝑘𝜏g_{j}^{\tau_{k}}(\tau)italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ). However, the slope wjτksuperscriptsubscript𝑤𝑗subscript𝜏𝑘-w_{j}^{\tau_{k}}- italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT of h~jτk(τ)superscriptsubscript~𝑗subscript𝜏𝑘𝜏\tilde{h}_{j}^{\tau_{k}}(\tau)over~ start_ARG italic_h end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) is the unknown parameter to be optimized. Namely, (τk,xjτk)subscript𝜏𝑘superscriptsubscript𝑥𝑗subscript𝜏𝑘(\tau_{k},x_{j}^{\tau_{k}})( italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) is indeterminate leading that wjτksuperscriptsubscript𝑤𝑗subscript𝜏𝑘w_{j}^{\tau_{k}}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT in Eq. 7 can not be solved explicitly. Thus, we propose to solve this problem through the Monte Carlo sampling-based method. Specifically, for each reconstruction step k𝑘kitalic_k, we generate N𝑁Nitalic_N samples of wjτksuperscriptsubscript𝑤𝑗subscript𝜏𝑘w_{j}^{\tau_{k}}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT, denoted as {wn,n[1,2,,N]}jτksuperscriptsubscriptsubscript𝑤𝑛𝑛12𝑁𝑗subscript𝜏𝑘\{w_{n},n\in[1,2,...,N]\}_{j}^{\tau_{k}}{ italic_w start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_n ∈ [ 1 , 2 , … , italic_N ] } start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT. For each sampled value wnsubscript𝑤𝑛w_{n}italic_w start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT of wjτksuperscriptsubscript𝑤𝑗subscript𝜏𝑘w_{j}^{\tau_{k}}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT, we then calculate the point of intersection between the trajectory line gjτk(τ)superscriptsubscript𝑔𝑗subscript𝜏𝑘𝜏g_{j}^{\tau_{k}}(\tau)italic_g start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) and the shockwave line h~jτk(τ,wn)superscriptsubscript~𝑗subscript𝜏𝑘𝜏subscript𝑤𝑛\tilde{h}_{j}^{\tau_{k}}(\tau,w_{n})over~ start_ARG italic_h end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ , italic_w start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ). Given the point of intersection, we can derive the error between the point of intersection and the corresponding point on the ground truth trajectory, denoted as {errn,n[1,2,,N]}𝑒𝑟subscript𝑟𝑛𝑛12𝑁\{err_{n},n\in[1,2,...,N]\}{ italic_e italic_r italic_r start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_n ∈ [ 1 , 2 , … , italic_N ] } corresponding to {wn,n[1,2,,N]}jτksuperscriptsubscriptsubscript𝑤𝑛𝑛12𝑁𝑗subscript𝜏𝑘\{w_{n},n\in[1,2,...,N]\}_{j}^{\tau_{k}}{ italic_w start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_n ∈ [ 1 , 2 , … , italic_N ] } start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT, respectively. Note that considering the reconstructed trajectory may have a longer travel time than the ground truth, we calculate the time difference under the same position between the ground truth point and the point of intersection. The error in the temporal dimension is independent of speed, which is better than the one in the spatial dimension for optimization. Given {errn,n[1,2,,N]}𝑒𝑟subscript𝑟𝑛𝑛12𝑁\{err_{n},n\in[1,2,...,N]\}{ italic_e italic_r italic_r start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_n ∈ [ 1 , 2 , … , italic_N ] }, the minimal error is compared with a pre-defined threshold ϵitalic-ϵ\epsilonitalic_ϵ. The corresponding wnsubscript𝑤𝑛w_{n}italic_w start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is kept for the reconstruction step k𝑘kitalic_k if the above minimal error is smaller than ϵitalic-ϵ\epsilonitalic_ϵ.

Refer to caption
Figure 4: Adjust the speed collected by the loop detector.

However, as the value of wjτksuperscriptsubscript𝑤𝑗subscript𝜏𝑘w_{j}^{\tau_{k}}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT is bounded by an upper and a lower bound, it could be possible that there is no such wnsubscript𝑤𝑛w_{n}italic_w start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT that can achieve such a small error. To solve this problem, we optimize the value of both wjτksuperscriptsubscript𝑤𝑗subscript𝜏𝑘w_{j}^{\tau_{k}}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT and vj+ksubscript𝑣𝑗𝑘v_{j+k}italic_v start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT. Translating the speed of the following vehicle to reconstruct the trajectory of the leading vehicle can be modeled as a quantification of the impact of the leading vehicle on the following ones. Nonetheless, the stochasticity of such impacts can not be ignored, leading to the aforementioned challenge of solving the optimal wjτksuperscriptsubscript𝑤𝑗subscript𝜏𝑘w_{j}^{\tau_{k}}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT. Thus, to well handle the stochasticity, we adjust the speed of the following vehicles to approximate the ground truth trajectory, as illustrated in Fig. 4. Specifically, we compare the point of intersection (τk,x^jτk)subscript𝜏𝑘superscriptsubscript^𝑥𝑗subscript𝜏𝑘(\tau_{k},\hat{x}_{j}^{\tau_{k}})( italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) with minimal error and the point (τk,xjτk)subscript𝜏𝑘superscriptsubscript𝑥𝑗subscript𝜏𝑘(\tau_{k},x_{j}^{\tau_{k}})( italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) on the ground truth trajectory, when the minimal error can not satisfy the threshold ϵitalic-ϵ\epsilonitalic_ϵ. The value of vj+ksubscript𝑣𝑗𝑘v_{j+k}italic_v start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT is increased/decreased if the reconstructed point is at the rear/front position of the ground truth point, as shown in Fig. 4. The pseudo-code of the algorithm is illustrated in Algorithm 1.

5 Trajectory Reconstruction using Time-varying Shockwave Speed

Given the calibrated time-varying shockwave speed of the CV, we regard the CV as a leading vehicle to reconstruct the reference points for the NCVs which are the following vehicles of the CV. The reconstruction process is designed based on the method introduced in Section 4.2. However, simply connecting these reference points leads to a harsh trajectory, which can not fulfill the vehicle dynamics and thus can not be used to estimate energy consumption. Hence, we propose to design and apply a trajectory reconstruction method to filter the reference points and generate the final trajectory. In the rest of this section, we introduce the process of reconstructing the reference points and optimizing the reference points to reconstruct the final trajectory.

5.1 Reference Points Reconstruction

With the calibrated time-varying shockwave speed, it is simple to reconstruct the trajectory of CVs according to the process in Section 4.2. However, the trajectory reconstruction of other NCVs remains unsolved. To this end, we propose to reconstruct the reference points of these NCVs using the calibrated shockwave speed under the assumption that the shockwave speed does not change in a short time period.

Given the calibrated time-varying shockwave speed, which is denoted as {wjτk,k[0,1,,kend],jJ}formulae-sequencesuperscriptsubscript𝑤𝑗subscript𝜏𝑘𝑘01subscript𝑘𝑒𝑛𝑑𝑗𝐽\{w_{j}^{\tau_{k}},k\in[0,1,...,k_{end}],j\in J\}{ italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT , italic_k ∈ [ 0 , 1 , … , italic_k start_POSTSUBSCRIPT italic_e italic_n italic_d end_POSTSUBSCRIPT ] , italic_j ∈ italic_J }, the representation of the shockwave line in Eq. 6 is rewritten as Eq. 8. The reference points of CVs can be reconstructed according to the procedures in Section 4.2 using the calibrated shockwave speed, Eq. 5, and Eq. 8. Considering that the traffic conditions do not change dramatically in a short time period, we use the calibrated shockwave speed of the closest leading CV for the NCVs to reconstruct their reference points. Specifically, for jthsuperscript𝑗𝑡j^{th}italic_j start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT CV with calibrated time-varying shockwave speed, each shockwave speed value wjτksuperscriptsubscript𝑤𝑗subscript𝜏𝑘w_{j}^{\tau_{k}}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT is paired with vj+ksubscript𝑣𝑗𝑘v_{j+k}italic_v start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT the speed of kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT following vehicle, where the CV is considered as the leading vehicle. Thus, the reference points of kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT following vehicle of the CV can be reconstructed through calculating the points of intersection {h~j+kτm(τ,wjτk+m)gj+kτm(τ),m[0,1,,kendk]}tensor-productsuperscriptsubscript~𝑗𝑘subscript𝜏𝑚𝜏superscriptsubscript𝑤𝑗subscript𝜏𝑘𝑚superscriptsubscript𝑔𝑗𝑘subscript𝜏𝑚𝜏𝑚01subscript𝑘𝑒𝑛𝑑𝑘\{\tilde{h}_{j+k}^{\tau_{m}}(\tau,w_{j}^{\tau_{k+m}})\otimes g_{j+k}^{\tau_{m}% }(\tau),m\in[0,1,...,k_{end}-k]\}{ over~ start_ARG italic_h end_ARG start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ , italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k + italic_m end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) ⊗ italic_g start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ) , italic_m ∈ [ 0 , 1 , … , italic_k start_POSTSUBSCRIPT italic_e italic_n italic_d end_POSTSUBSCRIPT - italic_k ] }, as shown in Fig. 5. The stochasticity of the impact of the leading vehicle on the following ones through shockwave propagation is reflected by sampling v~j+k+msubscript~𝑣𝑗𝑘𝑚\tilde{v}_{j+k+m}over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_j + italic_k + italic_m end_POSTSUBSCRIPT from Gaussian distribution with mean vj+k+msubscript𝑣𝑗𝑘𝑚v_{j+k+m}italic_v start_POSTSUBSCRIPT italic_j + italic_k + italic_m end_POSTSUBSCRIPT and pre-defined variance σ2superscript𝜎2\sigma^{2}italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT to derive gj+kτm(τ)superscriptsubscript𝑔𝑗𝑘subscript𝜏𝑚𝜏g_{j+k}^{\tau_{m}}(\tau)italic_g start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_τ ). After calculating the point of intersection (x^j+kτm,τm)superscriptsubscript^𝑥𝑗𝑘superscriptsubscript𝜏𝑚superscriptsubscript𝜏𝑚(\hat{x}_{j+k}^{\tau_{m}^{\prime}},{\tau_{m}^{\prime}})( over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT , italic_τ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ), we need to validate it by comparing the position and time with the existing reference point (τm1,x^j+kτm1)subscript𝜏superscript𝑚1superscriptsubscript^𝑥𝑗𝑘subscript𝜏superscript𝑚1(\tau_{m^{\prime}-1},\hat{x}_{j+k}^{\tau_{m^{\prime}-1}})( italic_τ start_POSTSUBSCRIPT italic_m start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT - 1 end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT - 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ). This new reference point is added to reconstruct the trajectory if the position and time of this new point are greater than the existing point of the previous time step. The reconstruction process of reference points is presented in Algorithm 2.

Refer to caption
Figure 5: Trajectory reconstruction of other non-connected vehicles.
Algorithm 2 Reference Point Reconstruction for NCVs
1:Arrival time {tj+k,tj+k+1,,tj+kend}subscript𝑡𝑗𝑘subscript𝑡𝑗𝑘1subscript𝑡𝑗subscript𝑘𝑒𝑛𝑑\{t_{j+k},t_{j+k+1},...,t_{j+k_{end}}\}{ italic_t start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT italic_j + italic_k + 1 end_POSTSUBSCRIPT , … , italic_t start_POSTSUBSCRIPT italic_j + italic_k start_POSTSUBSCRIPT italic_e italic_n italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT } and speed {vj+k,vj+k+1,,vj+kend}subscript𝑣𝑗𝑘subscript𝑣𝑗𝑘1subscript𝑣𝑗subscript𝑘𝑒𝑛𝑑\{v_{j+k},v_{j+k+1},...,v_{j+k_{end}}\}{ italic_v start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_j + italic_k + 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_j + italic_k start_POSTSUBSCRIPT italic_e italic_n italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT } of the (j+k)thsuperscript𝑗𝑘𝑡(j+k)^{th}( italic_j + italic_k ) start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT to (j+kend)thsuperscript𝑗subscript𝑘𝑒𝑛𝑑𝑡(j+k_{end})^{th}( italic_j + italic_k start_POSTSUBSCRIPT italic_e italic_n italic_d end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT NCVs, the calibrated shockwave speed of jthsuperscript𝑗𝑡j^{th}italic_j start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT CV {wjτ0,wjτ1,,wjτκ,,wjτkend}superscriptsubscript𝑤𝑗subscript𝜏0superscriptsubscript𝑤𝑗subscript𝜏1superscriptsubscript𝑤𝑗subscript𝜏𝜅superscriptsubscript𝑤𝑗subscript𝜏subscript𝑘𝑒𝑛𝑑\{w_{j}^{\tau_{0}},w_{j}^{\tau_{1}},...,w_{j}^{\tau_{\kappa}},...,w_{j}^{\tau_% {k_{end}}}\}{ italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT , italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT , … , italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_κ end_POSTSUBSCRIPT end_POSTSUPERSCRIPT , … , italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_e italic_n italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT end_POSTSUPERSCRIPT }, jthsuperscript𝑗𝑡j^{th}italic_j start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT CV is the closest leading CV for its following 1stsuperscript1𝑠𝑡1^{st}1 start_POSTSUPERSCRIPT italic_s italic_t end_POSTSUPERSCRIPT to κthsuperscript𝜅𝑡\kappa^{th}italic_κ start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT NCVs, the location of loop detector x0subscript𝑥0x_{0}italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, standard deviation σ𝜎\sigmaitalic_σ
2:Reconstructed trajectory of (j+k)thsuperscript𝑗𝑘𝑡(j+k)^{th}( italic_j + italic_k ) start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT NCV, where kκ𝑘𝜅k\leq\kappaitalic_k ≤ italic_κ
3:Πj+k={(tj+k,x0)}subscriptΠ𝑗𝑘subscript𝑡𝑗𝑘subscript𝑥0\Pi_{j+k}=\{(t_{j+k},x_{0})\}roman_Π start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT = { ( italic_t start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) }
4:for m=k:κ:𝑚𝑘𝜅m=k:\kappaitalic_m = italic_k : italic_κ do
5:     Sample v~j+msubscript~𝑣𝑗𝑚\tilde{v}_{j+m}over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_j + italic_m end_POSTSUBSCRIPT from Gaussian distribution N(vj+m,σ2)𝑁subscript𝑣𝑗𝑚superscript𝜎2N(v_{j+m},\sigma^{2})italic_N ( italic_v start_POSTSUBSCRIPT italic_j + italic_m end_POSTSUBSCRIPT , italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT )
6:     Derive h~j+kτmk(τ)subscriptsuperscript~subscript𝜏𝑚𝑘𝑗𝑘𝜏\tilde{h}^{\tau_{m-k}}_{j+k}(\tau)over~ start_ARG italic_h end_ARG start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m - italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT ( italic_τ ) using Eq. 8 and wjτmsuperscriptsubscript𝑤𝑗subscript𝜏𝑚w_{j}^{\tau_{m}}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_POSTSUPERSCRIPT
7:     Derive gj+kτmk(τ)subscriptsuperscript𝑔subscript𝜏𝑚𝑘𝑗𝑘𝜏g^{\tau_{m-k}}_{j+k}(\tau)italic_g start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m - italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT ( italic_τ ) using Eq. 5 and v~j+msubscript~𝑣𝑗𝑚\tilde{v}_{j+m}over~ start_ARG italic_v end_ARG start_POSTSUBSCRIPT italic_j + italic_m end_POSTSUBSCRIPT
8:     Calculate the point of intersection (τmk,x^j+kτmk)=h~j+kτmk(τ)gj+kτmk(τ)subscript𝜏𝑚𝑘superscriptsubscript^𝑥𝑗𝑘subscript𝜏𝑚𝑘tensor-productsubscriptsuperscript~subscript𝜏𝑚𝑘𝑗𝑘𝜏subscriptsuperscript𝑔subscript𝜏𝑚𝑘𝑗𝑘𝜏(\tau_{m-k},\hat{x}_{j+k}^{\tau_{m-k}})=\tilde{h}^{\tau_{m-k}}_{j+k}(\tau)% \otimes g^{\tau_{m-k}}_{j+k}(\tau)( italic_τ start_POSTSUBSCRIPT italic_m - italic_k end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m - italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) = over~ start_ARG italic_h end_ARG start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m - italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT ( italic_τ ) ⊗ italic_g start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m - italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT ( italic_τ )
9:     if τmk>τmk1subscript𝜏𝑚𝑘subscript𝜏𝑚𝑘1\tau_{m-k}>\tau_{m-k-1}italic_τ start_POSTSUBSCRIPT italic_m - italic_k end_POSTSUBSCRIPT > italic_τ start_POSTSUBSCRIPT italic_m - italic_k - 1 end_POSTSUBSCRIPT and x^j+kτmk>x^j+kτmk1superscriptsubscript^𝑥𝑗𝑘subscript𝜏𝑚𝑘superscriptsubscript^𝑥𝑗𝑘subscript𝜏𝑚𝑘1\hat{x}_{j+k}^{\tau_{m-k}}>\hat{x}_{j+k}^{\tau_{m-k-1}}over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m - italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT > over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m - italic_k - 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT then
10:         Append (τmk,x^j+kτmk)subscript𝜏𝑚𝑘superscriptsubscript^𝑥𝑗𝑘subscript𝜏𝑚𝑘(\tau_{m-k},\hat{x}_{j+k}^{\tau_{m-k}})( italic_τ start_POSTSUBSCRIPT italic_m - italic_k end_POSTSUBSCRIPT , over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_m - italic_k end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ) in Πj+ksubscriptΠ𝑗𝑘\Pi_{j+k}roman_Π start_POSTSUBSCRIPT italic_j + italic_k end_POSTSUBSCRIPT
11:     end if
12:end for

5.2 Trajectory Reconstruction

Although the above reference points can be connected directly to produce the final trajectory of the vehicle, the trajectory is not realistic since it does not consider vehicle or driver dynamics. Moreover, the energy consumption estimated using such a trajectory is not reliable either. To this end, we propose a further step to reconstruct the trajectory using the reference points. The reconstructed trajectory is constrained by the vehicle and driver dynamics for a more realistic trajectory and better energy estimation.

We apply a vehicle movement model to introduce vehicle and driver dynamics simultaneously. We choose the microsimulation free-flow acceleration model (MFC) (Makridis et al., 2019) as the vehicle movement model. MFC is developed to capture the vehicle acceleration dynamics accurately and consistently. The driver dynamics are also considered in MFC by introducing the driver style parameter. MFC takes the desired speed as input to simulate the acceleration behaviors given the driver style and vehicle’s physical parameters, such as the mass of the vehicle, the maximum tractive force of the vehicle, etc. As such, we consider the speed of the reference points as the desired speed and input to the MFC to obtain the acceleration behaviors. Specifically, the desired speed is first enhanced by the interpolation method to increase the frequency. The interpolated desired speed is then input to the MFC to derive acceleration behaviors, which are further used to reconstruct the final trajectory and speed.

Refer to caption
Figure 6: Examples of extracted trajectory data.
Model Penetration rate Metric 5%percent55\%5 %
Time headway (s) Speed (m/s) Fuel consumption (L/100km)
avg. std. avg. std. avg. std.
Coifman 5.61 - 3.86 - 0.37 -
Macro-micro 3.82 0.27 2.86 0.19 0.32 0.06
Ours with polynomial 2.65 0.17 2.74 0.18 0.65 0.06
Ours with MFC 2.64 0.19 2.65 0.17 0.23 0.02
Model Penetration rate Metric 10%percent1010\%10 %
Time headway (s) Speed (m/s) Fuel consumption (L/100km)
avg. std. avg. std. avg. std.
Coifman 5.61 - 3.86 - 0.37 -
Macro-micro 2.27 0.13 2.70 0.06 0.28 0.03
Ours with polynomial 2.24 0.11 2.74 0.11 0.66 0.03
Ours with MFC 2.19 0.11 2.61 0.10 0.21 0.01
Model Penetration rate Metric 15%percent1515\%15 %
Time headway (s) Speed (m/s) Fuel consumption (L/100km)
avg. std. avg. std. avg. std.
Coifman 5.61 - 3.86 - 0.37 -
Macro-micro 1.72 0.12 2.15 0.07 0.24 0.02
Ours with polynomial 2.07 0.08 2.71 0.06 0.63 0.02
Ours with MFC 2.01 0.10 2.59 0.07 0.21 0.01
Table 1: Comparison of MAE of time headway, fuel consumption, and CO22{}_{2}start_FLOATSUBSCRIPT 2 end_FLOATSUBSCRIPT among our model with different trajectory reconstruction methods and baseline models.
Refer to caption
(a) Time headway MAE.
Refer to caption
(b) Speed MAE.
Refer to caption
(c) Fuel consumption MAE.
Refer to caption
(d) CO2 emission MAE.
Figure 7: Accuracy comparison of time headway, fuel consumption, and CO22{}_{2}start_FLOATSUBSCRIPT 2 end_FLOATSUBSCRIPT emission among baseline models and ours.

6 Experiments

To evaluate the performance of our proposed trajectory reconstruction method, we conduct the following experiments: (1) comparison with several SOTA baseline models in terms of trajectory reconstruction accuracy and energy consumption accuracy; (2) evaluation of the capability of capturing the traffic oscillation; (3) exploration the relationship between the accuracy of reconstructed trajectory and the penetration rate of CVs The details are elaborated in the rest of this section.

6.1 Data Preprocessing

We use the HighD (Krajewski et al., 2018) and NGSIM (Federal Highway Administration, 2007, 2006) datasets to evaluate our method, which are collected on the highways of Germany and the US, respectively. They include the trajectory of vehicles of several minutes and in multiple lanes. We first separate each dataset into several sub-datasets according to lanes. Namely, the trajectory of vehicles on the same lane is formed as a new sub-dataset. Moreover, since our method is based on shockwave speed theory, we only use the sub-dataset that exists shockwave to evaluate the performance of our method. Only the car-following vehicles are kept without considering lane-change ones. The trajectories of some of the selected sub-dataset are shown in Fig. 6. We assume that a loop detector is deployed at the start position of the road segment, as shown in Fig. 1. We collect the velocity of all of the vehicles that pass the loop detector. Some of the vehicles are defined as CVs with known trajectories, which are the blue ones in Fig. 1.

6.2 Accuracy Comparison

To assess the performance of our method, we choose the following baseline models: (1) Coifman’s method (Coifman, 2002) ; (2) macro–micro model (Chen et al., 2022a). We follow the values of parameters as mentioned in (Chen et al., 2022a) to reproduce the reconstruction results. Additionally, we also conduct an ablation study on the selection of trajectory reconstruction method. Besides the aforementioned trajectory reconstruction in 5.2, we apply a polynomial reconstruction method for comparison. Specifically, the reference points are reconstructed using a 5-degree polynomial optimized by least-square regression. We use mean absolute error (MAE) on time headway and speed to measure the accuracy of the reconstructed trajectory. To estimate the energy consumption and emission, we apply the simplified fuel consumption model (Makridis et al., 2019) and CO22{}_{2}start_FLOATSUBSCRIPT 2 end_FLOATSUBSCRIPT emission model, which is publicly available 111https://pypi.org/project/co2mpas-driver/ and is based on CO22{}_{2}start_FLOATSUBSCRIPT 2 end_FLOATSUBSCRIPTMPAS (European Commission, a) model, developed by the European Commission. We compare the total amount of energy consumed on the same travel length between our model and the ground truth trajectory.

Moreover, we set different penetration rates, 5%percent55\%5 %, 10%percent1010\%10 %, and 15%percent1515\%15 %, to explore its impact on the accuracy. To achieve 5%percent55\%5 % and 10%percent1010\%10 % penetration rates, we randomly select one vehicle as the CV with a known trajectory every twenty or ten vehicles, respectively. For 15%percent1515\%15 % penetration rate, we randomly select three vehicles as the CVs with known trajectory every twenty vehicles. For different penetration rates, we run 50 times and the CVs are selected randomly every time. As we have no information about the vehicle dynamics from the dataset, we randomly select an average vehicle model of European Class C (European Commission, b) to estimate fuel consumption and CO22{}_{2}start_FLOATSUBSCRIPT 2 end_FLOATSUBSCRIPT emissions.

The comparison results of two baseline models and our model with different reconstruction methods are shown in Tab. 1 and violin plot as Fig. 7. In terms of time headway accuracy, ours with both polynomial and MFC reconstruction methods perform much better than the baseline models when the penetration rate is low, i.e., 5% in our experiment. When the penetration rate increases to 10%, our model still has better performance than the baseline models. Although the macro-micro model achieves 14% higher performance than ours in average value while the penetration rate is 15%, our model has a more stable performance. In terms of speed accuracy, the performance is similar as the one of time headway. In terms of fuel consumption and CO22{}_{2}start_FLOATSUBSCRIPT 2 end_FLOATSUBSCRIPT emissions, we only list the detailed value of fuel consumption since CO22{}_{2}start_FLOATSUBSCRIPT 2 end_FLOATSUBSCRIPT has a linear relationship with fuel consumption. Our model with MFC reconstruction method achieves a higher accuracy than the baseline models under all of the penetration rates. Besides the average value, it also provides a more stable performance than others. Moreover, we analyze the reason for the higher error of the polynomial reconstruction method. The fuel consumption of the reconstructed trajectory is always lower than the one of the ground truth trajectory, which implies that the trajectory may be over-smooth to lose some randomness existing in the ground truth trajectory. The randomness may largely affect the performance in terms of energy consumption. In summary, our model has a better performance, especially when the CV penetration rate is low.

Refer to caption
Figure 8: Evaluation metric for reproducing traffic oscillation.

6.3 Traffic Oscillation Reproduction

In this part, we evaluate the capability of the proposed methodology in reproducing observed traffic oscillations. To characterize the traffic oscillations, we use the frequency and amplitude of the velocity sequence since the velocity can well reflect empirical observations according to (Makridis et al., 2020). To this end, we apply the efficient Fast Fourier Transform (FFT) on the velocity sequence to get the frequency domain information. We use one of the subdatasets to illustrate the results. As shown in Fig. 9, Fig. 9.(b) is the spectrum of Fig. 9.(a), which is expressed using frequency and amplitude. Specifically, except for the dominant peak amplitude, the existence of other peak amplitudes implies multiple traffic oscillations (Makridis et al., 2020). We apply FFT to the reconstructed trajectory of Coifman’s method, macro-micro method, and ours with MFC reconstruction. The reconstructed trajectory and the corresponding Fourier spectrum are shown in Fig. 9.(c)-(h), respectively. Comparing Fig. 9.(b), (d), (f), and (h), our model has the most similar peak frequency and amplitude as the one of ground truth, which indicates that our reconstruction method can successfully reproduce the traffic oscillations.

Moreover, considering that the connected vehicles are selected randomly in the above evaluation experiments, the spectrum may be affected by the selection of connected vehicles. Thus, we introduce a new metric to quantify the capability of traffic oscillation reproduction. Specifically, we calculate the intersection area between the spectrum of ground trajectories and reconstructed trajectories. The method of calculating the intersection area is shown in Fig. 8. Then, we use the ratio of the intersection area on the whole area of the reconstructed spectrum to measure the quality of the reconstructed trajectories in terms of reproducing traffic oscillation. The ratio of Coifman’s method is 77.20%. The mean and standard deviation value of the ratio achieved by macro-micro model is 63.90% and 1.01%, respectively. For our model with MFC reconstruction method, we achieve 88.61% and 1.41%, in terms of mean and standard deviation value of the ratio. Thus, compared with other baseline models, our model is the most capable one to reproduce the traffic oscillations.

Refer to caption
Figure 9: The Fourier Spectrum of ground truth data and reconstructed data. (a) Ground truth trajectories. (b) Fourier spectrum of ground truth. (c) Reconstructed trajectories by Coifman’s method. (d) Fourier spectrum of reconstructed trajectories of Coifman’s method. (e) Reconstructed trajectories by macro-micro method, where the CV penetration rate is 10% and the black line is the trajectory of CV. (f) Fourier spectrum of reconstructed trajectories of macro-micro method. (g) Reconstructed trajectories by our method with MFC reconstruction, where the CV penetration rate is 10% and the black line is the trajectory of CV. (h) Fourier spectrum of reconstructed trajectories of our method.

7 Discussion

As the above experimental results illustrate that the accuracy of the reconstructed trajectory is affected by the characteristics of the CVs’ trajectory. To well measure the contribution of different CVs, we propose a new metric to evaluate the contribution of the CV to trajectory reconstruction, which is spatial-temporal area coverage. Further analysis is conducted to measure the amount of information required to calibrate different CVs. By evaluating these two proposed metrics, we can identify the most critical and informative CV.

7.1 Spatial-Temporal Area Reconstruction

Considering that the trajectory of the vehicles that are farther from the CV can not be fully recovered due to the limited number of calibrated shockwave speed values, we propose to reconstruct a spatial-temporal (ST) area instead of a set of complete trajectories. Given a set of calibrated shockwave speed values for a CV, the covered ST area of this CV is defined as the area enclosed by the reconstructed trajectory of the CV and the last shockwave line that can contribute to recovering the trajectory of other NCVs, as shown in Fig. 10(a). Note that the trajectory of an NCV is considered as reconstruction completion when the reconstructed segment is more than 80%percent8080\%80 % of the whole journey. The larger of this area represents that knowing the trajectory of this CV can contribute more to trajectory reconstruction.

Refer to caption
(a) An example of the reconstructed ST area. The unit of ST area is feet\cdots.
Refer to caption
(b) Relationship between the average speed of the CV and its reconstructed spatial-temporal area. The unit of y-axis is feet\cdots and x-axis is feet/s.
Figure 10: Analysis of the reconstructed spatial-temporal area of CVs.

Given the above definition, we explore the relationship between the average speed of the CV and its covered ST area. We calibrate the time-varying shockwave speed for all vehicles. The results are shown in Fig. 10(b), which indicates that the CV with a smaller average speed can cover more ST area and contribute more to reconstructing the trajectory of its following vehicles.

7.2 Information Amount Requirement for Calibration

Refer to caption
Figure 11: Relationship between the average speed of CVs and the required amount of data for shockwave calibration.

As introduced in the previous sections and experiments, the collected data, including arrival time and speed of following vehicles, is required to calibrate the time-vary shockwave speed values of the leading CV. However, for different CVs, they need different amount of data for calibration. We define the number of following vehicles’ speed that are used to calibrate the shockwave speed of the CV as the information amount required for calibrating the time-varying shockwave speed. As shown in Fig. 11, there is no significant relationship between the average speed of the CV and its required amount of information. Thus, the selection of a CV has little impact on the efficiency and effectiveness in terms of the data requirement.

8 Conclusion and Future Work

In conclusion, our proposed framework presents a comprehensive solution to the challenges in reconstructing vehicle trajectories using a combination of fixed and connected vehicle sensor data. The integration of fixed sensor information and connected vehicle data enables a more accurate and robust trajectory reconstruction process. The introduced calibration algorithm for time-varying shockwave speed further enhances precision, addressing the limitations of existing methods. Moreover, the vehicle dynamics are considered while reconstructing the trajectory for better energy estimation. Through real-world evaluations, our method consistently outperforms baseline models, demonstrating its effectiveness across various traffic conditions, especially in scenarios with a low penetration rate of CVs. The concept of a reconstructed ST area and information amount requirement provide valuable insights into the contribution and effectiveness of CVs with different average speeds, enriching our understanding of the reconstruction process. This work not only advances the field of trajectory reconstruction but also lays the foundation for more accurate modeling and optimization in traffic flow management and related domains.

In future work, we plan to apply our method to traffic scenarios with signals and intersections to measure the queue length of intersections. Moreover, we will explore and build the relationship between the time-varying shockwave speed and traffic data collected by a loop detector using deep learning methods. As such, we can reconstruct the trajectories without knowing any CV trajectory, which can significantly enlarge the application scenarios and mitigate the reliance on the existence of CVs.

\printcredits

References

\bio\endbio