SlideShare a Scribd company logo
Raspberry Pi-Based Self-Driving Car with
Lane Detection using OpenCV
Project Presentation
Submitted in partial fulfilment of the requirements for the award of the Degree of
MCA
by
Devashish Negi
221381012
Under the guidance of
Ms. Vaishnavi T
DEPARTMENT OF COMPUTER APPLICATIONS
DEPARTMENT OF COMPUTER APPLICATIONS
GRAPHIC ERA UNIVERSITY, DEHRADUN (INDIA)
AUGUST 2024
Problem Definition –
Why this Project?
• Exploration of Autonomous Vehicles: Autonomous
vehicles are the future of transportation. By developing
this self-driving car project, I aimed to gain hands-on
experience in the technology that powers such systems,
including lane detection and autonomous navigation. This
project also serves as an educational tool to enhance my
understanding of electronics, computer vision, and AI.
• Skill Development: The project is an opportunity to
strengthen skills in robotics, Python programming,
hardware integration, and machine learning, areas essential
for my career aspirations in AI and autonomous systems.
• Real-World Application: Creating a scaled-down version
of a self-driving car allows me to simulate real-world
driving scenarios, making it easier to explore the
challenges faced by autonomous vehicles.
Problems/Disadvantages of
the Existing System
• Manual Driving Limitations: Manual driving requires
constant human attention, leading to driver fatigue,
human error, and accidents. Autonomous vehicles aim
to minimize these risks by taking over driving tasks.
• Traffic Congestion and Efficiency: Human drivers are
often less efficient in heavy traffic situations, leading to
congestion and delays. Autonomous systems can
optimize driving behaviours, improve traffic flow, and
reduce fuel consumption.
• Lack of Affordable Solutions: Current commercial self-
driving technologies are expensive and complex.
Developing affordable, smaller-scale models like this
project can help in learning and prototyping solutions for
budget-constrained environments or educational
purposes.
Project Requirements
(Functional & Performance)
• Functional Requirements:
• Lane Detection – should be able to accurately detect lanes
• Autonomous Navigation – should be able to navigate
autonomously
• Motor Control – should be able to precisely control motors
• User Interface – if possible, should provide an interface for
debugging
• Power Management – it’s always a desired trait
• Performance Requirements:
• Real-Time Processing – should be able to operate in real
time
• Accuracy – Lane Detection and turns should be accurate
• Stability and Reliability – should maintain stable and
reliable performance
• Scalability – design and code should be scalable
Introduction - Project
Overview
Project Type: Autonomous vehicle prototype
using Raspberry Pi and OpenCV.
Domain: Robotics, Computer Vision, and AI.
Purpose: Develop a small-scale self-driving
car capable of lane detection and autonomous
navigation.
Introduction – Project
Objectives
Implement real-
time lane
detection using a
Raspberry Pi
camera and
OpenCV.
Achieve
autonomous
navigation by
dynamically
controlling motor
speed and
direction.
Enhance
understanding of
robotics,
electronics, and AI
through hands-on
experience.
Create a scalable
and educational
platform for testing
autonomous
vehicle concepts.
Test and refine the
system’s
performance in
various real-world
conditions.
Scope of the Project -
Advantages
• Hands-On Learning: Provides a practical platform
for learning robotics, AI, and computer vision.
• Scalability: Designed to allow future enhancements,
such as obstacle detection and advanced navigation
features.
• Affordability: Utilizes cost-effective components like
Raspberry Pi and basic sensors, making it accessible
for educational and hobbyist purposes.
• Real-Time Processing: Achieves lane detection and
navigation in real-time, ensuring smooth operation
without delays.
Scope of the Project -
Features
•Autonomous Lane Detection: Uses OpenCV to
detect and follow lanes, enabling the car to navigate
independently.
•Dynamic Motor Control: Adjusts motor speed and
direction based on real-time lane data, ensuring
accurate path-following.
•Portable Design: Compact and lightweight, making
it easy to test in various environments.
•Modular Code Structure: The code is organized
into modules (e.g., Motor Control, Lane Detection)
for easy understanding and modification.
•Battery-Powered Operation: Runs on a battery
pack, providing mobility and flexibility in testing.
This Photo by Unknown Author is licensed under CC BY-ND
Scope of the Project -
Features
•Educational Focus: Specifically designed as a
learning tool for students and hobbyists, bridging
the gap between theory and practice.
•Customizable Warping and Thresholding:
Allows for adjustments to image processing
techniques to suit different testing conditions.
•Resource Efficiency: Optimized for minimal CPU
and memory usage, ensuring reliable performance
on a Raspberry Pi.
This Photo by Unknown Author is licensed under CC BY
Process Model
•Modular Development: The incremental model allowed
me to break down the project into smaller, manageable
modules (e.g., Motor Control, Lane Detection, Camera
Integration).
•Continuous Testing and Refinement: to test each module
as it was developed, identifying and fixing issues early on.
This ensured that the final integrated system was robust and
functional.
•Scalability: model provided the flexibility to add new
features or improve existing ones in future iterations, making
it suitable for a project that may evolve over time.
•Focus on Core Features First:
By prioritizing essential functionalities (like lane detection
and motor control) in the initial increments, I ensured that
the core system was operational early in the development
process, allowing for focused improvements later.
Minimum Software
Requirements
Programming Languages:
• Python: Primary language for scripting
• Bash: managing Raspberry Pi configurations and running scripts.
Integrated Development Environment (IDE):
• Thonny: A lightweight IDE for Python.
• Visual Studio Code: An alternative IDE for code development
Libraries and Frameworks:
• OpenCV: For image processing and computer vision tasks.
• RPi.GPIO: For controlling GPIO pins on the Raspberry Pi
Platforms:
• Raspberry Pi OS: The operating system running on the
Raspberry
• Tinkercad: Used for simulating and testing electronic circuits
• Fritzing: for developing schematics and Breadboard Diagrams
This Photo by Unknown Author is licensed under CC BY-SA
Minimum Hardware
Requirements
• Raspberry Pi – for main processing and
computation
• RPi Camera Module – for capturing live video
• Motor Driver – to run motors
• BO Motors – for driving car’s wheel
• Battery Pack – to power RPi and Motor Driver
• Car Chassis – a frame for the RC Car
• Breadboard – for tinkering
• Jumper Wires – for connecting to GPIO pin and
Motor Drivers
Module 1 - Motor Control
Module
• Purpose
• Control Motor Speed and Direction: This module manages the
car's movement by adjusting the speed and direction of the
motors based on the input curve value from the lane detection
module.
• Working
• PWM Control: Uses Pulse Width Modulation (PWM) to control
the speed of the motors.
• Direction Logic: Determines the direction (forward, backward,
left, right) by toggling the GPIO pins connected to the L293D
motor driver.
• Shared Parameters
• Curve Value: Received from the Lane Detection Module, used to
adjust the motors' speed and direction.
• Goal
• Smooth Navigation: Ensure the car follows the detected lane
smoothly and accurately by dynamically adjusting motor
behaviour.
Module 2 - Lane Detection
Module
Purpose
• Detect Lane Curvature: processes the camera feed to identify the lane on
the road and calculates the curvature
Working
• Image Processing: Applies thresholding, warping, and histogram analysis
to extract lane lines
• Curve Calculation: Computes the curve value, which indicates the
necessary steering adjustment.
Shared Parameters
• Camera Feed: processed to detect lanes.
• Curve Value: Output to the Motor Control Module to guide the car's
movement.
Goal
• Accurate Lane Following: Ensure the car stays within the lane by
providing real-time steering adjustments.
Module 3 - Camera
Integration Module
Purpose
• Capture Real-Time Video: This module handles the camera
operations, ensuring that live video feed is available for lane
detection.
Working
• Camera Initialization: Sets up the Raspberry Pi Camera using
libcam and manages the video stream.
• Frame Capture: Captures frames at regular intervals, passing
them to the Lane Detection Module for processing.
Shared Parameters
• Captured Frames: Provided to the Lane Detection Module for
processing.
Goal
• Seamless Video Capture: Ensure continuous and reliable video
feed for real-time lane detection.
Module 4 - Main
Control Module
Purpose
• Orchestrate System Operations: This module acts as the central
controller, coordinating the interactions between all other modules.
Working
• Initialization: Sets up all other modules, ensuring they are ready to
operate.
• Continuous Loop: Runs an infinite loop where it captures camera
feed, processes lane detection, and adjusts motor control in real-time.
Shared Parameters
• Control Signals: Manages the communication between Lane
Detection, Motor Control, and Camera Integration modules.
Goal
• System Stability and Coordination: Ensure all modules work
together seamlessly to achieve the desired autonomous navigation.
Breadboard
Connection
Schematics
CAR IMAGES
Test Result - 1
Test Result - 2
Test Video 2
Limitations of the
Project
• Limited Processing Power: though raspberry pi 4
is powerful, still the processing power can be
limited for advanced system
• Basic Lane Detection: the lane detection algorithm
is basic but can still be enhanced in future
• Environmental Sensitive: the project heavily relies
on consistent lightning condition, which can be
challenging
• Obstacle Detection: currently no obstacle
detection mechanism is incorporated, but that can
be easily implemented
• Battery Life: this is also a concern but as the
project is improved, this can easily be maintained
Bibliography/References
• https://www.computervision.zone/
• https://www.synopsys.com/glossary/what-is-autonomous-car.htm
l
• https://www.mobileye.com/blog/history-autonomous-vehicles-re
naissance-to-reality/
• https://www.motorcities.org/story-of-the-week/2022/the-gm-fire
bird-ii-show-car-made-automotive-history
• https://www.terra.com.br/noticias/educacao/historia/leonardo-da-
vinci-a-inteligencia-da-fraternidade,54b2127ace2f5824c094c854
65b98888iwvudfnq.html
• https://www.ri.cmu.edu/robotics-groups/navlab/
• https://www.cnbc.com/2023/10/26/uber-begins-offering-rides-in-
self-driving-waymo-cars.html
• https://www.darpa.mil/about-us/timeline/-grand-challenge-for-au
tonomous-vehicles
THANK YOU
o o

More Related Content

DOC
Veeresh_Resume
Veerabhadra Mathad
 
PDF
Self Driving Car
IRJET Journal
 
PDF
About RumiCar project
Rumika Chiba
 
PDF
“Improved Navigation Assistance for the Blind via Real-time Edge AI,” a Prese...
Edge AI and Vision Alliance
 
PPTX
Maj_Project_Review-1.pptxiuuhjhgjglkhuhghniuh
santhosharumugam9
 
PPTX
National Advanced Driving Simulator Back up the Truck
AdiM43
 
PPTX
CAN.do presentation
Antonio Mondragon
 
PPTX
Vehicle Detection using Camera
Shubham Agrahari
 
Veeresh_Resume
Veerabhadra Mathad
 
Self Driving Car
IRJET Journal
 
About RumiCar project
Rumika Chiba
 
“Improved Navigation Assistance for the Blind via Real-time Edge AI,” a Prese...
Edge AI and Vision Alliance
 
Maj_Project_Review-1.pptxiuuhjhgjglkhuhghniuh
santhosharumugam9
 
National Advanced Driving Simulator Back up the Truck
AdiM43
 
CAN.do presentation
Antonio Mondragon
 
Vehicle Detection using Camera
Shubham Agrahari
 

Similar to Self Driving Car Using Raspberry Pi and OpenCV.pptx (20)

PPTX
PROJECT.ppt (6).pptx
PraveenaModinipally
 
PPTX
PRESENTATION FUTURE STUDIES (1).pptx
TalhaJavid4
 
PPTX
Computer Vision based Automated Spare Part Finder App.pptx
ssusercd48d1
 
PPTX
ANALYSIS OF INSTANCE SEGMENTATION APPROACH FOR LANE DETECTION
RajatRoy60
 
PPTX
Developing apps faster
Zend by Rogue Wave Software
 
PPTX
Arc solutions powerpoint
Antonio Mondragon
 
PDF
Self-Driving Car to Drive Autonomously using Image Processing and Deep Learning
IRJET Journal
 
PPTX
Major PRC-1 ppt.pptx
JagruthiDARAPUNENI1
 
PPTX
parking space counter [Autosaved] (2).pptx
AlbertDaleSteyn
 
PDF
Automatic machine learning (AutoML) 101
QuantUniversity
 
PPTX
What Is Your PLM Challenge - Decrease downtime and minimize production problems
Dawn Collins
 
PPTX
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
DeNA
 
PPTX
Post Graduate in AI PPT.pptx
kingkhan1234567890
 
PPTX
Towards Auto-Extracting Car Park Structures: Image Processing Approach on Low...
Poo Kuan Hoong
 
PDF
Driving Behavior for ADAS and Autonomous Driving IV
Yu Huang
 
PDF
IRJET-V8I686.pdf
BelkacemHedadi1
 
DOC
Marwa_Ezzatt_Ahmed_CV
Marwa Ezzat
 
PDF
Vinay Resume
Vinay Patil
 
PROJECT.ppt (6).pptx
PraveenaModinipally
 
PRESENTATION FUTURE STUDIES (1).pptx
TalhaJavid4
 
Computer Vision based Automated Spare Part Finder App.pptx
ssusercd48d1
 
ANALYSIS OF INSTANCE SEGMENTATION APPROACH FOR LANE DETECTION
RajatRoy60
 
Developing apps faster
Zend by Rogue Wave Software
 
Arc solutions powerpoint
Antonio Mondragon
 
Self-Driving Car to Drive Autonomously using Image Processing and Deep Learning
IRJET Journal
 
Major PRC-1 ppt.pptx
JagruthiDARAPUNENI1
 
parking space counter [Autosaved] (2).pptx
AlbertDaleSteyn
 
Automatic machine learning (AutoML) 101
QuantUniversity
 
What Is Your PLM Challenge - Decrease downtime and minimize production problems
Dawn Collins
 
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
DeNA
 
Post Graduate in AI PPT.pptx
kingkhan1234567890
 
Towards Auto-Extracting Car Park Structures: Image Processing Approach on Low...
Poo Kuan Hoong
 
Driving Behavior for ADAS and Autonomous Driving IV
Yu Huang
 
IRJET-V8I686.pdf
BelkacemHedadi1
 
Marwa_Ezzatt_Ahmed_CV
Marwa Ezzat
 
Vinay Resume
Vinay Patil
 
Ad

More from Devashish Negi (9)

PPTX
A brief History of Python Programming Language- English
Devashish Negi
 
PPTX
A Brief Introduction to Python - English
Devashish Negi
 
PPTX
Exploring Oscillators and Piezoelectric Effect in Modern Electronics - Devash...
Devashish Negi
 
PPTX
Climate Change in Brief by Devashish Negi
Devashish Negi
 
PPTX
Boldest Space Missions
Devashish Negi
 
PPTX
Roof Top Farming
Devashish Negi
 
PPTX
Vulnerability of Uttarakhand State against Covid 19
Devashish Negi
 
PPTX
EM Radiation and its use in Remote Sensing.pptx
Devashish Negi
 
PPTX
Bamboo as a Construction Material.pptx
Devashish Negi
 
A brief History of Python Programming Language- English
Devashish Negi
 
A Brief Introduction to Python - English
Devashish Negi
 
Exploring Oscillators and Piezoelectric Effect in Modern Electronics - Devash...
Devashish Negi
 
Climate Change in Brief by Devashish Negi
Devashish Negi
 
Boldest Space Missions
Devashish Negi
 
Roof Top Farming
Devashish Negi
 
Vulnerability of Uttarakhand State against Covid 19
Devashish Negi
 
EM Radiation and its use in Remote Sensing.pptx
Devashish Negi
 
Bamboo as a Construction Material.pptx
Devashish Negi
 
Ad

Recently uploaded (20)

PPTX
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
PDF
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
PDF
RA 12028_ARAL_Orientation_Day-2-Sessions_v2.pdf
Seven De Los Reyes
 
PDF
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
PDF
1.Natural-Resources-and-Their-Use.ppt pdf /8th class social science Exploring...
Sandeep Swamy
 
PPTX
CDH. pptx
AneetaSharma15
 
PPTX
FSSAI (Food Safety and Standards Authority of India) & FDA (Food and Drug Adm...
Dr. Paindla Jyothirmai
 
PPTX
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
PPTX
Autodock-for-Beginners by Rahul D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
PPTX
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
PDF
Phylum Arthropoda: Characteristics and Classification, Entomology Lecture
Miraj Khan
 
PDF
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
PDF
Virat Kohli- the Pride of Indian cricket
kushpar147
 
PDF
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
PDF
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
DOCX
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
PPTX
Trends in pediatric nursing .pptx
AneetaSharma15
 
PPTX
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
DOCX
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
RA 12028_ARAL_Orientation_Day-2-Sessions_v2.pdf
Seven De Los Reyes
 
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
1.Natural-Resources-and-Their-Use.ppt pdf /8th class social science Exploring...
Sandeep Swamy
 
CDH. pptx
AneetaSharma15
 
FSSAI (Food Safety and Standards Authority of India) & FDA (Food and Drug Adm...
Dr. Paindla Jyothirmai
 
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
Autodock-for-Beginners by Rahul D Jawarkar.pptx
Rahul Jawarkar
 
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
Phylum Arthropoda: Characteristics and Classification, Entomology Lecture
Miraj Khan
 
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
Virat Kohli- the Pride of Indian cricket
kushpar147
 
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
Trends in pediatric nursing .pptx
AneetaSharma15
 
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 

Self Driving Car Using Raspberry Pi and OpenCV.pptx

  • 1. Raspberry Pi-Based Self-Driving Car with Lane Detection using OpenCV Project Presentation Submitted in partial fulfilment of the requirements for the award of the Degree of MCA by Devashish Negi 221381012 Under the guidance of Ms. Vaishnavi T DEPARTMENT OF COMPUTER APPLICATIONS DEPARTMENT OF COMPUTER APPLICATIONS GRAPHIC ERA UNIVERSITY, DEHRADUN (INDIA) AUGUST 2024
  • 2. Problem Definition – Why this Project? • Exploration of Autonomous Vehicles: Autonomous vehicles are the future of transportation. By developing this self-driving car project, I aimed to gain hands-on experience in the technology that powers such systems, including lane detection and autonomous navigation. This project also serves as an educational tool to enhance my understanding of electronics, computer vision, and AI. • Skill Development: The project is an opportunity to strengthen skills in robotics, Python programming, hardware integration, and machine learning, areas essential for my career aspirations in AI and autonomous systems. • Real-World Application: Creating a scaled-down version of a self-driving car allows me to simulate real-world driving scenarios, making it easier to explore the challenges faced by autonomous vehicles.
  • 3. Problems/Disadvantages of the Existing System • Manual Driving Limitations: Manual driving requires constant human attention, leading to driver fatigue, human error, and accidents. Autonomous vehicles aim to minimize these risks by taking over driving tasks. • Traffic Congestion and Efficiency: Human drivers are often less efficient in heavy traffic situations, leading to congestion and delays. Autonomous systems can optimize driving behaviours, improve traffic flow, and reduce fuel consumption. • Lack of Affordable Solutions: Current commercial self- driving technologies are expensive and complex. Developing affordable, smaller-scale models like this project can help in learning and prototyping solutions for budget-constrained environments or educational purposes.
  • 4. Project Requirements (Functional & Performance) • Functional Requirements: • Lane Detection – should be able to accurately detect lanes • Autonomous Navigation – should be able to navigate autonomously • Motor Control – should be able to precisely control motors • User Interface – if possible, should provide an interface for debugging • Power Management – it’s always a desired trait • Performance Requirements: • Real-Time Processing – should be able to operate in real time • Accuracy – Lane Detection and turns should be accurate • Stability and Reliability – should maintain stable and reliable performance • Scalability – design and code should be scalable
  • 5. Introduction - Project Overview Project Type: Autonomous vehicle prototype using Raspberry Pi and OpenCV. Domain: Robotics, Computer Vision, and AI. Purpose: Develop a small-scale self-driving car capable of lane detection and autonomous navigation.
  • 6. Introduction – Project Objectives Implement real- time lane detection using a Raspberry Pi camera and OpenCV. Achieve autonomous navigation by dynamically controlling motor speed and direction. Enhance understanding of robotics, electronics, and AI through hands-on experience. Create a scalable and educational platform for testing autonomous vehicle concepts. Test and refine the system’s performance in various real-world conditions.
  • 7. Scope of the Project - Advantages • Hands-On Learning: Provides a practical platform for learning robotics, AI, and computer vision. • Scalability: Designed to allow future enhancements, such as obstacle detection and advanced navigation features. • Affordability: Utilizes cost-effective components like Raspberry Pi and basic sensors, making it accessible for educational and hobbyist purposes. • Real-Time Processing: Achieves lane detection and navigation in real-time, ensuring smooth operation without delays.
  • 8. Scope of the Project - Features •Autonomous Lane Detection: Uses OpenCV to detect and follow lanes, enabling the car to navigate independently. •Dynamic Motor Control: Adjusts motor speed and direction based on real-time lane data, ensuring accurate path-following. •Portable Design: Compact and lightweight, making it easy to test in various environments. •Modular Code Structure: The code is organized into modules (e.g., Motor Control, Lane Detection) for easy understanding and modification. •Battery-Powered Operation: Runs on a battery pack, providing mobility and flexibility in testing. This Photo by Unknown Author is licensed under CC BY-ND
  • 9. Scope of the Project - Features •Educational Focus: Specifically designed as a learning tool for students and hobbyists, bridging the gap between theory and practice. •Customizable Warping and Thresholding: Allows for adjustments to image processing techniques to suit different testing conditions. •Resource Efficiency: Optimized for minimal CPU and memory usage, ensuring reliable performance on a Raspberry Pi. This Photo by Unknown Author is licensed under CC BY
  • 10. Process Model •Modular Development: The incremental model allowed me to break down the project into smaller, manageable modules (e.g., Motor Control, Lane Detection, Camera Integration). •Continuous Testing and Refinement: to test each module as it was developed, identifying and fixing issues early on. This ensured that the final integrated system was robust and functional. •Scalability: model provided the flexibility to add new features or improve existing ones in future iterations, making it suitable for a project that may evolve over time. •Focus on Core Features First: By prioritizing essential functionalities (like lane detection and motor control) in the initial increments, I ensured that the core system was operational early in the development process, allowing for focused improvements later.
  • 11. Minimum Software Requirements Programming Languages: • Python: Primary language for scripting • Bash: managing Raspberry Pi configurations and running scripts. Integrated Development Environment (IDE): • Thonny: A lightweight IDE for Python. • Visual Studio Code: An alternative IDE for code development Libraries and Frameworks: • OpenCV: For image processing and computer vision tasks. • RPi.GPIO: For controlling GPIO pins on the Raspberry Pi Platforms: • Raspberry Pi OS: The operating system running on the Raspberry • Tinkercad: Used for simulating and testing electronic circuits • Fritzing: for developing schematics and Breadboard Diagrams This Photo by Unknown Author is licensed under CC BY-SA
  • 12. Minimum Hardware Requirements • Raspberry Pi – for main processing and computation • RPi Camera Module – for capturing live video • Motor Driver – to run motors • BO Motors – for driving car’s wheel • Battery Pack – to power RPi and Motor Driver • Car Chassis – a frame for the RC Car • Breadboard – for tinkering • Jumper Wires – for connecting to GPIO pin and Motor Drivers
  • 13. Module 1 - Motor Control Module • Purpose • Control Motor Speed and Direction: This module manages the car's movement by adjusting the speed and direction of the motors based on the input curve value from the lane detection module. • Working • PWM Control: Uses Pulse Width Modulation (PWM) to control the speed of the motors. • Direction Logic: Determines the direction (forward, backward, left, right) by toggling the GPIO pins connected to the L293D motor driver. • Shared Parameters • Curve Value: Received from the Lane Detection Module, used to adjust the motors' speed and direction. • Goal • Smooth Navigation: Ensure the car follows the detected lane smoothly and accurately by dynamically adjusting motor behaviour.
  • 14. Module 2 - Lane Detection Module Purpose • Detect Lane Curvature: processes the camera feed to identify the lane on the road and calculates the curvature Working • Image Processing: Applies thresholding, warping, and histogram analysis to extract lane lines • Curve Calculation: Computes the curve value, which indicates the necessary steering adjustment. Shared Parameters • Camera Feed: processed to detect lanes. • Curve Value: Output to the Motor Control Module to guide the car's movement. Goal • Accurate Lane Following: Ensure the car stays within the lane by providing real-time steering adjustments.
  • 15. Module 3 - Camera Integration Module Purpose • Capture Real-Time Video: This module handles the camera operations, ensuring that live video feed is available for lane detection. Working • Camera Initialization: Sets up the Raspberry Pi Camera using libcam and manages the video stream. • Frame Capture: Captures frames at regular intervals, passing them to the Lane Detection Module for processing. Shared Parameters • Captured Frames: Provided to the Lane Detection Module for processing. Goal • Seamless Video Capture: Ensure continuous and reliable video feed for real-time lane detection.
  • 16. Module 4 - Main Control Module Purpose • Orchestrate System Operations: This module acts as the central controller, coordinating the interactions between all other modules. Working • Initialization: Sets up all other modules, ensuring they are ready to operate. • Continuous Loop: Runs an infinite loop where it captures camera feed, processes lane detection, and adjusts motor control in real-time. Shared Parameters • Control Signals: Manages the communication between Lane Detection, Motor Control, and Camera Integration modules. Goal • System Stability and Coordination: Ensure all modules work together seamlessly to achieve the desired autonomous navigation.
  • 23. Limitations of the Project • Limited Processing Power: though raspberry pi 4 is powerful, still the processing power can be limited for advanced system • Basic Lane Detection: the lane detection algorithm is basic but can still be enhanced in future • Environmental Sensitive: the project heavily relies on consistent lightning condition, which can be challenging • Obstacle Detection: currently no obstacle detection mechanism is incorporated, but that can be easily implemented • Battery Life: this is also a concern but as the project is improved, this can easily be maintained
  • 24. Bibliography/References • https://www.computervision.zone/ • https://www.synopsys.com/glossary/what-is-autonomous-car.htm l • https://www.mobileye.com/blog/history-autonomous-vehicles-re naissance-to-reality/ • https://www.motorcities.org/story-of-the-week/2022/the-gm-fire bird-ii-show-car-made-automotive-history • https://www.terra.com.br/noticias/educacao/historia/leonardo-da- vinci-a-inteligencia-da-fraternidade,54b2127ace2f5824c094c854 65b98888iwvudfnq.html • https://www.ri.cmu.edu/robotics-groups/navlab/ • https://www.cnbc.com/2023/10/26/uber-begins-offering-rides-in- self-driving-waymo-cars.html • https://www.darpa.mil/about-us/timeline/-grand-challenge-for-au tonomous-vehicles