error in ROS2 websocket middelware for message type nav_msgs/Odometry
FlorianPix opened this issue · 1 comments
FlorianPix commented
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)
MiguelBarro commented
#186 introduced an updated version of xtypes that may solve the parser issues. Please check.