[ros-users] slam_gmapping messages problem

Brian Gerkey gerkey at willowgarage.com
Wed Apr 7 04:09:32 UTC 2010


hi Enea,

It looks like you're only publishing odometry, and not tf (or
transform) data.  Much of ROS (including gmapping) won't work without
a stream of tf data.

gmapping needs to be able to transform incoming laser scans from the
laser's frame to the odometric frame.  So you need to supply data for
two transforms: between the robot and the laser, and between the robot
and its odometric origin.  The first transform is fixed (unless your
laser moves respect to the robot), and so is most easily sent with a
tf/static_transform_publisher:
http://www.ros.org/wiki/tf#static_transform_publisher.  The second
transform will change every time you get new odometry data; you can
find an example of converting an nav_msgs/Odometry message into a tf
message in the stage package, in src/stageros.cpp, around line 325.

	brian.

On Fri, Mar 26, 2010 at 9:28 AM, Enea Scioni
<enea.scioni at student.unife.it> wrote:
>
> Dear ROS-users,
> I'm trying to build a map using slam_gmapping stack but without success.
> I tried before to download and use the test bag file and everything works
> fine.
> I'm using a sick lsm200 laser and a pioneer(peoplebot) platform and for make
> my bag file I used the sicktoolbox_wrapper package (sicklms), a version
> modified of p2os driver wrapper and the old package teleop_base (in
> particular I'm using teleop_base_keyboard to send cmd_vel commands).
>
> I don't know if I make a mistake when I'm trying to make a bag file, or on
> the second step, when I'm trying to elaborate the bag file; anyway in the
> tutorial
> http://www.ros.org/wiki/slam_gmapping/Tutorials/MappingFromLoggedData I
> read:
> Start recording scans and transforms (note that the scan topic may vary from
> robot to robot):
> rosrecord -f mylaserdata /base_scan /tf
>
> But maybe I didn't understand the meaning of "transforms". I know that for
> make a map from slam algorithm I need to save/record laserdata and odometric
> data; In my case, I've the following topics:
> Published topics:
>  * /motor_state [p2os/MotorState] 1 publisher
>  * /battery_state [pr2_msgs/BatteryState] 1 publisher
>  * /rosout [roslib/Log] 3 publishers
>  * /rosout_agg [roslib/Log] 1 publisher
>  * /pose [nav_msgs/Odometry] 1 publisher
>  * /scan [sensor_msgs/LaserScan] 1 publisher
>  * /cmd_vel [geometry_msgs/Twist] 1 publisher
>
> Subscribed topics:
>  * /time [unknown type] 4 subscribers
>  * /rosout [roslib/Log] 1 subscriber
>  * /cmd_vel [geometry_msgs/Twist] 1 subscriber
>  * /cmd_motor_state [unknown type] 1 subscriber
>  * /clock [unknown type] 4 subscribers
>
> So I recorded scan and pose messagges in this way (note: I don't have a tf
> topic message) :
> record -f mylaserdata /scan /pose
>
> After, When I'm try to make a map, I ran:
> rosrun gmapping  slam_gmapping scan:=scan
> (scan:=scan it's not necessary I think)
> and I used the rosplay command as well:
> rosplay mylaserdata-<data_info>.bag
>
> After this, I received form slam_gmapping command this warning:
> [ WARN] 1269617084.120287000: MessageFilter [target=/odom ]: Dropped 100.00%
> of messages so far. Please turn the [ros.gmapping.message_notifier]
> rosconsole logger to DEBUG for more information.
>
> The warning it's correct (I send a odom messages) and it doesn't receive
> information from scanner data, like in the test.bag example.
> So I suppose that something in topic name is wrong, or better, the
> slam_gmapping expects a tf message, as described in the ros wiki
> http://www.ros.org/wiki/gmapping 5.1 Subscribed topics, where I read
> "Transforms necessary to relate frames for laser, base, and odometry (see
> below) " but "below" I didn't find information necessary for understand how
> convert odometric message in a tf message and why I need to to this...
>
> Anybody can help me?
> Thank You!
>
> Regards,
> Enea Scioni
>
> --
> View this message in context: http://n3.nabble.com/slam-gmapping-messages-problem-tp676863p676863.html
> Sent from the ROS-Users mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Download Intel® Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> ros-users mailing list
> ros-users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ros-users
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>



More information about the ros-users mailing list