Skip to content

Implements A* algorithm to optimal path from a start to goal point for a non-holonomic rigid robot

License

Notifications You must be signed in to change notification settings

urastogi885/a-star-robot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A* Robot

Build Status License

Authors

Overview

This project is an implementation of A* algorithm on a rigid non-holonomic robot to traverse through a known environment. The project is divided into 4 phases.

  • Phase-1: Installation of ROS and V-REP
  • Phase-2: Implementation of A* on a non-holonomic robot
  • Phase-3: Implementation of A* on a differential-drive robot
  • Phase-4: Implementation of A* on Turtlebot using ROs

Phase 3 and 4 have been implemented on another repository


Figure 1 - Exploration of a non-holonomic rigid robot using A* to find optimal path from start to goal

Dependencies

  • Python3
  • Python3-tk
  • Python3 Libraries: Numpy, OpenCV-Python, Math

Install Dependencies

  • Install Python3, Python3-tk, and the necessary libraries: (if not already installed)
sudo apt install python3 python3-tk
sudo apt install python3-pip
pip3 install numpy opencv-python
  • Check if your system successfully installed all the dependencies
  • Open terminal using Ctrl+Alt+T and enter python3.
  • The terminal should now present a new area represented by >>> to enter python commands
  • Now use the following commands to check libraries: (Exit python window using Ctrl+Z if an error pops up while running the below commands)
import tkinter
import numpy
import cv2

Run Instructions

  • Using the terminal, clone this repository and go into the project directory, and run the main program:
git clone https://github.com/namangupta98/a-star-robot
cd a-star-robot
  • If you have a compressed version of the project, extract it, go into project directory, open the terminal, and type:
python3 a_star_robot.py start_x,start_y,start_orientation goal_x,goal_y,goal_orientaion robot_radius,clearance step_size,theta animation
python3 a_star_robot.py 50,30,60 150,150,0 1,1 1,30 1
  • Refer documentation of a-star-robot.py to understand further about input arguments.


Figure 1 - Final path using A* from start to goal

  • Note that the project does not consider the orientation of the robot at the goal point. The goal orientation parameter will be considered in the next phase of the project.

About

Implements A* algorithm to optimal path from a start to goal point for a non-holonomic rigid robot

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%