eProsima / Integration-Service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Parser exception with nav_msgs/Odometry [ROS1<>ROS2]

Achllle opened this issue · 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.