以太网上的 ROS 2

下面的教程介绍了如何使用以太网将飞行控制器连接到配套计算机,以进行 DDS 通信。

确保您已安装 ROS 2 安装 并已运行 SITL 在尝试此页面之前,请先成功访问。

此外,请确保您了解 ArduPilot 中的网络基础知识。

动机

从 ArduPilot 4.5 开始,以太网作为一种新的通信接口得到了支持。与通过串口连接(飞行)控制器相比,以太网具有以下优势:

  • 以太网使用双绞线布线,对噪音的免疫力更强

  • 以太网可在同一协议上运行多个协议(除非使用 PPP)

  • 以太网更容易使用以下工具进行调试 tcpdumpWireshark

  • 以太网使用标准电缆,因此更难混淆 TX 和 RX

物理设备

完成本教程需要以下设备:

  • 可运行 MicroROS Agent 和 ROS 2 CLI 的计算机

  • 支持以太网的(飞行)控制器

静态配置的必要参数

本参数列表仅作示例。如果您有以下静态 IP 地址:

  • (飞行)控制器的 IP 地址为 192.168.1.6

  • 运行 MicroROS 代理的计算机的 IP 地址为 192.168.1.5

  • MicroROS 代理程序运行在端口 2019

然后,您将配置以下所有参数。

参数名称

价值

DDS_ENABLE

1

DDS_IP0

192

DDS_IP1

168

DDS_IP2

1

DDS_IP3

6

DDS_UDP_PORT

2019

NET_DHCP

0

NET_ENABLE

1

NET_IPADDR0

192

NET_IPADDR1

168

NET_IPADDR2

1

NET_IPADDR3

5

修改地址以满足您的需求,其他部分可以保持不变。

步骤

  1. 在(飞行)控制器上安装用 --enable-dds

  2. 通过以太网将(飞行)控制器连接至计算机

  3. 打开 MavProxy 会话

  4. 配置上述参数,从 启用 首先是参数。

  5. 重新启动飞行控制器

  6. 启动 MicroROS 代理,端口应与"...... "的参数相同。 DDS_UDP_PORT

    玫瑰2 运行 微型微型代理 微型微型代理 udp4 -p 2019 -r dds_xrce_profile.xml
    
  7. 使用 ROS 2 CLI 与(飞行)控制器交互