Coder Social home page Coder Social logo

noshluk2 / ros2-self-driving-car-ai-using-opencv Goto Github PK

View Code? Open in Web Editor NEW
118.0 6.0 44.0 120.12 MB

ROS2 Self Driving Car using Deeplearning and Object Tracking through openCV

License: MIT License

Python 98.14% Shell 1.08% Batchfile 0.71% CMake 0.07%
computer-vision deep-learning gazebo object-detection opencv ros2 self-driving-car

ros2-self-driving-car-ai-using-opencv's Introduction

ROS2 Prius Self Driving Car using AI/Deeplearning and Computer Vision

Table of Contents
  1. ๐Ÿค About This Repository
  2. โšก Using this Repository
  3. ๐Ÿ”„ Course Workflow
  4. โ›ฒ Features
  5. ๐ŸงŠ Pre-Course Requirements
  6. ๐ŸŒณ Repository Tree
  7. ๐ŸŒŸ Star History
  8. ๐Ÿ”— Link to the Course
  9. ๐Ÿ‘ค Instructors
  10. ๐Ÿ“ License

About this Repository

A tesla Like Car in ROS2 will follow lane , Use AI to classify Sign Boards and perform Object tracking to act on the sign boards and set speed respectively

alt text

Using this Repository


Docker:

alt textย ย  alt textย ย 

Ubuntu-20.04:

  • Follow along the Wiki guide to setup the project.

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

DeepLearning

  • Sign Classification using (custom-built) CNN

Features

  • Prius Hybrid Car

    • alt text
  • Satellite Navigation (NEW!)

    • Stage 1: Localiation

      • alt text
    • Stage 2: Mapping

      • alt text
    • Stage 3: Path-Planning

      • alt text
    • Stage 4: Motion-Planning

      • alt text
  • Lane Following

    • alt text
  • Sign Board Detection

    • alt text
  • Traffic Signal Recognition

    • alt text
  • T-Junction Navigation

    • alt text
  • The World

    • alt text
  • Custom Models

    • alt text

Pre-Course Requirments

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

Explaining repository structure (i.e important files and their functions).

alt text


Star History

Star History Chart


Link to the Course

โœจ Enroll Now with Special Discount โœจ [Discounted Link]


Instructors

Haider Najeeb (Computer Vision) - Profile Link Muhammad Luqman (ROS Simulation and Control Systems) - Profile Link


License

Distributed under the GNU-GPL License. See LICENSE for more information.

ros2-self-driving-car-ai-using-opencv's People

Contributors

haiderabasi avatar noshluk2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ros2-self-driving-car-ai-using-opencv's Issues

findContours returned values changed with new version

cnts = cv2.findContours(thresh, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)[1]

The 'findContours' function returns 2 values, 'contours' and 'hierarchy'. With this code, the hierarchy value is being assigned to 'cnts'.
Should the 'cnts' value be assigned to the contours value instead? Which can be done by changing the [1] in this line to [0], like so:
cnts = cv2.findContours(thresh, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)[0]

I read that the older version of OpenCV initially returned 3 values (image, contours, hierarchy) for this 'findContours' function, meaning this could be code written for an older version.

For Windows

How can we setup ROS2 and Gazebo for Windows? I installed Docker, but I'm getting an error on it too. I can't download images.

Docker for this repo

Students are facing errors while running this repository , we need to add a docker running instruction so

  • Any one from any OS can run this project

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.