2016年的蜂群Ⅱ自主化方案验证中强调了构件组合,表1描述了CARACaS功能构件一种配置。竖直分层从上至下隐含相互间的依赖关系。每个子项经组合形成中间件,提供公共模块库,支持从其他构件或分系统接收并提供共享数据,最重要的是通过采用DDS(Data Distribution Service)标准实现内部进程间通信IPC(Inter-Process Communication),同时采用同步和异步消息选择、在线数据一致控制、键控消息和内置过滤等策略,支撑CARACaS世界模型的实现。
| CARACaS自主架构 | CARACaS自主工具箱 |
| 自主应用 | 操作工具箱 |
命令字典 任务建模和行为 定制运动规划 硬件接口 | 命令接口 任务模型合成器 任务可视化 软件进程管理工具 |
| 自主模块 | 开发工具箱 |
任务执行 行为引擎 规划库 感知和控制模块 | 仿真引擎 内部检测工具 算法可视化 模块重放工具 |
| 体系结构定义 | 结构化服务 |
模块化分解 世界模型规格说明 接口控制文档 | 健康监控 参数管理 数据日志和回放 |
| 中间件 |
数据中心传输和通信 消息同步 命令和数据处理 |
在CARACaS系统中,所有智能体的运行方式均采用全分布式,即不存在某个特定的智能体进行集中式处理。在海上应用中,无人艇之间通过共享世界模型和隐式协调实现协同。图12描述了系统的主要软件模块和功能数据流,自主规划和控制元素驻留在任务执行程序和行为引擎中。
任务执行程序,根据当前世界模型的状态确定需要完成什么任务(识别任务),同时权衡所有智能体及其当前和未来的任务,确定由哪个智能体处理哪项任务(完成任务分配),并且负责管理每个自主智能体执行任务行为的时间表。因此,所有智能体均需要为自己和其他智能体作规划,但只执行给自己规划的内容。在海上遭遇通信难题无法精确通信时,该模型能根据当前数据共享的退化程度,适应性调整团队任务分配。
行为引擎负责如何成功完成每项任务,通过CARACaS命令和数据处理接口激活行为,顶层行为在任务分配后由任务执行程序激活。行为在本质上是分层级的,比如:核查行为首先可能会调用拦截行为,后者又可能会调用航路点行为。因此,命令和数据处理接口支持嵌入行为间任意调用。当然,行为引擎必须确保所有传递命令均通过反射性危险回避层检测,以确保艇体安全。
蜂群Ⅱ港口演习的目的是展示自主协同无人艇完成港口场景的巡逻任务。一组无人艇艇群,每个均具有完整的能力,安装GPS和一定探测距离的本地传感器,可完成某指定区域的巡逻任务。如图13所示,任何外来船只(用触点表示)进入该区域,必须采取跟踪、核查,若判断其为可疑船舶,在巡逻区域内应当对其实施尾随监视。这里核查操作需要相应USV安装摄像机和船舶识别软件,对触点图像进行辨识,判断入侵船舶的属性和类型;如果被认定为“可疑”船舶,则必须进行尾随处置;如果不是,则船只被认定为“中立”,保持适当跟踪即可。必须确保所有船舶均被检测和跟踪,并且所有可疑的船舶由专门USV尾随监视。
为了实现蜂群Ⅱ港口巡逻任务,自主无人艇共涉及四种典型行为:
1)巡逻(Patrol):协同监控某个指定的区域;
2)跟踪(Track):始终保持区域内外来船舶至少在一艘USV雷达探测范围内,并形成稳定轨迹;
3)核查(Inspect):分派一艘携带类似摄像机设备的USV对不明船舶进行分类和识别;
4)尾随(Trail):分派一艘USV密切追踪和监视已进行分类的可疑船舶。
在切萨皮克湾进行海上验证,测试USV蜂群在真实任务环境中实施港口巡逻的有效性,共计进行为期一个月涉及12个不同难度的水上场景(包括入侵船舶的不同数量、部署、速度、接近和机动方式等)测试。选择其中20个航次交给领域专家团队分析,在这些航次中,四艘无人艇共计完成38小时的自主运行。
验证结果表明:大多数自主方法包括任务识别、多智能体任务分配、协同行为执行、运动规划以及危险规避等可行且有效,同时体现了在应对通信难题时的鲁棒性。
尽管如此,评测显示验证结果对融合态势感知图像的高度依赖性以及感知噪声对整体系统性能的不利影响。绝大部分影响行为的异常都与感知相关,比如:航迹ID的改变、航迹丢失等与雷达性能相关。图14描述了某个误检目标点导致一个正处在尾随状态的USV,为了保证航行态势安全而被迫改变航向。
可见,对USV无人自主系统,主要困难还是传感器探测误差,特别是当任务场景的构建对传感器误检测点和不匹配航迹高度敏感时,困难表现得更加突出。
通过对当前水面无人艇自主导航的主要感知模块比较分析,初步得出以下结论
[15]。
1)雷达感知距离最远,但受限于机械扫描速率。常见的商用海上X波段雷达也难以处理近距离回波(<100 m),虽然该限制部分可以通过采用更精细化的信号处理方案来克服;Ka波段雷达提供了较好的折中方案,探测范围为30 m~3 km,但单纯使用雷达很难解决船舶类型识别问题。
2)激光雷达虽然具有较合理的感知距离和距离分辨率,但与雷达一样,受限于机械扫描速率。在实际应用中,有效射程也受限于较低的角度分辨率和船体摇摆,导致较小目标(如船只)在“稍远”(大于数十米)时就只能返回少量的激光点云。
3)360度单目视觉虽然有较好的角分辨率,且无须机械扫描,但受当前视觉算法在不同光照条件下对各种类型障碍物可靠检测能力的限制,特别是单目视觉距离分辨率相对较差,只能通过视觉上或惯性感应,在感知图像中找到参考地平线。
4)立体视觉具有出色的角度分辨率,且无须额外的机械稳定平台,同时能可靠地感知和检测水面上的物体。但受相机基线和图像分辨率约束,主要不足仍是相机视场角和距离分辨率。
可见,单独依靠一类感知模块,难以实现无人艇自主的感知和导航,针对不同任务和场景,组合采用上述不同感知模块,是解决无人艇自主航行的必然选择。
鉴于商用的雷达感知技术相对比较成熟,激光雷达在无人艇上的应用尚有很多技术难点需要攻克,如探测距离太近和受海况影响返回的点云过于稀疏、质量也难以令人满意,有研究者认为,受海浪影响当距离大于20 m时,激光雷达相对就不再有效。鉴于CARACaS团队更多精力放在视觉感知方面,因此,下面重点对这方面的工作进行分析。
美国海军使用水面自主视觉分析和跟踪系统SAVAnT(Surface Autonomous Visual Analysis and Tracking)
[15,16]来实现水面目标分析与跟踪,SAVAnT系统实现了中远程探测及跟踪其他船只,并确定船只是否具有对抗性,SAVAnT接收来自全向摄像头的图像,识别图像中感兴趣的目标,估算目标存在的概率,包括无人艇传感器范围之外的目标。
SAVAnT系统的组件和数据流如图15所示,图像服务器捕获原始相机图像和INS(Inertial Navigation System)姿态数据,并生成“稳定”图像。触点服务器检测“稳定”图像中感兴趣的目标(触点),并计算每个目标的绝对方位。通过目标级跟踪和变化检测OTCD(Object-level Tracking and Change Detection)服务实现对一系列来自真实目标和假目标的触点方位进行分类,通过隐形三角测量定位目标位置(纬度/经度),维护一个跟踪目标数据库,并在新目标出现或已知目标消失时进行报警。
图15 SAVAnT系统的系统组件和数据流[16] |
由于复杂多变的照明条件、视角的变换、可能遮挡等,不同的触点范围和海况的变化,从图像中检测特定类型的物体十分困难。
SAVAnT系统针对上述不利条件,在进行触点检测前通过图像服务器进行了一系列的预处理。对于光照条件差的情况,实施增加曝光时间处理;对于由海浪带来的视角变换,使用惯导姿态信息保持图像“稳定”,稳定的图像将被裁剪成以地平线为中心的垂直条带,重点处理水面上感兴趣的区域,从而减少计算时间;然后分别使用天空和水面中采样到的局部像素平均值对图像强度进行归一化处理。
触点检测过程必须足够灵敏,以便以相对较低的误报率从输入中提取所有真实目标。SAVAnT使用了两种自定义算法,专门用于检测场景中感兴趣特定类型目标的触点。
OTCD算法处理触点服务器中被识别的所有触点,以生成ASV任务所需的态势感知。该功能采用生成和维护目标列表的形式,确认目标存在,估计目标位置。
OTCD操作在“物体层面”而不是图像领域,主要是考虑已获取的目标可能不在当前图像中,在“物体层面”处理触点还可以避免对来自不同相机的图像进行记录和拼接处理。OTCD通过跟踪巡逻区域内所有目标来实现触点数据库建立,包括位置估计、位置估计的协方差以及目标是否存在的概率。
这套“物体层面”上触点跟踪方式,初步解决了多目标的跟踪问题,但SAVAnT的跟踪任务与传统的多目标问题,特别是与锚泊区舰队防护AFP(Anchored Fleet Protection)任务之间有重要区别。
JPL在设计SAVAnT系统时选用了一个特殊的移动传感器,它关注目标在长时间尺度上的身份,覆盖目标区域为完全超出传感器感知范围更大时间的区间。传统的跟踪场景要么使用固定的传感器,要么在移动时使用短时间尺度的传感器,无论哪种方式,它们主要负责检测即时可见的触点,相比而言,SAVAnT允许目标“离开”和“回来”,在“回来”后仍然作为“离开”前的同一目标进行跟踪,为应对这一挑战,SAVAnT为每个目标创新发明了一个“存在概率”以及管理这一概率的方法。
在锤头立体系统中,立体摄像机的布置体现了分辨率、视场和构型等因素的工程折中。由于单个立体对很难实现有效导航和远距离探测所需的大视场和小角度分辨率;而多个立体对可以提供所需的视场和角度分辨率。但问题是当多个立体对以传统方式安装在单独的固定装置上时,会变得笨重且难以集成。采用的折中方法是:在同一固定装置上安装两个立体对;摄像机共享一个公共基线,其中一对摄像机面向左侧,另一对摄像机面向右侧。这种排列提供了良好的分辨率和视场,并采用一种紧凑构型,代价是没有理想的几何立体测距。最终配置是:两组安装在公共夹具上的摄像机,具有1米基线和100度组合视野。采用摄像机分辨率为1280×960像素单色电荷耦合器件(CCD),单组视场约为60°,如图16所示。
在多变的海上环境,获得水面物体的高质量图像一直都是一项挑战,低太阳角和水面镜面反射等环境因素作用,可能会使相机内置的自动曝光控制失效,船只高加速度也可能导致图像产生运动模糊。因此,锤头系统中曝光控制算法,需要通过自适应控制增益和快门速度来消除这些不利因素的影响。
锤头系统处理流程为:1)图像处理。①立体测距,即通过左右立体对,生成密集测距图像;②查找平面,找到水平基准面同时计算出稳定的相机位姿。2)映射。①投影,将距离数据投影到以船舶为中心的二维栅格地图上;②过滤,在地图上,完成空间和时间过滤;③分类,计算每个地图单元上的危险概率。3)跟踪。①检测:在二维栅格地图中检测离散目标(触点);②分类:为每个触点指定类型;③跟踪:触点融合后形成轨迹,并估计目标的速度和航向。
立体视觉系统生成两类输出:一类基于网格的危险图,适用于静态导航;另一类离散触点列表,适用于动态导航。某些目标(如船舶)可能同时出现在这两类视图中。其中,分类器使用有监督学习算法和手工标注的训练数据离线生成。
分类算法在应用于海洋环境时会出现两方面难题。1)锤头上摄像头布置方式降低了有效分辨率。在锤头上,虚拟校正摄像机相对于真实摄像机旋转,导致校正图像的分辨率不均匀。具体而言,校正后的图像在前进方向(相对于船)上压缩,并在侧面拉伸。由于这种前向压缩特别麻烦,因为它减小了对象的外观尺寸,从而减小了有效的检测范围。因此,为了在不牺牲侧面视野的情况下在前进方向上保持足够高的分辨率,校正后的图像必须比原始图像放大约20%。2)必须对距离数据进行噪声过滤。立体相关器包括许多内部检查,但是一些错误的对应关系不可避免地引入视差图像。在许多应用中,可以使用简单的后处理技术来消除这些错误,分割视差图像并删除具有少量像素或子区域非常小的部分。然而,在海洋环境中,这种方法导致去除水面和感兴趣的物体(通常较小)。为此,我们用一个简单的多尺度滤波器来增强标准后处理技术:立体测距在多尺度(降采样图像)上独立执行,并去除不一致的结果。这种方法可以为水面图像生成更好的信噪比,且总计算量只需要略微增加(由于立体相关计算量与图像大小的立方体成正比,因此图像大小减半可使计算量降至原来的1/8)。
采用多尺度过滤器能形成一个相对干净的以船本体为中心的地图,支持危险检测。地图使用惯导与GPS组合信息进行地理注册,静态危险物在数字海图上标记。用误差椭圆的大小表示立体测距信息中的不确定性,由于目标边界上存在模糊混合测距像素,在校准深度方向上的相对距离比在交叉轨迹方向上的相对距离更大。在跟踪阶段,栅格地图被用于检测、分类和跟踪离散目标,如船舶、航道标记和浮标。锤头系统的输出是一组触点,表示为目标的位置、速度和类型。
在海上机器人领域,无人艇迫切需要更高效地自动检测、跟踪和分类船舶和其他水上危险物的模型,为此,2020年JPL开发出了一种先进的接触检测和分析系统CDAS (Contact Detection and Analysis System),用于处理摄像机图像(包括可见光和红外光谱),实现360°的海上态势感知
[17,18,19]。
根据JPL自2006年以来的水上感知系统构建经验,实现稳健的海面目标感知任务需要关注以下具有挑战性的情景:低能见度天气条件、严重杂波的沿海和河流环境、高海况、高速的船舶本体和触点运动以及半淹没危险等。针对这些复杂场景,CDAS软件通过对JPL自主设计的360°摄像头模块和立体视觉摄像头模块的输入数据进行融合处理,以实现稳健的触点检测,如图17所示。值得一提的是,CDAS系统中使用了先进的立体视觉处理技术,包括相机自校准、独立安装的相机之间的实时立体处理等,可实现远距离的海面目标检测和测距,并通过机器学习算法对环境中的目标进行分类,这项基于摄像头的感知技术具有革新性。
CDAS在完成检测任务后,还必须对图像中触点进行跟踪,以估算触点处目标的速度,便于后续目标运动估计,并对船舶目标类型进行分类,如图18所示。
海面目标的识别结果用水平矩形框标出,目标类别有货船、游艇、军用小艇、浮标等。针对海面多种易混淆目标,CDAS中检测模型对海面上多种目标进行了详细地标注和训练。
CDAS系统通过对海面进行全方位的感知,生成基于网格的危险感知地图以及离散型触点目标列表,列表信息包括目标的批号、位置和速度等。
CARACaS框架通过CDAS系统高效地识别并分类船舶,从而便于JPL行为规划引擎给出的行为序列符合国际海事COLREGS规则。此外,CDAS系统还支持诸如自动目标识别ATR(Automated Target Recognition)和情报、监视和侦察等任务操作。
JPL一直在不断升级其立体感知系统,从最早的第一代360度单目摄像系统,已经逐步发展到第六代USV交叉立体处理系统。
其中:第一代由360度单目摄像+前视立体摄像+光电EO(Electro-Optical)构成,第二代由360度高清摄像+高分辨率前视立体摄像+EO构成,第三代系统由360度高清摄像+高分辨率前视立体摄像+EO/红外IR(Infra-Red)构成
[18],如
图19。
第四代感知系统是一种机械式松耦合立体光电/红外系统MUSE(Mechanically Uncoupled Stereo EO/IR)
[20],如
图20所示。解决方案是采用远距离立体摄像系统,实现无雷达触点检测:1)通过利用舰艇自身的立体基线,实现远距离触点的检测;2)由于只需要被动感知,具备根据任务改变游戏规则能力;3)装舰适用性,仅仅需要放置一个摄像机;4)能够通过测量海岸线实现无GPS导航。面临的挑战有:缺乏刚性立体安装杆,长基线安装杆结构容易变形,每帧图像均需要校准;校准采用手工处理非常困难。JPL创新工作:仅仅采用作战图像就能实现高保真自动校准;高分辨率宽基线立体图像的快速立体处理;多摄像域3D结构新型学习算法。
2017年5月,MUSE被安装在海上猎人(Sea Hunter)进行测试,采用GPS和AIS提供海上目标真值,分别进行了大基线和超大基线试验验证,虽然取得预期成效,但仍面临诸多挑战难题:在大基线方面,由于安装杆过重带来的安装问题和视点变形等问题,完全刚性的安装杆(≫1 m)几乎不可行;在高分辨率图像方面,需要非常宽幅的图像才能“看到”触点目标,需要较小的角分辨率才能实现较好的距离估计,此类大处理带宽和低更新率在高速平台上几乎是不可实现;在视场方面,要求宽覆盖,需要看到USV前方的所有触点,才能实现有效的态势感知。
第五代感知系统是一类多USV立体交叉系统CUS (Cross-USV Stereo)
[18,21],如
图21所示。解决方案采用多个USV实现远距离目标三角定位:1)根据两艘舰艇分开形成的基线,检测远距离目标触点;2)同样由于是被动感知,具备根据任务改变游戏规则能力;3)两艘舰船同时获得目标触点;4)根据两艘USV之间的距离,以及到触点的角度解三角形。可能的挑战:需要同步相隔100多米的图像;找到不同视场中相同触点;建立精确触点指向角;多个USVs相继获得触点位置。JPL创新工作:采用触点检测(单目CDAS)定位远距离触点;图像同时获取;多平台角度精确确定。
JPL在陆地上采用162 m基线(相机间隔)进行测试。在陆地上,采集从几百米到10 km的10个图像目标(触点)进行验证,表明定位误差是距离的函数。在162 m基线情形下,1个像素的观测误差约为距离3.5%(即350 m,对于10 km);给定方向和像素误差时,10 km目标观测速度误差情况如图22所示。
图22 给定方向和像素误差时(10 km),速度误差与观测点数关系[18] |
第六代感知系统一体化垂直被动光电测距系统VIPER(Vertical Integrated Passive EO Ranger)
[18,21],如
图23。针对当前感知系统存在的设备重(>45 kg)、功率高(>500 W)、价格贵(7万美元)等问题,设计方案采用立体垂直化解决方案,由低功耗处理器和被动廉价的EO相机集成构成,实现触点距离估计。面临的挑战有:廉价摄像机(小于500美元)采用渐进扫描方式,在运动平台上可能会退化;信用卡大小的处理器无法采用标准处理架构,需要软件进行适应性修改。JPL创新:红外和可见光相机在运动平台采用渐进扫描方式可行性已完成验证;已完成在Tegra X1处理器卡进行MUSE优化编码测试。VIPER优势:连续功率35 W(峰值功率小于50 W)、重量(小于4.5 kg)、等价或优于HammerHead(更新率2 Hz)性能、价格约1万美元/单元。
表2列出了JPL实验室,在推动水上被动感知测距技术情况小结。
| 系统 | 最大距离 | EO/IR | 视场 | 平台 |
| 第一代 | 中距离 | EO | 窄 | 动力艇 |
| 第二代 | 远距离 | EO | 窄 | 动力艇 |
| 第三代 | 远距离 | EO/IR | 窄 | 动力艇 |
| MUSE | 很远距离 | EO | 宽 | 海上猎人 |
| CUS | 很远距离 | EO | 全 | USV蜂群 |
| VIPRE | 远距离 | EO | 全 | 动力艇两栖船 |
以上分析集中在视觉信息处理层面,这应该是无人系统在特殊应用场景中取代人的一项重要的能力提升,所有综合处理也都侧重于视频特征。如何采用数据融合技术构建完整的感知态势图,可参见瓦格纳联合公司(D. H. Wagner Associated)相关研究工作
[22]。该公司在SIS、先进研究实验室ARL(Advanced Research Laboratory)等协助下,基于数据融合数学模型方面的优势,成功研制了以异构无人航行器UVs(Unmanned Vehicles)平台协同为应用对象、以分散式自主数据融合服务DADFS(Decentralized and Autonomous Data Fusion Service)处理为核心的融合航迹云和数据融合引擎,如
图24所示,其中的核心算法已经通过4个实际无人平台的真实数据和50个无人航行器的模拟数据测试验证。DADFS算法的主要特点包括:1)采用“燃烧干柴(Burns Down the Haystack)”技术显著减少环境杂波;2)为与操作员关注、具有较高利害关系的航迹和目标进行报警;3)改善航迹一致性;4)改善目标分类和身份识别效果(精度和潜伏期);5)潜伏期和延迟的最小化,提升抗中断能力;6)在通信网络出现中断、间隙和低带宽情形下保持高效处理;7)轻量化软硬件。
图24 DADFS融合航迹云及其数据融合引擎[22] |
图24中,JDBS即JHU/APL(Johns Hopkins University Applied Physics Laboratory)分布式黑板系统,由JHU/APL提供。