ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Can I test gmapping without a moving robot?

asked 2017-02-10 16:25:24 -0600

Bill5785 gravatar image

updated 2017-02-10 16:26:56 -0600

I know that gmapping needs to subscribe to /tf and after searching on websites, /tf is published by odometry of a moving robot (I'm not sure if I understand in the right way).

Now I only have .pcap file collected by velodyne and I successfully have converted it into laserscan. I don't have a moving robot but I want to test if gmapping works (The .pcap file contains data of my room, I want to see if gmapping can draw a map of my room)

I tried to do that but in RVIZ, the map status says "no message received"

Does it mean I must have a moving robot to realize?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
2

answered 2017-02-10 18:01:23 -0600

nxydes gravatar image

Gmapping requires odometry to go along with the laser scan, see http://wiki.ros.org/gmapping section 4.1.5. It needs the TF base_link -> odom

It may be possible to provide this with laser scan matcher package: http://wiki.ros.org/laser_scan_matcher

edit flag offensive delete link more

Comments

I saw that the laser_scan_matcher has indigo release but when I run

roslocate info laser_scan_matcher

It says it does not exist. Do you know if it's available for indigo?

Bill5785 gravatar image Bill5785  ( 2017-02-10 22:58:40 -0600 )edit
2

answered 2017-02-10 18:59:41 -0600

2ROS0 gravatar image

Odometry of the robot basically means where the robot thinks it is relative to where it started from. Now, odometry can be provided by a variety of sources - encoders in the wheels, cameras (visual odometry) or even laser scans.

So now, you need a way to provide odometry to your gmapping node. And since the only source of information that you have are the network packets from your Velodyne, you will have to write a lidar based odometry node. You can use ICP to try and match consecutive scans, and find out the movement of the robot between these scans (change in pose) and then broadcast that on the /tf topic as the transform between /odom and /laser.

Feed that in to gmapping and you're good.

edit flag offensive delete link more

Comments

Is there any existing ICP package for indigo? I checked some of them but without release of indigo.

Bill5785 gravatar image Bill5785  ( 2017-02-10 23:00:38 -0600 )edit

It seems like there are packages but they're not well maintained. You could use an open ICP library (such as https://openslam.org/ ) and then write a ROS wrapper for it.

2ROS0 gravatar image 2ROS0  ( 2017-02-13 09:13:21 -0600 )edit

@2ROS0 Ok, I will try. Thank you!

Bill5785 gravatar image Bill5785  ( 2017-02-13 09:30:30 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2017-02-10 16:25:24 -0600

Seen: 897 times

Last updated: Feb 10 '17