Hello,
I am using Zed Camera, to build map of the surrounding. I am trying to build the map using depthimage_to_laserscan with slam_gmapping, however the laser scan data is not being published. Attached is my tf_frames, rqt_graph image, and the launch file I am using. It shows /scan for the laser scan in RVIZ. However, no points are being published, and there is no map being published.
I am not sure where the error is, any suggestion would be appreciated.
Ros: Kinetic, Ubuntu: 16.04
Since I am not allowed to upload images, I am attaching in the link below: https://www.dropbox.com/sh/uh2okf7h2s13ks8/AADfr8BV8Jart_CDIMIbkd0xa?dl=0
Thanks
Originally posted by hdbot on ROS Answers with karma: 36 on 2017-04-22
Post score: 0
Original comments
Comment by ahendrix on 2017-04-22:
Looks like there's no input to the depthimage_to_laserscan node.
Comment by hdbot on 2017-04-23:
How would I fix that? Any suggestions? Also it says that there is no map received.
Comment by mohsen1989m on 2017-04-23:
You are not publishing what depthimage_to_laserscan needs to subscribe. check the package documentation. you need a image (sensor_msgs/Image) and camera_info (sensor_msgs/CameraInfo). It seems that the Image is of a special type, so it needs a depth image as sensor_msgs/Image...
Comment by hdbot on 2017-04-23:
Yes you are right @mohsen1989m, the issue was of special topic, I managed to fix the issue of the laser scan output, but I still have error of no map received. I have updated the dropbox with new launch file, and the rviz output screenshot.
Comment by Humpelstilzchen on 2017-04-24:
For starters you can remove the remap from scan to /zed/scan. Next you have a static transform for odom. This does not sound right.
Comment by hdbot on 2017-04-26:
Yea I took the static transform off, but that causes issue such that tf has two trees. For some reason it seems that laser scan match is not being triggered. Not sure why though...
Comment by Humpelstilzchen on 2017-04-27:
Two tf trees: Looks like your odometry is not working. The odom->base_frame transform needs to be published by you.
Comment by hdbot on 2017-04-27:
The laser scan matcher node is supposed to do that, even if I publish that transform the map doesn't get built. I have added the laser scan matcher node in the file for reference.
Comment by mohsen1989m on 2017-04-28:
Gmapping relays on odometry, if you don't have odomery data I recommend you to try hector slam. To my experience it works much better and faster than gmapping
Comment by hdbot on 2017-05-01:
Yes I am aware that gmapping is dependent on odometry, hence using Laser Scan Matcher as it generates fake odometry that is used to match the scans. However, the laser scan matcher is using indigo version, and I am using Kinetic, so it is not working. I want to avoid using hector slam if possible.
Comment by Humpelstilzchen on 2017-05-01:
How about rtabmap (or real odometry?)
Comment by hdbot on 2017-05-01:
I tried using rtabmap, but even in that I would not be able to generate map. I followed the tutorial http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping for Zed Camera, but same issue no map is being generated.