GithubHelp home page GithubHelp logo

bnurbekov / turtlebot_navigation Goto Github PK

View Code? Open in Web Editor NEW
32.0 9.0 16.0 193 KB

This project was completed on May 15, 2015. The goal of the project was to implement software system for frontier based exploration and navigation for turtlebot-like robots.

Python 100.00%
robotics turtlebot robot ros python navigation

turtlebot_navigation's Introduction

Synopsis

This project implements a Software system for navigation and frontier based exploration for mobile robotic platforms (Turtlebots).

Description

First of all, Turtlebots are small robots that can drive around and sense the environment through a Kinect sensor.
One of them is shown below.

In general, the purpose of the project was to build an informed search algorithm on a grid (shown below), so that the robot could explore the environment. The robot had to be able to locate borders of the unexplored zones (shown in orange) and find a path to those borders using an A* search. After that, the goal was to drive to the borders in order to explore those zones by spinning in one place.

(Explored cells are shown in white; expanded obstacles are shown in black; unexplored zone borders are shown in orange)

The project is interesting from the software engineering stand-point because it is very high-level (no low-level robotics involved), allowing to practice search algorithms, such as BFS, DFS and A*, and performance optimization techniques, such as multi-threading.

Outcome

The robot was able to successfully explore the environment.

Directions

The main files to look for are "scripts/mapping.py" and "scripts/control.py".โ€‹ Installation instructions are located in the repository.

Installation

Save this package into catkin_ws/src/.

Run gazebo simulation by running 'roslaunch turtlebot_gazebo turtlebot_world.launch' or bringing up the actual turtlebot.

In a new tab, run 'rosrun rviz rviz'.

Open the final.rviz settings located in the 'rviz' folder.

Then run the following commands:

  1. Run 'roslaunch final_project final_project.launch'
  2. Run 'rosrun final_project mapping.py'. This will run the mapping service.
  3. Run 'rosrun final_project control.py'. This will run the control script.

turtlebot_navigation's People

Contributors

bnurbekov avatar ceebs03 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

turtlebot_navigation's Issues

ImportError: No module named final_project.srv

Hi
First of all, thank you for sharing this code.
I have some troubles in making it work though.
I get the error "ImportError: No module named final_project.srv" when I try to launch your python programs.

Furthermore, I am not quit sure where I should execute the commands in your tutorial. On the Turtlebot laptop or on the remote PC ?

Thanks in advance !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.