robotology / icub-models

Official URDF and SDF models of the iCub humanoid robot.
Creative Commons Attribution Share Alike 4.0 International
33 stars 34 forks source link

iCub ROS2 package installed by this repo can't be found by ros2 #177

Closed traversaro closed 2 years ago

traversaro commented 2 years ago

This repo installs an iCub package that is meant to be found by ROS2 ().

However, if I install:

mamba create -c conda-forge -c robostack-humble -n testicubmdls icub-models ros-humble-ros2pkg

then this command does not return anything:

(testicubmdls) traversaro@IITICUBLAP257:~$ ros2 pkg list | grep iCub
(testicubmdls) traversaro@IITICUBLAP257:~$

Instead on ROS1 rospack list | grep iCub returns iCub as expected.

So, https://github.com/robotology/icub-models/issues/81 is not working as expected (see also https://github.com/robotology/robotology-superbuild/issues/832).

Env:

(testicubmdls) traversaro@IITICUBLAP257:~$ mamba list
# packages in environment at /home/traversaro/mambaforge/envs/testicubmdls:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
argcomplete               1.12.3             pyhd8ed1ab_0    conda-forge
attr                      2.5.1                h166bdaf_1    conda-forge
attrs                     22.1.0             pyh71513ae_1    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
ca-certificates           2022.9.24            ha878542_0    conda-forge
catkin_pkg                0.5.2              pyhd8ed1ab_0    conda-forge
cmake                     3.24.3               h816a3e0_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
docutils                  0.19             py39hf3d152e_1    conda-forge
empy                      3.3.4              pyh9f0ad1d_1    conda-forge
exceptiongroup            1.0.1              pyhd8ed1ab_0    conda-forge
expat                     2.5.0                h27087fc_0    conda-forge
foonathan-memory          0.7.2                h27087fc_1    conda-forge
gmock                     1.11.0               h924138e_0    conda-forge
gtest                     1.11.0               h924138e_0    conda-forge
icub-models               1.25.0           py39h5a03fae_1    conda-forge
importlib-metadata        5.0.0              pyha770c72_1    conda-forge
importlib_resources       5.10.0             pyhd8ed1ab_0    conda-forge
iniconfig                 1.1.1              pyh9f0ad1d_0    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.19.3               h3790be6_0    conda-forge
lark-parser               0.12.0             pyhd8ed1ab_0    conda-forge
ld_impl_linux-64          2.39                 hc81fddc_0    conda-forge
libacl                    2.3.1                ha37c62d_1    conda-forge
libblas                   3.9.0           16_linux64_openblas    conda-forge
libcblas                  3.9.0           16_linux64_openblas    conda-forge
libcurl                   7.86.0               h7bff187_1    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 12.2.0              h65d4601_19    conda-forge
libgfortran-ng            12.2.0              h69a702a_19    conda-forge
libgfortran5              12.2.0              h337968e_19    conda-forge
libgomp                   12.2.0              h65d4601_19    conda-forge
liblapack                 3.9.0           16_linux64_openblas    conda-forge
libnghttp2                1.47.0               hdcd2b5c_1    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libopenblas               0.3.21          pthreads_h78a6416_3    conda-forge
libsqlite                 3.39.4               h753d276_0    conda-forge
libssh2                   1.10.0               haa6b8db_3    conda-forge
libstdcxx-ng              12.2.0              h46fd767_19    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libuv                     1.44.2               h166bdaf_0    conda-forge
libzlib                   1.2.13               h166bdaf_4    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
netifaces                 0.11.0           py39hb9d737c_1    conda-forge
numpy                     1.23.4           py39h3d75532_1    conda-forge
openssl                   1.1.1s               h166bdaf_0    conda-forge
packaging                 21.3               pyhd8ed1ab_0    conda-forge
pip                       22.3.1             pyhd8ed1ab_0    conda-forge
pluggy                    1.0.0              pyhd8ed1ab_5    conda-forge
pyparsing                 3.0.9              pyhd8ed1ab_0    conda-forge
pytest                    7.2.0              pyhd8ed1ab_2    conda-forge
python                    3.9.13          h9a8a25e_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python_abi                3.9                      2_cp39    conda-forge
readline                  8.1.2                h0f457ee_0    conda-forge
rhash                     1.4.3                h166bdaf_0    conda-forge
ros-humble-action-msgs    1.2.0            py39h6be7e7a_1    robostack-humble
ros-humble-ament-cmake    1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-core 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-export-definitions 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-export-dependencies 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-export-include-directories 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-export-interfaces 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-export-libraries 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-export-link-flags 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-export-targets 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-gen-version-h 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-gmock 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-gtest 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-include-directories 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-libraries 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-pytest 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-python 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-ros 0.10.0           py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-target-dependencies 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-test 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-cmake-version 1.3.2            py39h63710d1_1    robostack-humble
ros-humble-ament-copyright 0.12.4           py39h63710d1_1    robostack-humble
ros-humble-ament-index-cpp 1.4.0            py39h63710d1_1    robostack-humble
ros-humble-ament-index-python 1.4.0            py39h63710d1_1    robostack-humble
ros-humble-ament-lint     0.12.4           py39h63710d1_1    robostack-humble
ros-humble-ament-package  0.14.0           py39h63710d1_1    robostack-humble
ros-humble-builtin-interfaces 1.2.0            py39h6be7e7a_1    robostack-humble
ros-humble-cyclonedds     0.9.0            py39h8cec1a4_1    robostack-humble
ros-humble-domain-coordinator 0.10.0           py39h63710d1_1    robostack-humble
ros-humble-fastcdr        1.0.24           py39h63710d1_1    robostack-humble
ros-humble-fastrtps       2.6.2            py39hf487e8b_1    robostack-humble
ros-humble-fastrtps-cmake-module 2.2.0            py39h63710d1_1    robostack-humble
ros-humble-foonathan-memory-vendor 1.2.0            py39h63710d1_1    robostack-humble
ros-humble-gmock-vendor   1.10.9004        py39h63710d1_1    robostack-humble
ros-humble-gtest-vendor   1.10.9004        py39h63710d1_1    robostack-humble
ros-humble-iceoryx-binding-c 2.0.2            py39h63710d1_1    robostack-humble
ros-humble-iceoryx-hoofs  2.0.2            py39h63710d1_1    robostack-humble
ros-humble-iceoryx-posh   2.0.2            py39h63710d1_1    robostack-humble
ros-humble-libyaml-vendor 1.2.2            py39h63710d1_1    robostack-humble
ros-humble-lifecycle-msgs 1.2.0            py39h6be7e7a_1    robostack-humble
ros-humble-python-cmake-module 0.10.0           py39h63710d1_1    robostack-humble
ros-humble-rcl            5.3.2            py39h63710d1_1    robostack-humble
ros-humble-rcl-action     5.3.1            py39h63710d1_1    robostack-humble
ros-humble-rcl-interfaces 1.2.0            py39h6be7e7a_1    robostack-humble
ros-humble-rcl-lifecycle  5.3.1            py39h63710d1_1    robostack-humble
ros-humble-rcl-logging-interface 2.3.0            py39h63710d1_1    robostack-humble
ros-humble-rcl-logging-spdlog 2.3.0            py39h495f368_1    robostack-humble
ros-humble-rcl-yaml-param-parser 5.3.2            py39h63710d1_1    robostack-humble
ros-humble-rclpy          3.3.4            py39h6be7e7a_1    robostack-humble
ros-humble-rcpputils      2.4.0            py39h63710d1_1    robostack-humble
ros-humble-rcutils        5.1.1            py39h63710d1_1    robostack-humble
ros-humble-rmw            6.1.0            py39h63710d1_1    robostack-humble
ros-humble-rmw-connextdds 0.11.1           py39h63710d1_1    robostack-humble
ros-humble-rmw-connextdds-common 0.11.1           py39h63710d1_1    robostack-humble
ros-humble-rmw-cyclonedds-cpp 1.3.3            py39h63710d1_1    robostack-humble
ros-humble-rmw-dds-common 1.6.0            py39h6be7e7a_1    robostack-humble
ros-humble-rmw-fastrtps-cpp 6.2.1            py39h63710d1_1    robostack-humble
ros-humble-rmw-fastrtps-dynamic-cpp 6.2.1            py39h63710d1_1    robostack-humble
ros-humble-rmw-fastrtps-shared-cpp 6.2.1            py39h63710d1_1    robostack-humble
ros-humble-rmw-implementation 2.8.1            py39h63710d1_1    robostack-humble
ros-humble-rmw-implementation-cmake 6.1.0            py39h63710d1_1    robostack-humble
ros-humble-ros-workspace  1.0.2            py39h63710d1_1    robostack-humble
ros-humble-ros2cli        0.18.3           py39h63710d1_1    robostack-humble
ros-humble-ros2pkg        0.18.3           py39h63710d1_1    robostack-humble
ros-humble-rosgraph-msgs  1.2.0            py39h6be7e7a_1    robostack-humble
ros-humble-rosidl-adapter 3.1.3            py39h63710d1_1    robostack-humble
ros-humble-rosidl-cli     3.1.3            py39h63710d1_1    robostack-humble
ros-humble-rosidl-cmake   3.1.3            py39h63710d1_1    robostack-humble
ros-humble-rosidl-default-runtime 1.2.0            py39h6be7e7a_1    robostack-humble
ros-humble-rosidl-generator-c 3.1.3            py39h63710d1_1    robostack-humble
ros-humble-rosidl-generator-cpp 3.1.3            py39h63710d1_1    robostack-humble
ros-humble-rosidl-generator-py 0.14.2           py39h6be7e7a_1    robostack-humble
ros-humble-rosidl-parser  3.1.3            py39h63710d1_1    robostack-humble
ros-humble-rosidl-runtime-c 3.1.3            py39h63710d1_1    robostack-humble
ros-humble-rosidl-runtime-cpp 3.1.3            py39h63710d1_1    robostack-humble
ros-humble-rosidl-typesupport-c 2.0.0            py39h63710d1_1    robostack-humble
ros-humble-rosidl-typesupport-cpp 2.0.0            py39h63710d1_1    robostack-humble
ros-humble-rosidl-typesupport-fastrtps-c 2.2.0            py39h63710d1_1    robostack-humble
ros-humble-rosidl-typesupport-fastrtps-cpp 2.2.0            py39h63710d1_1    robostack-humble
ros-humble-rosidl-typesupport-interface 3.1.3            py39h63710d1_1    robostack-humble
ros-humble-rosidl-typesupport-introspection-c 3.1.3            py39h63710d1_1    robostack-humble
ros-humble-rosidl-typesupport-introspection-cpp 3.1.3            py39h63710d1_1    robostack-humble
ros-humble-rpyutils       0.2.1            py39h63710d1_1    robostack-humble
ros-humble-rti-connext-dds-cmake-module 0.11.1           py39h63710d1_1    robostack-humble
ros-humble-spdlog-vendor  1.3.0            py39h495f368_1    robostack-humble
ros-humble-tracetools     4.1.0            py39h63710d1_1    robostack-humble
ros-humble-unique-identifier-msgs 2.2.1            py39h6be7e7a_1    robostack-humble
ros2-distro-mutex         0.1.0                    humble    robostack-humble
setuptools                65.5.1             pyhd8ed1ab_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
spdlog                    1.10.0               h924138e_0    conda-forge
sqlite                    3.39.4               h4ff8645_0    conda-forge
tinyxml2                  9.0.0                h9c3ff4c_2    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
tzdata                    2022f                h191b570_0    conda-forge
wheel                     0.38.3             pyhd8ed1ab_0    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge
yaml                      0.2.5                h7f98852_2    conda-forge
yaml-cpp                  0.7.0                h27087fc_2    conda-forge
zipp                      3.10.0             pyhd8ed1ab_0    conda-forge
zlib                      1.2.13               h166bdaf_4    conda-forge
zstd                      1.5.2                h6239696_4    conda-forge
traversaro commented 2 years ago

fyi @Nicogene

traversaro commented 2 years ago

The relevant code to debug seems https://github.com/ament/ament_index/blob/496403d0865866041d7ce9a95172a6b0e186c812/ament_index_python/ament_index_python/packages.py#L29 .

traversaro commented 2 years ago

By reading https://github.com/ament/ament_cmake/blob/4d56683ae48c985e715207bfd8a0880900beb2f2/ament_cmake_core/doc/resource_index.md#file-system-index-layout, apparently we also need to install an empty file named iCub in <prefix>/share/ament_index/resource_index/packages.