I guess you could see it as an extension of option 3, the image type, with the additional information of having irregular scan angles. As I said, I personally like this. But it should definitely merged with the distance image then, because they are really similar. The difference is that one has a polar projection and the other a pinhole model.
Cheers, Jakob > -----Original Message----- > From: [email protected] [mailto:[email protected]] On > Behalf Of Sylvain Joyeux > Sent: Montag, 27. Januar 2014 12:30 > To: [email protected] > Subject: Re: [Rock-dev] MulitlevelLaserScan base type integration > > There is an option 4, which is having what information is currently stored in > the "laser scan header" as common information in the new type, one > std::vector<base::Angle> for angle for each scan and just have a > std::vector<float> (or <double>, but given the data rate of e.g. the velodyne, > <float> might really be a better idea ...) as data structure. One can then get > accessors to extract LaserScan structures if needed. > > I personally feel that the overhead of using base::LaserScan is way too big: > - we get identical scan header information in each scan > - we get as many std::vector (i.e. heap allocation and memcpy of *disjoint* > memory) as there are scans > > Remember that we are talking about ~20 000 scans per second in the case of > the velodyne! To give a comparison, the hokuyo gives 40 scans per second. > > Even if I am personally such a big fan of the idea, we could factor the > common header laser scan information in a LaserScanBase class that is > inherited by both the MultiLevel and the plain LaserScan > > Outline of this proposal > > struct TheNameOfTheNewDataStructure > { > // Some data that I forget > > /** The time per-scan */ > std::vector<base::Time> scan_times; > /** The angle-per-scan */ > std::vector<base::Angle> scan_angles; > /** Start angle of a single scan */ > base::Angle start_angle; > /** Angular step in a single scan */ > base::Angle step; > /** Number of samples in a single scan */ > boost:uint32_t step_count; > /** The data itself. The data for scan n is in > * samples[step_count * n] .. samples[step_count * (n+1)] > */ > std::vector<float> samples; > }; > > > -- > Dr. Ing. Sylvain Joyeux > Space and Security Robotics > > Besuchsadresse der Nebengeschäftstelle: > DFKI GmbH > Robotics Innovation Center > Robert-Hooke-Straße 5 > 28359 Bremen, Germany > > Postadresse der Hauptgeschäftsstelle Standort Bremen: > DFKI GmbH > Robotics Innovation Center > Robert-Hooke-Straße 1 > 28359 Bremen, Germany > > Phone: +49 421 178 45-4136 > Zentrale: +49 421 178 45-0 > Fax: +49 421 178 45-4150 (Faxe bitte namentlich kennzeichnen) > E-Mail: [email protected] > > Weitere Informationen: http://www.dfki.de/robotik > ----------------------------------------------------------------------- > Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH > Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern > Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster > (Vorsitzender) Dr. Walter Olthoff > Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes Amtsgericht > Kaiserslautern, HRB 2313 Sitz der Gesellschaft: Kaiserslautern (HRB 2313) > USt-Id.Nr.: DE 148646973 > Steuernummer: 19/673/0060/3 > --------------------------------------------------------------------- > _______________________________________________ > Rock-dev mailing list > [email protected] > http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev _______________________________________________ Rock-dev mailing list [email protected] http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
