Only released in EOL distros:
Package Summary
Obstacle detection for 3D point clouds using a height map algorithm.
- Author: David Claridge, Michael Quinlan
- License: BSD
- Source: svn https://utexas-art-ros-pkg.googlecode.com/svn/trunk/stacks/velodyne_utils
Package Summary
Obstacle detection for 3D point clouds using a height map algorithm.
- Author: David Claridge, Michael Quinlan
- License: BSD
- Source: git https://github.com/jack-oquin/velodyne_utils.git (branch: rosbuild)
Package Summary
Obstacle detection for 3D point clouds using a height map algorithm.
- Author: David Claridge, Michael Quinlan
- License: BSD
- Source: git https://github.com/jack-oquin/velodyne_utils.git (branch: rosbuild)
Package Summary
Obstacle detection for 3D point clouds using a height map algorithm.
- Maintainer status: maintained
- Maintainer: Jack O'Quin <jack.oquin AT gmail DOT com>
- Author: David Claridge, Michael Quinlan
- License: BSD
- Bug / feature tracker: https://github.com/jack-oquin/velodyne_height_map/issues
- Source: git https://github.com/jack-oquin/velodyne_height_map.git (branch: master)
Package Summary
Obstacle detection for 3D point clouds using a height map algorithm.
- Maintainer status: maintained
- Maintainer: Jack O'Quin <jack.oquin AT gmail DOT com>
- Author: David Claridge, Michael Quinlan
- License: BSD
- Bug / feature tracker: https://github.com/jack-oquin/velodyne_height_map/issues
- Source: git https://github.com/jack-oquin/velodyne_height_map.git (branch: master)
Contents
Reporting bugs
ROS Nodes and Nodelets
HeightMapNodelet
The height map nodelet reads point cloud data, publishing detected obstacles and clear space. The velodyne_pointcloud/TransformNodelet publishes data in the appropriate format.Subscribed Topics
velodyne_points (sensor_msgs/PointCloud2)- 3D data points.
Published Topics
velodyne_obstacles (sensor_msgs/PointCloud2)- Points belonging to detected obstacles.
- Clear space: grid squares containing laser returns and no obstacle.
Parameters
cell_size (double, default: 0.5)- Grid cell size (meters).
- Normally, height map only publishes one obstacle or clear point for each cell, significantly reducing output bandwidth while providing the information needed for most 2D navigation. When true, publish all obstacle and clear points.
- Number of grid cells in both the X and Y dimensions.
- Minimum height difference that counts as an obstacle (meters).
Examples
Start the height map nodelet in a separate process. Running as a standalone nodelet prevents zero-copy message sharing.
$ rosrun nodelet nodelet standalone velodyne_height_map/HeightMapNodelet
This launch file runs the height map nodelet in the same process with the Velodyne device driver and a velodyne_pointcloud nodelet which publishes the points transformed into the "/odom" frame. This approach minimizes data copying.
<launch> <!-- start nodelet manager and driver nodelets --> <include file="$(find velodyne_driver)/launch/nodelet_manager.launch"> <arg name="pcap" value="$(find velodyne_pointcloud)/tests/class.pcap"/> </include> <!-- start transform nodelet using test calibration file --> <include file="$(find velodyne_pointcloud)/launch/transform_nodelet.launch"> <arg name="calibration" value="$(find velodyne_pointcloud)/tests/angles.config"/> </include> <!-- start heightmap nodelet --> <include file="$(find velodyne_height_map)/launch/heightmap_nodelet.launch"/> </launch>
heightmap_node
The height map node works exactly like the HeightMapNodelet, running as a separate ROS node. All topics and parameters are identical.
Examples
Run the height map algorithm as a separate node.
$ rosrun velodyne_height_map heightmap_node
Run the node with a 100x100 grid of 10cm cells.
$ rosrun velodyne_height_map heightmap_node _grid_dimensions:=100 _cell_size:=0.1
Run the node with anything more than 5cm high considered an obstacle.
$ rosrun velodyne_height_map heightmap_node _height_threshold:=0.05