跳至内容

将配套计算机与 Pixhawk 控制器配合使用

在 Pixhawk 系列飞行控制器上运行的 PX4 可使用任何可自由配置的串行端口(包括以太网端口(如果支持))连接到配套计算机。

参见 配套计算机 了解有关支持的硬件和一般设置的信息。

配套计算机软件

配套计算机需要运行与飞行控制器通信的软件,并将流量传送到地面站和云端。

常见选项列于 配套计算机 > 配套计算机设置.

以太网设置

如果飞行控制器支持以太网,建议使用以太网连接。参见 以太网设置 以获取说明。

串行端口设置

如果不使用以太网,这些说明将解释如何设置连接。

Pixhawk 配置

PX4 希望配套计算机通过 TELEM2 用于机外控制。端口默认配置为使用 MAVLink 接口。

如果使用 MAVLink,则无需其他 PX4 端配置。要在其他端口上使用 MAVLink 和/或在以下端口上禁用它 TELEM2MAVLink 外围设备(GCS/OSD/同伴)串行端口配置.

使用 ROS 2/uXRCE-DDS 上的 MAVLink 而不是 TELEM2在该端口上禁用 MAVLink,然后在该端口上启用 uXRCE-DDS 客户端。 TELEM2(见 uXRCE-DDS > 启动客户端).

串行端口硬件设置

如果使用串行端口连接,请按照以下说明为端口布线。所有 Pixhawk 串行端口的工作电压均为 3.3V,并兼容 5V 电平。

警告

许多现代配套计算机的硬件 UART 只支持 1.8V 电平,3.3V 电平可能会损坏它们。请使用电平转换器。在大多数情况下,可访问的硬件串行端口已具有与之相关的某些功能(调制解调器或控制台),因此需要 在 Linux 中重新配置 才能使用。

一种安全且易于设置的方法是使用 FTDI Chip USB 转串口适配器板,将 USB 与串口连接起来。 TELEM2 将 Pixhawk 上的 USB 端口连接到配套计算机的 USB 端口。接口 TELEM2 到 FTDI 的接线图如下所示。

TELEM2FTDI 
1+5V(红色)请勿连接!
2发送(输出)5FTDI RX(黄色)(输入)
3Rx (英寸)4FTDI TX(橙色)(输出)
4CTS (英寸)6FTDI RTS(绿色)(输出)
5RTS (输出)2FTDI CTS(棕色)(英寸)
6接地1FTDI GND(黑色)

您还可以直接连接 TELEM2 直接连接到配套计算机的串行端口。以下是 Raspberry Pi 的演示示例 带有 Pixhawk 的 Raspberry Pi 配套设备.

在 Linux 上设置 USB 串行端口软件

在 Linux 系统中,USB FTDI 的默认名称如下 \dev\ttyUSB0.如果在 USB 或 Arduino 上连接了第二个 FTDI,它将注册为 \dev\ttyUSB1.为避免第一个插件和第二个插件之间的混淆,我们建议您从 ttyUSBx 为友好名称,具体取决于 USB 设备的供应商和产品 ID。

使用 lsusb 我们可以获取供应商和产品 ID。

$ lsusb

巴士 006 设备 002: 身份证 0bda:8153 Realtek 半导体 Corp.
巴士 006 设备 001: 身份证 1d6b:0003 利纳克斯 基金会 3.0 根基 枢纽
巴士 005 设备 001: 身份证 1d6b:0002 利纳克斯 基金会 2.0 根基 枢纽
巴士 004 设备 002: 身份证 05e3:0616 基因 逻辑 Inc.
巴士 004 设备 001: 身份证 1d6b:0003 利纳克斯 基金会 3.0 根基 枢纽
巴士 003 设备 004: 身份证 2341:0042 Arduino SA 巨型 2560 R3 (疾病预防控制中心 ACM)
巴士 003 设备 005: 身份证 26ac:0011
巴士 003 设备 002: 身份证 05e3:0610 基因 逻辑 Inc. 4 端口 枢纽
巴士 003 设备 001: 身份证 1d6b:0002 利纳克斯 基金会 2.0 根基 枢纽
巴士 002 设备 001: 身份证 1d6b:0001 利纳克斯 基金会 1.1 根基 枢纽
巴士 001 设备 002: 身份证 0bda:8176 Realtek 半导体 Corp. RTL8188CUS 802.11n 无线局域网 适配器
巴士 001 设备 001: 身份证 1d6b:0002 利纳克斯 基金会 2.0 根基 枢纽

Arduino 是 总线 003 设备 004:ID 2341:0042 Arduino SA Mega 2560 R3(CDC ACM)

Pixhawk 是 总线 003 设备 005:ID 26ac:0011

信息

如果找不到设备,请拔下插头,执行 lsusb插上插头,执行 lsusb 再次查看添加的设备。

因此,我们可以在一个名为 /etc/udev/rules.d/99-pixhawk.rules 并将 idVendor 和 idProduct 改为您的内容。

辅助系统=="tty"、 ATTRS{id供应商}==="2341";, ATTRS{idProduct}=="0042"、 SYMLINK+="ttyArduino";
辅助系统=="tty"、 ATTRS{id供应商}==="26ac";, ATTRS{idProduct}=="0011"、 SYMLINK+="ttyPixhawk";

最后,经过 重新启动 您可以确保知道哪个设备是什么,并把 /dev/ttyPixhawk 而不是 /dev/ttyUSB0 在脚本中。

信息

请务必在 tty拨出 通过 篡改 以避免以根用户身份执行脚本。

篡改 -a -G tty ros-用户
篡改 -a -G 拨出 ros-用户