Parser exception with nav_msgs/Odometry [ROS1<>ROS2]
Achllle opened this issue · 7 comments
Summary
I'm getting an exception when I launch a ROS1 (noetic) to ROS2 (galactic) conversion using nav_msgs/Odometry messages. Things work as expected with a different message from nav_msgs.
steps to reproduce
In a ROS1 terminal:
rostopic pub -r 1 /test_odom nav_msgs/Odometry "header:
seq: 0
stamp:
[...] # omitted rest of default tab-completed message for brevity
Launch integration-services following the documentation with the following yaml file:
systems:
ros1: {type: ros1}
ros2: {type: ros2, domain: 0, node_name: my_ros2_node}
routes:
ros1_to_ros2: { from: ros1, to: ros2 }
topics:
test_odom: { type: "nav_msgs/Odometry", route: ros1_to_ros2, remap: { ros2: { topic: "odom2" } } }
expected outcome
In a ROS2 terminal I can read Odometry messages using ros2 topic echo /odom2
actual outcome
integration services fails with the following error:
terminate called after throwing an instance of 'eprosima::xtypes::idl::Parser::exception'
what(): Parser exception (<no file>:94:20): The identifier "double__36" is already used.
Aborted (core dumped)
additional information
A different message from nav_msgs
does work, i.e. rostopic pub -r 1 /test_map nav_msgs/OccupancyGrid ...
and yaml file containing:
topics:
test_map: { type: "nav_msgs/OccupancyGrid", route: ros1_to_ros2, remap: { ros2: { topic: "map2" } } }
results in a topic /map2
with expected messages when I ros2 topic echo /map2
.
I've also tried deleting the remap without success.
I found that I get a similar error with diagnostic_msgs/DiagnosticArray
. Compilation seems to be successful when I add it to the -DMIX_ROS_PACKAGES
flag.
terminate called after throwing an instance of 'eprosima::xtypes::idl::Parser::exception'
what(): Parser exception (<no file>:24:13): Member type octet is unknown
@lauramg15 @MiguelBarro Appreciate any input on this, thanks!
This issue is duly noted and we will try to address it as soon as we can.
Any timeline or should I not expect any updates anytime soon? It seems like support was dropped for this repo?
@Achllle I came across the exact same Issue with the nav_msgs/Odometry as you described in this Issue. So I was wondering whether you found any workaround to be able to still transport nav_msgs/Odometry between ROS2 and ROS1 with the integration-service.
Unfortunately I gave up on this repo, it is clearly not maintained anymore.
Yeah, I just encountered this issue too. It's a shame, Integration Service seems like it has great potential, I hope it's revived. I might dig a little on this if I knew how to get a dev environment setup, but if the project is overall not being maintained that might be pointless.