Welcome to the exciting journey of building a self-driving car using ROS2 (Robot Operating System) combined with deep learning and computer vision. With the help of artificial intelligence, our Prius-like vehicle can recognize traffic signs, track objects, and efficiently follow lanes. Below, we will guide you through the repository setup, features, workflow, and address common troubleshooting issues.
Table of Contents
- About This Repository
- Using this Repository
- Course Workflow
- Features
- Pre-Course Requirements
- Repository Tree
- Star History
- Link to the Course
- Instructors
- License
About This Repository
Imagine a car that can autonomously navigate streets just like a Tesla! This repository allows you to create a self-driving car in ROS2 capable of following lanes, classifying sign boards, and performing object tracking to effectively respond to traffic signals and adjust its speed accordingly. You can see this in action by watching our introductory video here.
Using this Repository
To get started with this project, you will need to set up Docker following the comprehensive guides for both Linux and Windows:
If you’re using Ubuntu 20.04, follow the Wiki guide for a seamless setup process.
Course Workflow
- ROS Package
- World Models Creation
- Prius OSRF Gazebo Model Editing
- Nodes, Launch Files
- SDF through Gazebo
- Textures and Plugins in SDF
- Computer Vision
- Perception Pipeline setup
- Lane Detection with Computer Vision Techniques
- Traffic Light Detection Using Haar Cascades
- Sign and Traffic Light Tracking using Optical Flow
- Rule-Based Control Algorithms
- Deep Learning
- Sign Classification using a custom-built CNN
Features
Our self-driving car comes packed with astonishing features:
- Prius Hybrid Car: 
- Satellite Navigation (NEW!):
- Stage 1: Localization 
- Stage 2: Mapping 
- Stage 3: Path-Planning 
- Stage 4: Motion-Planning 
- Lane Following: 
- Sign Board Detection: 
- Traffic Signal Recognition: 
- T-Junction Navigation: 
- The World: 
- Custom Models: 
Pre-Course Requirements
Before diving in, ensure you have the following:
- Software Based:
- Ubuntu 20.04 (LTS)
- ROS2 – Foxy Fitzroy
- Python 3.6
- OpenCV 4.2
- TensorFlow 2.14
- Skill Based:
- Basic ROS2 Nodes Communication
- Launch Files
- Gazebo Model Creation
- Basic OpenCV Usage
- Motivated Mind 🙂
Repository Tree
Understanding the structure of the repository is crucial. The tree diagram illustrates important files and their functions:

Star History
Link to the Course
Ready to take your skills to the next level? Enroll now with a special discount on this course: Discounted Link.
Instructors
Learn from the best:
- Haider Najeeb (Computer Vision) – Profile Link
- Muhammad Luqman (ROS Simulation and Control Systems) – Profile Link
License
This project is distributed under the GNU-GPL License. For more information, please refer to the LICENSE file.
Troubleshooting
If you encounter issues during setup or usage, consider the following tips:
- Ensure all software prerequisites are met, particularly the correct version of Ubuntu and packages.
- Double-check Docker installation commands for any discrepancies.
- Refer to the Wiki or GitHub Issues page for any reported issues and resolutions.
- Make sure you follow the course workflow step by step, as skipping instructions may cause unexpected behavior.
If you still face problems, join our community or cite us at **[fxis.ai](https://fxis.ai)** for assistance or project collaboration suggestions.
At **[fxis.ai](https://fxis.ai)**, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

