background preloader

ROS gmapping

Facebook Twitter

Modifying turtlebot odometry module. Hello there, I'm working on a project that consists of running the gmapping application with a turtlebot that contains an additional sensor that should improve my odometry (that is: I want to use all standard turtlebot sensor plus the additional one).

Modifying turtlebot odometry module

My first attempt to do so was by checking the slam_gmapping source, from which I discovered that this app listens to either a "odom" or a "odom_frame" node. As I didn't find any documentation on such a node, I started my search over again and found this robot_pose_ekf node, which might be what I'm looking for, but the documentation on how to include additional sensors is still very incomplete, and, as far as I could understand, suggests that it is only possible to have three odometry sources to the Kalman Filter.

In other words, I'd have to sacrifice one of the original turtlebot sensors, since it already deals with three different sensors for localization. Git - uos-robot_pose_ekf.git/commitdiff. Viso2_ros. ScaViSLAM. Update: Code online now: This is the project page of ScaViSLAM - a general and scalable framework for visual SLAM.


It employs "Double Window Optimization" (DWO) as described in our ICCV publication: H. Strasdat, A.J. Davison, J.M.M. Guide to gyro and accelerometer with Arduino including Kalman filtering. This guide was first posted at the Arduino forum, and can be found here: I just reposted it, so even more will get use of it.

Guide to gyro and accelerometer with Arduino including Kalman filtering

The code can be found here: Hallo everybody I recently bought this analog 6DOF (six degrees of freedom) IMU board ( from It uses three gyros and three accelerometers to calculate angles in three dimensions. I looked a while for some code online and how to connect with them. Before you begin you have to connect the IMU as follows: Acc_Gyro Arduino 3.3V <—> 3.3V GND <—> GND Gx4 X <—> AN0 Gx4 Y <—> AN1 Gx4 Z <—> AN2 Acc X <—> AN3 Acc Y <—> AN4 Acc Z <—> AN5 Also connect 3.3V to the AREF pin on the Arduino for more accuracy.

Now your are ready for reading some data from the sensor. To communicate with the sensor is straightforward: The gyro measures degrees per second while the accelerometer measures acceleration (g's) in three dimensions. If you look in the two gyros datasheets ( and you will see that the sensitivity is 3.33mV/deg/s for the 4xOUT. Publishing and subscribing Gyro msgs in a Turtlebot - ROS Answers: Open Source Q&A Forum.

First map with ROS « First map with ROS This assumes that network connectivity has been established and you have a remote desktop of your robot setup on your laptop.

First map with ROS «

Do the following steps on the robot Launch ‘roscore’ It should report “started core service [/rosout]Check that the Kinect and Create are powered on and plugged in.Open a new terminal tab and bring up the turtle bot by typing ‘roslaunch turtlebot_bringup robot.launch’Your Create should beep and the screen should indicate that the gyro was calibrated. (Even if you don’t have a gyro)Calibrate your turtlebot by running ‘roslaunch turtlebot_calibration calibrate.launch‘. Hold the middle mouse button and use the mouse to center the robot on your screen.Click back into your teleop window. Turtlebot: Unstable. Asked Mar 14 '12 We recently started working with a turtlebot using the ros tutorials for the same.

Turtlebot: Unstable

We do not know when it is switched on in full mode and when in passive mode or safe mode. Immediately after we switch on the iRobot Create, the red light flashes and there is a small beep and the green light comes on. But in a few seconds the green light goes off with another beep. This doesn't happen all the time, but very often. 2d SLAM with ROS and Kinect » Dr. Rainer Hessmer. So far we really did not tap much into the power of ROS.

2d SLAM with ROS and Kinect » Dr. Rainer Hessmer

Teleoperation and dead reckoning was just a way to ‘warm up’ and get familiar with the basics of ROS. This is about to change as we are getting ready to leverage ROS’s implementation of SLAM (Simultaneous Localization and Mapping). The associated ROS package is gmapping which wraps the open source GMapping implementation that is available on In order to use gmapping we need a source of odometry information (Ardros already provides this) and a source of depth information. Typically laser scanners are used to get the depth information. The following assumes that you have the package desktop-full of ROS Diamondback installed. Roslaunch openni_camera openni_node.launch Then in a different terminal: rosrun rviz rviz. What am I doing wrong? Gmapping on Turtlebot Clone. I've pictures! Asked Feb 7 '12 Hello all,

What am I doing wrong? Gmapping on Turtlebot Clone. I've pictures!

Trouble getting an accurate map with TurtleBot. Answered Nov 12 '11 Before mapping with the TurtleBot calibration is required.

trouble getting an accurate map with TurtleBot

At this point I would suggest upgrading your TurtleBot to electric ( it will make storing calibration much easier. Once you upgrade, sudo service turtlebot start will be launching the turtlebot.launch file in /etc/ros/electric. All you need to do is edit this file after calibration and your calibration paramenters will be stored permanently. You shouldn't need to calibrate your TurtleBot very often. After you calibrate you can make a map. When making a map you need to remember that the algorithm is doing scan matching (trying to match up scans as it moves and checking to see if it's closed the loop). To start when making a map with the TurtleBot, you should drive the perimeter (near walls and furniture) of a room several times in one direction at an average pace (don't go too slow, the TurtleBot odometry is the worst when driving slow).

Mobile Robot Programming Toolkit. The Mobile Robot Programming Toolkit (MRPT) is a cross-platform and open source C++ library aimed to help robotics researchers to design and implement algorithms related to Simultaneous Localization and Mapping (SLAM), computer vision and motion planning (obstacle avoidance).

Mobile Robot Programming Toolkit

Different research groups have employed MRPT to implement projects reported in some of the major robotics journals and conferences.[1][2][3][4][5] MRPT is open source and distributed under the New BSD License. Versions prior to 1.0.0 were released under the GPL. Some features included in the project as user-applications: Mrpt-ros-pkg - ROS (Robot Operating System) wrapper packages for the MRPT libraries. UPDATE: This is the old site for mrpt-ros-pkg, we have now moved to GitHub: Robot Operating System (ROS) wrapper packages for the Mobile Robot Programming Toolkit (MRPT) libraries.

mrpt-ros-pkg - ROS (Robot Operating System) wrapper packages for the MRPT libraries

Refer to the wiki: Note that this package is under development, so only a tiny fraction of the functionality from MRPT libraries is currently (Mar 2012) available as ROS packages. Checkout the code of mrpt-ros-pkg from the SVN repository. You'll need MRPT installed in your system (libmrpt-dev, see PPA repository for Ubuntu) or, if you prefer to build MRPT from sources, add this to your ~ /.bashrc (so you don't have to do a make install): The Mobile Robot Programming Toolkit. Gmapping.