我正在使用xml应用程序创建功能将ROS2与本机RTI DDS接口,即所有QoS设置都在该xml文件中。
现在,对于本机DDS应用程序,我可以设置此.xml文件,但是如何为基于ROS2的函数设置类似类型的配置文件?
答案 0 :(得分:2)
您是否查看了https://github.com/ros2/ros2/wiki/About-Quality-of-Service-Settings中的资料? ROS2具有用于设置QoS的选项集。
通过在DDS应用程序中设置QoS策略以匹配ROS2中的设置,您可能会获得更大的成功。 (顺便说一句,这是RTI Admin Console使事情变得容易得多的地方;它立即显示参与者之间的QoS不匹配。)
我用来获得DDS / ROS2互操作性的DDS QoS设置包括:
<publisher_qos>
下的QoS文件中设置)<participant_qos><resource_limits>
下的QoS文件中,设置type_code和type_object == 0的max_serialized_length)ROS2 RMW代码中没有太多QoS设置; Connext库将使用常规搜索顺序(detailed here)查找用户QoS设置的来源-这意味着您可以使用多种方法为ROS2下的Connext库提供自己的QoS设置。这是我所做的: