eProsima / Integration-Service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

error in ROS2 websocket middelware for message type nav_msgs/Odometry

FlorianPix opened this issue · comments

The middleware works for most message types I tried so far, e.g. std_msgs/Float64, sensor_msgs/BatteryState, sensor_msgs/FluidPressure but it seems to have a problem with nav_msgs/Odometry.

I added this to the CMakeList:

list(APPEND MIX_ROS_PACKAGES_LIST std_msgs)
list(APPEND MIX_ROS_PACKAGES_LIST geometry_msgs)
list(APPEND MIX_ROS_PACKAGES_LIST nav_msgs)
list(APPEND MIX_ROS_PACKAGES_LIST sensor_msgs)

This is the yaml file I use to run the middleware for the odometry topic:

systems:
  ros2: { type: ros2 }
  websocket: { type: websocket_server, security: none, port: 9802, types-from: ros2 }

routes:
  websocket_to_ros2: { from: websocket, to: ros2 }
  ros2_to_websocket: { from: ros2, to: websocket }

topics:
  /model/auv/odometry: { type: "nav_msgs/Odometry", route: ros2_to_websocket }
  /ws/model/auv/odometry: { type: "std_msgs/String", route: websocket_to_ros2 }

This is the error message:

integration-service src/Integration-Service/examples/basic/ros2_websocket__odometry.yaml 
[Integration Service][INFO] [is::sh::ROS2] Created node '/is_ros2_node_1804289383' with Domain ID: 18446744073709551615
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)

#186 introduced an updated version of xtypes that may solve the parser issues. Please check.