V2X Communication code

  • link555
    了解作者
  • Python
    开发工具
  • 119.5KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 5 积分
    下载积分
  • 0
    下载次数
  • 2022-11-30 09:06
    上传日期
Simulate Vehicle-to-vehicle (V2V) communication on street networks
SUMO-V2X-Communication-Research-Platooning-and-CIM-master.rar
  • SUMO-V2X-Communication-Research-Platooning-and-CIM-master
  • maps
  • NormalIntersection_no_TLS
  • NormalIntersection_no_TLS.rou.xml
    579B
  • gui.settings.xml
    98B
  • NormalIntersection_no_TLS.net.xml
    15.7KB
  • NormalIntersection_no_TLS.sumocfg
    230B
  • BlackwellTunnelNorthApproach
  • BlackwellTunnelNorthApproach.rou.xml
    2.6KB
  • gui.settings.xml
    99B
  • BlackwellTunnelNorthApproach.net.xml
    145.3KB
  • BlackwellTunnelNorthApproach.sumocfg
    236B
  • A13NorthCircularRoundabout_no_TLS
  • A13NorthCircularRoundabout_no_TLS.net.xml
    124.7KB
  • gui.settings.xml
    98B
  • A13NorthCircularRoundabout_no_TLS.sumocfg
    246B
  • A13NorthCircularRoundabout_no_TLS.rou.xml
    1.9KB
  • NormalIntersection
  • NormalIntersection.net.xml
    17.6KB
  • NormalIntersection.rou.xml
    579B
  • gui.settings.xml
    98B
  • NormalIntersection.sumocfg
    216B
  • BlackwellTunnelNorthApproach_no_TLS
  • gui.settings.xml
    97B
  • BlackwellTunnelNorthApproach_no_TLS.net.xml
    127.5KB
  • BlackwellTunnelNorthApproach_no_TLS.sumocfg
    250B
  • BlackwellTunnelNorthApproach_no_TLS.rou.xml
    2.6KB
  • A13NorthCircularRoundabout
  • A13NorthCircularRoundabout.rou.xml
    1.9KB
  • A13NorthCircularRoundabout.net.xml
    125.2KB
  • A13NorthCircularRoundabout.sumocfg
    232B
  • gui.settings.xml
    98B
  • output
  • additional.xml
    99B
  • emissionsOutput.xml
    1.3KB
  • src
  • __pycache__
  • simlib.cpython-310.pyc
    1KB
  • intersectionController.cpython-310.pyc
    7.7KB
  • platoon.cpython-310.pyc
    10.9KB
  • vehicle.cpython-310.pyc
    4KB
  • scenario_manager.cpython-310.pyc
    2.6KB
  • simulationmanager.cpython-310.pyc
    4.5KB
  • simulationmanager.py
    5.4KB
  • platoon.py
    10.8KB
  • intersectionController.py
    8.1KB
  • __init__.py
    0B
  • scenario_manager.py
    3.2KB
  • scenario_runner.py
    861B
  • simlib.py
    813B
  • vehicle.py
    2.6KB
  • .idea
  • inspectionProfiles
  • profiles_settings.xml
    174B
  • SUMO-V2X-Communication-Research-Platooning-and-CIM-master.iml
    546B
  • misc.xml
    249B
  • workspace.xml
    7.9KB
  • modules.xml
    373B
  • LICENSE
    1KB
  • README.md
    4.7KB
  • CODE_OF_CONDUCT.md
    5.1KB
  • .gitignore
    271B
内容介绍
# SUMO V2X Communication Research (Platooning and CIM) This project was initially started in 2018 while performing research into [V2X communication](https://en.wikipedia.org/wiki/Vehicle-to-everything) coupled with [Autonomous Vehicles](https://en.wikipedia.org/wiki/Self-driving_car) as a part of my dissertation for a degree at the University of Bath. The project focuses on creating platoons and controlling them using an intersection through [Centralised Intersection Management](https://spectrum.ieee.org/cars-that-think/transportation/self-driving/the-scary-efficiency-of-autonomous-intersections). This has been implemented using a combination of SUMO and TraCI (Python). SUMO is a urban traffic simulator and more information can be found about it [ here ](https://sumo.dlr.de/wiki/Simulation_of_Urban_MObility_-_Wiki) TraCI is a way of manually viewing information about a SUMO simulation and changing how it behaves while it is running using python (more information [here](https://sumo.dlr.de/wiki/TraCI)) Feel free to build/learn off this and if you have any questions, let me know. ## Getting Started To start using the project it is relatively simple 1. Install [Python](https://www.python.org/), make sure you tick the box to add python to your system path during installation 2. Install [SUMO](https://sumo.dlr.de/wiki/Installing), make sure you tick the box to add SUMO to your system path during installation 3. Clone this repository into a local area. 4. Run the scenario_runner.py file either by double clicking it or using the command prompt (ex. python scenario_runner.py) 5. It will then give you the options of the scenarios you can run, input your choice and the simulation will start automatically (You can also pass directly from the cmd if you want to bypass the clunky python input code) 6. Explore the code base! I've tried to make it quite well documented within the code and I'd recommend reading in this order: scenario manager ----> simulation manager ---> vehicle ---> platoon ---> intersection controller Any Python compatible IDE can be used to edit the project, I used Visual Studio but there are plenty others! More information about the different scenarios and how they work are below. ## Folder Structure - Maps: this contains all the maps used in each scenarios, each map has a traffic light version for platooning scenarios and a non-traffic light version for the CIM scenarios. This also contains route information determining how may vehicles spawn in each scenario. - output: this is where any outputs from running the simulation will be saved, it only contains a file which determines which data is generated within this repository. - src: this is where the Python code which deals with platoons, CIM, vehicles and the simulation resides. This code is run to determine how vehicles in each scenario behave. It also contains the configurations for each different scenario and the main code to execute them. ## Scenarios - Scenario 1: the control - nothing added just normal SUMO running - Scenario 2: platooning with normal Traffic Light Systems - Scenario 3: platooning with CIM - Scenario 4: platooning with CIM where platoons zip rather than go one by one. ## Purpose of python files - intersectionController: all functions for controlling vehicles and platoons while they approach a traffic light system (used during CIM only) - platoon: contains information and functions concerning an individual platoon within the simulation. This contains information such as all cars in the platoon, who the leader is, current speed, length etc. It also acts as a basis for all the functions needed by other aspects of the simulation to change a platoon’s behaviour, this could be setting a target speed, merging with another platoon or disbanding it altogether. Each platoon class also maintains the speed of the platoon ensuring that all vehicles are adhering to the speed set by the platoon leader who follows the normal SUMO vehicle following model and acceleration models. - simlib: contains library functions created for this project - simulationManager: with every loop this class creates platoon and vehicle objects, places vehicles joining the simulation into any eligible platoons, keeps track of all platoons and vehicles in the simulation and deactivates any vehicles that leave it. It also calls the update functions of every platoon so that they can update their statuses and speed. - vehicle: contains getters and setters for a traci vehicle - scenario_manager: contains the configuration data for each different scenario. It uses this to run whichever scenario is requested by the user - scenario_runner: acts as a nice entry point for the user, handles getting the right input and then executing the scenario manager properly
评论
    相关推荐
    • Python
      Python Boto3代码
    • Python
      python程序
    • Python
      Python
    • python
      Python,就在这里。
    • Python
      Python-
    • Python
      完整的python 其中包含用于学习python的代码,注释和微型项目。
    • Python
      项目Python
    • Python
      Pythonpython3中使用乌龟库的简单pong游戏 贡献 拉请求是欢迎的! :) 执照
    • Python
      Python Dit是Mijn储存库van Python
    • python
      Python 基本的python编程