Skip to content

banuanandan/turtlebot_explorer

Repository files navigation

ROS Turtlebot Explorer

Most mobile robot applications require the ability to navigate. While many robots can navigate using maps, and some can map what they can see, few can explore autonomously beyond their immediate surroundings. Our goal is to develop exploration strategies for the complex indoor environments typically found in real office buildings. Our approach is based on the detection of frontiers, regions on the border between open space and unexplored space.

This project is aimed at rescue operation in indoor environments during disasters. This project has several applications in this domain ranging from inspection of nuclear plants or initial inspection of a damaged building during an earthquake where there is little to zero information about the environment. It will be implemented on a Turtlebot simulated in Gazebo.

Author(s): Banuprathap Anandan

Maintainer: Banuprathap Anandan, bprathap@umd.edu

Affiliation: University of Maryland

Dependencies

  • Ubuntu Linux 14.04 as the development platform
  • git version control system with GitHub as the host
  • ROS Indigo as the middleware
  • Gazebo multi-robot simulator version 2.2.3
  • C++ language using g++ compiler with C++03 and Catkin build system
  • nav_core ROS package (BSD)
  • costmap_2D ROS package (BSD)
  • gmapping ROS package (CC)
  • Travis Continual Integration
  • Coveralls coverage monitoring

If you do not have ROS, download the bash script here and run it as sudo. Note: This script assumes you're running Ubuntu 14.04.

Development

The project follows SIP(Solo Iterative Process) to track software changes(SC). Further details can be found here.

Please click here for details about SPRINT.

##Presentation

The final project presentation can be found here

Build steps

  • Open a terminal
mkdir -p catkin_ws/src
cd catkin_ws/src && catkin_init_workspace
git clone https://github.com/banuprathap/turtlebot_explorer.git
cd ..
catkin_make
source ./devel/setup.bash

License

See the LICENSE file for license rights and limitations (MIT).

Status

The code is currently fully functional in Stage simulator. It has issues with move_base and gmapping while running in Gazebo

Running the demo

To run the demo, simply launch demo.launch using

roslaunch turtlebot_explorer demo.launch

Running Tests

To run the tests, in your catkin_ws directory run the following command

catkin_make run_tests

Documentation

The code is completely commented with doxygen style comments. To generate code documentation, run the following command in the repository root directory.

doxygen Doxygen

If you do not have Doxygen installed, use

sudo apt-get install doxygen

ROS Node Details

Explorer The Explorer node handles the pointcloud call backs and uses the ***nav_msgs/Occupancygrid *** data to generate a list of frontier points using wavefront frontier detection function wfd() in wavefront_detection.cpp

Navigator The navigator node receives the frontiers generated by the explorer node to generate navigation commands using move_base action client. The goal is published to the topic /move_base/goal

Issues and bugs

  • The code does not run in Gazebo. It stops abruptly after sending the first goal to the move_base client.
  • There are jitters in mapping caused by gmapping resulting in discontinuities in the robot odometry/

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors