我目前正在通过 RTI Connector for python 将 ROS2 与本机 RTI DDS Connext 连接。
在我的 ROS2 节点中,我有一个自定义消息类型,它使用header
来自std_msgs
包的消息。现在标题有一个成员string frame_id_
。当为这个 msg 生成 idl 时,字符串的大小被分配为2147483647 bytes
. 我可以在RTI Admin console
. 现在为了匹配原生 DDS 和 ROS2 中的类型,我需要通过 QoS.xml 文件在 RTI Connext 中提供相同的字符串大小。但问题是,这对于 RTI 来说太大而无法处理并且程序崩溃。
作为一种解决方法,我修改了header_.idl
ROS2 中的内容,ROS2_base_ws/install/std_msgs/dds_connext/Header_.idl
因为string<255> frame_id_
我限制了这个字符串的最大大小。
我重新编译它并运行相同的节点,但它始终具有以前的大小,即2147483647 bytes
还有其他解决方法吗?