Skip to content

This project is An Obstacle avoidance and Line following racecar using ODG-PF Algorithm and OpenCV , PID respectively . Mounted with hokuyo , camera and IMU sensors

Notifications You must be signed in to change notification settings

sameergupta4873/racecar_eklavya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Racecar Eklavya

Table of Contents

About the Project

  • Obstacle Avoidance Racecar is an autonomous robot designed in Solidworks and simulated and tested in ROS, Gazebo, RViz, etc. It's main objective is to avoid obstacle using ODG-PF algorithm and line following through OpenCV and PID.
  • More about the project full project here.

Tech Stack

File Structure

 📦racecar_eklavya
  ┣ 📂config 
  ┃ ┗ 📜joint_names_racecar_updated_urdf.yaml                       
  ┣ 📂controllers
  ┃ ┣ 📜diff_drive.py                   
  ┃ ┣ 📜imu_reading.py                       
  ┃ ┣ 📜laser_range.py
  ┃ ┣ 📜line_follower.py
  ┃ ┣ 📜obstacle_avoidance.py
  ┃ ┗ 📜obstacle_plus_line.py         
  ┣ 📂launch                           
  ┃ ┣ 📜robot_description.launch
  ┃ ┗ 📜model.sdf                 
  ┣ 📂meshes
  ┃ ┣ 📜base_link.STL                 
  ┃ ┣ 📜FLW_Link.STL                     
  ┃ ┣ 📜FRW_Link.STL
  ┃ ┣ 📜hokuyo.dae
  ┃ ┣ 📜RLW_Link.STL
  ┃ ┗ 📜RRW_Link.STL
  ┣ 📂urdf
  ┃ ┣ 📜my_robot.gazebo          
  ┃ ┣ 📜my_robot.xacro                   
  ┃ ┣ 📜racecar_updated_urdf.urdf
  ┃ ┗ 📜racecar_updated_urdf.csv                     
  ┣ 📂worlds                        
  ┃ ┣ 📜world01.world 
  ┃ ┣ 📜world02.world                    
  ┃ ┗ 📜world03.world                      
  ┣ 📜CMakeLists.txt
  ┣ 📜README.md
  ┗ 📜package.xml

Project Flow


Project flow

ODG-PF Algorithm Flowchart


2

Usage and Guide

Prerequisites and Installations


- Tested upon UBUNTU 20.04

Usage


  1. git clone the main repo in the /src of your catkin_ws using command
cd ~/catkin_ws/src
git clone https://github.com/sameergupta4873/racecar_eklavya.git
  1. git clone the ira_laser_tools branch repo in the /src of your catkin_ws using
git clone https://github.com/sameergupta4873/ira_laser_tools.git
  1. cd into your catkin_ws and run command
cd ~/catkin_ws
catkin_make
source devel/setup.bash
roslaunch racecar_eklavya world.launch
  1. open new terminal again cd into catkin_ws again run command
source devel/setup.bash
roslaunch ira_laser_tools laserscan_multi_merger.launch
  1. finally to avoid obstacles again open a new terminal cd into catkin_ws and run command
cd ~/catkin_ws
source devel/setup.bash
rosrun racecar_eklavya obstacle_avoidance.py
  1. robot should start moving and avoiding obstacles

Line Following

  1. to stop the running script
CTRL + C 
  1. Start the line follower script
rosrun racecar_eklavya line_follower.py

Results and Demo

Screen.Recording.2022-10-14.at.4.38.18.PM.mp4
Screen.Recording.2022-10-14.at.5.01.46.PM.mp4

Future Work

  • Achieving Line Following using OpenCV and PID
  • Acheveing Line Following and Obstacle Avoidance simultaneously

Contributors

Acknowledgements and Resources

Project Timeline

gantt
        SW & URDF :a, 2022-08-17, 1w
        Spawn & Drive : b,after a,1w
        Lidar-Merge & IMU: c, after b, 9d
        Obstacle Avoidance : d , after c , 9d
        Line Following : e , 2022-09-17 , 1w

About

This project is An Obstacle avoidance and Line following racecar using ODG-PF Algorithm and OpenCV , PID respectively . Mounted with hokuyo , camera and IMU sensors

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published