Skip to content

Line following Maze solving with shortest path bot. Made under mentorship programme Eklavya 2020 hosted by SRA VJTI.

License

Notifications You must be signed in to change notification settings

Bhumika-Kothwal/Eklavya-2020--Slayers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Labyrinth Simulation - CoppeliaSim

Line following Maze solving bot with shortest path in CoppeliaSim environment

Table of Contents

About The Project

maze screenshot
bot screenshot

  • Aim
    To make a line following maze solving bot with shortest path algorithm using CoppeliaSim in C-language.
  • Description of project
    We have made a bot which will be capable enough of exploring an unknown path on its own without any user interaction during the exploration. Our motive was to make a bot that can explore the maze and find the shortest path in the minimum time possible by traveling the minimum distance. Hence our project requires use of algorithms and data structures as the major part. We have used the Legacy Remote API for server side so that the written code is in C language.

Refer this documentation

Tech Stack

This section lists the technologies you used for this project.

File Structure

.
├── docs                    # Documentation files
│   ├── report.pdf          # Project report
│   └── results             # Folder containing screenshots, videos of results
├── dry_run                 # Source files and vrep scenes for dry run of bot
│   ├── src                 # Source files and code for exploration of maze
│   ├── vrep_scenes         # Folder containing scene with bot and path
│   └── Makefile            # for producing final executable file
├── final_run               # Source files and vrep scenes for final run of bot
│   ├── src                 # Source files and code for final of maze
│   ├── vrep_scenes         # Folder containing scene with bot and path
│   └── Makefile            # for producing final executable file
├── LICENSE
├── README.md 
└── SETUP.md                

Getting Started

Prerequisites

  • See SETUP.md for the installation steps.
  • List of softwares with version tested on
$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0

$ make --version
GNU Make 4.1

Installation

Clone the repo

git clone https://github.com/Bhumika-Kothwal/Eklavya-2020--Slayers.git

Usage

  • For Dry Run
    1. Open the folder dry_run
    2. Run the make command in the terminal as given below. (This should lead to formation of two folders-bin, obj)
    $  make clean
    $  make
    1. Open the CoppeliaSim environment by running the command below in the terminal-
    $  coppelia-sim
    1. Open the desired scene and start the simulation.
  • For Final Run
    1. Open the folder final_run
    2. Follow the same steps 2-4 as stated for Dry Run.

Results

result screenshots
result video

Future Work

  • Improving the efficiency of back-tracking
  • Introducing wheel encoders in bot

Contributors

Acknowledgements and Resources

  • SRA VJTI Eklavya 2020
  • Refered this for understanding and working with CoppeliaSim and for model of bot
  • Refered this for implementing Legacy Remote API and Remote API functions for C language.Below flowchart will help you access the required information from the page cited above.
    CoppeliaSim User Manual     
    ├── ...           
    ├── Writing code in and around CoppeliaSim                  
    │   ├── ...     
    │   └── CoppeliaSim API framework     
    │       ├── ...       
    │       ├── Remote API        
    │       │   ├── ...       
    │       │   └── Legacy remote API                               #Using Legacy Remote API        
    │       │       ├── Enabling the remote API - client side       #Information about the client side requirements       
    │       │       ├── Enabling the remote API - server side       #Information about the server side requirements       
    │       │       ├── ...       
    │       │       ├── Remote API functions(C/C++)                 #Information about the functions to be used, their purposes, prototypes, return types       
    │       │       └── ...       
    │       └── ...       
    └── ...       

License

Details of license can be found here.

About

Line following Maze solving with shortest path bot. Made under mentorship programme Eklavya 2020 hosted by SRA VJTI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages