[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