| Sie sind hier: cszb.net > CityTrafficSimulator |
|
CityTrafficSimulator
About CityTrafficSimulator
CityTrafficSimulator is a microscopic traffic simulation software for small- to medium-sized traffic networks, such as intersections or small urban areas.
Based on the idea of traffic-simulation.de, CityTrafficSimulator implements the Intelligent Driver Model. However, its main goal is to be as flexible and universal as possible so that the user can model almost any situation, including real-world scenarios. Therefore, CityTrafficSimulator uses Bezier curves for defining routes. They connect multiple nodes, creating a network of paths on which the traffic will be simulated. The Signal Light Editor allows to define signal lights with arbitrary signal times (red and green phases) and arrange them in groups. Each signal can then be assigned to one or more network nodes to control the traffic flow.
CityTrafficSimulator offers the following main features:
- Microscopic traffic simulation using the Intelligent Driver Model as car-following model
- Own line changing model offering both forced and voluntary line changes
- Four different vehicle types (Car, Truck, Bus, Tram)
- Arbitrary road network design with shared or distinct routes (e.g. bus lane) for each vehicle group
- Road network can be arranged on different layers for grade separation
- Real-time per-vehicle destination routing considering network layout and traffic volume
- User-defined number of signal lights with arbitrary signal times
- Evaluation of different statistics, such as average velocity, number of stops, number of line changes, etc.
- Selectable simulation speed and granularity
Make sure to have a look at the demo networks and manual.
Recent Updates
Major update brings CityTrafficSimulator 0.7
After the recent hiatus of work on my software I am glad to annouce that there is a new major update of CityTrafficSimulator. Version 0.7 not only fixes some bugs but also introduces some new features for both simulation setup and the user interface:
The main goal for this release was the reproducibility of the traffic simulation, meaning that the outcome of a scenario is more specific and can be repeated under the exact same conditions to better analyze specific situations. Therefore, the Simulation Setup was adapted where I added new controls for setting up the simulation duration and the seed for the random number generator as well as the reset button which completely resets all internal data and restarts the simulation from the beginning.
As new network element stop signs were introduced, which can be assigned to nodes, same as with traffic lights. A stop sign will let approaching vehicles come to a full stop in front. Keep in mind that a possible yielding behavior behind has to be deliberately setup by the corresponding connection priority.
The recent versions already offered visualizing the average velocity of the vehicles on connections (Statistics checkbox on Render Setup tab). Version 0.7 takes this one step further and also allow to apply the same color mapping to the current velocity of each vehicle (Velocity Mapping checkbox). Then the vehicle's fill color is determined by the color map and the vehicle's outline color will be red, orange or green depending on whether the vehicle is fully stopped, braking or accelerating. Furthermore, the applied color map is now fully user-customizable.
Finally, I added some features for convenience: The main window setup (state, size, position) is now persisted as well and the render- and simulation setup is stored within the network files.
For a full list of changes please refer to the Changelog.
The main goal for this release was the reproducibility of the traffic simulation, meaning that the outcome of a scenario is more specific and can be repeated under the exact same conditions to better analyze specific situations. Therefore, the Simulation Setup was adapted where I added new controls for setting up the simulation duration and the seed for the random number generator as well as the reset button which completely resets all internal data and restarts the simulation from the beginning.
As new network element stop signs were introduced, which can be assigned to nodes, same as with traffic lights. A stop sign will let approaching vehicles come to a full stop in front. Keep in mind that a possible yielding behavior behind has to be deliberately setup by the corresponding connection priority.
The recent versions already offered visualizing the average velocity of the vehicles on connections (Statistics checkbox on Render Setup tab). Version 0.7 takes this one step further and also allow to apply the same color mapping to the current velocity of each vehicle (Velocity Mapping checkbox). Then the vehicle's fill color is determined by the color map and the vehicle's outline color will be red, orange or green depending on whether the vehicle is fully stopped, braking or accelerating. Furthermore, the applied color map is now fully user-customizable.
Finally, I added some features for convenience: The main window setup (state, size, position) is now persisted as well and the render- and simulation setup is stored within the network files.
For a full list of changes please refer to the Changelog.
Christian - 09.6.2012 15:04
CityTrafficSimulator version 0.6-6 changes scrolling metaphor
The CityTrafficSimulator update to version 0.6-6 is online.
The most important change ist the new scrolling algorithm: In order to remove the former canvas size limit it was necessary to get rid of the scroll bars and implement new scrolling metaphors. Changing the currently visible part of the network is now done by drag and drop with the right mouse button. At first, this might occur less intuitive to you, but once you've get used to it, navigating through your network becomes much easier and faster.
The new network canvas code also allows some new comfort features: The Canvas Setup tab now shows the world coordinates of the current mouse position (in meters) and allows to setup the rendering of an auxiliary grid.
Further changes of this update include some improvements in the network layer code and fixes a possible null-reference exception when a node had no assigned network layer.
The most important change ist the new scrolling algorithm: In order to remove the former canvas size limit it was necessary to get rid of the scroll bars and implement new scrolling metaphors. Changing the currently visible part of the network is now done by drag and drop with the right mouse button. At first, this might occur less intuitive to you, but once you've get used to it, navigating through your network becomes much easier and faster.
The new network canvas code also allows some new comfort features: The Canvas Setup tab now shows the world coordinates of the current mouse position (in meters) and allows to setup the rendering of an auxiliary grid.
Further changes of this update include some improvements in the network layer code and fixes a possible null-reference exception when a node had no assigned network layer.
Christian - 27.2.2012 13:00
CityTrafficSimulator version 0.6-5 introduces road network layers
The CityTrafficSimulator update to version 0.6-5 is now online and brings a neat new feature.
The new Network Layers tab allows to define an arbitrary number of layers for your road network to allow grade separation. Once the layers are defined you can assign them to your nodes in the Connection Setup tab.
Attention: In contrast to the other settings in this tab (which are per-connection settings) the network layer is a per-node setting. When connecting two nodes on different network layers, the connection in between will internally be handled as being on both layers.
Intersections are only calculated between connections that share at least one network layer - line changes are only calculated between connections which share the same network layer. This allows to easily setup grade separation. The visibility flag sets whether the corresponding nodes and connections shall be rendered or and thus allows to optionally reduce visual cluttering.
The other changes of this release further improve the intersection handling and yielding behavior and bring some minor fixes.
The new Network Layers tab allows to define an arbitrary number of layers for your road network to allow grade separation. Once the layers are defined you can assign them to your nodes in the Connection Setup tab.
Attention: In contrast to the other settings in this tab (which are per-connection settings) the network layer is a per-node setting. When connecting two nodes on different network layers, the connection in between will internally be handled as being on both layers.
Intersections are only calculated between connections that share at least one network layer - line changes are only calculated between connections which share the same network layer. This allows to easily setup grade separation. The visibility flag sets whether the corresponding nodes and connections shall be rendered or and thus allows to optionally reduce visual cluttering.
The other changes of this release further improve the intersection handling and yielding behavior and bring some minor fixes.
Christian - 20.2.2012 15:00
CityTrafficSimulator version 0.6-3 introduces new statistics
The CityTrafficSimulator update to version 0.6-3 is online, which introduces new statistical evaluation.
For example, the per-traffic-volume statistics now also consider the number of stops per vehicle. Furthermore, CityTrafficSimulator now offers sophisticated per-connection statistics.
When selecting a connection the Connection Statistics tab shows a combined plot of the connection evaluation of the last traffic light cycle: The black line shows the average velocity, the gray area the number of vehicles and the orange area the number of stopped vehicles.
For evaluating more than one connection just select multiple nodes (by holding Shift or using rubberband selection). This lets CityTrafficSimulator evaluate all connections leaving the selected nodes.
Christian - 02.2.2012 13:30
System Requirements, Licensing
CityTrafficSimulator is written in C# and requires the .NET-Framework 2 or later. The program also runs under Mono, but unfortunately with only limited performance.The software is licensed under GPL Version 3, contact: software@cszb.net.
Download
CityTrafficSimulator is still in more or less active development. The versioning scheme is somewhat random: Introduction of new features usually results in a major version step. Bug fixes or improvements result in a minor version step. See Changelog for further information.You can download the current version (0.7) here. If you're interested, I'll be happy to give you access to the SVN repository. Just make sure to write me an e-mail (software@cszb.net).
Download program: upload.cszb.net/projekte/CityTrafficSimulator/files/citytrafficsimulator_0.7.zip
Download sources: upload.cszb.net/projekte/CityTrafficSimulator/files/citytrafficsimulator_src_0.7.zip
www.cszb.net - Design und Content by Christian Schulte zu Berge