首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ROS2中设置RTI配置文件

在ROS2中设置RTI配置文件
EN

Stack Overflow用户
提问于 2018-09-03 13:54:16
回答 1查看 851关注 0票数 1

我使用xml创建将ROS2与本地RTI接口,这意味着所有QoS设置都在这个xml文件中。

现在,对于本机.xml应用程序,我可以设置这个ROS2文件,但是如何为基于ROS2的函数设置类似的配置文件呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-05 17:07:40

你看过https://github.com/ros2/ros2/wiki/About-Quality-of-Service-Settings里的材料了吗?ROS2有一组有限的设置QoS的选项。

通过在直接合成应用程序中设置QoS策略以匹配ROS2中的设置,您可能会获得更大的成功。(顺便说一句,这是RTI管理控制台使事情变得容易得多的地方;它立即显示参与者之间的QoS不匹配)。

用于获得DDS / QoS 2互操作性的DDS QoS设置包括:

  • 如果使用ROS2 'Ardent':
    • 使用一个名为"rt“的DDS分区(在QoS文件中设置在<publisher_qos>下)

  • 如果使用ROS2 'Bouncy':
    • 在主题名称前加上"rt/“
    • 禁止typeCode发送(在QoS文件中设置为<participant_qos><resource_limits>下的max_serialized_length for type_code和type_object == 0)

  • 对于这两种版本:
    • 可能需要包括对无界字符串和序列的支持。
    • 可能需要包括UDPv6和禁用SHMEM传输。

在QoS RMW代码中生成的ROS2设置不多;Connext库将使用普通搜索顺序(详见)查找用户QoS设置的来源--这意味着您可以使用各种方法向ROS2下的Connext库提供自己的QoS设置。我所做的是:

  • 若要在ROS2中禁用多播,请在将启动ROS2应用程序的目录中创建一个名为"NDDS_DISCOVERY_PEERS“的文件(输入和运行ros2命令的目录)。在这个文件中放置一个要发现的初始对等点的列表(确保排除多播和shmem格式)作为详细的这里格式。
    • 我的文件有: localhost,192.168.1.44

  • 对于其他QoS设置,在上面的目录中放置一个"USER_QOS_PROFILES.xml“文件,其中包含您希望在ROS2中使用的QoS设置。这些设置将影响从该目录启动的ROS2应用程序。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52151179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档