[ros-users] Navigation stack: issue about ground plane detection

clarkwu wu.xiaojun at gmail.com
Wed Oct 27 03:09:20 UTC 2010


I did some further test about the ground plane removal on our robot. 
With the zero position of tilt laser calibrated, now I am able to see that
before ground removal, cloud points corresponding to the ground are located
roughly on the horizontal plane, except a few discrete points still left on
the ground plane after filtering. 

Another strange issue is that if the "planar_refine" value set to "1" in
launch file, the ground removal filter will not only remove the ground, but
also a large part of points whose z value may be as high as 0.4 meter. I
traced back into the source file sac_inc_ground_removal_standalone.cpp and
found that it's due to the  plane fitting module within subroutine
"computePointNormal". The calculation result from this module about the
fitted plane seems incorrect. But I can not tell exactly which step inside
is wrong since I extracted the code within it into a separate file and
calculate some sample points, and the result is matching with the that from

Please see enclosed screenshots for details and your comments are welcome.

best regards

screeshot without planar refinement, the bottom edge of clouds is close to
the ground plane:

screeshot without planar refinement, a few discrete points stay on the
ground after removal 

screenshot with planar refinement, a large part of points on top of ground
have been removed:

View this message in context: http://ros-users.122217.n3.nabble.com/Navigation-stack-issue-about-ground-plane-detection-tp1707477p1777999.html
Sent from the ROS-Users mailing list archive at Nabble.com.

More information about the ros-users mailing list