目录:
说明:
相关设备
介绍:
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
export FASTRTPS_DEFAULT_PROFILES_FILE=/path/to/the/xml/profile
多个网络接口
禁用多播
默认情况下,某些网络(例如,学术或公司 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
export CYCLONEDDS_URI=/path/to/the/xml/profile
多个网络接口
- <CycloneDDS>
- <Domain>
- <General>
- <NetworkInterfaceAddress>usb0,wlan0</NetworkInterfaceAddress>
- </General>
- </Domain>
- </CycloneDDS>
- <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>