Home » create3入门教程 » create® 3入门教程-ROS2网络配置

create® 3入门教程-ROS2网络配置

说明:

  • 介绍ROS2网络配置

相关设备

介绍:

  • 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>

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none