unexpected results from laser sensors
Hi
I've configured my robot with two inclined laser scanner, then I've wrote some plugin to record laser data and ground truth pose of the robot. I've tried a very simple environment with only the z=0.
I notice that taking the data acquired by sensor, converting them from polar to cartesian and composing with the robot pose, the reconstructed plane is slightly different from the z=0 plane: the minimum height of the point cloud is about 0.002m (~2mm), while the maximum height is about 0.015mm (~1.5cm).
The curious thing is that height is maximum with laser beam acquired at small angles, while decrease with lateral angles. I was expecting that, since there is no noise addition, all the points should be exactly at z=0.
Why this does not happens? Is it related to the ray tracing process performed in the simulation? It depends on the surface of the objects?
Can you please post the SDF used to create the laser and robot?
here https://www.box.com/s/1r97diyyes6ye2tty06w there is the model, sorry for the late in the answer. I've commented out all my plugins invocation, they do not perform anything more than logging data.
I've created a very simple sdf model, with only a laser scanner and some wall as references. I've packed in this file both the model, the world and the results of the scans plotted with an octave script: https://www.box.com/s/bgclvkgn6rtbuzyd9uua. The problem is still present: ranges does not correspond to a line, but have a bell shaped curve. In the packed file you can find a readme.txt file that explain all the details.
any news on this topic?
what version of gazebo are you running? There was a known bug that got resolved by pull request #351 https://bitbucket.org/osrf/gazebo/pull-request/351/fix-pose-computation-in-raysensor/diff in the default branch.
no, this is not my the case for two reasons: 1) the bug you refer was noticed by me 2) the errors are in the ray length, as clearly demostrated with the second experiment I've posted, where measurement are expressed in laser reference frame and not in world reference frame