传感器,以及每一层隐藏了什么
传感器获取事实,飞控软件栈保持姿态,中间件连接进程,运行系统放行架次。把这些层混在一起,演示屏幕就会被误认为物流网络。
实际测量的是什么
GNSS 通过到卫星的距离推算位置和时间。米级精度是典型水平。城市峡谷会增加多径效应,信号还可能被干扰或欺骗。静止时的航向不会从您并未移动的轨迹中得出。RTK 利用载波相位加上来自基站或网络的改正数,在整周模糊度固定时达到厘米级。浮点解不是固定解。失去改正数,您就回到了普通 GNSS。基站坐标错误会让整个精密结果整体偏移。IMU 以高速率报告加速度和角速度,积分后会漂移。气压计在相对高度上很可靠,但会受天气影响而产生偏差,如果气压口位置不当,还会受旋翼下洗气流影响。
摄像头是被动传感器。它们需要纹理和光线,会被阳光、雨水、玻璃和没有特征的雪地迷惑。它们可以辅助着陆和提供障碍物线索。单靠它们并不是全天候传感器。LiDAR 主动测距,能更直接地得到几何信息。雾、大雨和粉尘会使其性能下降,而且它要消耗质量和功率。更贵的传感器并不会自动抵消更便宜传感器的失效。估计器把这些融合为一个状态。不要把融合后的显示解读为每一个输入始终正确的宣称。飞行前,您应该能说出每一个输入丢失时估计会如何退化。
ADS-B In 接收合作式广播,主要来自被要求装备它的有人驾驶航空器。在美国,ADS-B Out 在规定空域内是强制性的。未装备的航空器不会出现,大多数小型无人机也不会出现。它是有人驾驶交通的部分图景,本身并不是探测与避让系统。远程识别指向相反的方向:无人驾驶航空器广播自己的身份和位置,标准广播格式还可以包含控制站。它是一个问责信号。它不是感知其他交通的传感器,也不会识别接收包裹的那个人。不要把这两种无线电合并成“航空器能看见”这一个宣称。
在桥下和隧道中卫星定位失效时,航空器如何靠观察周围环境来确定位置,连同案例一起,见在 GNSS 无法到达的地方估计位置(Airffic Inspection)。
罗盘为什么在钢铁旁边会迷失,见 Inspection 指南中的在干扰罗盘的钢铁附近飞行无人机。
每一层被允许隐藏什么
PX4 和 ArduPilot 是航空器上的飞控软件栈。它们读取传感器,运行估计器,闭合姿态环和位置环,把指令混控到电机,并执行地理围栏、低电量或链路丢失等故障保护。它们隐藏的是“在航空器的极限之内达到这个姿态、速度或位置”。超出极限,它们就达不到。MAVLink 是这场对话的协议:遥测、指令、任务项、心跳。系统标识和组件标识是地址,而不是安全决策。协议抽象的是线路上的语法。它不抽象“这次飞行是否应该放行”这个问题。
ROS 2 是协处理计算机上的中间件。节点发布和订阅带类型的消息。它抽象的是跨进程的机器人软件、感知和实验性规划。它不是自动驾驶仪。ROS 节点绝不能是维持旋翼稳定的唯一环节。飞控软件栈要能自行故障保护。QGroundControl 是面向一架航空器的操作员控制台,用于设置、校准、任务编辑和实时遥测。Mission Planner 及其同类在 ArduPilot 旁边扮演类似角色。一架航空器,一次会话,一个人在回路中。那不是航空公司的运行系统。
厂商 SDK 抽象的是一个封闭的范围。DJI 一类的套件在厂商开放的任务层级上指挥航空器及其载荷。估计器和电机混控留在内部。Auterion 在 PX4 外面加了一层企业级封装,更接近机队软件和应用,而不是操纵杆。Skydio 一类的套件在自家机体上开放高层技能,避障留在内部。这一切都不意味着调用者掌握了厂商隐藏的部分。根据合同和文档说清抽象的边界。无法这样描述的 SDK 是一个方便的黑箱,而不是安全解释。
把协议层和应用层混为一谈,会误读什么是有保证的。以航拍无人机开发为例:逐层区分 MAVLink 与 MAVSDK(Airffic Aerial)。
在卫星信号无法到达的隧道内传感器如何应对,见 Inspection 指南中的无人机如何检查隧道。
飞手应用不是运行系统
飞手应用的视野是一次飞行。解锁、检查单、针对这副机体的任务、摇杆或航点控制、返航。用户是飞手或远程操作员,时钟从起飞走到着陆。运行系统的视野是整个网络:订单、航空器可用性、起降坪时隙、天气禁飞、空域限制、战略间隔、符合性监视、监管机构会索要的日志,以及与订单系统的连接。用户是调度员,时钟是一天的时隙。MAVLink 遥测可以流入这个系统。这种流入并不会把地面站变成 UTM。
U-space 和 UTM 所描述的识别、地理围栏、飞行授权、跟踪和冲突探测支持,都是运行侧的服务。把它们画在单机屏幕上并不等于实现了它们。演示成功时,人们总想把屏幕称作网络。屏幕也许能表明一架航空器执行了指令。它不会显示下一个起降坪时隙、一块被拒绝的空域、一次没有发生的交接,或一阵吃掉了储备的风。如果没有别的系统掌握这四项,物流就还不存在。可以赞美飞控软件栈。不要把它任命为运行系统。
逐步介绍无人机如何确定自己的位置(Tobira,日语)从头讲解 GNSS、气压计和罗盘。
- PX4 — System architecture
PX4 对飞控、作为地面站的 QGroundControl,以及运行 ROS 或 MAVSDK 的协处理计算机的概述。这是一张分层地图,而不是认证声明。
- MAVLink — System and component IDs
MAVLink 系统如何共用一个系统标识,并给每个组件各自的标识。这关乎消息的寻址,而不是运行判断。
- ROS 2 — Basic concepts
ROS 2 文档定义了一种进程之间带类型的发布—订阅中间件。其图是一个节点网络。它并不声称自己是姿态环。
- FAA — Remote identification of drones
FAA 对无人机在飞行中广播身份和位置的描述。这是用于融入空域的问责层,而不是接收方航空器上的交通传感器。