Home

Awesome

linefit_ground_segmentation

Implementation of the ground segmentation algorithm proposed in

@inproceedings{himmelsbach2010fast,
  title={Fast segmentation of 3d point clouds for ground vehicles},
  author={Himmelsbach, Michael and Hundelshausen, Felix V and Wuensche, H-J},
  booktitle={Intelligent Vehicles Symposium (IV), 2010 IEEE},
  pages={560--565},
  year={2010},
  organization={IEEE}
}

The linefit_ground_segmentation package contains the ground segmentation library. A ROS interface is available in linefit_ground_segmentation_ros

The library can be compiled separately from the ROS interface if you're not using ROS.

Installation

Requires the following dependencies to be installed:

Compile using your favorite catkin build tool (e.g. catkin build linefit_ground_segmentation_ros)

Launch instructions

The ground segmentation ROS node can be launch by executing roslaunch linefit_ground_segmentation_ros segmentation.launch. Input and output topic names can be specified in the same file.

Getting up and running with your own point cloud source should be as simple as:

  1. Change the input_topic parameter in segmentation.launch to your topic.
  2. Adjust the sensor_height parameter in segmentation_params.yaml to the height where the sensor is mounted on your robot (e.g. KITTI Velodyne: 1.8m)

Parameter description

Parameters are set in linefit_ground_segmentation_ros/launch/segmentation_params.yaml

This algorithm works on the assumption that you known the height of the sensor above ground. Therefore, you have to adjust the sensor_height to your robot specifications, otherwise, it will not work.

The default parameters should work on the KITTI dataset.

Ground Condition

Segmentation

Other