danimtb / pioneer3at_ETSIDI

Pioneer 3 AT ROS setup at ETSIDI-UPM
19 stars 16 forks source link

pioneer3at_ETSIDI: Pioneer 3 AT setup at ETSIDI-UPM

This repo hosts ROS packages working on Indigo version. This packages are needed to setup a CATKIN workspace and include all files needed for Pioneer 3 AT robot at ETSIDI-UPM university.

Navigation Video Demo

Pioneer 3 AT navigation using ROS + Laser + Kinect

First navigation steps compilation

Pioneer 3 AT first steps with ROS navigation

Submodules

Pioneer 3 AT uses the following additional ROS packages showed up as git submodules:

Catkin workspace

Please, refer to de ROS Indigo installation page and follow the steps to install and set your ROS environment as well as updating rosdep tool.

Steps may change for each ROS version:

1.- $ sudo apt-get install ros-indigo-desktop-full

2.- $ sudo rosdep init

3.- $ rosdep update

All theese files and directories should be placed at src/ directory in a catkin workspace. Follow steps in a terminal:

1.- $ catkin_init_workspace catkin_ws

2.- $ cd catkin_ws/src

3.- $ git clone --recursive https://github.com/danimtb/pioneer3at_ETSIDI.git . (NOTE THE . AT THE END OF THE LINE)

4.- $ cd ~/catkin_ws

5.- $ rosdep install rosaria

6.- $ rosdep install freenect_launch

7.- $ catkin_make This will compile all targets placed in you catkin src directory

You'll may also need ros navigation stack and gmapping:

$ sudo apt-get install ros-indigo-navigation

$ sudo apt-get install ros-indigo-gmapping

For turtlebot applications to compile and run:

$ rosdep install turtlebot

$ rosdep install turtlebot_teleop

Content: pioneer_utils

This is the core of my work. pioneer_utils mainly adds some configuration specific parameters to keep all things working.

And implements easy to use nodes:

Usage

This repository is intended to be a simple method to setup and run everything needed to use Pioneer 3 AT.

After clonning this github repo in your catkin_ws src/ directory do the following:

$ cd catkin_ws

$ catkin_make

Navigation Stack

Now run "roscore" and the nodes needed with the .launch file you'll find in src/ directory.

In your terminal run "roscore":

$ roscore

In other terminal, we'll bring up all drivers for hardware using kinect, laser Sick, and Rosaria with calibration config setup:

$ roslaunch pioneer_utils pioneer3at-rosaria.launch

Now, you can start navigation stack with amcl like this:

$ roslaunch pioneer_utils navigation_pioneer-3at.launch

Pioneer 3 AT Follower (from turtlebot)

Open a terminal and launch the follower:

$ roslaunch pioneer_utils simple_follower.launch

If you want to guide your robot following you to build a map, run instead:

$ roslaunch pioneer_utils gmapping-follower.launch

Pioneer 3 AT Panorama (from turtlebot)

Open a terminal and launch the panorama:

$ roslaunch pioneer_utils panorama-pioneer-3at.launch

Follow turtlebot's panorama wiki to know how to use this and take nice panorama pics. Also see turtlebot_panorama API.

Gazebo Simulation

Open a terminal and launch the follower:

$ roslaunch pioneer_utils pioneer3at_gazebo_world.launch

If you want to do some navigation with Willow Garage's map type in other terminal:

$ roslaunch pioneer_utils pioneer3at_gazebo_world.launch

gazebo with obstacles

gazebo willow garage world