0
$\begingroup$

Rosanswers logo

Hi all, I'm new to ROS. I'm using ROS INDIGO and kinect for my project.I want to create a map from the laser scan data without having odometry data .I converted the depth image to laser scan data.Then how can I create a map using Gmapping for the hand held kinect using this laser scan data?

edited question. i used hectorslam and there is some problem with tf. using rosrun tf view_frames i got image description and this is my laaunch file for depthimage_to_laserscan kinect.launch


<launch>

<node name="depthimage_to_laserscan" pkg="depthimage_to_laserscan" type="depthimage_to_laserscan">

<remap from="image" to="/camera/depth_registered/image_raw"/>

</node>

</launch>

Originally posted by David John on ROS Answers with karma: 19 on 2016-01-23

Post score: 1

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

Trying looking into hector_mapping. It will build you a map from laser scans and doesn't require odometry data.


Originally posted by jseal with karma: 258 on 2016-01-23

This answer was NOT ACCEPTED on the original site

Post score: 3


Original comments

Comment by David John on 2016-01-24:
thank you sir...it worked for me.Is there any other method using gmapping to do the same.?I read that there is another method using gmapping with laser_scan_matcher. I tried to install it but i was not able to do that.Could you please help me to install this package?

Comment by jseal on 2016-01-24:
I'm not sure. If you couldn't get laser_scan_matcher to install I would try asking a question with the problem.

Comment by David John on 2016-02-03:
Hi sir,i am able to get a 2d map with hectorslam using turtlebot package.But now when i am doing it with real kinect I'am getting an error` "[ WARN] [1453709644.419967908]: No transform between frames /map and scanmatcher_frame available after 20.001889 seconds of waiting."'sir please help.

Comment by jseal on 2016-02-03:
Sounds like your missing a transform in your tf data. Check the required transforms for the nodes your running. You can look at a pdf of your tf tree with: rosrun tf view_frames

Comment by David John on 2016-02-05:
edited previous question

Comment by spmaniato on 2016-02-14:
Check this out David: http://answers.ros.org/question/208584/hector-slam-does-not-work

Comment by David John on 2016-02-15:
did it like this,but still getting the same error.

$\endgroup$
0
$\begingroup$

Rosanswers logo

You can either use hector_mapping, as jseal suggested, or a combination of laser_scan_matcher and slam_gmapping (or even slam_karto). You'll first need to install it:

sudo apt-get install ros-indigo-scan-tools 

Then, here's an excerpt of how you'd run it from a launch file in order to "fake" odometry:

<node pkg="laser_scan_matcher" type="laser_scan_matcher_node"
  name="laser_scan_matcher_node" output="screen">

  <param name="fixed_frame" value="odom"/>
  <param name="use_imu" value="false" type="bool"/>
  <param name="use_odom" value="false" type="bool"/>
  <param name="max_iterations" value="10"/>
</node>

Originally posted by spmaniato with karma: 1788 on 2016-02-14

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by David John on 2016-02-15:
did like this also...but there is nothing uder the topic /map.

Comment by spmaniato on 2016-02-15:
Did you launch slam_gmapping in addition to the laser_scan_matcher and a transform between your base_link and your laser?

Comment by David John on 2016-02-15:
i lauched slam_gmapping and laser_scan_matcher.........but i didn't do that transform part.could you please help me to do that part.

Comment by spmaniato on 2016-02-15:
You need a transform between the base_link frame and your laser frame (camera_link in your case). Assuming the camera is fixed to the base, you'd add something like:

<node pkg="tf" type="static_transform_publisher" name="base_to_laser"
  args="0 0 0 0 0 0 1 /base_link /camera_link 50" />
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.