Hi,
option one is ok, but I don't like the overhead of the laserScan. (AFAIK
we have a full header for every 32 scan lines)
Option two sound the best to me. In this case the new LaserScan should
be designed to seperate the header from the data
to avoid the problem with the old type.
I don't like option 3, we would loose precision. And the information if
single lines are 'consistent' (taken in one shot).
Anyway the consistent thing was always implicit, I would like it to be
marked explicit in the data structure.
Greetings
Janosch
On 27.01.2014 10:02, Jakob Schwendner wrote:
Hi Sascha,
difficult. All 3 are good options.
To me option 1 sounds ok, because it would be the most simple solution
for now. Not sure about the name. How about SweepedLaserScan, or just
MultiLaserScan, or LaserScanArray?
I prefer option 3 from a code point of view, though. I would try to
have all distance image types to be some form of image.
So my vote would go for option 1 with a transition to option 3 later.
Cheers,
Jakob
*From:*[email protected] [mailto:[email protected]] *On
Behalf Of *Sascha Arnold
*Sent:* Dienstag, 21. Januar 2014 11:32
*To:* [email protected]
*Subject:* [Rock-dev] MulitlevelLaserScan base type integration
Hi,
some time ago we already had a short discussion on that topic but
didn't finish and I'd like to catch up on this now.
The current version of the MulitlevelLaserScan needs to be improved,
if it should become a base type.
Basically this type should be a 3D version of the 2D Laserscan. As far
as I know the LaserScan itself should be improved on long term, mainly
because the units are not in meter and the range error should be a
separated state.
In my opinion there are three possible ways of doing that:
1. Using the current LaserScan in the MulitlevelLaserScan and change
them together in the future. That would look like this:
struct MultilevelLaserScan
{
MultilevelLaserScan() : time(base::Time::now()) {};
base::Time time;
std::vector< base::samples::LaserScan > scans;
std::vector< base::Angle > angles;
};
2. Define and use a improved LaserScan inside the MulitlevelLaserScan
and change the current LaserScan with the new one later.
3. Discretize both angles: Define a distance image type that can be
used for laser scan data. This comes closest to a 3D version of the
Laserscan, but that would mean to filter the data already in the
sample type, since most 3D lidars are a combination of a 2D lidar with
a (not so accurate) servo or motor. This is also true in the Velodyne
case.
Personally I would prefer the first option for now.
Instead of a single angle a quaternion could be used to be more
flexible. But I don't know if there are any practical cases for that.
_______________________________________________
Rock-dev mailing list
[email protected]
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
--
Dipl. Inf. Janosch Machowinski
SAR- & Sicherheitsrobotik
Universität Bremen
FB 3 - Mathematik und Informatik
AG Robotik
Robert-Hooke-Straße 1
28359 Bremen, Germany
Zentrale: +49 421 178 45-6611
Besuchsadresse der Nebengeschäftstelle:
Robert-Hooke-Straße 5
28359 Bremen, Germany
Tel.: +49 421 178 45-6614
Empfang: +49 421 178 45-6600
Fax: +49 421 178 45-4150
E-Mail: [email protected]
Weitere Informationen: http://www.informatik.uni-bremen.de/robotik
_______________________________________________
Rock-dev mailing list
[email protected]
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev