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?
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