以太网上的 ROS 2¶
下面的教程介绍了如何使用以太网将飞行控制器连接到配套计算机,以进行 DDS 通信。
确保您已安装 ROS 2 安装 并已运行 SITL 在尝试此页面之前,请先成功访问。
此外,请确保您了解 ArduPilot 中的网络基础知识。
动机¶
从 ArduPilot 4.5 开始,以太网作为一种新的通信接口得到了支持。与通过串口连接(飞行)控制器相比,以太网具有以下优势:
以太网使用双绞线布线,对噪音的免疫力更强
以太网可在同一协议上运行多个协议(除非使用 PPP)
以太网更容易使用以下工具进行调试
tcpdump
或Wireshark
以太网使用标准电缆,因此更难混淆 TX 和 RX
物理设备¶
完成本教程需要以下设备:
可运行 MicroROS Agent 和 ROS 2 CLI 的计算机
支持以太网的(飞行)控制器
静态配置的必要参数¶
本参数列表仅作示例。如果您有以下静态 IP 地址:
(飞行)控制器的 IP 地址为
192.168.1.6
运行 MicroROS 代理的计算机的 IP 地址为
192.168.1.5
MicroROS 代理程序运行在端口
2019
然后,您将配置以下所有参数。
参数名称 |
价值 |
---|---|
1 |
|
192 |
|
168 |
|
1 |
|
6 |
|
2019 |
|
0 |
|
1 |
|
192 |
|
168 |
|
1 |
|
5 |
修改地址以满足您的需求,其他部分可以保持不变。
步骤¶
在(飞行)控制器上安装用
--enable-dds
通过以太网将(飞行)控制器连接至计算机
打开 MavProxy 会话
配置上述参数,从
启用
首先是参数。重新启动飞行控制器
启动 MicroROS 代理,端口应与"...... "的参数相同。
DDS_UDP_PORT
玫瑰2 运行 微型微型代理 微型微型代理 udp4 -p 2019 -r dds_xrce_profile.xml
使用 ROS 2 CLI 与(飞行)控制器交互