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

Revision history [back]

click to hide/show revision 1
initial version

answered 2016-01-29 10:06:27 -0500

joq gravatar image

I have only limited experience with doing SLAM using a Velodyne (or other point cloud sensor), but I have some observations and suggestions that may help:

  • The PCAP data will probably not be sufficient for good SLAM performance. You want to at least save Odomentry data, along with the sensor output.

The easiest way to do that is with rosbag record. Save the raw /velodyne_packets topic published by the velodyne_driver, along with the robot's odomentry (usually published in the /odom topic), the robot's coordinate transforms in /tf, and perhaps some IMU data.

  • You need to massage the data into the format accepted by your chosen SLAM implementation.

The familiar ROS gmapping package, it requires your point cloud to be converted into a 2D laser scan message. That's not as silly as it may sound, if you are making a 2D map anyway. The [ROS point cloud to laser scan package] (http://wiki.ros.org/pointcloud_to_laserscan) will handle that conversion for you, squashing points with a selected region into a 2D sensor_msgs/LaserScan.

I have only limited experience with doing SLAM using a Velodyne (or other point cloud sensor), but I have some observations and suggestions that may help:

  • The PCAP data will probably not be sufficient for good SLAM performance. You want to at least save Odomentry data, along with the sensor output.

The easiest way to do that is with rosbag record. Save the raw /velodyne_packets topic published by the velodyne_driver, along with the robot's odomentry (usually published in the /odom topic), the robot's coordinate transforms in /tf, and perhaps some IMU data.

  • You need to massage the data into the format accepted by your chosen SLAM implementation.

The familiar ROS gmapping package, it requires your point cloud to be converted into a 2D laser scan message. That's not as silly as it may sound, if you are making a 2D map anyway. The [ROS ROS point cloud to laser scan package] (http://wiki.ros.org/pointcloud_to_laserscan) package will handle that conversion for you, squashing points with a selected region into a 2D sensor_msgs/LaserScan.

I have only limited experience with doing SLAM using a Velodyne (or other point cloud sensor), but I have some observations and suggestions that may help:

  • The PCAP data will probably not be sufficient for good SLAM performance. You want to at least save Odomentry data, along with the sensor output.

The easiest way to do that is with rosbag record. Save the raw /velodyne_packets topic published by the velodyne_driver, along with the robot's odomentry (usually published in the /odom topic), the robot's coordinate transforms in /tf, and perhaps some IMU data.

  • You need to massage the data into the format accepted by your chosen SLAM implementation.

The familiar ROS gmapping package requires your point cloud to be converted into a 2D laser scan message. That's not as silly as it may sound, if you are making a 2D map anyway. The ROS point cloud to laser scan package will handle that conversion for you, squashing points with from a selected 3D region into a 2D sensor_msgs/LaserScan.