Closed Mechaick closed 1 year ago
This is caused by the package name of rtabmap_ros
in Foxy. In ROS 2, interface definitions (messages, services and actions) are, by convention, stored in their own package that has _interfaces
(new) or _msgs
as the suffix of its name. This is only a convention: in general things will work just fine if you don't do this. However the ros1_bridge
has this convention hard-coded in when it searches for matching interface definitions between ROS 1 and ROS 2.
You need to file an issue with rtabmap_ros
to ask them to move their interface definitions into a separate package that is named correctly. We can't fix your problem in the bridge.
Bug report
Required Info:
Steps to reproduce issue
Install ros noetic and ros foxy on the computer (Following the standard ROS tutorial)
Make a workspace for the bridge
source /opt/ros/noetic/setup.bash
source /opt/ros/foxy/setup.bash
colcon build --symlink-install --packages-select ros1_bridge --cmake-force-configure
At this point, the compilation is working
Then we need to install Rtabmap-ros binaries
sudo apt install ros-foxy-rtabmap-ros
sudo apt install ros-noetic-rtabmap-ros
Then
source /opt/ros/noetic/setup.bash
source /opt/ros/foxy/setup.bash
colcon build --symlink-install --packages-select ros1_bridge
Expected behavior
The compilation should work, and after that adding a mapping rule should help bridging the rtabmap topics
Actual behavior
compilation is crashing with the following messages: