FAL(Flight Abstraction Layer)

图片

FAL(Flight Abstraction Layer)本质上就是 飞控适配层 + 通信中枢 + 控制接口标准化层

一、FAL定义(Flight Abstraction Layer)

AiBrainBox-V FAL(飞行抽象层)

一个位于“感知/决策系统”与“飞行控制系统(FCU)”之间的标准化中间层,
用于实现无人机状态获取、控制指令下发、协议适配与安全管理的统一接口。

核心目标

  1. 统一接口
    • 屏蔽不同飞控(PX4 / ArduPilot / DJI / 自研)的差异

  2. 双向通信
    • 上行:无人机 → AiBrainBox(状态/位姿)

    • 下行:AiBrainBox → 无人机(控制命令)

  3. 控制闭环支持
    • 为“感知 → 定位 → 规划 → 控制”提供标准入口

  4. 多链路兼容
    • 支持串口 / UDP / 5G / 自组网 / 星链等

二、FAL功能模块拆解

FAL可以拆成5大核心模块:

1️⃣ 协议适配层(Protocol Adapter Layer)

支持多飞控生态:

  • MAVLink(PX4 / ArduPilot)

  • DJI PSDK / OSDK / E-Port

  • ROS2 DDS(科研)

  • 自定义CAN / UART协议

👉 作用:

  • 做协议解析 & 封装

  • 统一为内部标准数据结构


2️⃣ 状态感知模块(State Ingestion)

从飞控获取数据(上行链路):

必选核心数据

  • 位姿(Position + Attitude)

    • NED / ENU坐标

  • 速度(Velocity)

  • IMU(加速度 / 角速度)

  • GNSS(可选)

  • 飞行模式(Mode)

  • 电池 / 健康状态

3️⃣ 控制下发模块(Command Dispatcher)

向无人机发送控制命令(下行链路)

基础控制命令(必须支持)

  • Arm / Disarm

  • Takeoff

  • Land

  • RTL(返航)

  • Hover(定点)

运动控制命令

  • 位置控制(Position setpoint)

  • 速度控制(Velocity setpoint)

  • 姿态控制(Attitude setpoint)

高级控制(建议预留)

  • 轨迹跟踪(Trajectory)

  • Offboard控制(外部控制模式)

  • Waypoint Mission

4️⃣ 控制模式管理(Mode Manager)

核心作用:控制权切换

支持模式:

  • Manual(人工)

  • Assisted(半自动)

  • Offboard(外部控制 / AiBrainBox主控)

  • Failsafe(安全模式)

👉 关键能力:

  • 模式切换仲裁

  • 控制权优先级管理

  • 异常自动降级(例如丢链路 → Hover / RTL)


5️⃣ 安全与监控模块(Safety Supervisor)

必须重点设计(尤其你做工业/军用)

安全机制

  • 心跳检测(Heartbeat)

  • 链路丢失保护

  • 地理围栏(Geo-fence)

  • 姿态/速度异常检测

  • GNSS拒止 fallback

Fail-safe策略

  • Hover

  • Land

  • Return-to-home

  • 切回飞控自主

三、FAL系统架构

            ┌──────────────────────────┐
             │     决策/规划层           │
             │ (Mission / Planning)     │
             └──────────┬───────────────┘
                        │
             ┌──────────▼───────────────┐
             │   FAL (Flight Abstraction Layer) │
             │                                  │
             │  ┌──────────────────────────┐   │
             │  │ Command Dispatcher       │   │
             │  ├──────────────────────────┤   │
             │  │ Mode Manager             │   │
             │  ├──────────────────────────┤   │
             │  │ State Ingestion          │   │
             │  ├──────────────────────────┤   │
             │  │ Protocol Adapter         │   │
             │  ├──────────────────────────┤   │
             │  │ Safety Supervisor        │   │
             │  └──────────────────────────┘   │
             └──────────┬───────────────┘
                        │
        ┌───────────────▼────────────────┐
        │      飞控系统(FCU)            │
        │ PX4 / ArduPilot / DJI / 自研    │
        └───────────────────────────────┘

四、接口标准

1️⃣ 上行接口(Telemetry API)


UAVStateget_state();
boolsubscribe_state(callback);

支持频率:

  • 50Hz(控制)

  • 10Hz(任务级)


2️⃣ 下行接口(Control API)


boolarm();
booldisarm();

booltakeoff(floataltitude);
boolland();

boolset_position(floatx, floaty, floatz);
boolset_velocity(floatvx, floatvy, floatvz);

boolset_mode(FlightModemode);


3️⃣ Offboard接口(关键能力)


boolstart_offboard();
boolstop_offboard();

boolsend_setpoint(Setpointsp);

👉 这是你做:

  • GNSS拒止

  • SLAM控制

  • 集群控制

的核心入口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值