You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm experiencing a seg fault with using the integration service for a ROS1-ROS2 bridge. I am experiencing issues with bridging a BatteryState or PoseWithCovarianceStamped message from ROS1 to ROS2.
Ubuntu 20.04 Server
ROS 1 noetic
ROS 2 foxy
Integration Service commit: bed72ea
ROS1-SH commit: 0fd48809b31935c1891bd52e342e617efa401e09
ROS2-SH commit: 60b8e38bae7d994e50e663fd6276b5217b44cd06
Running the integration service produces this error when publishing a default battery state message.
integration-service battery.yaml
[ERROR] [1649126163.852714690]: [registerPublisher] Failed to contact master at [localhost:11311]. Retrying...
[ INFO] [1649126167.733397803]: Connected to master at [localhost:11311]
[Integration Service][INFO] [is::sh::ROS1] Created node '/is_ros1_node__1649126163847650554'
[Integration Service][INFO] [is::sh::ROS2] Created node '/is_ros2_node_1804289383' with Domain ID: 18446744073709551615
[Integration Service][INFO] [is::sh::ROS2] Configured!
[Integration Service][INFO] [is::sh::ROS2] Creating entity using the default QoS.
[Integration Service][INFO] [is::sh::ROS2] Created publisher for topic 'battery_status' with type 'sensor_msgs/BatteryState' on node '/is_ros2_node_1804289383'
[Integration Service][INFO] [is::core::Config] [ros2 SystemHandle] Produced a publisher for the topic 'battery_status', with message type 'sensor_msgs/BatteryState'.
[Integration Service][INFO] [is::sh::ROS1] Created subscription for topic 'battery_status' with type 'sensor_msgs/BatteryState' on node '/is_ros1_node__1649126163847650554'
[Integration Service][INFO] [is::core::Config] [ros1 SystemHandle] Subscribed to topic 'battery_status', with message type 'sensor_msgs/BatteryState'.
[Integration Service][INFO] [is::sh::ROS1] Receiving message from ROS 1 for topic 'battery_status'
[XTYPES]: /home/user/is_ws/install/xtypes/include/xtypes/DynamicData.hpp:973 - Assertion failed with message: Expected type 'bool' but 'uint8_t' received while setting value.
Aborted (core dumped)
The same goes for pose with covariance stamped but with a different error:
integration-service posecov.yaml
[Integration Service][INFO] [is::sh::ROS1] Created node '/is_ros1_node__1649128437485939372'
[Integration Service][INFO] [is::sh::ROS2] Created node '/is_ros2_node_1804289383' with Domain ID: 18446744073709551615
[Integration Service][INFO] [is::sh::ROS2] Configured!
[Integration Service][INFO] [is::sh::ROS2] Creating entity using the default QoS.
[Integration Service][INFO] [is::sh::ROS2] Created publisher for topic 'posecov' with type 'geometry_msgs/PoseWithCovarianceStamped' on node '/is_ros2_node_1804289383'
[Integration Service][INFO] [is::core::Config] [ros2 SystemHandle] Produced a publisher for the topic 'posecov', with message type 'geometry_msgs/PoseWithCovarianceStamped'.
[Integration Service][INFO] [is::sh::ROS1] Created subscription for topic 'posecov' with type 'geometry_msgs/PoseWithCovarianceStamped' on node '/is_ros1_node__1649128437485939372'
[Integration Service][INFO] [is::core::Config] [ros1 SystemHandle] Subscribed to topic 'posecov', with message type 'geometry_msgs/PoseWithCovarianceStamped'.
[Integration Service][INFO] [is::sh::ROS1] Receiving message from ROS 1 for topic 'posecov'
[XTYPES]: /home/momentum/is_ws/install/xtypes/include/xtypes/DynamicData.hpp:177 - Assertion failed with message: operator [0] is out of bounds.
Aborted (core dumped)
The text was updated successfully, but these errors were encountered:
I encountered the same issue when trying to prototype a bridge from ROS1 Melodic to FastDDS for can_msgs/Frame type.
I got similar assertion failures / core dumps as @limjizhengshawn .
After digging a bit deeper, it seems to me that the autogenrated mix file code is broken for two cases:
ROS1 messages with bool fields
ROS1 messages with array or sequence fields
The first assertion failure: Expected type 'bool' but 'uint8_t' received while setting value. comes from the fact that the mapping defined in the .hpp.em file here https://github.com/eProsima/ROS1-SH/blob/main/utils/ros1-mix-generator/resources/convert__msg.hpp.em maps bool -> bool but ROS1 messages such as BatteryState define the bool fields as uint8_t, see for example ros/melodic/include/sensor_msgs/BatteryState.h where the present fields is defined as
I'm experiencing a seg fault with using the integration service for a ROS1-ROS2 bridge. I am experiencing issues with bridging a BatteryState or PoseWithCovarianceStamped message from ROS1 to ROS2.
Ubuntu 20.04 Server
ROS 1 noetic
ROS 2 foxy
Integration Service commit: bed72ea
ROS1-SH commit: 0fd48809b31935c1891bd52e342e617efa401e09
ROS2-SH commit: 60b8e38bae7d994e50e663fd6276b5217b44cd06
battery.yaml
Publishing of battery topic:
Running the integration service produces this error when publishing a default battery state message.
The same goes for pose with covariance stamped but with a different error:
The text was updated successfully, but these errors were encountered: