Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

V2X Project: Vehicle-to-Everything Communication Simulation and Analysis

Author: Mohamed Elgouhary Project Type: V2X Communication / Autonomous Vehicles / Networking Simulation Language: Python

This repository contains a Python-based project for studying Vehicle-to-Everything (V2X) communication concepts in connected and autonomous vehicle environments.

The project focuses on simulating and analyzing communication behavior between vehicles and surrounding infrastructure. It can be used as a starting point for experiments related to connected vehicles, intelligent transportation systems, autonomous driving, and cooperative perception.

Overview

Vehicle-to-Everything communication allows vehicles to exchange information with other vehicles, roadside infrastructure, pedestrians, networks, and cloud or edge systems. V2X is important for improving road safety, traffic efficiency, situational awareness, and cooperative autonomous driving.

This project provides code and report materials for exploring V2X-related communication behavior using Python simulations and analysis.

Main Objectives

The main goals of this project are to:

  • Study V2X communication concepts.
  • Simulate interactions between connected vehicles and/or infrastructure.
  • Analyze communication performance using Python.
  • Support experiments related to autonomous and connected vehicles.
  • Provide a reproducible project structure with code and report materials.

Repository Structure

V2X-Project/
├── README.md
├── code/
└── report/

Main Folders

Folder Description
code/ Python scripts and implementation files for the V2X project
report/ Project report, documentation, or written analysis
README.md Project overview and usage instructions

Background

V2X communication includes several communication modes:

V2X Type Meaning
V2V Vehicle-to-Vehicle communication
V2I Vehicle-to-Infrastructure communication
V2P Vehicle-to-Pedestrian communication
V2N Vehicle-to-Network communication
V2C Vehicle-to-Cloud communication

In autonomous driving, V2X can support:

  • Cooperative awareness
  • Collision avoidance
  • Intersection safety
  • Lane-change coordination
  • Traffic-flow optimization
  • Sharing of road hazard information
  • Cooperative perception and sensor data exchange

Method Summary

The project can be used to simulate or analyze a V2X communication scenario such as:

Connected vehicles
        ↓
Message generation
        ↓
Wireless / network communication model
        ↓
Infrastructure or vehicle receiver
        ↓
Performance analysis
        ↓
Safety or traffic-efficiency interpretation

Depending on the experiment, the analysis may include:

  • Communication delay
  • Packet delivery behavior
  • Vehicle density effects
  • Message frequency
  • Network load
  • Transmission reliability
  • Safety-related event detection

Installation

1. Clone the repository

git clone https://github.com/Mohamed-Elgouhary/V2X-Project.git
cd V2X-Project

2. Create a virtual environment

python -m venv .venv
source .venv/bin/activate

On Windows:

python -m venv .venv
.venv\Scripts\activate

3. Install common Python dependencies

If the repository does not already include a requirements.txt file, create one using the packages needed by your code.

Common packages for this type of project may include:

pip install numpy pandas matplotlib scipy networkx

Running the Code

Go to the code folder:

cd code

Then run the main Python script.

For example:

python main.py

If the main file has a different name, list the files first:

ls

Then run the appropriate script:

python <script_name>.py

Expected Outputs

Depending on the script, the project may generate:

  • Communication performance plots
  • Delay or latency analysis
  • Packet delivery analysis
  • Vehicle/network simulation results
  • Figures for the project report
  • CSV files containing experiment results

If output files are generated, it is recommended to organize them under:

outputs/
├── figures/
├── logs/
└── results/

Recommended Future Repository Structure

To make the project easier to reuse, the repository can be organized as:

V2X-Project/
├── README.md
├── requirements.txt
├── .gitignore
├── code/
│   ├── main.py
│   ├── simulation.py
│   ├── analysis.py
│   └── utils.py
├── data/
│   └── README.md
├── outputs/
│   ├── figures/
│   ├── logs/
│   └── results/
└── report/

Suggested Experiments

This project can be extended by studying:

  1. Effect of vehicle density on V2X message delivery.
  2. Effect of communication delay on collision-warning performance.
  3. V2V versus V2I communication scenarios.
  4. Roadside-unit placement and coverage.
  5. Cooperative awareness message frequency.
  6. Network congestion in dense traffic.
  7. Edge-assisted V2X communication.
  8. V2X-supported autonomous intersection coordination.
  9. V2X-based lane-change safety.
  10. Sensor-data sharing for cooperative perception.

Example Research Questions

This repository can support research questions such as:

  • How does communication delay affect autonomous vehicle safety?
  • How does vehicle density affect V2X reliability?
  • How can V2I communication improve intersection safety?
  • How can V2X support cooperative perception?
  • What network conditions are required for real-time autonomous vehicle coordination?

Reproducibility Notes

To make the project easier to reproduce:

  • Add a requirements.txt file.
  • Document the main script name.
  • Include example input data if applicable.
  • Save generated figures under outputs/figures/.
  • Save numerical results under outputs/results/.
  • Include configuration parameters in the README or a config file.
  • Add comments explaining simulation assumptions.

Suggested requirements.txt

Create a file named requirements.txt with:

numpy
pandas
matplotlib
scipy
networkx

Add or remove packages depending on your actual code.

Suggested .gitignore

Create a file named .gitignore with:

__pycache__/
*.pyc
.venv/
venv/
.ipynb_checkpoints/

outputs/logs/
outputs/results/
*.csv
*.xlsx

.DS_Store
Thumbs.db

If your project uses small example CSV files, do not ignore those specific files.

Suggested GitHub Topics

Add these topics to the GitHub repository:

v2x
vehicle-to-everything
connected-vehicles
autonomous-driving
intelligent-transportation-systems
vehicular-networks
v2v
v2i
python
simulation
networking
smart-mobility

Suggested GitHub Description

Use this as the repository description:

Python project for simulating and analyzing V2X communication scenarios for connected and autonomous vehicles.

Author

This repository is developed and maintained by:

Mohamed Elgouhary PhD Student and Graduate Research Assistant Lane Department of Computer Science and Electrical Engineering West Virginia University

Acknowledgment

This project was developed as part of work in connected vehicles, autonomous driving, intelligent transportation systems, and V2X communication.

Contact

For questions or collaboration, please contact:

Mohamed Elgouhary Email: mae00018@mix.wvu.edu

About

Python project for simulating and analyzing V2X communication scenarios for connected and autonomous vehicles.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages