ethz-asl / ethzasl_icp_mapping

3D mapping tools for robotic applications
271 stars 156 forks source link

Providing Initial Guess to matcher_service node #16

Open anuraj-rp opened 10 years ago

anuraj-rp commented 10 years ago

Hi,

Is there a way to provide initial guess as a starting point when two point-clouds are matched with the matcher_service node?

Regards Anuraj

stephanemagnenat commented 10 years ago

Not yet, but patches are welcome to add this feature.

anuraj-rp commented 10 years ago

Hi,

I have modified the source code of matcher_service.cpp on my branch so that it advertises the "match_clouds_with_guess" service.

I have tried using this service with my other application node and presently it seems to work.

But I am not sure if was the most elegant way to do it. I could try to improve it with some feedback.

pomerlef commented 10 years ago

I scanned quickly through your branch, thanks a lot for contributing.

I would suggest to have a generic function that take could cover both cases 1) with initial guess or 2) without, which means using an identity matrix. And then, two small callback that use this function. That would reduce code duplication and maintenance later.

It is good that you manage to do the conversion from tf::Transformation to TransformationParameters. I would suggest you to enhance the wrapper for ROS (namely libpointmatcher_ros) with your functionnality so that others can used it.

You can check https://github.com/ethz-asl/ethzasl_icp_mapping/blob/master/libpointmatcher_ros/include/pointmatcher_ros/transform.h#L35

Thanks again for your contributions!