Advanced Autonomous Vehicle Simulation
A sophisticated autonomous vehicle simulator built with PyQt5 featuring advanced sensor systems, 3D visualization, and real-time simulation capabilities.
Features
Core Simulation
- 3D Visualization Engine: Real-time 3D environment with PyOpenGL/VTK integration
- Advanced Sensor Systems: LiDAR, cameras (RGB/depth/thermal/stereo), radar, ultrasonic, IMU/GPS
- Vehicle Physics: Realistic vehicle dynamics with configurable parameters
- Multi-vehicle Support: Multiple autonomous vehicles with V2V communication
Sensor Systems
- LiDAR: Configurable range, resolution, and point cloud visualization
- Cameras: Multiple camera types with real-time image processing
- Radar: Range-doppler visualization and target tracking
- Ultrasonic: Close-proximity detection
- IMU/GPS: Noise modeling and sensor fusion
Advanced Features
- Path Planning: A*, RRT, PRM algorithms with visualization
- Autonomous Algorithms: Waypoint following, lane keeping, obstacle avoidance
- Traffic Scenarios: Generation and playback system
- Data Recording: Sensor data recording and replay functionality
- Performance Metrics: Real-time dashboard with graphs
GUI Components
- Modern Dark Theme: Professional interface with customizable layouts
- Central 3D Viewport: Camera controls (orbit, pan, zoom, first-person)
- Sensor Panels: Live feeds from cameras and processed data
- Control Panel: Simulation parameters and vehicle settings
- Timeline Scrubber: Scenario playback and analysis
- Real-time Plots: Vehicle telemetry and sensor data visualization
Installation
- Clone the repository:
git clone <repository-url>
cd robotics-simulation
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python main.py
Project Structure
robotics-simulation/
├── main.py # Main application entry point
├── requirements.txt # Python dependencies
├── README.md # This file
├── config/ # Configuration files
│ ├── settings.yaml # Application settings
│ └── scenarios/ # Pre-built scenarios
├── src/ # Source code
│ ├── core/ # Core application components
│ ├── gui/ # GUI components and widgets
│ ├── simulation/ # Simulation engine
│ ├── sensors/ # Sensor models and processing
│ ├── visualization/ # 3D visualization engine
│ ├── algorithms/ # Path planning and AI algorithms
│ └── utils/ # Utility functions and helpers
├── assets/ # Resources (icons, models, textures)
├── data/ # Data storage and exports
└── tests/ # Unit tests
Usage
Basic Operation
- Launch the application
- Load a scenario or create a new one
- Configure vehicle and sensor parameters
- Start the simulation
- Monitor sensor data and vehicle performance
Advanced Features
- Custom Scenarios: Create and save custom simulation scenarios
- Sensor Configuration: Adjust sensor parameters in real-time
- Data Export: Export sensor data in standard formats (PCD, rosbag-like)
- Plugin System: Extend functionality with custom plugins
Development
Architecture
The application follows a modular architecture with clear separation of concerns:
- Core: Application lifecycle and main coordination
- GUI: User interface components and event handling
- Simulation: Physics engine and world simulation
- Sensors: Sensor models and data processing
- Visualization: 3D rendering and graphics
- Algorithms: Path planning and autonomous driving algorithms
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- PyQt5 for the GUI framework
- PyOpenGL/VTK for 3D visualization
- NumPy/SciPy for scientific computing
- OpenCV for computer vision algorithms
Metadata
Release files for autonomous-vehicle-simulator 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| autonomous_vehicle_simulator-1.0.1.tar.gz | 52.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autonomous_vehicle_simulator-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 108.4 kB
Release files / autonomous_vehicle_simulator-1.0.1.tar.gz
| Download URL | autonomous_vehicle_simulator-1.0.1.tar.gz |
|---|---|
| Size | 52.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c0c9bfbd4dce5a28392d9057b611d883b63d2c8e07d3536329b51417630e58ca
|
|
BLAKE2b-256 checksum How to use checksums |
99d8ba60289323c15d959940c216a0344c923f8b4ba960df0c595194a49260b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / autonomous_vehicle_simulator-1.0.1-py3-none-any.whl
| Download URL | autonomous_vehicle_simulator-1.0.1-py3-none-any.whl |
|---|---|
| Size | 56.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57f5b2ca19e7877249e3e5b6dea955ff7f847fd6dc60583cc0c8cd8b77f1225b
|
|
BLAKE2b-256 checksum How to use checksums |
0bb415dcb753e13e868e94d6a5c5bf1952396be83576750455fd1aa6eb99de6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|