ethzasl_icp_mapping for ROS Indigo
I am trying to compile and use ethzasl_icp_mapping on Ubuntu 14.04 with ROS Indigo. Unfortunately the releases for this package stopped at ROS Hydro. I want to use it as a pointcloud matcher in order to perform extrinsic calibration of my picoflexx sensor mounted on a mobile base.
Cloning the indigo-devel branch of the project and running catkin_make does not work. I first downloaded the dependency libpointmatcher, compiled it and installed it under /usr/local/ but then in the CMakeFiles.txt of ethzasl_icp_mapping, it is listed as catkin package dependency, which catkin fails to find. I tried replacing those dependencies as just find_package(libpointmatcher REQUIRED) and CMake stopped complaining and surprisingly was able to build the nodes without explicitely linking libpointmatcher (Only catking libs are linked). Now when I try to launch ethzasl_icp_mapper, I get the following error message:
mehdi@MEHDI_T440P:/opt/workspaces/catkin_ws/src/ethzasl_icp_mapping/ethzasl_icp_mapper/launch/picoflexx$ roslaunch pico_flexx.launch
... logging to /home/mehdi/.ros/log/9c877038-136a-11e6-b3f7-28d24422fddc/roslaunch-MEHDI_T440P-5855.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://127.0.0.1:35021/
SUMMARY
========
PARAMETERS
* /mapper/icpConfig: /opt/workspaces/c...
* /mapper/inputFiltersConfig: /opt/workspaces/c...
* /mapper/inputQueueSize: 1
* /mapper/mapPostFiltersConfig: /opt/workspaces/c...
* /mapper/mapPreFiltersConfig: /opt/workspaces/c...
* /mapper/map_frame: /map
* /mapper/maxOverlapToMerge: 0.75
* /mapper/minMapPointCount: 0
* /mapper/minOverlap: 0.6
* /mapper/odom_frame: /pico_flexx_optic...
* /mapper/subscribe_scan: False
* /mapper/useROSLogger: False
* /rosdistro: indigo
* /rosversion: 1.11.16
NODES
/
mapper (ethzasl_icp_mapper/mapper)
auto-starting new master
process[master]: started with pid [5867]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 9c877038-136a-11e6-b3f7-28d24422fddc
process[rosout-1]: started with pid [5880]
started core service [/rosout]
ERROR: cannot launch node of type [ethzasl_icp_mapper/mapper]: can't locate node [mapper] in package [ethzasl_icp_mapper]
Hi, I had the same problem and found this discussion: https://github.com/ethz-asl/ethzasl_i...
It seems that you didn't source your "devel-isolated"-folder. I did the following to get it working:
1.) download the source for libnabo: https://github.com/ethz-asl/libnabo
2.) catkin_make_isolated ...
3.) download the source for libpointmatcher: https://github.com/ethz-asl/libpointm...
4.) catkin_make_isolated ...
5.) download the source for ethzasl_icp_mapping: https://github.com/ethz-asl/ethzasl_i...
6.) checkout indigo branch "git checkout -b reintegrate/master_into_indigo_devel origin/reintegrate/master_into_indigo_devel
7.) catkin_make_isolated ...
8.) echo "source ~/ros/your_catkin_workspace/devel_isolated/setup.zsh" >> ~/.zshrc
9.) source ~/.zshrc (if you don't use zsh you have to use bash and bashrc)