CObservation real-time SLAM

hi, I'll try to real-time SLAM using example "HOKUYO_laser_test" & "icp-slam".

but I have some troubles.

The scan data processed by Hokuyo is CObservation2DRangeScan.

but, Data needing for ICP-SLAM is CObservationPtr.

so I can't try this translation from CObservation2DRangeScan to CObservationPtr.

How do I try it?

jlblanco's picture

That's easy:

That's easy:

{syntaxhighlighter brush:cpp}
CObservation2DRangeScan scan;
// get from hokuyo....

// *Ptr are "smart pointers":
// One of the ways to pass the scan to "CObservationPtr" is to
// actually convert it into CObservation2DRangeScanPtr, which is
// a derived class from CObservationPtr:

// "new CObservation2DRangeScan(scan)" creates a copied object as "CObservation2DRangeScan*"
// then the "CObservation2DRangeScanPtr()" constructor means "you, smart pointer, will OWN that pointer":
CObservation2DRangeScanPtr scan_ptr = CObservation2DRangeScanPtr( new CObservation2DRangeScan(scan) );

// If you want, now (but any function expecting CObservationPtr will work with "scan_ptr")
CObservationPtr obs = CObservationPtr(scan_ptr);

{/syntaxhighlighter}

JL

Syndicate content

The Mobile Robot Programming Toolkit (MRPT) initiative (C) 2012