ethzasl_icp_mapping for ROS Indigo
I am trying to compile and use ethzaslicpmapping 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 catkinmake does not work. I first downloaded the dependency libpointmatcher, compiled it and installed it under /usr/local/ but then in the CMakeFiles.txt of ethzaslicpmapping, it is listed as catkin package dependency, which catkin fails to find. I tried replacing those dependencies as just findpackage(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 ethzaslicpmapper, 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]
Asked by Mehdi. on 2016-05-06 04:36:53 UTC
Comments
Hi, I had the same problem and found this discussion: https://github.com/ethz-asl/ethzasl_icp_mapping/issues/35#issuecomment-193445141
It seems that you didn't source your "devel-isolated"-folder. I did the following to get it working:
Asked by r_o_b_o_t on 2016-07-06 09:12:48 UTC
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/libpointmatcher
4.) catkin_make_isolated ...
Asked by r_o_b_o_t on 2016-07-06 09:14:19 UTC
5.) download the source for ethzasl_icp_mapping: https://github.com/ethz-asl/ethzasl_icp_mapping.git
6.) checkout indigo branch "git checkout -b reintegrate/master_into_indigo_devel origin/reintegrate/master_into_indigo_devel
7.) catkin_make_isolated ...
Asked by r_o_b_o_t on 2016-07-06 09:15:57 UTC
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)
Asked by r_o_b_o_t on 2016-07-06 09:17:59 UTC