本帖最后由 amovchun 于 2019-12-6 11:45 编辑
目前的小型无人系统的飞行管理系统,还处于初级阶段,远远不及大型飞机的飞行管理系统发展的成熟。下面是大型飞机的飞行管理系统框架。 图一 大型飞机计算机系统
飞行管理系统(FMS)综合了飞机上的导航、制导、自动飞行控制、性能优化、数据链管理等多种功能,飞行管理系统对于确保飞行安全和性能具有不可替代的作用:它通过各类导航传感器和飞机导航、性能数据库,估算并控制飞机按照最优化的航迹飞行,减轻飞行员的操作负担的效果。大型飞机各个模块相对独立,确保整个系统的稳定性。
反观小型无人机系统,在开源飞控领域PX4/Ardupilot,现阶段导航、控制、任务规划,甚至感知,都在一个片上系统里面做,软件上采用任务调度或者多线程的方式来做,多数设计均将飞行控制和任务管理集中于一台计算机,但是当任务管理工作是需要占用较大的计算机资源,并且飞行控制逻辑和任务逻辑相互耦合,使得单个飞控计算机的软件复杂程度大幅增加,对飞行安全造成很大影响。这是现阶段对于成本的控制,和技术成熟度的限制,还有相关标准缺乏导致。但是已经越来越不满足目前小型无人机的需求。市场需要感知能力更强,更智能的无人机来满足实际应用的需要。 图二 典型的Ardupilot/PX4飞控系统硬件接线图
在一些专用无人机系统上,软件上采用VxWorks操作系统,通过任务划分和状态机,硬件上相对独立和多冗余,来保证软件/硬件系统的高可靠性和安全性。 但是PX4/Ardupilot这种小型的无人系统开发平台,在软件构架和硬件构架还是在发展初级阶段。在软件硬件的冗余和耦合性上远远不如,大型民航飞机那样稳定和可靠。但是也是在朝着各个模块相对独立解耦合,任务管理,环境感知,运动控制逐步分立的方向发展。虽然现在很多模块还是耦合在一起,但是解耦合的发展迹象还是很明显。也是软件硬件系统的发展规律,各个模块相对独立,首先保证单个模块硬件软件绝对可靠,然后协同工作。 图三所示是相对比较完善的小型无人机计算机系统,包含飞控计算机(相当于人的脑干,负责完成运动控制系统的平衡性),感知和任务管理计算机(相当于人体的大脑,负责处理来自任务载荷的数据,并且做出决策,发送控制指令给飞控计算机),任务载荷模块(相当于人体的眼睛等传感器,感知周围环境数据然后给任务管理计算机处理)。电气系统是最底层的执行机构。地面站是人机交互系统。数据链接由无线数据传输系统来完成。各个模块都有对应的软件和硬件设备,相对独立,互相协作,构成一个完整的无人机计算机系统。 飞控计算机由单片机(MCU)和对应的实时操作系统担任,要求就是实时性强,任务执行频率上百赫兹,可以快速的控制电器系统,强调响应的实时性和相对简单可靠,确保被控对象的平衡稳定。 感知和任务管理计算机由PowerPC,DSP,Arm,X86构架的CPU来担任,通常都是计算性能强大,并且运行之上的操作系统可靠如(VxWorks)等。负责运算和决策,通常这种任务计算复杂,某些情况下也要求较高的任务执行频率。 图三 无人机的计算机系统
除了Ardupilot和PX4的飞控计算机之外,他们也有任务计算机系统,但是相对还不是很完善,比如目前的飞控计算机中还做一部分的任务管理计算机的工作,比如航线规划,避障,环境感知等,没有做到模块分离和独立。 Ardupilot支持的Companion Computers(任务计算机),大多以Linux/ROS/Mavros为软件构架,硬件上以Arm内核,X86内核为主。下面是Ardupilot官方给出的列表: 从功能上,有的是提供一个软件的框架,可以适配很多的不同硬件设备,有的提供一个完整的软件硬件解决方案提供4G通信,图像处理等高级功能。也在向模块独立的方向上发展。相信随着技术的发展,这些板载计算机(任务计算机)将会越来越完善,越来越像成熟的软件硬件方向发展(可以参考大型载人航空器的设计)。随着应用广泛和技术也会出现诸如PowerPC和VxWorks为代表的任务管理计算机系统,和飞控计算机系统彻底软件硬件分离。
阿木实验室的感知任务管理系统
我们也计划在任务管理系统上做一些工作,我们开源了我们的板载计算机软件框架(暂时支持PX4框架,未来计划推出支持ardupilot的版本)Github: github.com/amov-lab/px4_command(欢迎点亮小星星star)或者Wiki:amovwiki.readthedocs.io/zh_CN/latest/index.html px4_command功能包是一个基于PX4开源固件及Mavros功能包的开源项目,提供一个感知和任务计算机模块。目前已集成无人机外环控制器修改、目标追踪、激光SLAM定位、双目V-SLAM定位、激光避障等上层开发代码、后续将陆续推 出涵盖任务决策、路径规划、滤波导航、单/多机控制等无人机/无人车/无人船科研及开发领域的功能。配合我们的板载计算机(TX2、Nano)等运算能力比较强的处理器,来实现复杂算法的运行,运行得到的控制指令通过串口或者网口通信发送给底层控制板。
软件框架如下:
图五 系统软件框架 实际硬件框架如下: 图五 带激光雷达的硬件
感知和任务管理计算机的开发 在Ardpuliot/PX4的感知和任务管理计算机开发中,和大型无人机的任务管理计算机开发不同,小型无人机的任务管理计算机集中在环境感知,自动避障路径规划,目标物体识别追踪,自动搜寻,集群控制策略等领域。符合小型化,低空域,在有限空间飞行的特点。
开发重点 1 环境感知:以激光雷达,视觉传感器等硬件为主的激光SLAM/视觉SLAM开发方向,获得设备自身的方位,速度和姿态。 2 路径规划:以自动避障的路径规划,以集群控制为主的路径规划,以自动搜寻的路径规划,以无人机自动调度系统的路径规划。获得当前空间和时间下的设备自身的最优运动路径。 3 视觉识别:以目标物体的识别,感知,追踪,引导。获得目标物体的相对位置。
淘宝搜索:阿木实验室 板载计算机 了解为无人机任务管理系统量身打造的板载计算机设备。
|