.. _introduction: Introduction ============ Project Overview ---------------- This ADAS project is designed to enhance driving safety and experience by providing real-time information and alerts to the driver. It integrates various perception modules, including object detection, lane detection, and depth estimation, to understand the driving environment. The system can operate in both a real-world setup using physical cameras and in a simulated environment using the CARLA simulator. Additionally, it features an NLP-based chatbot to answer queries about Moroccan traffic laws. Key Features ------------ * **Modular Perception:** Independent modules for object detection, lane detection. * **Stereo Vision:** Capability for depth estimation using stereo camera input (currently, the disparity estimation part is commented out in :doc:`src/process_fame <../../src/process_fame>` but the structure is present). * **Object Tracking:** Tracks detected objects across frames. * **Dual Mode Operation:** * **Real Driving Mode:** Processes input from physical cameras. * **CARLA Simulation Mode:** Integrates with the CARLA simulator for development and testing. * **Graphical User Interface (GUI):** PyQt6-based interface for mode selection, configuration, and real-time visualization. * **NLP Chatbot:** Provides answers to questions about Moroccan traffic regulations. * **Alert System:** Visual alerts for critical events (e.g., potential collisions, lane departures). * **Configurable:** System parameters and model paths can be configured via YAML files. System Architecture (High-Level) -------------------------------- The system is broadly divided into a backend processing engine and a frontend GUI. * **Backend** (`main.py`, `src/`): Handles video input, frame processing, perception tasks, CARLA communication, and ADAS logic. See :doc:`main <../../main>`. * **Frontend** (`gui/`): Provides user interaction, configuration, and visualization. See :doc:`gui/main_window <../../gui/main_window>`. * **NLP Module** (`NLP/`): Manages the traffic code chatbot. See :doc:`NLP/adas_chatbot <../../NLP/adas_chatbot>`. * **Configuration** (`config/`): Stores settings for different modules and modes. .. figure:: /_images/system_architecture_diagram.png :alt: High-Level System Architecture Diagram High-Level System Architecture (Placeholder - replace with your actual diagram)