[Rock-dev] New type to represent 3D range measurements

Pierre Willenbrock pierre at pirsoft.de
Wed Aug 20 12:26:07 CEST 2014


Hi Sascha,

the pointcloud from ToF Cameras can be produced using
[x*x_scale,y*y_scale,1]^T*depth, with x,y being integer pixel
coordinates and x_scale,y_scale constants. The angular representation
depends on the order of angular transformations. Usually, x=0 or y=0
results in atan(y*y_scale) or atan(x*x_scale), but things get a bit more
complex when deviating from the coordinate axis'.

Regards,
  Pierre

Sascha Arnold schrieb:
> Hi Pierre,
> ToF Cameras are definitely one use case of the data type.
> I thought about the case with two irregular angle vectors too and I
> couldn't think of a case that this would be needed. Since the
> irregularity described by one horizontal set of angles has to be valid
> for all other vertically transformed cases. Is that true in the case of
> the ToF Camera?
> It would be easy to add another optional vector to override the angles
> both horizontally and vertically.
> 
> The true horizontally and vertically irregular case of course would need
> an unique transformation or set of 3D polar coordinates. And that I
> think is better represented by a vector of 3D polar measurements.
> 
> Best regards,
> Sascha
> 
> Am 19.08.2014 um 19:03 schrieb Pierre Willenbrock:
>> Hi,
>>
>> Sascha Arnold schrieb:
>>> Hi,
>>> I just finished a first version of the new base type that can be used to
>>> store 3D range measurements.
>>> This is also the type that should replace the MultilevelLaserScan.
>>>
>>> After some discussion with Alex I extended my first version to allow
>>> different configurations regarding the angular resolution between the
>>> scans. It leads to a bit more overhead but it is more flexible. It
>>> allows to have:
>>> - horizontal and vertical regular angles or
>>> - horizontal irregular and vertical regular angles or
>>> - horizontal regular and vertical irregular angles
>>> This allows to store data from different kind of sensors, like the
>>> velodyne, vertical or horizontal mounted 2D or everything that provides
>>> a distance image.
>> Distance images from common ToF Cameras are horizontally and vertically
>> irregular in respect to angles. The angles are the atan of a linear
>> function. Feel free to ignore me if that was not an intended use case.
>>
>>> The information is stored in a single vector in a row major form to
>>> simplify the usage as a distance image.
>>>
>>> Please have a look at the first version on my fork of base-types:
>>> https://github.com/saarnold/base-types/commit/1796d23d002779639455d0ff3e4dd7876e404dad
>>>
>>>
>>> I'll write a pull request as soon as it is complete. My next steps are
>>> to adapt the visualization and to write the logfile conversion for the
>>> old type.
>>> If someone has a concern with something in that type please report it
>>> now. Later it will be hard to change anything.
>>> The name is currently Scan3D and is also open for discussion.
>> Regards,
>>    Pierre
> 



More information about the Rock-dev mailing list