You are here

undefined reference in RT ICP

10 posts / 0 new
Last post
eng.basim
eng.basim's picture
undefined reference in RT ICP

Hey how are you all, i am trying to implelnt RT ICP using fake kinect 3d laser scanner in the icp-slam app in my graduation project and hope to use this library.

but the problem is undefined refrence error:

undefined reference to `mrpt::slam::CObservation3DRangeScan::convertTo2DScan(mrpt::slam::CObservation2DRangeScan&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double, double, double)'

i think the solution is to modify the cmakelist file, but i'm kind of new in usinf cmake

and hope if someone can help me.

here's the two files src code and .



https://rapidshare.com/files/1853157118/RT-ICP.tar.gz

 

thanks in advance for anybody could help me

 
jlblanco
jlblanco's picture
Hi Bassim, Have you tried

Hi Bassim, 

Have you tried creating an independent CMake project as explained here? There, you should add hwdrivers, obs, maps,... as dependencies.

Anyway, exactly what version of MRPT are you using here?

Cheers,
JL

eng.basim
eng.basim's picture
Thanks for the reply

yes, I've already edited the cmakelists.txt myself and added those dependencies.

but it keeps giving me that undefined refrence error and i can't pass it.

and i'm using mrpt-0.9.5 version.

if you double checked my edit, and try to build it, I'll be the most gratful.

jlblanco
jlblanco's picture
Hi Basim, Just checked your

Hi Basim, 

Just checked your code and it builds and links without problems, at least with the latest MRPT (0.9.6) and with the GCC compiler. 

It seems to me that you have some sort of mixed versions of MRPT, because CObservation3DRangeScan::convertTo2DScan() was introduced in 0.9.6, so you can't be using 0.9.5 and having a linking error since a compile error should have ocurred before...

I would recommend trying with a clean checkout of 0.9.6 or with a SVN trunk checkout.

Cheers,
JL

eng.basim
eng.basim's picture
alright I'm Downloading it

alright I'm Downloading it right now, I'll try it and get back to tell you the results.
thanks Very much for your help :)

eng.basim
eng.basim's picture
alright it gives me an

alright it gives me an exception while trying to put the fake kinect 2D laser scanner observation.



Program finished for an exception!!
Neither grid maps nor points map: Have you called initialize() after setting ICP_options.mapInitializers?void mrpt::slam::CMetricMapBuilderICP::processObservation(const mrpt::slam::CObservationPtr&), line 355:
void MapBuilding_ICP(const std::string&, const std::string&), line 466:


Can you help me please ?
eng.basim
eng.basim's picture
Alright what i'm trying to do

Alright what i'm trying to do is:
 

1 - initialized the Kinect

2 - get 3D observation

3 - convert it into 2D Observation

4 - set isObsBasedRawlog = true;

5 - put observation = 2D scanned from the Kinect

6 - call mapBuilder.processObservation( observation );


Here's a link of the files: https://rapidshare.com/files/2085243365/Kinect_ICP.tar.gz

yet it keeps giving me the above exception :S

 

Program finished for an exception!!
Neither grid maps nor points map: Have you called initialize() after setting ICP_options.mapInitializers?void mrpt::slam::CMetricMapBuilderICP::processObservation(const mrpt::slam::CObservationPtr&), line 355:
void MapBuilding_ICP(const std::string&, const std::string&), line 466:
 
 
i think this is the last step to compelete the Real Time ICP SLAM, and Can I Upload this tutorial in the site or not?
I would prepare also the encoder data for Particale Filter Localization to use it, can I upload it too?
eng.basim
eng.basim's picture
I did found the problem.It

I did found the problem.
It was the incomplete configuration file, and i felt really stupid :D

Anyway the results wasn't accurate enought. i'm switching to real time Particle Filter.
and i will inject the odeometry data inside the algorithm using UDP network protocol.
 

jlblanco
jlblanco's picture
Nice it's solved!On the

Nice it's solved!

On the quality of ICP with Kinect: my first results were also quite poor, but perhaps something decent can be obtained by just playing with the thresholds of distance-between-insertions-in-the-map, etc.

Cheers,
JL

eng.basim
eng.basim's picture
Thanks Dr. , I 'll try to

Thanks Dr. , I 'll try to tune some config. paramters.
on the other hand, I'm trying now to get the pf-localization to work in Real Time too.

hope to do it without facing any problems :)

Log in or register to post comments
Subscribe to Comments for "undefined reference in RT ICP"