Skip to content

4. IMPORTANT: Setting Parameters of Patchwork in Your Own Env.

Hyungtae Lim edited this page Oct 17, 2021 · 7 revisions

WARNING: Parameters are important!!

I think this page is the main of wiki.

Please read this explanation carefully, otherwise, you can get some catastrophic failures as follows:

Above all things, we thank 薛银涛 who provides ouster-128 pcd files.


Explanation of Parameters

The most important parameters in params.yaml for your scenes will be explained.

Transformation

Note that our Patchwork assumes that the point cloud is w.r.t. the LiDAR coordinate which is parallel to the X-Y plane of the ground. That is, if you use a tilted LiDAR setting, the point cloud should be transformed appropriately. In this repo, transformation is not supported. But you can utilize extrinsic_trans and extrinsic_rot.

Important Parameters that Must Be Changed in Your dataset

For using Patchwork in your dataset, the following two parameters must be revised:

  • sensor_height: Indeed, it denotes the height from the ground to the coordinate. Thus, it is set to 1.723 m in the KITTI dataset. If your point cloud (or pcd) was already transformed to the ground frame, i.e. height difference btw ground and the coordinate is equal to zero, then sensor_height should be set to 0 like params_ouster128.yaml
  • elevation_thresholds: Elevation filters are w.r.t. the aforementioned frame. This denotes that the patches whose mean z values are larger than this elevation_threhsholds, the patches are rejected. Under that circumstance, the thresholds should be minus values in the KITTI dataset because the true ground points are below the sensor_height.

The below figure supports your understanding:

For better understanding, let me give some examples.

If point cloud is transformed into the body frame

If your point cloud is transformed into the body frame, then sensor_height must be changed to the distance between the body frame and the ground with which a robot comes into contact. Next, the elevation_thresholds must be set to the (-sensor_height + margin of z value of the ground). The smaller the latter value, the more conservative.

If point cloud is transformed into the ground frame (where the contact point of a robot to the ground)

In this corner case, sensor_height is zero and the values of elevation_threshlods can be positive.