如何识别在ros2.0集成中用于传输数据的dds?

问题描述 投票:0回答:1

我正在使用ROS2.0和默认的DDS供应商FastRTPS,如果我想切换到RTI连接(我已经安装)我需要做什么环境变化,是否有任何程序来识别正在使用哪个DDS如果系统中安装了多个DDS,则进行通信?

我还有另一个补充问题:

我们可以使用DDS作为两个ros(非ros2.0)系统之间的通信媒介吗?如果是,那么我们将如何在发布者和订阅者中使用QoS?

如果我的第二个问题有任何支持文件,我会分享,这将是一个很大的帮助。

谢谢

ros data-distribution-service
1个回答
1
投票

要从Fast RTPS切换到Connext,您需要:1。设置环境变量RMW_IMPLEMENTATION = rmw_connext_cpp 2.确保为Connext安装(PATH,NDDSHOME)设置环境3.(可能)执行重建ROS 2与上述相关。

有关更多详细信息,请参阅https://github.com/ros2/ros2/wiki/Working-with-multiple-RMW-implementations

确定使用哪种DDS实现的快速方法是使用WireShark捕获底层RTPS数据包; WireShark包含一个RTPS解剖器,可以显示vendorId以捕获任何RTPS数据包。

至于补充问题:有一个ROS 1 / ROS 2通信桥接包。有关更多信息,请参阅https://github.com/ros2/ros1_bridge/blob/master/README.md#build-the-bridge-from-source

© www.soinside.com 2019 - 2024. All rights reserved.