文章目录
前言
1 支持的MAVLink命令信息
2 设置
3 使用方法
4 数据成本
5 参数
前言
!Note
该功能仅适用于 ArduPilot 4.4 或更高版本,并且要求飞行控制器支持 LUA 脚本(LUA Scripts)。
RockBLOCK 卫星调制解调器可实现与 ArduPilot 飞行器的全球(包括极地)MAVLink 连接。它使用铱星 SBD 数据服务(Iridium SBD data service)。
由于 RockBLOCK 的数据传输率非常低,因此存在一些主要限制:
- 每隔 RCK_PERIOD 秒将发送一个 HIGH_LATENCY2 数据包。这将提供基本的位置和状态信息;
- 飞行器不会向 GCS 发送心跳、状态文本、参数和航点;
- RockBLOCK 只发送从 GCS 到飞行器的命令 MAVlink 信息子集(见以下列表)。不会发送参数和航点;
- 每个 RCK_PERIOD 从 GCS 到飞行器只能发送一条命令信息。任何其他命令都将覆盖之前的命令。
实际上,这意味着 RockBLOCK 只能在自动飞行模式下用于监控飞行器。任何形式的手动控制(在低速率引导模式"飞向"位置之外)都是不可能的。
RockBLOCK 的延迟时间为 20-60 秒,每 30 秒(或更长)只能发送一条信息。这一周期可通过 RCK_PERIOD 参数进行配置。
!Note
任何使用铱星 9602 或 9603 芯片组的调制解调器都可以使用,但只有 RockBLOCK 9603N 调制解调器经过测试。
1 支持的MAVLink命令信息
- CMD_NAV_RETURN_TO_LAUNCH
- CMD_NAV_LAND
- CMD_NAV_TAKEOFF
- CMD_NAV_VTOL_TAKEOFF
- CMD_NAV_VTOL_LAND
- CMD_DO_SET_MODE
- CMD_MISSION_START
- CMD_COMPONENT_ARM_DISARM
- CMD_CONTROL_HIGH_LATENCY
2 设置
由于 RockBLOCK 网络服务的限制,飞行器到 GCS 方向的所有数据包都需要通过面向公众的网络服务。详情请参见此处(here)。本配置使用免费的 adafruit.io 服务。
1. 将 RockBLOCK 调制解调器连接到飞行控制器上的备用 UART。只需连接 +5V、RX、TX 和 GND 线路。
2. 确保调制解调器已在你的 RockBLOCK 账户中激活。
3. 在 adafuit.io 上创建一个新的 Feed(new feed on adafuit.io)。确保"信息源历史"处于关闭状态,并且网络钩子处于激活状态。将该信息源连接到你的 RockBLOCK 账户。
4. 将 Ardupilot RockBLOCK Lua 脚本(Ardupilot RockBLOCK Lua script)复制到飞行控制器的 SD 卡中。
5. 确保启用 LUA 脚本(LUA Scripts),并将 RockBLOCK UART 设置为脚本 UART。
6. 在 GCS 上运行 RockBLOCK 网关 rockblock2mav.py,通过 127.0.0.1:16000 发送/接收遥测数据。确保 GCS 软件连接到该 IP/端口。
!Note
QGroundControl 和 Mission Planner 对 RockBLOCK MAVLink 遥测的支持非常有限。强烈建议使用 MAVProxy,它完全支持这种遥测技术。
3 使用方法
1. 在飞行控制器上启用高延迟模式(High Latency),以启动 RockBLOCK 邮箱检查。
2. RockBLOCK 将每隔 RCK_PERIOD 秒进行一次邮箱检查。此时,它将发送一条 HIGH_LATENCY2 消息,并从 GCS 接收一条消息。
3. 禁用飞行控制器上的高延迟模式(High Latency),以停止 RockBLOCK 邮箱检查。
4 数据成本
与地面服务(如 4G Celluar)相比,RockBLOCK 的数据费用昂贵。
目前的数据成本可从 RockBlock 网站(RockBlock website)获取。
每条 MAVLink 信息使用 1 个 RockBLOCK 信用点。因此,举例来说,如果将 RockBLOCK 配置为每 30 秒发送 1 条 HIGH_LATENCY2 信息,则每小时的数据使用量为 60 个信用点。如果 GCS 通过 RockBLOCK 向飞行器发送了任何命令,也应将其计算在内。例如,如果在同一小时内发送了 5 条命令,则将使用 5 个信用点。综合发送和接收的信息,每小时共使用 65 个信用点。
5 参数
以下参数可用于控制脚本:
Name | Description |
RCK_FORCEHL | 如果尚未启用,则自动启用高延迟模式 |
RCK_PERIOD | 在高延迟模式下,每 RCK_PERIOD 秒发送一次 RockBLOCK 更新 |
RCK_DEBUG | 通过 statustexts 向 GCS 发送 RockBLOCK 调试文本 |
RCK_ENABLE | 启用调制解调器传输 |