Method and apparatus for traffic simulation
The method improves traffic simulation accuracy and efficiency by integrating real-time data through Kalman filters and GPU parallel processing, addressing computational and data integration challenges in complex traffic modeling.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-29
- Publication Date
- 2026-04-16
AI Technical Summary
Existing traffic simulation techniques face challenges in accurately modeling complex traffic scenarios due to high computational demands, sensitivity to initial conditions, and the need for real-time integration of high-dimensional and noisy data, which often compromise simulation accuracy and efficiency.
A method involving preliminary agent-based simulation, data assimilation using Kalman filters and ensemble Kalman filters, and parallel processing with GPUs to integrate real-time data and improve simulation accuracy and speed, allowing for realistic and scalable traffic modeling.
Enhances the accuracy and efficiency of traffic simulations by effectively assimilating real-world data, reducing computational resource requirements, and enabling rapid adaptation to changing conditions, thus providing reliable and resource-efficient predictive models.
Smart Images

Figure 2026066212000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to traffic simulation. More specifically, the present invention relates to a method for traffic simulation, as well as related data processing devices, computer programs, and computer-readable storage media. [Background technology]
[0002] There is a growing tendency to represent the real world as a digital world. Concepts such as smart cities, digital twins (DTs), and the metaverse are gaining particular attention, at least in part, due to new and improved technologies that enable the advancement of these concepts, including technologies related to the Internet of Things (IoT), 5G (fifth-generation technology standards for telecommunications), artificial intelligence (AI), and quantum computing.
[0003] To improve transportation, smart transportation systems are used to deliver a wide range of services to diverse users at scale and in real time (or at least at a speed fast enough to take effective action). It is desirable that the system delivers a wide range of services created by complex processing of primarily real-time detected data acquired from sources within the transportation network (or sources that provide services to it) (e.g., roads and vehicles). Services are often requested in "real time," so immediate action is taken by the service users. There are diverse data sources, generating various types of data at various rates. Services are also diverse and complex, using data in a wide range of different ways.
[0004] As an example, a transportation authority for a large city may create a simulation in the form of a system DT of its public transport infrastructure that provides a real-time virtual model of the traffic flow throughout the city. The virtual model may be driven by real-time generated data from a wide range of sources, including vehicle movements from on-board GPS, roadside sensors, CCTV analysis, routing requests, and live dispatch of public transport, the state and operation of infrastructure such as traffic lights, and human movements from mobile GPS, ticketing activities, and CCTV.
[0005] Agent-based modeling (ABM) is a computational modeling framework for simulating the actions and interactions of autonomous agents (individual and collective entities such as organizations and groups). ABM is a modeling technique that incorporates agents, which are parts of code representing individual entities of interest, and the environment in which these agents exist and interact. ABM allows computational social scientists and others to simulate a wide range of empirically observed phenomena within a computational sandbox environment, stress-testing systems before deployment. Typically, agent-based models consist of two components: agents and the environment. Agents are autonomous individuals, often described as software objects representing individual-level behavior. For example, an agent might represent a person with characteristics such as age, height, and weight. The environment represents a constrained space that can be either abstract or based on empirical data of a constructed environment in which the agents operate. Its broad cross-disciplinary adoption has identified and explored challenges of the ABM approach over time. One of the most prominent of these is the computability of simulating intensive tasks. Sometimes, to overcome this challenge, modelers choose to reduce the complexity of the real-world system's representation by approximating complex behavior or by reducing the number of agents, but this can compromise the simulation results.
[0006] Modern ABM consists of agents (usually encoded as algorithms) that follow rules of dynamic interaction with the environment and / or with each other. The state of each agent is typically contained in their state variables, which may be modified based on the interactions between agents. The agents simulate local (microscopic) interactions that can give rise to complex and emergent phenomena at various spatiotemporal scales. Recent improvements in computing power have led to an increase in the adoption of such methods and a significant increase in their popularity in research.
[0007] Microscopic ABM takes a detailed bottom-up approach to model vehicle traffic. Unlike macroscopic models that focus on the overall flow of traffic, microscopic ABM treats individual vehicles (and sometimes pedestrians) as independent agents with their own unique characteristics and decision-making capabilities. This allows for a more realistic simulation of traffic behavior by considering factors such as the behavior of individual drivers (each agent has different levels of aggression, patience, and skill, leading to diverse driving styles), vehicle characteristics (different vehicle types (passenger cars, trucks, motorcycles) can have different acceleration, deceleration, and turning capabilities), environmental factors (traffic signals, lane markings, road geometry, and weather conditions can all influence agent behavior), and interactions between agents (agents react to each other's actions such as lane changes, braking, or merging, which can lead to urgent traffic phenomena such as congestion and bottlenecks).
[0008] Effective traffic simulation techniques ideally possess characteristics such as the ability to model large and complex networks, the ability to simulate system transitions faster than real-time, the ability to provide accurate predictions, and the ability to respond quickly to changing real-world conditions. These characteristics require the ability to quickly recognize and integrate information coming from the real world in the form of road traffic data, weather forecasts, changing patterns of people's movement, social events, and updated regulations. This type of data is often noisy and provided in high dimensions, which presents challenges. Because human movement and mobility are complex nonlinear systems, simulations are highly sensitive to initial conditions. Simulations using high-dimensional data often require high computational power and large amounts of physical memory, which leads to drawbacks related to hardware and time complexity.
[0009] It is desirable to provide technologies that offer improvements in the realistic simulation of scenarios in digital representations of the real world. [Overview of the Initiative]
[0010] The present invention is defined in the independent claims. Specific embodiments are defined in the dependent claims.
[0011] According to one aspect of the present invention, a computer implementation method is provided which includes: running a preliminary agent-based simulation model to generate preliminary simulation predictions of traffic in a geographical area; receiving input traffic data for the geographical area; and performing data assimilation on the preliminary simulation predictions and traffic data to generate assimilated traffic data. [Brief explanation of the drawing]
[0012] Refer to the attached drawings below as an example.
[0013] [Figure 1] This is a flowchart of a general method for traffic simulation according to an embodiment. [Figure 2a] A set of time series of the position and velocity of an object captured using a Kalman filter. [Figure 2b] A set of time series of the position and velocity of an object captured using a Kalman filter. [Figure 3a] A flowchart for a traffic simulation method according to an embodiment. [Figure 3b] A flowchart for a traffic simulation method according to an embodiment. [Figure 4] A block diagram of computing means for implementing the method according to an embodiment.
Mode for Carrying Out the Invention
[0014] FIG. 1 is an overview of a general method for traffic simulation that addresses the drawbacks described above the known simulation techniques. In S11, computing means for executing the general method executes a preliminary microscopic agent-based simulation model to generate preliminary simulation prediction results of traffic within a geographic area. In this way, this method simulates the behavior of any traffic participant represented by an agent object. For example, in the context of vehicle traffic, the microscopic traffic simulation may be a mathematical traffic model or flow model that simulates a single vehicle-driver unit, and thus, the dynamic variables of the model represent microscopic characteristics of the vehicle such as position and speed. Each agent object represents a traffic participant and the related data of that traffic participant. For example, the agent object may be a software object representing the behavior of a single vehicle (the related data includes the speed and position of that vehicle), or may be a software object representing a segment of a road within a geographic area. The geographic area may correspond to, for example, an entire town or city. Depending on the complexity of the simulation, there may be hundreds or thousands of agent objects.
[0015] In S12, the computing means accepts input of traffic data for a geographical area. The traffic data may include vehicle data and / or pedestrian data. The traffic data may include data obtained from one or more sensors within a given geographical area (the area of the traffic simulation). The traffic data may further include data related to current or future weather, seasonality, pre-arranged events (concerts, sporting events, etc.), mobility flows, and correlation patterns of traffic from other geographical areas (adjacent and non-adjacent geographical areas). The traffic data may also relate, for example, survey data indicating the use of road segments or public transport systems.
[0016] S11 may be preceded by a step of accepting input of preliminary traffic data for a geographical area. The preliminary traffic data may be the same as or in a similar format to any subsequent input traffic data. S11 may then run a preliminary agent-based simulation model using the preliminary traffic data. Alternatively, the preliminary agent-based simulation model may be run using placeholders or default agent values.
[0017] In S13, the computing means performs data assimilation on preliminary simulation predictions and traffic data to generate assimilated traffic data. Data assimilation is the process of integrating observational data into a simulation model to improve the model's accuracy and predictive power. In the context of traffic simulation according to the embodiment, this may involve combining real-time data from various sources, such as sensors and traffic cameras, with the simulation model (or multiple models) to enhance the model's reliability and responsiveness. Therefore, the assimilated traffic data may be considered modified or refined traffic data.
[0018] Another embodiment of the present invention includes a data processing device comprising a memory, a plurality of processing units, and means for receiving input. The memory stores computer-executable instructions for performing a computer implementation method for traffic simulation. The plurality of processing units and means for receiving input are configured to execute the instructions.
[0019] Another embodiment of the present invention includes a computer program that includes instructions, which, when executed by a data processing device, cause the data processing device to perform a computer implementation method for traffic simulation.
[0020] Another embodiment of the present invention includes a non-temporary computer-readable storage medium containing instructions, the instructions, when executed by a data processing device, cause the data processing device to perform a computer-implemented method for traffic simulation.
[0021] The present invention may be implemented as a digital electronic circuit configuration, or as computer hardware, firmware, software, or a combination thereof. The present invention may also be implemented as a computer program or computer program product, i.e., a computer program tangibly embodied in a non-transient information carrier, such as a machine-readable storage device or a propagating signal, for execution by or control of the operation of one or more hardware modules.
[0022] Computer programs may be in the form of standalone programs, computer program parts, or multiple computer programs, and may be written in any form of programming language, including compiled or interpreted languages, and may be deployed in any form, such as as standalone programs or as modules, components, subroutines, or other units suitable for use in a data processing environment. Computer programs may be deployed to run on one module or on multiple modules at one site, or they may be distributed across multiple sites and interconnected by a communication network.
[0023] The steps of the method of the present invention may be performed by one or more programmable processors that execute a computer program that performs the functions of the present invention by acting on input data and generating an output. The apparatus of the present invention may be implemented as programmed hardware or as a dedicated logic circuit configuration, for example, including an FPGA (Field Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit).
[0024] Processors suitable for executing computer programs include, for example, both general-purpose and dedicated microprocessors, and any one or more processors of any type of digital computer. Generally, a processor receives instructions and data from read-only memory, random-access memory, or both.
[0025] The present invention will be described with respect to specific embodiments. Other embodiments are within the scope of the following claims. For example, the steps of the present invention may be performed in a different order and the desired results may still be achieved.
[0026] The embodiments have been described using terms such as “computing means” and “processing units.” Those skilled in the art will understand that such functional terms and their equivalents may refer to parts of a system that are spatially separated but combined to perform a defined function. Similarly, the same physical part of the system may provide two or more defined functions. For example, separately defined means may be implemented using the same memory and / or processor, if necessary.
[0027] Data assimilation algorithms have been shown to enable the real-time fusion of real-time data from diverse sources, including GPS devices, traffic sensors, and social media, with simulation models, resulting in more accurate predictions and adaptive control strategies. Data assimilation algorithms can quantify and incorporate uncertainties in both the model and the underlying data, thereby improving the robustness of traffic simulation models. Data assimilation algorithms have been shown to enable integration with smart city initiatives; that is, by using the technologies described herein to integrate traffic simulation models with other urban systems such as energy, environment, and infrastructure, a comprehensive view for urban planning and management can be provided.
[0028] Those skilled in the art will understand that the technologies described herein are applicable to fields such as transportation planning and engineering and can be used to assess the impact of changes in road infrastructure, traffic management strategies, and public transport services. In the field of autonomous vehicle development, the technologies described herein may provide for testing and evaluating the behavior of autonomous vehicles in simulated environments. In the field of urban planning, the technologies described herein make it possible to study the impact of transport systems on land use, air quality, and energy consumption. Beyond transport networks, the technologies described herein may be extended to model other systems responsible for facilitating large-scale flows. This versatility makes this approach a valuable asset for a wide range of industries and sectors seeking to simulate and optimize various complex systems. Furthermore, the technologies described herein address significant technical shortcomings commonly observed in ABM literature within academia, namely, a lack of computational power and scalability.
[0029] The technologies described herein enable high-speed, resource-efficient data assimilation. These technologies significantly expand the capabilities of existing simulators for integration into digital twin frameworks by allowing them to utilize multiple types of real-world data. These technologies improve the resilience of existing simulators to corrupted or noisy data, and enhance predictive accuracy. Furthermore, these technologies conserve hardware resources and optimize hardware resource allocation in simulation tasks.
[0030] Figure 2 (formed from Figures 2a and 2b) shows a simple example of a data assimilation technique, namely a linear Kalman filter (also known as a linear quadratic estimator) that may be used in S13. This filter uses a series of measurements observed over time, including statistical noise and other inaccuracies, to generate an estimate of an unknown variable that tends to be more accurate than one based on a single measurement alone, by estimating a combined probability distribution across the variable for each time frame. The filter may be configured as a mean squared error minimizer. Hereinafter, this filter is used to predict the trajectory of an object at constant velocity in two-dimensional space through noisy measurements. Filtering in this context refers to a stochastic process related to the problem of determining the state of a system from an incomplete and potentially noisy set of observations.
[0031] The leftmost plot is a time-series plot of a 2D object, capturing its position in the X-plane (top left), position in the Y-plane (second from the top left), velocity in the X-plane (third from the top left), and velocity in the Y-plane (bottom left). Curve 21 represents the object's position, and curve 22 is the Kalman position filter (note that these two curves substantially overlap in each position plot). Curve 23 represents the object's velocity, and curve 24 is the Kalman velocity filter. The plus sign indicates object position measurements obtained, for example, using a GPS sensor.
[0032] The plot on the far right is a time-series plot of position and velocity errors (the top right is the X-plane position error, the second from the top right is the Y-plane position error, the third from the top right is the X-plane velocity error, and the bottom right is the Y-plane velocity error). Curve 25 is the object position error, and curve 26 is the Kalman position error filter. Curve 27 is the object velocity error, and curve 28 is the Kalman velocity error filter. Curves 25 and 27 are in the three-sigma range in this example.
[0033] A Kalman filter is a recursive estimator that requires only the estimated state from the previous time step and the current measurement to compute an estimate for the current state. In contrast to batch estimation techniques, a history of observations and / or estimates is not required. As observed, in the early stages of the simulation, the filter struggles to predict the motion of objects (the errors in the Kalman filter's position and velocity are relatively large). However, as time progresses and more sensor information becomes available, the filter can target the object and predict its trajectory with improved accuracy.
[0034] While linear Kalman filters are effective in this example, they are not particularly suited to high-dimensional data such as that encountered in ABM traffic simulations. In some embodiments, performing data assimilation involves filtering preliminary simulation and traffic data using ensemble Kalman filters. The ensemble Kalman filters (EnKF) used for data assimilation allow for improvements in the temporal complexity of the algorithm and enable the assimilation of the very high-dimensional data typical of real-world applications.
[0035] EnKF is a recursive filter well-suited to problems with many variables and has been used to discretize partial differential equations in geophysical models. EnKF is a Monte Carlo-based computational algorithm for solving Bayesian updating problems. Starting with a probability density function (PDF) representing the state of the modeled system (called prior), EnKF combines Bayes' theorem with the time progression of the model, periodically incorporating new data. Unlike the linear (original) Kalman filter described above, which assumes a Gaussian PDF and provides algebraic formulas for mean and covariance updates, EnKF replaces the covariance matrix with sample covariances calculated from an ensemble of state vectors. One advantage of EnKF is that the PDF is advanced over time by advancing each member of the ensemble independently.
[0036] Other suitable filters for processing high-dimensional data include other filters from the particle filter family and 4D-Var assimilation techniques that combine model dynamics, physical, and observational data to improve the accuracy of initial conditions for improved simulations.
[0037] In some embodiments, the method for traffic simulation further includes preprocessing the traffic data by signal processing filtering. In this way, the technique smooths the data and removes outliers while maintaining trends and patterns in the dataset compared to the original dataset. The accuracy of the resulting simulation predictions is then improved. Smoothing in this context may involve creating an approximation function that attempts to capture important patterns in the data while excluding noise or other fine-scale structures and rapid phenomena. Optionally, the preprocessing step may involve converting the traffic data to a file type suitable for input to the simulation model.
[0038] In some embodiments, the method for traffic simulation further includes running a microscopic agent-based simulation model using assimilated traffic data as initial conditions. This allows the method to generate simulated predictions of traffic within a geographical area. In some cases, a preliminary ABM simulation model may be the same as other ABM simulation models. The ABM simulation model typically updates the speed and position of vehicles (or traffic participants) using an algorithm built around a discretized ordinary differential equation (ODE) solver, e.g., Simulation of Urban Mobility (SUMO) (Krajzewicz et al. 2012).
[0039] In some embodiments, the method for traffic simulation further includes augmenting assimilated traffic data (or its associated simulation model setup) to form multiple augmented and assimilated traffic data (or associated simulation model setup). That is, following the data assimilation process, the resulting corrected or refined traffic data may be adjusted or supplemented to correspond to various modified states of traffic. A single modified state of traffic may be represented by a single set of augmented and assimilated traffic data. The method then may include running multiple microscopic agent-based simulation models using the multiple augmented and assimilated traffic data to generate multiple augmented simulation predictions of traffic within a geographical area. In this way, it is possible to analyze potential scenarios of system state transitions and run multiple variations simultaneously. Of course, the unmodified (original) assimilated traffic data may be retained and form the basis of simulation models run for the purpose of knowing the predictions and transition paths of the unaugmented state.
[0040] In some embodiments, running multiple microscopic agent-based simulation models using multiple augmented and assimilated traffic data may include the step of generating multiple agent objects. This step may be performed using augmented and assimilated traffic data such that each agent object represents a traffic participant and associated augmented and assimilated traffic data. The method then includes the step of assigning each agent object to one or more of several processing units. These processing units may be, for example, graphics processing units (GPUs), i.e., specialized electronic circuits (either on a video card or embedded in a motherboard, mobile phone, personal computer, workstation, and game console) originally designed to accelerate computer graphics and image processing, or they may be located within a GPU. A processing unit may be a warp consisting of individual cores, groups of cores, threads, thread blocks, or parallel threads.
[0041] Next, this method involves running a microscopic traffic simulation model in parallel for each processing unit and each assigned agent object (for example, the first processing unit runs the traffic simulation for the first assigned agent object, and substantially in parallel, the second processing unit runs the traffic simulation for the second assigned agent object). In this way, this method simulates the behavior of traffic participants represented by the agent objects.
[0042] In some embodiments, the method for traffic simulation further includes accepting input of further traffic data for a geographical area and performing data assimilation for further simulation predictions using the further traffic data. In this way, the method generates assimilated further traffic data. In this way, the traffic simulation may advance time and supplement the results of the simulation model for preceding time steps with the latest traffic data. Of course, this process may be repeated indefinitely by assimilating the simulation prediction for each preceding time step with the further traffic data. Furthermore, using any assimilated traffic data, a further agent-based simulation model may be run to generate further simulation predictions of traffic within the geographical area. This process may be repeated for a predetermined number of iterations (corresponding to a predetermined number of time steps) or until some convergence criterion is achieved.
[0043] In some embodiments, the action of performing data assimilation for any further simulation prediction using any further traffic data may be suspended or reserved until further traffic data becomes available. For example, a traffic sensor may be configured to repeatedly acquire and process traffic data at a predetermined frequency, the frequency of which may be associated with a time span slower than the time span over which the computing means can perform a single simulation iteration. In this way, the computing means remains idle until further traffic data becomes available, thereby ensuring that each simulation iteration is performed in light of accurate traffic data. This is particularly advantageous when any simulation iteration is performed faster than real time.
[0044] In some embodiments, the traffic data (preliminary, extended, assimilated, or otherwise) includes data obtained from a digital twin of the geographical area under consideration, or corresponding data. This method thereby creates a comprehensive and realistic digital twin (DT), offering a high level of reliability and accuracy in modeling real-world systems. In this context, the DT is a digital model of a traffic system that serves as an effectively indistinguishable digital counterpart of the traffic system for purposes such as simulation, integration, testing, monitoring, and maintenance of the actual system.
[0045] In some embodiments, traffic data (preliminary, augmented, assimilated, or otherwise) includes sensor data. This sensor data may be real-world sensor data acquired in real time from any or all of the following: GPS sensors or antennas, cellular network sensors or antennas, loop sensors, camera sensors, and vehicle parking sensors. The sensors may be on-board sensors, for example, GPS sensors or cellular (telecommunications) sensors provided in or on a vehicle or pedestrian and configured to transmit the location of the vehicle or pedestrian. Traffic location may be determined using triangulation of antenna signals. Any other floating vehicle data may be preferably used alongside GPS and cellular data. Camera sensors may be used to remotely store image data, and then image processing techniques such as object detection may be used to provide location data of vehicles or pedestrians. Vehicle parking sensors (either on-board or remote from the vehicle) may be used to indicate the parking location of a vehicle, thereby providing, for example, the occupancy level of a parking facility. Of course, the sensor data may also be historical sensor data representing the traffic system at some point in the past.
[0046] In some embodiments, any traffic simulation model includes a vehicle-following model used to model or determine how traffic participants (e.g., vehicles or pedestrians) follow each other on a roadway or path. For example, the model can determine the speed of a vehicle relative to a vehicle ahead. One such embodiment of a suitable vehicle-following model is the Krauss vehicle-following model, which facilitates collision-free environments. Of course, alternative vehicle-following models (including the Gipps model (Gipps, 1981)) may be used. In addition, the traffic simulation model includes either a lane change model or a merging (or intersection) management model (or both). The lane change model is used to determine lane choice and speed adjustments associated with lane changes on multi-lane roads. The merging management model is used to determine the behavior of traffic participants at different types of intersections, for example, with respect to right-of-way rules, gap acceptance, and avoidance of merging blockages.
[0047] In one embodiment, SUMO may be used as a traffic simulation model, and the lane-changing rules and intersection mechanisms may follow those described in the studies of Erdmann, J. ("SUMO's lane-changing model", 2014) and Erdmann, J. & Krajzewicz ("SUMO's road intersection model", 2011). These models are built upon previous models used in SUMO and add internal merging point support to better represent vehicle behavior while navigating complex intersections, and an improved, more complex hierarchy of lane and speed selection choices, including strategic, tactical, cooperative, and regulatory triggers. These updated rule sets are used by default in the latest version of SUMO and aim to improve the accuracy of an already reliable model.
[0048] SUMO's lane change model determines a vehicle's lane choice for a single simulation stem based on both the vehicle's route and past and present traffic conditions around the vehicle, and computes the necessary speed changes for the vehicle itself and any obstructing vehicles to facilitate the execution of the aforementioned choice. In this model, the road network consists of edges, which are unidirectional road segments with a fixed number of lanes and speed limits. Each edge consists of parallel lanes. A vehicle is defined by a route containing a set of edges and, during the simulation, moves along the lanes with some degree of freedom to choose which lane to use (unless restricted). Connectivity is defined at the lane level, and each lane may connect to zero or more other lanes. If the vehicle's current lane does not connect to the next edge on the route, it must change lanes to continue.
[0049] The lane change model determines the vehicle's speed by considering the vehicle in front (the leader), regardless of whether it is in the same lane or the next lane with priority. The vehicle-following model defines the follower's speed based on the leader. A lane change is only possible if there is sufficient space in the target lane and the vehicle does not get too close to the leader or follower (as defined by the vehicle-following model) of that lane. If these conditions are not met, the vehicle experiences a "blocking leader" or "blocking follower."
[0050] SUMO's merging point management model represents intersections as nodes, each with inflow and outflow edges (roads with one or more lanes). Inside the intersection, "internal lanes" connect the inflow and outflow lanes, and vehicles move across these internal lanes just like in regular lanes. This allows for detailed vehicle tracking and intersection capacity modeling.
[0051] Each lane can have multiple potential following lanes. These connections are defined by "links" and form a "lane graph" where lanes are connected, which is different from an "intersection graph" where intersections are connected by roads.
[0052] At most intersections, vehicles wait at the stop line before entering and can cross without traffic collisions. However, in certain situations, such as left turns, SUMO allows vehicles to wait in the middle of the intersection. This is modeled by dividing the inner lanes and introducing "inner intersections" within the main lanes. Vehicles using these lanes pass through the initial entry point and instead wait at the inner intersection. The way in which right of way is determined at these inner intersections is the same as at a normal intersection. Again, for a complete derivation and explanation of one exemplary merging point management model, see Erdmann, J. & Krajzewicz (“SUMO's road intersection model”, 2011).
[0053] The techniques described herein provide an algorithm for supplying real-world data to a mobile simulator, optionally having layers of raw data filtering and format conversion, and optionally having a step of combining the output of a simulation run or iteration ("background" or "state" data) with newly available data from the real world ("observed data") to generate a set of initial conditions for subsequent simulation runs. This overall algorithm is also suitable for initializing ensemble simulation runs to explore multiple scenarios of system transitions. Embodiments described herein enable obtaining highly accurate and stable simulation predictions of the system state for a target time step. Data assimilation, including the incorporation of observed data, allows for obtaining highly accurate initial conditions for each subsequent step of the simulated period, thus ensuring realistic initial conditions that facilitate an accurate representation of possible nonlinear transitions of the system.
[0054] As an example of operation, Figure 3 (formed from Figures 3a and 3b) demonstrates one embodiment for a traffic simulation method according to an embodiment. In the embodiment described, the time step is
number
[0055] In this example, a SUMO-based simulation is used, and the mapping between SUMO's formal ABM agent specification, which has a C-based script, and CUDA code optimized for GPU implementations, is provided by the open-source software FLAME-GPU (Flexible Large Scale Agent Modelling Environment for GPUs). FLAME-GPU is an agent-based simulation framework with a modern general-purpose computing (GPGPU) parallel architecture on GPUs to improve the performance of complex system simulations. FLAME-GPU demonstrates this by abstracting the GPU and parallel processing from the modeler, providing separation of concerns and ensuring that the model is written separately from its implementation. The performance improvements provided by this framework allow large models to be constructed and simulated in a reasonable amount of time. This framework presents a general approach to agent-based simulation and is not limited to any particular domain. It has been used for a range of simulation problems, including pedestrian simulations, simple road network simulations, and cellular models of biological systems. To utilize FLAME-GPU, the modeler maps complex systems to abstractions of agents (representing individuals with internal memory), messages (allowing agents to communicate indirectly via a globally accessible message list), and the environment (representing information accessible to all agents within the system). For further information on this approach, see European Patent Application No. 24162384.2.
[0056] In this example, the discretized ODE solver SUMO provides a microscopic traffic simulation model. Of course, other microscopic traffic simulation models and solvers, including AIMSUN (Casas et al. 2010), MATsim (W Axhausen et al. 2016), ARCHISIM (Champion et al. 2001), and VISSIM (Fellendorf et al. 2010), are equally suitable. Furthermore, in this example, parallelization of processing is achieved using GPGPU. Of course, in some embodiments, more traditional CPU architectures may be used.
[0057] In this context, the period t -1 Period t is the period before any simulation is started, during which the simulation objectives are formulated, initial data is collected, and corresponding simulation variables are set accordingly. -1 This can be considered a setup or initialization phase. Period t0 is, in fact, the warm-up phase of the simulation. During period t0, this method may run a preliminary simulation model to run the simulation before the period of interest in order to obtain tightly satisfied initial conditions. Subsequent period t j This includes time steps corresponding to the period of interest.
[0058] period t -1In the computing system, the computing means is configured to receive raw data from data providers and / or directly from traffic sensors. These data may have various formats and dimensions, in which case a raw data conversion process may be performed before the data is used as t0 initialization data. For example, the raw data may pass through a kernel filter (signal processing filter, or kernel smoother) to ensure that the data is smoothed and free from potential imperfections. As an example, GPS traffic location data may be inaccurate due to the presence of tunnels on the road or adverse weather conditions. The kernel of the filter used may vary depending on the nature of the data; for example, a Gaussian filter is particularly suitable for continuous data such as location data. This filtering process ensures that the initial conditions strictly describe the state of the real-world system without any additional distortion, which is particularly advantageous because the nonlinearity of ABM simulations results in high simulation sensitivity with respect to the initial conditions.
[0059] The raw data (or filtered raw data) may be converted to a data format compatible with the simulation engine in use. For example, in the FLAME configuration described above (using a SUMO-based simulation engine), an XML data structure is used as input. Therefore, the conversion process may involve smoothing followed by filling an XML file with the given real-world data, thereby forming the t0 initialization data (also referred to herein as preliminary traffic data). In this case, the preliminary traffic data is m t Dimensional data vector
number
[0060] Period t0 is the initial condition for running the warm-up simulation.
number
[0061] In this example, preliminary simulation predictions are expressed as n-dimensional data vectors.
number
number
[0062] Next, the computing means initiates the data assimilation process using an ensemble Kalman filter (EnKF) for a period t j Obtain the initial conditions for this.
[0063] The classical linear Gaussian state-space model, for an observed value y and a state x,
Number
[0064] The Kalman filter (and, by extension, the EnKF) consists of a prediction phase and an update phase. In the prediction phase, the Kalman filter generates an estimate of the current state variable and its uncertainty. When the result of the next measurement (corrupted with some error including random noise) is observed, these estimates are updated using a weighted average, with more weight given to estimates with higher certainty. Here, the prediction phase involves sampling from the prediction distribution
Number
Number
[0065] In this case, the prediction distribution
Number
number
number
[0066] Next, the update phase may be performed as follows:
number
number
number
number
number
[0067] period t j This corresponds to the period during which a prediction of the system's final state can be obtained. j This may involve a step to start the simulation using assimilated traffic data as initial conditions for running the simulation (or to inform the system of initial conditions). Without further data modification, this simulation provides predictions of traffic within a geographical area. The unchangeable system state enables predictions (e.g., predictions of CO2 emissions within a geographical area), and if further progress in the simulation is required (t j (At the end of the period) Further data assimilation is enabled (simulation predictions provide input to the further data assimilation process).
[0068] To analyze various potential scenarios of system state transitions, the initial system state can be extended. Assimilated traffic data (and / or corresponding simulation parameters) may be extended to form modified states (referred to herein as extended assimilated traffic data). Multiple deformations of the system may form an ensemble of simulations (the term ensemble here should not be confused with the use of the term ensemble in EnKF), which may be run concurrently. Ensemble simulations can also be run over any given period to obtain predictions or to obtain system states that are close to the transitions of conditions that have occurred in actual real-world systems.
number
[0069] period t j The algorithm for ensemble traffic simulation in this context is as follows: 1. Set j=1. Time t j Then, the possible ways in which the system can transition are determined. An initial set of system states is created, and initialization data is supplied to the ensemble to start the simulation. In most cases, the initialization data is t j-1 This is obtained from the assimilation step. However, this does not apply if you want to test a specific setup where this is not the case, for example, if you are using entirely new simulation parameters for comparison purposes. 2. The simulation ensemble will run until it is complete. j Output data is obtained for all ensembles. 3. The computing means identify the scenario that the real-world system has followed (in this case, the "unchanged" state). 4.t j+1 If you do not need to perform a simulation about t j The output data may be used as predictive data to construct the necessary analytical predictions. 5. If necessary, computing means, j The computing means remains idle until raw data becomes available, then performs the raw data transformation process, and subsequently performs EnKF data assimilation (similar to the t0 phase) to obtain corrected or refined predictive data for analysis and prediction. 6.t j+1 If it is necessary to perform a simulation on t, the computing means is t jThe computing means remains idle until raw data becomes available, then performs the raw data transformation process, and subsequently performs EnKF data assimilation. 7. Assimilated data, j+1 It is ready to be used as initialization data for [the subject]. 8. Set j = j + 1 and the desired predicted time t τ Repeat steps 1-8 until you reach [the desired result]. As an example, consider the use of HERE Live Traffic Data (from HERE Technologies), which is configured to arrive at 15-minute intervals. The data includes the travel made by selected vehicles over a given period, with origin and destination coordinates and timestamps.
[0070] t -1 This data is then aggregated into sets representing periods of interest (e.g., 1 hour) of Δt, resulting in combined information about the movements performed. HERE The data is provided filtered and smoothed, so in this example, smoothing or filtering is not necessary. Following aggregation, the computing means transforms the given data through a script that converts the origin and destination coordinates into a set of timestamped edge sequences representing the route, all of which are converted into an XML format that can be easily read by FLAME. Here, vectors
number
[0071] At the end of t0, the warm-up run is complete and has floating vehicle data (FCD) output for the simulated period. The data is then extracted using a script, and the resulting data mimics the format in which the computing means receives HERE data, i.e., time-stamped pairs of origin and destination (OD). As soon as real-world data for period t0 is received, the computing means can begin data assimilation. Briefly, the computing means does the following: 1.
number
number
number
number
number
[0072] The computing means is configured to set up several modified system states in order to initiate multiple ensemble simulations to evaluate a period of Δt. By the end of this period, the computing means can use the simulation results of the most realistic ensemble, or perform further assimilation in the same manner, to obtain the initialization conditions for t2. This process can be repeated for as many periods as needed.
[0073] One preferred hardware embodiment for performing traffic simulation according to the embodiment is as follows: Intel Core i7-5930K, NVIDIA GeForce RTX 3090 (24 GiB), 64GB host memory, and running Ubuntu 20.04.6 LTS.
[0074] Figure 4 is a block diagram of a computing device, such as a data processing server, which may be used to embody the present invention and implement a method for traffic simulation. The computing device includes a plurality of processors or processing units 993 and memory 994. Optionally, the computing device also includes a network interface 997 for communicating with other computing devices, such as other data storage devices or external data processing devices. One embodiment may consist of a network of such computing devices.
[0075] Optionally, the computing device includes one or more input mechanisms such as a keyboard and mouse 996, and one or more display units such as a monitor or screen 995. These components are connectable to each other via a bus 992.
[0076] Memory 994 may include computer-readable media, and this term may refer to a single or multiple media configured to carry computer-executable instructions or to store data structures (e.g., centralized or distributed databases and / or associated caches and servers). Computer-executable instructions may include instructions and data that are accessible by, for example, a general-purpose computer, a dedicated computer, or a dedicated processing device (e.g., one or more processors) and cause them to perform one or more functions or operations. Thus, the term “computer-readable storage medium” may include any medium capable of storing, encoding, or carrying a set of instructions for execution by a machine and causing a machine to perform any one or more of the methods of this disclosure. Accordingly, the term “computer-readable storage medium” may be interpreted to include, but is not limited to, solid memory, optical media, and magnetic media. Such computer-readable media may include, but are not limited to, non-transient computer-readable storage media, including random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), compact disk read-only memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory devices (e.g., solid memory devices).
[0077] Multiple processors 993 are configured to control a computing device and perform processing operations, for example, by executing code stored in memory to carry out the traffic simulation and related simulation methods described herein and in the claims. Memory 994 stores data read and written by the multiple processors 993. As referred to herein, the processor may include one or more general-purpose processing devices such as microprocessors, central processing units, etc. The processor may include a composite instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor that implements other instruction sets, or a processor that implements a combination of instruction sets. The processor may also include one or more dedicated processing devices such as an ASIC, FPGA, digital signal processor (DSP), network processor, etc. In one or more embodiments, the processor is configured to execute instructions for performing the operations and steps considered herein.
[0078] The display 995 may display a user interface. Inputs 996 in the form of a touchscreen or screen, as well as a keyboard and / or voice, may be used for user input. The user interface may be embodied as a user application shown on the display and optionally connected to the voice input / output of a user device for voice input and audio output. For example, local storage of simulation parameters is provided by memory 994, and multiple processors 993 may perform background functions. Core functions (e.g., running the simulation) may preferably be performed remotely from the user device, for example, on the cloud.
[0079] The network interface (network I / F) 997 may be connected to a network such as the Internet, and can be connected to such computing devices via the network. The network I / F 997 may control data input and output with other devices via the network. Other peripheral devices such as microphones and speakers may be included in the computing device.
[0080] Multiple processors 993 may execute instructions stored in a portion of memory 994 to exchange data between modules via bus 992 and to exchange data with external entities such as traffic sensors via network interface 997.
[0081] A method for embodying the present invention may be performed on a computing device as illustrated in Figure 4. Such a computing device does not need to have all the components illustrated in Figure 4, but may consist of a subset of those components. A method for embodying the present invention may be performed by a single computing device that communicates with one or more data storage servers over a network. The computing device may be the data storage itself that stores pre-configured interventions, buffered sensor data, historical sensor data, multi-function optimization models and parameters, etc.
[0082] The method for embodying the present invention may be carried out by a plurality of computing devices working together. One or more of the plurality of computing devices may be a data storage server that stores at least a portion of pre-configured simulation parameters, traffic network details, agent object data, etc.
[0083] The various methods described above may be carried out by computer programs. A computer program may include computer code (e.g., instructions) arranged to instruct a computer to perform one or more functions of the various methods described above. For example, the steps of the method described with respect to Figure 1 may be carried out by computer code. The steps of the methods described above may be carried out in any preferred order. Computer programs and / or code for performing such methods may be provided to a device such as a computer on one or more computer-readable media, or more generally on a computer program product. The computer-readable media may be temporary or non-temporary. One or more computer-readable media may be, for example, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, or a propagation medium for data transmission for downloading code over the Internet, for example. Alternatively, one or more computer-readable media may take the form of one or more physical computer-readable media such as semiconductor or solid memory, magnetic tape, removable computer diskettes, random access memory (RAM), read-only memory, rigid magnetic disks, and optical disks such as CD-ROMs, CD-R / Ws, and DVDs. Instructions may also reside, entirely or at least partially, in memory 994 and / or in the controller circuit configuration of the multiple processors 993 during execution by the computer system, and memory 994 and the controller circuit configuration of the multiple processors 993 also constitute a computer-readable storage medium.
[0084] In one embodiment, the modules, components, and other features described herein may be implemented as individual components or integrated into the functionality of a hardware component such as an ASIC, FPGA, DSP, or similar device.
[0085] A “hardware component” is a tangible (e.g., non-transient) physical component (e.g., a set of one or more processors) capable of performing a specific operation, and may be configured or arranged in a particular physical manner. A hardware component may include a dedicated circuit configuration or logic permanently configured to perform a specific operation. A hardware component may include a dedicated processor such as an FPGA or ASIC. A hardware component may also include programmable logic or circuit configuration temporarily configured by software to perform a specific operation.
[0086] In addition, modules and components may be implemented as firmware or functional circuit configurations within hardware devices. Furthermore, modules and components may be implemented as any combination of hardware devices and software components, or as software alone (for example, as code stored in a machine-readable medium or transmission medium, or otherwise embodied).
[0087] Unless otherwise specified, as will be apparent from the following considerations, any consideration throughout this specification using terms such as “receive,” “determine,” “compare,” “enable,” “maintain,” “identify,” “obtain,” and “access” is understood to refer to the actions and processes of a computer system or similar electronic computing device that manipulate data represented as physical (electronic) quantities in the registers and memory of a computer system and convert it into other data similarly represented as physical quantities in the memory or registers of a computer system, or in other such information storage, transmission, or display devices.
[0088] Although certain embodiments have been described, these embodiments are presented only as examples and are not intended to limit the scope of the invention. In fact, the novel methods and apparatus described herein may be embodied in various other forms, and furthermore, various omissions, substitutions, and modifications may be made in the forms of methods and apparatus described herein.
[0089] The following numbered notes are useful for understanding the present invention.
[0090] (Note 1) The computer implementation method includes running a preliminary agent-based simulation model to generate preliminary simulation predictions of traffic within a geographical area, accepting input of traffic data for the geographical area, and performing data assimilation on the preliminary simulation predictions and traffic data to generate assimilated traffic data.
[0091] (Note 2) The computer implementation method described in Note 1, wherein performing data assimilation includes filtering the preliminary simulation predictions and the traffic data using an ensemble Kalman filter.
[0092] (Note 3) The computer implementation method according to Note 1 or 2, further comprising preprocessing the traffic data by signal processing filtering and optionally converting the traffic data into a file type suitable for input to the simulation model.
[0093] (Appendix 4) A computer implementation of any one of the preceding appendices, further comprising running an agent-based simulation model using the assimilated traffic data to generate simulated predictions of traffic within the geographical area.
[0094] (Appendix 5) The computer implementation method of claim 1, further comprising expanding the assimilated traffic data to form a plurality of expanded and assimilated traffic data, and running a plurality of agent-based simulation models using the plurality of expanded and assimilated traffic data to generate a plurality of expanded simulation predictions of traffic within the geographic area.
[0095] (Note 6) The computer implementation method of Note 5, wherein executing the plurality of agent-based simulation models comprises generating a plurality of agent objects using the plurality of augmented and assimilated traffic data, each agent object representing a traffic participant and associated data; assigning the plurality of agent objects to each of a plurality of processing units used in parallel; and executing a traffic simulation model for simulating the behavior of the traffic participant in parallel for each processing unit.
[0096] (Appendix 7) A computer implementation method according to any one of Appendix 4 to 6, comprising receiving input of further traffic data for the geographical area, and performing data assimilation on the further simulation prediction and the further traffic data to generate assimilated further traffic data.
[0097] (Note 8) The computer implementation method described in Note 7, further comprising idling until the additional traffic data becomes available before performing data assimilation.
[0098] (Note 9) The computer implementation method described in Note 7, which repeatedly involves receiving input of further traffic data for the geographical area, performing data assimilation on the simulation prediction and the further traffic data to generate assimilated further traffic data, and running a further agent-based simulation model using the assimilated traffic data to generate further simulation predictions of traffic within the geographical area.
[0099] (Note 10) The traffic data includes data obtained from the digital twin of the geographical area, as described in any one of the preceding notes, using the computer implementation method.
[0100] (Note 11) The computer implementation method described in any one of the preceding notes, wherein the traffic data includes real-world sensor data acquired in real time from any or all of the following: GPS sensors or antennas, cellular network sensors or antennas, loop sensors, camera sensors, and vehicle parking sensors.
[0101] (Note 12) The computer implementation method described in any one of the preceding notes, wherein the traffic simulation model includes a vehicle following model, and the traffic simulation model includes a lane change model and / or a merging point management model.
[0102] (Appendix 13) A data processing device comprising means for receiving traffic data input and a processing unit, wherein the processing unit is configured to perform any one of the computer implementations described in the preceding appendix.
[0103] (Note 14) A computer program including instructions, wherein when the program is executed by a data processing device, the program causes the data processing device to execute one of the methods described in any one of Notes 1 to 12.
[0104] (Appendix 15) A computer-readable medium containing instructions, wherein when the instructions are executed by a data processing device, the data processing device causes the data processing device to perform any one of the methods described in Appendices 1 to 12. [Explanation of Symbols]
[0105] 993 processor 994 memory 995 Display 996 inputs 997 Network Interface
Claims
1. A computer-based method for traffic simulation, To run a preliminary agent-based simulation model to generate preliminary simulation predictions of traffic within a geographical area, Accepting input of traffic data for the aforementioned geographical area, A computer implementation method comprising performing data assimilation on the aforementioned preliminary simulation prediction and the aforementioned traffic data to generate assimilated traffic data.
2. The computer implementation method according to claim 1, wherein performing data assimilation includes filtering the preliminary simulation predictions and the traffic data using an ensemble Kalman filter.
3. The computer implementation method according to claim 1 or 2, further comprising preprocessing the traffic data by signal processing filtering, and optionally converting the traffic data into a file type suitable for input to the simulation model.
4. The computer implementation method according to claim 1, further comprising running an agent-based simulation model using the assimilated traffic data to generate simulated predictions of traffic within the geographical area.
5. The process involves expanding the aforementioned assimilated traffic data to form multiple expanded and assimilated traffic data sets, A computer implementation of claim 1, further comprising running multiple agent-based simulation models using the multiple augmented and assimilated traffic data to generate multiple augmented simulation predictions of traffic within the geographic area.
6. Running the aforementioned multiple agent-based simulation models means The process involves generating multiple agent objects using the aforementioned expanded and assimilated traffic data, each agent object representing a traffic participant and associated data. Assigning the aforementioned agent objects to each of the multiple processing units used in parallel, The computer implementation method according to claim 5, comprising running a traffic simulation model for simulating the behavior of the traffic participants in parallel for each processing unit.
7. Accepting further input of traffic data for the aforementioned geographical area, A computer implementation method according to any one of claims 4 to 6, comprising performing data assimilation on the further simulation prediction and the further traffic data to generate assimilated further traffic data.
8. The computer implementation method according to claim 7, further comprising idling until the additional traffic data becomes available before performing data assimilation.
9. For a predetermined number of time steps, Accepting further input of traffic data for the aforementioned geographical area, The simulation prediction and the further traffic data are subjected to data assimilation to generate further assimilated traffic data. The computer implementation method according to claim 7, further comprising repeatedly running a further agent-based simulation model using the assimilated traffic data to generate further simulated predictions of traffic within the geographical area.
10. The computer implementation method according to claim 1, wherein the traffic data includes data obtained from a digital twin of the geographical area.
11. The aforementioned traffic data is GPS sensor or antenna, Cellular network sensor or antenna, Loop sensor, Camera sensor, and The computer implementation method according to claim 1, comprising sensor data obtained from any or all of the vehicle parking sensors.
12. The computer implementation method according to claim 6, wherein the traffic simulation model includes a vehicle following model, and the traffic simulation model includes a lane change model and / or a merging point management model.
13. A data processing device, A means for receiving traffic data input, A processing unit is included, and the processing unit is To run a preliminary agent-based simulation model to generate preliminary simulation predictions of traffic within a geographical area, Accepting input of traffic data for the aforementioned geographical area, A data processing device configured to perform the aforementioned preliminary simulation prediction and data assimilation on the traffic data to generate assimilated traffic data.
14. A computer program including instructions, wherein when the computer program is executed by a data processing device, the data processing device shall To run a preliminary agent-based simulation model to generate preliminary simulation predictions of traffic within a geographical area, Accepting input of traffic data for the aforementioned geographical area, A data processing device that performs data assimilation on the aforementioned preliminary simulation prediction and the aforementioned traffic data to generate assimilated traffic data.
15. A computer-readable medium containing instructions, wherein when the instructions are executed by a data processing device, the data processing device... To run a preliminary agent-based simulation model to generate preliminary simulation predictions of traffic within a geographical area, Accepting input of traffic data for the aforementioned geographical area, A data processing device that performs data assimilation on the aforementioned preliminary simulation prediction and the aforementioned traffic data to generate assimilated traffic data.