[ros-users] slam_gmapping messages problem

Eric Perko wisesage5001 at gmail.com
Fri Mar 26 17:15:28 UTC 2010


If you read through the tf tutorials, you will probably get a better
idea of what is required.
http://www.ros.org/wiki/tf/Tutorials/Introduction%20to%20tf

Without a proper tf tree setup, it is impossible for the different
nodes to know how to relate, say, a scan from the laser to a point in
the odometry frame. Basically, in order to get my SLAMgmapping going
with my lms291, I needed to publish a few transforms. You will need
one from the base_laser to the base (base_link or whatever frame you
gave it), and one from the base_link frame to the odom frame. Perhaps
someone from WG can update the wiki, but I was able to get it all
working after reading through the tf documentation.

Some other notes about your stuff:
- You are correct, you don't need scan:=scan if your laser_scan topic
is already called /scan
- Are you missing a publisher for /cmd_motor_state? It has a
subscriber, but no type. That means nothing is publishing but
something is listening, which is usually an error.

If you can't figure it out from the docs, I can post the code I used
to get gmapping up and running later tonight.

And to answer your second post, all I needed was a
static_transform_publisher to do the base_laser to base_link
transform. You still need a transform from base_link to odom, and I
didn't see a /tf topic at all, so no transforms were getting
published.

- Eric Perko
wisesage5001 at gmail.com
eric.perko at case.edu
mobilerobots.case.edu

On Fri, Mar 26, 2010 at 12:28 PM, 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