ethzasl_icp_mapping for ROS Indigo

asked 2016-05-06 04:36:53 -0500

Mehdi. gravatar image

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]
edit retag flag offensive close merge delete

Comments

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:

r_o_b_o_t gravatar image r_o_b_o_t  ( 2016-07-06 09:12:48 -0500 )edit

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

r_o_b_o_t gravatar image r_o_b_o_t  ( 2016-07-06 09:14:19 -0500 )edit

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

r_o_b_o_t gravatar image r_o_b_o_t  ( 2016-07-06 09:15:57 -0500 )edit

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)

r_o_b_o_t gravatar image r_o_b_o_t  ( 2016-07-06 09:17:59 -0500 )edit