ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

velodyne_driver displays ellipse of laser beams instead of circle

asked 2014-01-30 04:33:54 -0600

Tobias Neumann gravatar image

Hello, we are using the Velodyne HDL-64E S2 with ROS Hydro for indoor mapping. During this we saw, that the ROS.driver for the Velodyne creates Pointclouds where the Laser-beams are in an ellipse instead of a cicle.

In the following archive are 3 Scans taken at the same possition: archive

  • "shelf.pcap": recorded with the original DSR-driver (Version 2.0.0)
  • "2014-01-30-12-49-45_0.bag": recorded with the ROS-driver
  • "2014-01-30-15-17-49_0.bag": recorded with the PCL-HDL-grabber (the pointcloud is turned by 90° for some reason)

There you can see the same room (and out of the window). Where the scans taken with the original- and pcl-driver are showing straight walls, the ros-driver does not.

The following archive shows the same drivers at a different possition, where the laser-beams hitting mostly the ground: archive

  • "floor.pcap": recorded with the original DSR-driver (Version 2.0.0)
  • "2014-01-30-16-49-10_0.bag": recorded with the ROS-driver
  • "2014-01-30-16-50-23_0.bag": recorded with the PCL-HDL-grabber

There you can see that the original- and pcl-driver are displaying one beam as a circle, where the ros-driver is creating an ellipse.

This is the launch-file that was used for the ros-driver: file

Does anybody has the same experience and/or a solution, or do we have an error in our launch-file?

edit retag flag offensive close merge delete

Comments

I am away this week, and cannot see your examples. An ellipse is normal if the device is not exactly perpendicular to the floor.

joq gravatar image joq  ( 2014-01-30 09:44:01 -0600 )edit

Thank you for your fast reply. That is correct, but just the ros-driver is showing this. With the ros-driver also the walls are not straight and the velodyne might not be 100% perpendicular to the floor, but not as far as you would see this results.

Tobias Neumann gravatar image Tobias Neumann  ( 2014-01-30 10:22:38 -0600 )edit

I took two screenshots for you. I didn't touch the robot/velodyne during the scans. They were taken right after each other at the exact same position. If you save both pictures and switch between them, you can see the difference. - ros-driver: http://robotics.fh-aachen.de/pictures/Screenshot%202014-01-30%2023.29.24.png - pcl-hdl-grabber: http://robotics.fh-aachen.de/pictures/Screenshot%202014-01-30%2023.31.05.png

Tobias Neumann gravatar image Tobias Neumann  ( 2014-01-30 10:39:32 -0600 )edit

What calibration file are you using?

joq gravatar image joq  ( 2014-02-03 13:17:16 -0600 )edit

For the DSR- and PCL-driver we are using this config file: http://robotics.fh-aachen.de/pictures/db.xml For the ROS-driver we are using this: http://robotics.fh-aachen.de/pictures/HDL62S2db.yaml But the config file saves a config for a laser-beam. If there would be an error, each laser-beam still would create one cycle on a ground. Or am I wrong here?

Tobias Neumann gravatar image Tobias Neumann  ( 2014-02-04 01:41:59 -0600 )edit

I agree that configuration is unlikely to cause this error. But, I would prefer to eliminate as many differences as possible. Would you mind running gencalibration.py on your db.xml to take that out of the comparison? See http://wiki.ros.org/velodyne_pointcloud?distro=hydro#gen_calibration.py docs.

joq gravatar image joq  ( 2014-02-04 03:37:51 -0600 )edit

Sorry for my late reply. I run the calibration on the db.xml. The result you can find here: http://robotics.fh-aachen.de/pictures/db.yaml (it seems to be similar to the HDL62S2db.yaml-file I uploaded in the last post).

Tobias Neumann gravatar image Tobias Neumann  ( 2014-02-12 02:38:53 -0600 )edit

1 Answer

Sort by » oldest newest most voted
0

answered 2014-02-12 05:09:08 -0600

joq gravatar image

updated 2014-02-12 11:39:11 -0600

I have not observed this type of distortion with our hardware. It looks like a bug, maybe something different about the 64E S2. Exactly which version of the PCL driver are you using for comparison?

Please open a new issue, and I will try to figure out what is going wrong. There are a couple of other issues with that driver that need work, so it's time to give it more attention.

Don't bother repeating the information here, we'll just link back to this question.

edit flag offensive delete link more

Comments

I opend an issue ( https://github.com/ros-drivers/velodyne/issues/21 ). I used the pcl from the ubuntu 12.04/ros-hydro repositorys. It seems like Version 1.7.0 (in folder /usr/lib, do you know a different way to get the version number?)

Tobias Neumann gravatar image Tobias Neumann  ( 2014-02-14 02:15:14 -0600 )edit

I should be able to figure out what driver is included in PCL 1.7. I presume you have libpcl-1.7-all-dev and not the old ros-hydro-pcl package.

joq gravatar image joq  ( 2014-02-14 03:17:06 -0600 )edit

I have installed ros-hydro-pcl-ros what depends libpcl-1.7-all, what depends libpcl-1.7-all-dev. And I don't have the ros-hydro-pcl package. With apt-cache show libpcl-1.7-all-dev it shows Version 1.7.0-2 I hope that answers your question.

Tobias Neumann gravatar image Tobias Neumann  ( 2014-02-14 03:49:18 -0600 )edit

Yes, thanks.

joq gravatar image joq  ( 2014-02-14 04:16:15 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2014-01-30 04:33:54 -0600

Seen: 1,552 times

Last updated: Feb 12 '14