/Planar-Obstacle-Avoidance

This repository is dedicated to 2D-view obstacle avoidance algorithm. The application of this will be implemented on the delta robot for checking the algorithm's usefulness in practice

Primary LanguageJupyter Notebook

Planar Obstacle - Avoidance (Application in Delta Robot)


FULL RESEARCH OUTLINE


Overview:


Introduction

Here's the overall idea for a 2D-viewed obstacle avoidance algorithm.

Workspace (Initial and Final Points) Object Detection and Blocking Out Obstacles
Grid Modeling and Extracting Key Path Points Trajectory Generation

Object Detection

For using the Yolo-V5 we're going to take the following steps (Reference #1):

  • Python Virtual Environment Setup
  • Installing Pytorch and Cuda
  • Use the Default Yolo-V5 Model

Step 1: Python Virtual Environment Setup


it is advised to setup a virtual environment before using Pytorch and Cuda.


Step 2: Installing Pytorch and Cuda


First go to the Pytorch Local Installation address. In the following section choose the appropriate installation version for your computer. Copy the output command and run it in your Virtual Env.

image

For installing the GPU-activated version you'll need cuda which you can find in the CUDA Download Page


Step 3: Use the Default Yolo-V5 Model


The following jupyter notebook contains the code necessary code for using Yolo-V5 for a given image under the section "Object Detection".



Grid Problem and Search Algorithms

A search algorithm that is typically used for finding the path in graph, or in this case a grid-world, is called Breath-First Search (BFS) Algorithm. The following jupyter notebook contains the code necessary code for using BFS Algorithm in a grid-world under the section "Grid Search".

BFS Algorithm (img ref) BFS algorithm grid-world implementation

Trajectory Generation

Obstacle Avoidance

References

[1] YOLO-V5 Ultralytics