create® 3入门教程-ROS2网络配置
说明:
- 介绍ROS2网络配置
相关设备
- Turtlebot4机器人套件:采购地址
介绍:
ROS 2 1作为其中间件构建在 DDS/RTPS 之上,它提供了先进的网络功能,例如:发现、序列化和传输。这个R OS 2中间w are简称RMW。
此页面包含一些在与 iRobot® Create® 3 交互时可能有用的示例
您可以使用在您的机器上选择 RMW 实现
export RMW_IMPLEMENTATION=name-of-the-rmw
目前,唯一支持的 RMW 实现是:rmw_cyclonedds_cpp和rmw_fastrtps_cpp. 有关不同 RMW 供应商的更多信息
在机器人上,同样可以通过 Create® 3 网络服务器进行控制
Fast-DDS
- Fast-DDS 允许通过 XML 文件指定 DDS 配置。为了应用配置,必须通过以下环境变量提供 XML 文件的路径:
export FASTRTPS_DEFAULT_PROFILES_FILE=/path/to/the/xml/profile
- Fast-DDS 文档中描述了详细的网络配置
多个网络接口
- Fast-DDS 支持开箱即用的多个网络接口。ROS 2 进程将自动使用它启动时可用的所有接口(它不会使用在进程已经运行时激活的网络接口)。
禁用多播
默认情况下,某些网络(例如,学术或公司 Wi-Fi)可能会阻止 ROS 2 使用的多播数据包。以下 XML 配置文件可在您的笔记本电脑(或计算板)上使用,以强制使用单播并直接连接到机器人的 IP 地址
必须编辑该文件以替换ROBOT_IP为实际 IP 值
<?xml version="1.0" encoding="UTF-8" ?>
<profiles xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">
<participant profile_name="unicast_connection" is_default_profile="true">
<rtps>
<builtin>
<metatrafficUnicastLocatorList>
<locator/>
</metatrafficUnicastLocatorList>
<initialPeersList>
<locator>
<udpv4>
<address>ROBOT_IP</address>
</udpv4>
</locator>
</initialPeersList>
</builtin>
</rtps>
</participant>
</profiles>
CycloneDDS
- CycloneDDS 允许通过 XML 文件指定 DDS 配置。为了应用配置,必须通过以下环境变量提供 XML 文件的路径:
export CYCLONEDDS_URI=/path/to/the/xml/profile
多个网络接口
- 此功能需要 CycloneDDS 版本 0.8.0 或更高版本。使用以下 XML 配置文件指定要使用的所有网络接口的名称。例如usb0,wlan0在这个例子中。
<CycloneDDS>
<Domain>
<General>
<NetworkInterfaceAddress>usb0,wlan0</NetworkInterfaceAddress>
</General>
</Domain>
</CycloneDDS>
- 请注意,在启动 ROS 2 进程时,指定的网络接口必须已经处于活动状态。
<CycloneDDS>
<Domain>
<General>
<DontRoute>true</DontRoute>
</General>
</Domain>
</CycloneDDS>
禁用多播
默认情况下,某些网络(例如公司 WiFi)可能会阻止 ROS 2 使用的多播数据包。以下 XML 配置文件可在您的笔记本电脑(或计算板)上使用,以强制使用单播并直接连接到机器人的 IP 地址。
必须编辑该文件以替换${ROBOT_IP}实际 IP 值,或将该值导出为环境变量。
<CycloneDDS>
<Domain>
<Id>any</Id>
<General>
<NetworkInterfaceAddress>auto</NetworkInterfaceAddress>
<AllowMulticast>false</AllowMulticast>
<EnableMulticastLoopback>true</EnableMulticastLoopback>
</General>
<Discovery>
<ParticipantIndex>0</ParticipantIndex>
<Peers>
<Peer Address="${ROBOT_IP}:7410"/>
</Peers>
</Discovery>
</Domain>
</CycloneDDS>
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号