近年来随着光电探测、人工智能、导航及控制等领域的快速发展,无人侦察技术发展迅猛,已成为世界各国重点发展方向。目前的无人侦察手段主要集中在空基、天基和临近空间等领域,利用无人机、人造卫星及高空气球搭载照相机、成像雷达等探测设备对地表上的目标物体进行侦察[1]。但是,目前的无人侦察手段依赖于全球导航卫星系统(global navigation satellite system,GNSS)的辅助,当面临卫星拒止环境时,探测系统的瘫痪甚至会引起灾难性的安全事故。
地下空间作为继宇宙与海洋之外人类亟需开拓的又一大领域,近年来受到了广泛关注。但是,地下环境作为一种典型的卫星拒止复杂环境,极大地限制了人类的感知能力。在2016年至2017年的摩苏尔战役中,由于现有探测系统无法在无卫星的环境下为士兵提供可靠的战场环境信息,很多作战任务未能达成目标。掌握地下空间对于军事作战、灾后救援、基础设施监控等领域都有着十分重要的意义[2],因此亟需发展面向地下空间环境的无人探测系统。
移动机器人作为人工智能在应用层面的典型代表[3],是一种能够在复杂环境下工作的智能机器人,目前已在越来越多的行业中发挥了重要作用,如宇宙探测、精准农业等[4-5]。利用移动机器人先行探索可以在复杂的地形环境中获取丰富的环境信息,从而引导人员成功完成任务。2018年,美国国防高级研究计划局(DARPA)开展了“地下挑战赛”项目,该项目旨在利用移动机器人为军方寻求面向地下环境的自主导航与探测新方法[6]。2019年,美军司令部专门针对地下环境发布了《地下空间行动指南》,指出了如何在无卫星环境中进行作战:“移动机器人总是需要自主先行,为后面穿过隧道的人类探路”。但是,现有的移动机器人探测受制于诸多技术难点,例如地下复杂环境导致的定位精度恶化以及难以对目标进行精确定位等问题,因此无法在地下空间环境中实现可靠的自主探测。
本文提出了一种面向地下空间探测的移动机器人定位与感知方法。首先,构建了基于因子图的激光雷达/里程计/惯性测量单元的紧耦合融合框架,推导了高精度惯性测量单元/里程计预积分模型,能够避免惯性测量单元与里程计量测信息的重复积分,从而减小计算负担。其次,提出了基于激光雷达/红外相机融合的目标识别方法,通过端到端的训练方式,对图像进行多层次的特征提取与融合,提升了识别的准确率以及相对定位精度。
2 基于因子图的激光雷达/里程计/惯性测量单元紧耦合融合方法(Tightly-coupled LiDAR-odometer-IMU fusion method based on factor graph) 2.1 基于因子图的紧耦合融合框架传统的基于激光雷达辅助的多源信息融合方法多是采用松耦合的方式。该类方法对各信息源分开进行解算,在此基础上采用滤波或因子图的方式进行融合。Zhang[7]提出了一种实时的激光雷达定位与构图方法,利用惯性测量单元(IMU)的解算结果作为先验信息辅助激光雷达进行点云匹配。Shan[8]提出了一种基于地面优化的激光雷达里程计方法,实现了算法的低漂移率和低计算复杂度。但是,以上方法都解耦了激光雷达和IMU的量测信息,并没有利用IMU做进一步的优化。Shan[9]将IMU预积分因子添加到后端的因子图框架中,并与前端获取的激光雷达测量信息进行联合优化估计,但其仍然只是分开考虑了激光雷达和IMU的估计。Tang[10]采用了基于扩展卡尔曼滤波器(EKF)的松耦合方式对IMU和激光雷达信息进行融合,但其只适用于2维运动的情况,无法处理3维运动和更复杂的环境。
在地下空间中,常常会出现“结构退化环境”,如长直走廊等。这时激光雷达的点云信息通常是特征缺失的,在车体运动的前后方向没有可用的有效点进行位姿约束。在松耦合的情况下,会将这种错误的激光雷达里程计信息作为后端的融合输入,从而导致最终的融合结果受到影响。本文提出了一种基于因子图的激光雷达/里程计/惯性测量单元紧耦合融合方法。相比于松耦合方式,将激光雷达扫描获取的点云信息作为观测量加入到后端融合中,能够有效地避免结构退化环境给融合结果带来的影响。
考虑到机械式3维激光雷达内部存在旋转机构,通过采集一整圈的点云数据构成一帧雷达点云。当激光雷达运动时,扫描得到的点云数据会失真,因此得到的点云与真实环境不同。为了解决这个问题,本文利用惯性测量单元/里程计预测激光雷达的运动,并假设激光雷达在扫描期间呈线性运动,通过线性插值矫正每个点云以补偿点云畸变。
本文设计的紧耦合方法为:通过惯性递推方程更新系统状态并计算惯性测量单元/里程计预积分量测结果,对激光雷达原始数据进行处理以获得去除畸变后的点云数据。根据先前对应的优化状态,将局部窗口内先前的激光雷达特征点合并为一个局部地图,从而找出相对激光雷达测量数据。最后进行因子图优化,采用相对激光雷达测量数据和惯性测量单元/里程计预积分来获得局部窗口内状态的最大后验估计,并利用优化结果来更新系统状态。紧耦合方案如图 1所示。
![]() |
图 1 激光雷达/里程计/惯性测量单元紧耦合方案图 Fig.1 Tightly-coupled LiDAR-odometer-IMU scheme |
因子图的状态向量设置如下:
$ \begin{align} {{\mathit{\boldsymbol{X}}}}&=[{{{\mathit{\boldsymbol{x}}}}_{0}, {{\mathit{\boldsymbol{x}}}}_{1}, \cdots, {{\mathit{\boldsymbol{x}}}}_{n}}]\\ {{\mathit{\boldsymbol{x}}}}_{k}&=[{{{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k}} ^{\rm n}, {{\mathit{\boldsymbol{v}}}}_{{\rm b}_{k}} ^{\rm n}, {{\mathit{\boldsymbol{q}}}}_{{\rm b}_{k}} ^{\rm n}, {{\mathit{\boldsymbol{b}}}}_{{\rm a}_{k}}, {{\mathit{\boldsymbol{b}}}}_{{\rm g}_{k}}, s_{{\rm o}_{k} }, {{\mathit{\boldsymbol{p}}}}_{{\rm o}_{k}} ^{\rm b}, {{\mathit{\boldsymbol{q}}}}_{{\rm o}_{k}} ^{\rm b}} ], \quad k\in \left[ {0, n} \right] \end{align} $ | (1) |
其中,
$ \begin{align} \min\limits_{{\mathit{\boldsymbol{X}}}} \Bigg( & \| {{{\mathit{\boldsymbol{r}}}}_{\rm P} -{{\mathit{\boldsymbol{H}}}}_{\rm P} {{\mathit{\boldsymbol{X}}}}}\|^{2} + \sum\limits_{k-n}^k {\| {{\mathit{\boldsymbol{r}}}}_\text{I/O} (\hat{\mathit{\boldsymbol{z}}}_{{\rm b}_{k+1} }^{{\rm b}_k}, {{\mathit{\boldsymbol{X}}}} ) \|_{{{\mathit{\boldsymbol{P}}}}_\text{I/O}} ^{2}}+ \\ &\sum\limits_{{k-n}}^{{k}} {\| {{{\mathit{\boldsymbol{r}}}}_{\rm L} ({{\hat{\mathit{\boldsymbol{z}}}}_{\rm L}, {{\mathit{\boldsymbol{X}}}}} )} \|_{{{\mathit{\boldsymbol{P}}}}_{\rm L}} ^{2}} \Bigg) \end{align} $ | (2) |
式(2) 中,
在图优化过程中,优化时刻的状态量需要被频繁地调整,使得IMU的量测信息需要被重复积分,因此会导致较大的计算负担。为了解决这个问题,引入惯性预积分理论以避免重复积分问题[11-12]。但是,以上的预积分方法多针对精度较低的微机电系统(MEMS)惯性器件,由于该类器件本身无法测量地球自转角速度以及载体运动带来的导航坐标系与地球坐标系的转动角速度,因此其对应的预积分模型不得不作一定程度的简化。但是,当应用精度较高的惯性器件时,以上的模型将会带来较大的误差。
本文提出了一种面向高精度惯性导航系统的预积分方法。考虑到地球自转角速度以及载体运动产生的有害加速度,重新构建了惯性器件输出模型。同时,考虑到里程计的递推特性,将里程计的测量信息投影到机体坐标系下,从而形成高精度惯性测量单元/里程计预积分模型。其中,IMU坐标系记为
![]() |
图 2 IMU与里程计坐标系 Fig.2 IMU and odometer frames |
扣除额外角速度的陀螺模型为
$ \begin{equation} {{\mathit{\boldsymbol{w}}}}={{\mathit{\boldsymbol{w}}}}_{\rm ib}^{\rm b} -{{\mathit{\boldsymbol{R}}}}_{\rm n}^{\rm b} ({{\mathit{\boldsymbol{w}}}}_{\rm ie}^{\rm n} +{{\mathit{\boldsymbol{w}}}}_{\rm en}^{\rm n}) \end{equation} $ | (3) |
其中,
在载体运动过程中,会分别产生哥氏加速度以及法向加速度,因此扣除了额外加速度的加速度计完整模型为
$ \begin{equation} {{\mathit{\boldsymbol{a}}}}={{\mathit{\boldsymbol{a}}}}_{\rm ib}^{\rm b} -{{\mathit{\boldsymbol{R}}}}_{\rm n}^{\rm b} (2{{\mathit{\boldsymbol{w}}}}_{\rm ie}^{\rm n} +{{\mathit{\boldsymbol{w}}}}_{\rm en}^{\rm n}) \times {{\mathit{\boldsymbol{v}}}}_{\rm en}^{\rm n} \end{equation} $ | (4) |
其中,
惯性测量单元/里程计在导航坐标系下的状态传播方程被建模为如下形式:
$ \begin{equation} \begin{aligned} {{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k+1}} ^{\rm n} & ={{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k}} ^{\rm n} +{{\mathit{\boldsymbol{v}}}}_{{\rm b}_{k}} ^{\rm n} \Delta t_{k} +\int {\int {\left[{{{\mathit{\boldsymbol{R}}}}_{{\rm b}_{t}} ^{\rm n} \left( {{\hat{\mathit{\boldsymbol{a}}}}_{t} -{{\mathit{\boldsymbol{b}}}}_{{\rm a}_{t}} -{{\mathit{\boldsymbol{n}}}}_{\rm a}} \right)-{{\mathit{\boldsymbol{g}}}}^{\rm n}} \right]{\rm d}t^{2}}} \\ {{\mathit{\boldsymbol{v}}}}_{{\rm b}_{k+1}} ^{\rm n} & ={{\mathit{\boldsymbol{v}}}}_{{\rm b}_{k}} ^{\rm n} +\int {\left[ {{{\mathit{\boldsymbol{R}}}}_{{\rm b}_{t}} ^{\rm n} \left({{\hat{\mathit{\boldsymbol{a}}}}_{t} -{{\mathit{\boldsymbol{b}}}}_{{\rm a}_{t}} -{{\mathit{\boldsymbol{n}}}}_{\rm a}} \right)-{{\mathit{\boldsymbol{g}}}}^{\rm n}} \right]} {\rm d}t \\ {{\mathit{\boldsymbol{q}}}}_{{\rm b}_{k+1}} ^{\rm n} & ={{\mathit{\boldsymbol{q}}}}_{{\rm b}_{k}} ^{\rm n} \otimes \int {\frac{1}{2}} {\boldsymbol \varOmega} \left({{\hat{\mathit{\boldsymbol{w}}}}_{t} -{{\mathit{\boldsymbol{b}}}}_{{\rm g}_{t}} -{{\mathit{\boldsymbol{n}}}}_{\rm g}} \right){{\mathit{\boldsymbol{q}}}}_{{\rm b}_{t}} ^{{\rm b}_{k}} {\rm d}t\\ {{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k+1}} ^{\rm n} & ={{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k}} ^{\rm n} +{{\mathit{\boldsymbol{R}}}}_{{\rm b}_{k}} ^{\rm n} {{\mathit{\boldsymbol{p}}}}_{{\rm o}_{k}} ^{\rm b} +\\ &\quad\; \int {{{\mathit{\boldsymbol{R}}}}_{{\rm b}_{t}} ^{\rm n} {{\mathit{\boldsymbol{R}}}}_{{\rm o}_{t} }^{\rm b}} \left({s_{{\rm o}_{t}} {\hat{\mathit{\boldsymbol{v}}}}_{t} -{{\mathit{\boldsymbol{n}}}}_{\rm s}} \right){\rm d}t-{{\mathit{\boldsymbol{R}}}}_{{\rm b}_{k+1}} ^{\rm n} {{\mathit{\boldsymbol{p}}}}_{{\rm o}_{k+1}}^{\rm b} \end{aligned} \end{equation} $ | (5) |
其中,
$ \begin{equation} \boldsymbol\varOmega ({{{\mathit{\boldsymbol{w}}}}} )= \begin{bmatrix} {-\left[{{{\mathit{\boldsymbol{w}}}}} \right]_{\times}} & {{{\mathit{\boldsymbol{w}}}}} \\ {-{{\mathit{\boldsymbol{w}}}}^{\rm T}} & 0 \\ \end{bmatrix}, \; \; \; [{{{\mathit{\boldsymbol{w}}}}} ]_{\times} = \begin{bmatrix} 0 & {-w_{{z}}} & {w_{{y}}} \\ {w_{{ z}}} & 0 & {-w_{{x}}} \\ {-w_{{y}}} & {w_{{x}}} & 0 \\ \end{bmatrix} \end{equation} $ | (6) |
在式(5) 中,
将式(5) 中的参考系由导航坐标系转换为
$ \begin{equation} \begin{aligned} &{{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}} {{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k+1}} ^{\rm n}={{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}} \left({{{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k}} ^{\rm n} +{{\mathit{\boldsymbol{v}}}}_{{\rm b}_{k}} ^{\rm n} \Delta t_{k} -\frac{1}{2}{{\mathit{\boldsymbol{g}}}}^{\rm n}\Delta t_{k}^{2}} \right)+{\boldsymbol \alpha}_{{\rm b}_{k+1} }^{{\rm b}_{k}} \\ &{{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}} {{\mathit{\boldsymbol{v}}}}_{{\rm b}_{k+1}} ^{\rm n}={{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}}({{{\mathit{\boldsymbol{v}}}}_{{\rm b}_{k}} ^{\rm n} -{{\mathit{\boldsymbol{g}}}}^{\rm n}\Delta t_{k}} )+{\boldsymbol \beta} _{{\rm b}_{k+1}} ^{{\rm b}_{k}} \\ &{{\mathit{\boldsymbol{q}}}}_{\rm n}^{{\rm b}_{k}} \otimes {{\mathit{\boldsymbol{q}}}}_{{\rm b}_{k+1}} ^{\rm n}={\boldsymbol \gamma}_{{\rm b}_{k+1} }^{{\rm b}_{k}} \\ &{{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}} {{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k+1}} ^{\rm n}={{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}} {{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k}} ^{\rm n} -{{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}} {{\mathit{\boldsymbol{R}}}}_{{\rm b}_{k+1}} ^{\rm n} {{\mathit{\boldsymbol{p}}}}_{{\rm o}_{k+1}} ^{\rm b} +{{\mathit{\boldsymbol{p}}}}_{{\rm o}_{k}} ^{\rm b} +{\boldsymbol \eta}_{{\rm b}_{k+1}} ^{{\rm b}_{k}} \end{aligned} \end{equation} $ | (7) |
其中,
$ \begin{equation} \begin{aligned} {\boldsymbol \alpha} _{{\rm b}_{k+1}}^{{\rm b}_{k}}&=\int {\int {{{{\mathit{\boldsymbol{R}}}}_{{\rm b}_{t}} ^{{\rm b}_{k}} ({\hat{\mathit{\boldsymbol{a}}}_{t} -{{\mathit{\boldsymbol{b}}}}_{{\rm a}_{t}} -{{\mathit{\boldsymbol{n}}}}_{\rm a}} )} }} {\rm d}t^{2} \\ {\boldsymbol \beta} _{{\rm b}_{k+1}}^{{\rm b}_{k}}&=\int {{{{\mathit{\boldsymbol{R}}}}_{{\rm b}_{t}}^{{\rm b}_{k}} ({\hat{{{\mathit{\boldsymbol{a}}}}}_{t} -{{\mathit{\boldsymbol{b}}}}_{{\rm a}_{t}} -{{\mathit{\boldsymbol{n}}}}_{\rm a}} )} {\rm d}t} \\ {\boldsymbol \gamma} _{{\rm b}_{k+1}}^{{\rm b}_{k}}&=\int {\frac{1}{2}} {\boldsymbol \varOmega} ( {\hat{\mathit{\boldsymbol{w}}}_{t} -{{\mathit{\boldsymbol{b}}}}_{{\rm g}_{t}} -{{\mathit{\boldsymbol{n}}}}_{\rm g}} ){\boldsymbol \gamma} _{{\rm b}_{t}}^{{\rm b}_{k} } {\rm d}t \\ {\boldsymbol \eta}_{{\rm b}_{k+1}}^{{\rm b}_{k}}&=\int {{{\mathit{\boldsymbol{R}}}}_{{\rm b}_{t}}^{{\rm b}_{k}} {{\mathit{\boldsymbol{R}}}}_{{\rm o}_{t} }^{\rm b} ({s_{{\rm o}_{t}} \hat{{{\mathit{\boldsymbol{v}}}}}_{t} -{{\mathit{\boldsymbol{n}}}}_{\rm s}} ){\rm d}t} \end{aligned} \end{equation} $ | (8) |
在式(7) 中,
$ \begin{equation} \begin{aligned} {\boldsymbol \alpha} _{{\rm b}_{k+1}} ^{{\rm b}_{k}} &={\hat{\mathit{\boldsymbol{\alpha}}}} _{{\rm b}_{k+1} }^{{\rm b}_{k}} +{{\mathit{\boldsymbol{J}}}}_{\delta {{\mathit{\boldsymbol{b}}}}_{{\rm a}_{k}}} ^{\delta {\boldsymbol \alpha}_{{\rm b}_{k+1}} ^{{\rm b}_{k}}} \delta {{\mathit{\boldsymbol{b}}}}_{{\rm a}_{k}} +{{\mathit{\boldsymbol{J}}}}_{\delta {{\mathit{\boldsymbol{b}}}}_{{\rm g}_{k}}} ^{\delta {\boldsymbol \alpha}_{{\rm b}_{k+1}} ^{{\rm b}_{k} }} \delta {{\mathit{\boldsymbol{b}}}}_{{\rm g}_{k}} \\ {\boldsymbol \beta} _{{\rm b}_{k+1}} ^{{\rm b}_{k}} &={\hat{\mathit{\boldsymbol{\beta}}}} _{{\rm b}_{k+1} }^{{\rm b}_{k}} +{{\mathit{\boldsymbol{J}}}}_{\delta {{\mathit{\boldsymbol{b}}}}_{{\rm a}_{k}}} ^{\delta {\boldsymbol \beta}_{{\rm b}_{k+1}} ^{{\rm b}_{k}}} \delta {{\mathit{\boldsymbol{b}}}}_{{\rm a}_{k}} +{{\mathit{\boldsymbol{J}}}}_{\delta {{\mathit{\boldsymbol{b}}}}_{{\rm g}_{k}}} ^{\delta {\boldsymbol \beta}_{{\rm b}_{k+1}} ^{{\rm b}_{k}} } \delta {{\mathit{\boldsymbol{b}}}}_{{\rm g}_{k}} \\ {\boldsymbol \gamma} _{{\rm b}_{k+1}} ^{{\rm b}_{k}} &={\hat{\mathit{\boldsymbol{\gamma}}}} _{{\rm b}_{k+1} }^{{\rm b}_{k}} \otimes \begin{bmatrix} 1 \\ {\dfrac{1}{2}{{\mathit{\boldsymbol{J}}}}_{\delta {{\mathit{\boldsymbol{b}}}}_{{\rm g}_{k}}}^{\delta {\boldsymbol \theta}_{{\rm b}_{k+1}}^{{\rm b}_{k}}} \delta {\mathit{\boldsymbol{b}}}_{{\rm g}_{k}}} \\ \end{bmatrix} \\ {\boldsymbol \eta} _{{\rm b}_{k+1}} ^{{\rm b}_{k}} &={\hat{\mathit{\boldsymbol{\eta}}}} _{{\rm b}_{k+1} }^{{\rm b}_{k}} +{{\mathit{\boldsymbol{J}}}}_{\delta {{\mathit{\boldsymbol{b}}}}_{{\rm g}_{k}}} ^{\delta {\boldsymbol \eta}_{{\rm b}_{k+1}}^{{\rm b}_{k}}} \delta {{\mathit{\boldsymbol{b}}}}_{{\rm g}_{k}} + \\ &\quad\; {{\mathit{\boldsymbol{J}}}}_{\delta s_{{\rm o}_{k}}}^{\delta {\boldsymbol \eta}_{{\rm b}_{k+1}} ^{{\rm b}_{k}} } \delta s_{{\rm o}_{k}} +{{\mathit{\boldsymbol{J}}}}_{\delta {\boldsymbol \theta}_{{\rm o}_{k}}^{\rm b}}^{\delta {\boldsymbol \eta}_{{\rm b}_{k+1} }^{{\rm b}_{k}}} \delta {\boldsymbol \theta} _{{\rm o}_{k}} ^{\rm b} \end{aligned} \end{equation} $ | (9) |
其中,
因此,惯性测量单元/里程计预积分残差可以表示为
$ \begin{align} &\; {{\mathit{\boldsymbol{r}}}}_\text{I/O} ({{\hat{\mathit{\boldsymbol{z}}}}_{{\rm b}_{k+1}} ^{{\rm b}_{k}}, {{\mathit{\boldsymbol{X}}}}} ) \\ =& \begin{bmatrix} {{{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}} \bigg({{{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k+1}} ^{\rm n} -{{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k}} ^{\rm n} -{{\mathit{\boldsymbol{v}}}}_{{\rm b}_{k}} ^{\rm n} \Delta t_{k} +\dfrac{1}{2}{{\mathit{\boldsymbol{g}}}}^{\rm n}\Delta t_{k}^{2}} \bigg)-\hat{\mathit{\boldsymbol{\alpha}}}_{{\rm b}_{k+1}} ^{{\rm b}_{k}}} \\ {2[{ ({\hat{\mathit{\boldsymbol{\gamma}}} _{{\rm b}_{k+1}} ^{{\rm b}_{k}}} )^{-1}\otimes ({{{\mathit{\boldsymbol{q}}}}_{{\rm b}_{k}} ^{\rm n}} )^{-1}\otimes {{\mathit{\boldsymbol{q}}}}_{{\rm b}_{k+1} }^{\rm n}} ]_{xyz}} \\ {{{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}} ({{{\mathit{\boldsymbol{v}}}}_{{\rm b}_{k+1}} ^{\rm n} -{{\mathit{\boldsymbol{v}}}}_{{\rm b}_{k}} ^{\rm n} +{{\mathit{\boldsymbol{g}}}}^{\rm n}\Delta t_{k}} )-\hat{\mathit{\boldsymbol{\beta}}}_{{\rm b}_{k+1}} ^{{\rm b}_{k}}} \\ {{{\mathit{\boldsymbol{b}}}}_{{\rm a}_{k+1}} -{{\mathit{\boldsymbol{b}}}}_{{\rm a}_{k}}} \\ {{{\mathit{\boldsymbol{b}}}}_{{\rm g}_{k+1}} -{{\mathit{\boldsymbol{b}}}}_{{\rm g}_{k}}} \\ { ({{{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}} {{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k+1}} ^{\rm n} -{{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}} {{\mathit{\boldsymbol{p}}}}_{{\rm b}_{k}} ^{\rm n} +{{\mathit{\boldsymbol{R}}}}_{\rm n}^{{\rm b}_{k}} {{\mathit{\boldsymbol{R}}}}_{{\rm b}_{k+1}} ^{\rm n} {{\mathit{\boldsymbol{p}}}}_{{\rm o}_{k+1}} ^{\rm b} -{{\mathit{\boldsymbol{p}}}}_{{\rm o}_{k}} ^{\rm b} } )-\hat{\mathit{\boldsymbol{\eta}}}_{{\rm b}_{k+1}} ^{{\rm b}_{k}}} \\ {s_{{\rm o}_{k+1}}-s_{{\rm o}_{k}}} \\ {{{\mathit{\boldsymbol{p}}}}_{{\rm o}_{k+1}} ^{\rm b} -{{\mathit{\boldsymbol{p}}}}_{{\rm o}_{k}} ^{\rm b}} \\ {2[{ ({{{\mathit{\boldsymbol{q}}}}_{{\rm o}_{k}} ^{\rm b}} )^{-1}\otimes {{\mathit{\boldsymbol{q}}}}_{{\rm o}_{k+1}} ^{\rm b}} ]_{xyz}} \\ \end{bmatrix} \end{align} $ | (10) |
其中,
在目标识别方面,现有的目标识别方法往往是通过手动设计特征提取器,例如Haar特征[13]、方向梯度直方图(HOG)特征[14]和尺度不变特征变换(SIFT)特征[15]。在此基础上使用支持向量机(SVM)模型[16]以及可形变部件模型(deformable part model,DPM)等模型[17]进行图像分类,但是其检测速度与准确度都相对较低。近年来基于深度学习的目标检测方法逐渐崛起,往往使用卷积神经网络进行图像特征提取,主要包括两阶段目标检测算法[18-20]和单阶段目标检测算法[21-22]。
本文提出了基于激光雷达/红外相机融合的目标识别方法。针对单目红外相机无法获取物体尺度信息的问题,引入了激光雷达点云信息进行补充。因此需要对红外图像数据与激光雷达点云数据进行联合校准,即将点云投影到红外图像上获取对应的深度信息,再对目标的相对位置进行解算。同时,设计了基于神经网络架构的单阶段目标检测算法,在保证检测速度与检测精度的同时,能够对图像中感兴趣的物体进行检测标注,获取其在图像中的位置。融合目标检测的方案如图 3所示。
![]() |
图 3 激光雷达/红外相机融合目标检测方案图 Fig.3 Schematic diagram of object detection based on the fusion of LiDAR and infrared camera |
YOLOv3模型采用Darknet-53网络作为基本的特征提取网络,对输入图像进行下采样以获取不同尺度的特征图,并在特征图的每个网格上生成3个不同宽高比的先验框。对于每个先验框,网络会输出
$ \begin{equation} \begin{aligned} b_{x} &=\sigma ({t_{x}} )+c_{x} , \quad b_{y} =\sigma ({t_{y}} )+c_{y} \\ b_{m} &=p_{m} {\rm e}^{t_{m}} , \qquad\; \; \; b_{n} =p_{n} {\rm e}^{t_{n}} \end{aligned} \end{equation} $ | (11) |
其中
$ \begin{align} r_{C} &=\lambda_\text{coord} \sum\limits_{i=0}^{S^{2}} {\sum\limits_{j=0}^B {I_{ij}^\text{obj}}} P +\lambda_\text{coord} \sum\limits_{i=0}^{S^{2}} {\sum\limits_{j=0}^B {I_{ij}^\text{obj}}} {W} + \\ &\quad\; \sum\limits_{i=0}^{S^{2}} {\sum\limits_{j=0}^B {I_{ij}^\text{obj}}} c_{i} + \lambda_\text{noobj} \sum\limits_{i=0}^{S^{2}} {\sum\limits_{j=0}^B {I_{ij}^\text{noobj}}} c_{i} + \\ &\quad\; \sum\limits_{i=0}^{S^{2}} {I_{i}^\text{obj}} \sum\limits_{c\in L} {p_{i} (c)} \end{align} $ | (12) |
其中
对于在3维激光雷达坐标系中的某一点云坐标
$ \begin{equation} \begin{bmatrix} u \\ v \\ 1 \\ \end{bmatrix} = \begin{bmatrix} {f_{u}} & 0 & {u_{0}} \\ 0 & {f_{v}} & {v_{0}} \\ 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix} R & t \\ 0 & 1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ z \\ 1 \\ \end{bmatrix} \end{equation} $ | (13) |
即可求出红外相机所捕获图像中对应点
$ \begin{equation} d(u, v)=\frac{1}{M}\sum\limits_{f\in s} f (u, v) \end{equation} $ | (14) |
其中,
若通过目标识别算法获取到的物体检测框为
在室内长廊夜晚环境中开展了试验测试,用于验证本文所提出的定位与感知方法。测试系统包含移动机器人平台、IMU、里程计、3维激光雷达、红外相机,如图 4所示。其中,IMU的采样频率为100 Hz,里程计为50 Hz,激光雷达为2 Hz,红外相机为25 Hz。惯性传感器的参数如表 1所示。控制移动机器人在场地中行进,通过在移动机器人上安装棱镜,并利用全站仪对棱镜进行自动跟踪以提供毫米级的定位信息作为移动机器人的轨迹基准。同时,利用全站仪对待检测目标的位置进行标定,用于衡量相对定位精度。试验方案如图 5所示。
![]() |
图 4 试验所用的移动机器人平台 Fig.4 Mobile robot platform used in the experiment |
![]() |
表 1 IMU性能参数 Tab. 1 Specification of the IMU |
![]() |
图 5 试验方案图 Fig.5 Schematic diagram of the experiment |
自主定位试验主要用于评估移动机器人的自主定位性能。试验场景为教学楼内的光滑长直走廊,用于模拟地下空间的结构退化环境。本文将松耦合融合方法与所提出的方法进行了对比,
![]() |
图 6 |
![]() |
图 7 |
![]() |
表 2 均方根误差对比 Tab. 2 Comparison of RMSEs |
图 8~图 10为传感器参数的估计结果,可以看出本文方法能够对传感器参数进行同步估计。
![]() |
图 8 里程计标度因数估计结果 Fig.8 Estimation of scale factor of the odometer |
![]() |
图 9 IMU安装角度误差估计结果 Fig.9 Estimation of the angular misalignments of the IMU |
![]() |
图 10 IMU杆臂长度估计结果 Fig.10 Length estimation of the lever arms of the IMU |
目标探测识别定位试验选择在夜晚环境中进行,用于模拟地下空间的弱光照环境。在试验过程中,首先在场地的不同位置放置待探测目标,如背包、对讲机等。并利用全站仪对每个目标的绝对位置进行标定。利用红外相机采集目标物体图像进行目标识别,并与激光雷达数据融合实现对目标的相对定位。在检测出目标的同时,会得到目标检测的置信度与相对移动机器人的3维位置。由图 11可以看出,基于红外图像的目标检测算法能实现较清晰的成像并识别出待探测目标。同时,对目标检测的相对定位精度进行衡量,结合移动机器人的绝对位置真值以及目标的真值,可以得到目标在移动机器人坐标系的位置真值,通过与检测得到的位置进行对比,3组测试的相对定位误差分析结果如表 3、表 4和表 5所示。可以看出,对目标的相对定位精度可以达到厘米级。
![]() |
图 11 所提出方法的目标检测结果 Fig.11 Results of object detection by the proposed method |
![]() |
表 3 组测试目标相对定位误差 Tab. 3 Relative positioning error of objects in the first test |
![]() |
表 4 第2组测试目标相对定位误差 Tab. 4 Relative positioning error of objects in the second test |
![]() |
表 5 第3组测试目标相对定位误差 Tab. 5 Relative positioning error of objects in the third test |
以结构退化与弱光照为主要特征的地下空间环境会给现有的移动机器人探测方法带来新的挑战。本文通过构建基于因子图的激光雷达/里程计/惯性测量单元紧耦合融合方法,能够充分利用原始点云信息进行全局优化,相比传统松耦合融合方法,能够提升定位精度50{%} 以上。同时,提出了基于激光雷达/红外相机融合的目标识别方法,能够对弱光照环境下的目标实现厘米级的相对定位精度,从而为地下空间环境的无人探测提供了一种有效的解决手段。
[1] |
陈少飞. 无人机集群系统侦察监视任务规划方法[D]. 长沙: 国防科学技术大学, 2016. Chen S F. Planning for reconnaissance and monitoring using UAV swarms[D]. Changsha: National University of Defense Technology, 2016. |
[2] |
Ebadi K, Chang Y, Palieri M, et al. LAMP: Large-scale autonomous mapping and positioning for exploration of perceptually-degraded subterranean environments[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2020: 80-86.
|
[3] |
Tzafestas S G. Mobile robot control and navigation: A global overview[J]. Journal of Intelligent and Robotic Systems, 2018, 91(1): 35-58. |
[4] |
Ellery A A. Robotic astrobiology-prospects for enhancing scientific productivity of Mars rover missions[J]. International Journal of Astrobiology, 2018, 17(3): 203-217. DOI:10.1017/S1473550417000180 |
[5] |
Aravind K R, Raja P, Pérez-Ruiz M. Task-based agricultural mobile robots in arable farming: A review[J]. Spanish Journal of Agricultural Research, 2017, 15(1). DOI:10.5424/sjar/2017151-9573 |
[6] |
Rouček T, Pecka M, Čížek P, et al. DARPA subterranean challenge: Multi-robotic exploration of underground environments[M]//Lecture Notes in Computer Science, Vol. 11995. Berlin, Germany: Springer, 2019: 274-290.
|
[7] |
Zhang J, Singh S. LOAM: Lidar odometry and mapping in realtime[A/OL]. (2014-07-15)[2019-02-15]. http://www.roboticsproceedings.org/rss10/p07.pdf.
|
[8] |
Shan T X, Englot B. LeGO-LOAM: Lightweight and groundoptimized lidar odometry and mapping on variable terrain[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway, USA: IEEE, 2018: 4758-4765.
|
[9] |
Shan T X, Englot B, Meyers D, et al. LIO-SAM: Tightlycoupled lidar inertial odometry via smoothing and mapping[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway, USA: IEEE, 2020: 5135-5142.
|
[10] |
Tang J, Chen Y W, Niu X J, et al. LiDAR scan matching aided inertial navigation system in GNSS-denied environment[J]. Sensors, 2015, 15(7): 16710-16728. DOI:10.3390/s150716710 |
[11] |
Forster C, Carlone L, Dellaert F, et al. On-manifold preintegration for real-time visual-inertial odometry[J]. IEEE Transactions on Robotics, 2016, 33(1): 1-21. |
[12] |
Qin T, Li P L, Shen S J. VINS-Mono: A robust and versatile monocular visual-inertial state estimator[J]. IEEE Transactions on Robotics, 2018, 34(4): 1004-1020. DOI:10.1109/TRO.2018.2853729 |
[13] |
Viola P, Jones M. Rapid object detection using a boosted cascade of simple features[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2001. DOI: 10.1109/CVPR.2001.990517.
|
[14] |
王顺飞, 闫钧华, 王志刚. 改进的基于局部联合特征的运动目标检测方法[J]. 仪器仪表学报, 2015, 36(10): 2241-2248. Wang S F, Yan J H, Wang Z G. Improved moving object detection algorithm based on local united feature[J]. Chinese Journal of Scientific Instrument, 2015, 36(10): 2241-2248. DOI:10.3969/j.issn.0254-3087.2015.10.011 |
[15] |
Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60: 91-110. |
[16] |
Vapnik V N. The nature of statistical learning theory[M]. Berlin, Germany: Springer, 2000.
|
[17] |
Felzenszwalb P F, Girshick R B, McAllester D, et al. Object detection with discriminatively trained part-based models[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 32(9): 1627-1645. |
[18] |
Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2014: 580-587.
|
[19] |
Girshick R. Fast R-CNN[C]//IEEE International Conference on Computer Vision. Piscataway, USA: IEEE, 2015: 1440-1448.
|
[20] |
Ren S Q, He K M, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. |
[21] |
Redmon J, Divvala S, Girshick R, et al. You Only Look Once: Unified, real-time object detection[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2016: 779-788.
|
[22] |
Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector[M]//Lecture Notes in Computer Science, Vol. 9905. Berlin, Germany: Springer, 2016: 21-37.
|