AutoSteer is an advanced autonomous vehicle steering control system designed to ensure precise lane positioning on highways. By leveraging state-of-the-art computer vision techniques and robust control algorithms, AutoSteer dynamically adjusts the vehicle's steering to maintain safe and efficient lane keeping.
AutoSteer is designed for developers and researchers in the field of autonomous driving who are interested in implementing a reliable lane-keeping assist system. The system processes real-time video inputs to detect lane markings and computes the optimal steering angle to keep the vehicle centered in its lane. AutoSteer is modular and can be integrated with other autonomous driving systems.
- Accurate Lane Detection: Utilizes advanced computer vision algorithms to detect and track lane markings under various lighting and weather conditions.
- Real-time Steering Control: Continuously calculates and adjusts the steering angle based on lane position, ensuring smooth and stable driving.
- Adaptability: Easily configurable to work with different types of vehicles and environments, with customizable parameters for fine-tuning.
- Extensible Framework: Designed with modularity in mind, allowing for easy integration of additional sensors and control systems.
Follow these steps to set up and run AutoSteer:
-
Clone the Repository:
git clone https://github.com/Shubhisingh921/AutoSteer.git cd AutoSteer
-
Set Up the Environment: Ensure that you have Python 3.x installed. It is recommended to create a virtual environment:
python -m venv autosteer-env source autosteer-env/bin/activate # On Windows, use `autosteer-env\Scripts\activate`
-
Install Dependencies: Install the required Python packages:
pip install -r requirements.txt
To quickly get started with AutoSteer:
-
Run the Main Script: Start the AutoSteer system by running:
python main.py
-
Feed Video Input: Ensure your video feed is connected. AutoSteer will begin processing the input to detect lanes and adjust steering in real time.
-
View Outputs: Watch as the system detects lanes and outputs the calculated steering angles. You can visualize the results in real-time or review saved logs for analysis.
AutoSteer comes with a configuration file (config.yaml
) that allows you to customize various aspects of the system:
- Lane Detection Sensitivity: Adjust the sensitivity of the lane detection algorithm.
- Steering Control Parameters: Fine-tune the PID controller parameters for steering.
- Video Input Settings: Configure the source and resolution of the video input.
To modify these settings, open the config.yaml
file in a text editor and adjust the parameters as needed.
AutoSteer relies on the following libraries:
- Python 3.x
- OpenCV - For video processing and computer vision tasks.
- NumPy - For numerical computations.
- Matplotlib - For plotting and visualization.
- SciPy - For scientific computing.
- Other dependencies specified in the
requirements.txt
.
We welcome contributions to improve AutoSteer! Whether you're fixing bugs, adding new features, or improving documentation, your help is appreciated. Please follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Commit your changes and push your branch to your forked repository.
- Submit a pull request to the main repository.
For more detailed guidelines, please refer to the CONTRIBUTING.md file.
This project is licensed under the MIT License. See the LICENSE file for more information.