Autonomous Lane Following Robot

Aim:

This project aims to identify lanes and steer the robot between the lanes along the detected path.

Overview:

Autonomous driving is a huge and complex project, involving many technologies.In our project we have created a system which guides robot in lane following using computer vision and robotics technology. The robot uses OpenCV for image processing and ROS for communication and control. Robot uses live camera feed and processed it through OpenCV to detect the lanes and calculate a path for the manoeuvre of the robot within the lanes.

Working Principle:

The algorithm mainly depended on the two Hough lines that we detected from the two lanes on the ground. We used following methods in succession to get those lines.

  • ​HSV color selection to get lanes apart from ground.
  • Canny Edge Detection algorithm to get edges of lanes.
  • Hough transform algorithm to get two Hough lines.
  • Calculate mean inclination of both lines which will be direction in which TurtleBot supposed to move.
  • According to the inclination appropriate value of linear and angular velocity given to TurtleBot.

TurtleBot continues to move until both lanes are detected and will stop when lanes end.

Software:

ROS – Robot Operating System

We learned about basic ROS commands and did some task to get familiar on how to move the turtlebot later in the project.

We learned:

  • ROS Topics, Nodes, Messages
  • Publisher & Subscriber
  • ROS Services
  • RQT Graphs

We used this knowledge to trace some basic shapes and other task on TurtleSim to get familiar on how to subscribe and publish from any ROS topic.

Hardware:

Turtlebot

Media:

Team Members:

Mentors: