Skip to content

A navigation example of a robot sweeping through an environmnet

Notifications You must be signed in to change notification settings

gpldecha/turtlebot-navigation

Repository files navigation

ros-gazebo-example

A navigation example using turtle bot to sweeping through an environmnet

Installation

dependencies

We will be using the turtle bot as our working example robot. First you will have to install the ros packages for the turtle bot. These packages depend on gazebo2 which is the default provided when you install indigo-full-desktop. If you want to use a more recent version of gazebo you will have to build the turtlebot packages from source.

sudo apt-get install ros-indigo-turtlebot
sudo apt-get install ros-indigo-turtlebot-*

Then run the following command:

roslaunch turtlebot_gazebo turtlebot_world.launch

If all goes well you should see the following:

If Gazebo loads up and the screen is black (it was the case for me) follow the fix instructions on this page: gazebo2-with-black-screen.

this package

In your catking_workspace/src

git clone https://github.com/gpldecha/turtlebot-navigation.git 

Goal

This goal is to be able to sweep the square environment first with one robot and then collaboratively with another.

Approach

We will be using the ros navigation stack. The following concepts will be important

  • global map: is computed with SLAM and then stored as an occupancy grid map.

  • local costmap(see section 2. The Costmap) is used by a local navigation planner ensures that obstacles are avoided. The global path is projected onto the local costmap and is addapted according to the local surounding. See base_local_planner for an example of a local planner

  • global planners: see carrot_planne for an example.

As our goal is to sweep the entire state space we will write our own custom global planner which will compute a path which convers the entire map.

Turtle bot control tunning

When I first ran the default behaviour the robot would often perfrom complete 360 degree rotations. The local behaviour of the robot is dictated by the local planner which in our case is base_local_planner.

Issues

I want to subscribe to topic: /move_base/global_costmap/costmap. But when I check rostop hz /move_base/global_costmap/costmap WARNING: may be using simulated time

notes

There are two maps which are used during the execution of a plan

resources

Super usefull library

turtle bot

Drones in Gazebo

gazebo drones

About

A navigation example of a robot sweeping through an environmnet

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published