Velodyne fault readings at near objects
Hello, we are using a Velodyne HDL-64E S2 with ROS fuerte and the velodyne stack. The first test showed us some fault readings if the Velodyne is close to a (white/beige) wall, with other material like a carton box or a computer screen these problems does not occur. In the Links bellow you find pictures with different minimum distance in the ROS-driver and one picture where I drew the position of the wall. The pictures where taken while the Velodyne had a rpm of 300 but a change too even 1200 did not change the outcome, therefore we think that it could not be crosstalk.
This is the situation: www.robotics.fh-aachen.de/pictures/husky.jpg
The following pictures showing the rviz output with different minimum distances (min_range
) in the ros driver:
- 1.0m and the wall position that creates the fault readings: www.robotics.fh-aachen.de/pictures/velodyne_1.0m..wall.png
- 1.0m: www.robotics.fh-aachen.de/pictures/velodyne_1.0m.png
- 1.5m: www.robotics.fh-aachen.de/pictures/velodyne_1.5m.png
- 2.0m: www.robotics.fh-aachen.de/pictures/velodyne_2.0m.png
- 2.5m: www.robotics.fh-aachen.de/pictures/velodyne_2.5m.png
- 3.0m: www.robotics.fh-aachen.de/pictures/velodyne_3.0m.png
The following 2 pictures are turned but taken at the same possition! They showing points instead of billboards:
- 1.5m minimum distance with points: www.robotics.fh-aachen.de/pictures/velodyne_1.5m_points_0.01alpha.png
- 1.5m minimum distance with points and intensity: www.robotics.fh-aachen.de/pictures/velodyne_1.5m_points_0.01alpha_intensity.png
Here is the launch-file: www.robotics.fh-aachen.de/pictures/velodyne.launch
- Does somebody has similar experience with the Velodyne Lidar?
- Does somebody know where exactly this error comes from?
- Does somebody has an idea if this fault readings can be filtered and how?
edit #1 (for joq's request): I asked a colleague to make these pictures. They are with made on a different pc, so might look a bit different and they are just with Alpha = 0.1
- 0.02m: www.robotics.fh-aachen.de/pictures/velodyne_0.02m_points_0.01alpha.png
- 0.02m intensity: www.robotics.fh-aachen.de/pictures/velodyne_0.02m_points_0.01alpha_intensity.png
You see on these pictures, that they are similar to the setting 1m (maybe you see a bit more, but the velodyne itself filters some readings (I heard about 90 cm is the minimum distance so you might see 10cm more, but this is just a guess)). You also see fault readings at the wall like with all other pictures and new fault readings in a cycle around the velodyne.
edit #2 (for joq's request):
Here are now the bag files, recorded with rosbag record --split --duration=10 -j -a
and compressed afterwards. I recorded 30 seconds, but I think 1 part should be enough.
I can't really see what's going on very well. Could you please post either a PCAP file or rosbag containing a few seconds of the velodyne_packets topic? Then I could see it in 3D.
Yes I can upload a rosbag file, but it might take till wednesday.
The bag files are now uploaded.
Recently I tried an intensity- and a statistical outlier removal-filter and also a combination of both of that. It is possible to filter all faulty readings, but with a high loss of accurate points. So my work around for the moment is to set the min_range to 3.5m. But if somebody has the same problem and finds a solution I would appreciate if he could publish it here.
I had forgotten about this problem. I did try our older 64E indoors. It seemed to work OK with min_range set to 0.9m. Any idea what causes the bogus points?
I think the wall ( http://www.robotics.fh-aachen.de/pictures/husky.jpg ) is causing the errors/reflections. Like written above we do not have this problem with cardboard or a laptop screen. Apart from that we need to set the min_range to ~1.5m because otherwise we have error cycles in the air.