[Rock-dev] MulitlevelLaserScan base type integration

Sylvain Joyeux sylvain.joyeux at dfki.de
Mon Jan 27 12:29:49 CET 2014


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:     sylvain.joyeux at dfki.de
 
 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 
 ---------------------------------------------------------------------


More information about the Rock-dev mailing list