Loading [MathJax]/jax/element/mml/optable/BasicLatin.js
高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于超宽带阵列与里程计的多机器人相对定位

刘冉 曹志强 邓天睿 邓忠元 肖宇峰

刘冉, 曹志强, 邓天睿, 邓忠元, 肖宇峰. 基于超宽带阵列与里程计的多机器人相对定位[J]. 电子与信息学报, 2022, 44(10): 3476-3484. doi: 10.11999/JEIT210812
引用本文: 刘冉, 曹志强, 邓天睿, 邓忠元, 肖宇峰. 基于超宽带阵列与里程计的多机器人相对定位[J]. 电子与信息学报, 2022, 44(10): 3476-3484. doi: 10.11999/JEIT210812
LIU Ran, CAO Zhiqiang, DENG Tianrui, DENG Zhongyuan, XIAO Yufeng. Multiple Robots Localization Based on the Fusion of Ultra-Wideband Array and Odometry[J]. Journal of Electronics & Information Technology, 2022, 44(10): 3476-3484. doi: 10.11999/JEIT210812
Citation: LIU Ran, CAO Zhiqiang, DENG Tianrui, DENG Zhongyuan, XIAO Yufeng. Multiple Robots Localization Based on the Fusion of Ultra-Wideband Array and Odometry[J]. Journal of Electronics & Information Technology, 2022, 44(10): 3476-3484. doi: 10.11999/JEIT210812

基于超宽带阵列与里程计的多机器人相对定位

doi: 10.11999/JEIT210812
基金项目: 国家自然科学基金 (12175187),国家重点研发计划 (2019YFB1310805)
详细信息
    作者简介:

    刘冉:男,副研究员,研究方向为机器人导航定位、室内定位、SLAM

    曹志强:男,硕士生,研究方向为室内定位、多机器人定位

    邓天睿:男,硕士生,研究方向为室内定位

    邓忠元:男,硕士生,研究方向为室内定位

    肖宇峰:男,教授,研究方向为特种机器人

    通讯作者:

    刘冉 ran.liu.86@hotmail.com

  • 中图分类号: TP301.6; TP242.6

Multiple Robots Localization Based on the Fusion of Ultra-Wideband Array and Odometry

Funds: The National Natural Science Foundation of China (12175187), The National Key Research Program (2019YFB1310805)
  • 摘要: 精准的相对定位是实现多机器人协作与编队控制的关键。在弱全球定位系统(GPS)的室内环境中,视觉或激光雷达(LiDAR)通过特征匹配的方式确定机器人间相对位置,但在非视距环境下难以工作。针对这一问题,该文提出一种基于多超宽带(UWB)节点的移动机器人相对定位方法。首先,利用每个机器人携带的多个UWB节点构成UWB阵列,通过非线性优化实现移动机器人间相对姿态估计。为进一步提升估计精度,利用里程计对非线性优化结果进行约束,通过图优化算法对滑动窗口内的相对位姿与里程计进行优化,保证了算法的实时性。然而,图优化过程中难以确定相对位姿估计的误差,对定位结果影响较大。因此,利用粒子滤波融合里程计和滑动窗口优化后的相对位姿,进一步提升相对姿态估计的精度。实验结果表明,该方法在12×6 m的室内环境中,能够达到0.312 m的平均定位误差以及4.903°平均角度误差,且具有良好的实时性。
  • 近年来,随着多机器人应用需求的增加,例如,分布式编队、多机器人建图等。这些应用对相对定位有较高的需求,因此,面向多智能体间的高精度定位已成为国内外研究的热点[1]。目前,在室外环境可以通过全球定位系统(Global Positioning System, GPS)或北斗卫星导航系统为机器人提供较高的定位精度。然而由于建筑物对GPS信号的阻挡,室内环境无法较好地接收卫星信号,给机器人室内定位带来了巨大挑战[2]。针对视距下的室内环境,国内外学者提出了很多成熟的相对定位技术和方法[3,4]。但针对非视距等室内场景,实现机器人间相对定位仍存在很大的挑战。

    目前,多机器人定位方法主要分为全局定位和相对定位。运动捕捉系统[5]、超宽带(Ultra Wideband, UWB)定位系统[6]、WiFi定位系统[7]等为常用的全局定位系统。上述定位系统对基础设备的安装精度有着极高的要求,否则将会影响定位的准确性。全局定位系统需要事先构建环境地图或标签的分布情况,且每个移动机器人需额外配置通信设备,以获得其他机器人在环境中的位置,极大增加了硬件开销。另外,在紧急情况下,环境中的基础设施结构可能已被破坏,事先安装的摄像头或标签均可能无法正常工作,导致全局定位系统失效,不能为多机器人在未知环境中提供定位服务[8]

    相对定位系统相较全局定位系统而言,在实现多机器人定位上更具灵活性和抗干扰性。在相对定位系统中,无需提前安装基础设备,机器人可通过自身传感器获得测量范围内的其他机器人的相对位置。Scaramuzza等人[9]提出了一种基于同时定位与地图构建(Simultaneous Localization And Mapping, SLAM)技术的相对定位方法,在建图期间实现目标自主定位,通过通信网络分享各自估计位置。Saska等人[10]提出一种基于视觉在线标定的方法实现相对定位,但该方法易受光照影响,且视角小、计算复杂度高,在非视距环境下表现欠佳。Wang等人[11]设计了一款具有旋转激光发射功能和接收功能的硬件装置,并提出事件触发 (event-trigged)算法实现相对位姿估计,该方法对硬件设施要求高,且不适用于非视距环境。与激光和视觉传感器相比,无线传感器在非视距的情况下有更好的表现[12,13]。UWB技术因具有成本低、体积小、功耗低和出色的穿透力,在行业中得到了广泛的应用。Ghanem等人[14]利用每个车辆配备的两个UWB传感器实现两个车辆间的相对定位,但存在定位奇异性问题。另外,吴玉秀等人[15]提出了一种基于声音的分布式多机器人定位方法,通过麦克风阵列获得附近机器人在自身坐标系下的相对位置,但该方法仅在小范围内且机器人静止状态下进行了验证。

    航迹推算在机器人定位中起着至关重要的作用,其根据里程计或惯性测量单元,在短时间内能够提供精准的姿态估计[16-18]。但随着长时间运行,会出现不可避免的累计误差,影响姿态估计的精度。国内外研究人员致力于将航迹推算与其他传感器源融合,提高定位精度。针对UWB与里程计数据融合,San Martín等人[19]和Magnago等人[20]分别提出扩展卡尔曼滤波(Extended Kalman Filter, EKF)和无迹卡尔曼滤波(Unscented Kalman Filter, UKF)等不同的数据融合方案。此外,针对相对定位,Guo等人[21]提出了一种基于UWB的协作相对定位方法,该方法基于UWB测量距离值和IMU位移测量值来估计多个无人机的位置,但该文中仅讨论了与静态无人机间的相对定位问题。Liu等人[22]提出了一种融合惯性测量单元(Inertial Measurement Unit, IMU)和UWB的相对定位方法,但未讨论相对角度的估计问题。Hardy等人[23]融合了IMU、磁强计、点对点测距和俯视摄像头实现无人机组高精度姿态估算。该方法计算复杂度较高,因此不适用于复杂环境中多机器人的应用。

    本文针对室内场景的多机器人相对定位问题,提出了多UWB节点与里程计融合的相对定位方法。该方法需在每个机器人上安装多个UWB节点,如图1所示。UWB节点安装在移动机器人上的特定位置,通过最小化多组UWB节点的距离测量值来实现相对姿态估计 (相对位置和航向)。由于UWB距离测量值存在误差,因此相对姿态估计值不可避免地产生不规则波动。虽然里程计长时间运行存在累计误差,但短期内精度较高,且轨迹平滑。因此,利用相邻时刻里程计测量值对非线性优化所得相对姿态进行约束,提高定位精度。另外,为保证系统实时性利用滑动窗口的思想仅优化特定时间段的测量数据。图优化过程中不能确定UWB位姿估计误差的大小,对优化结果造成一定的影响,因此,通过粒子滤波融合里程计和滑动窗口优化后的相对姿态,实现准确的姿态估计。本文的创新之处在于:(1) 提出一种基于多UWB节点距离测量值,通过非线性优化实现移动机器人之间相对姿态估计的方法。(2) 设计滑动窗口,并基于图优化算法对滑动窗口内的数据进行优化,进一步提升位姿估计精度,并保证算法实时性。(3) 利用粒子滤波融合里程计和滑动窗口优化后的相对位姿,获得更准确的相对姿态估计。(4) 本文在真实环境中验证算法,实验结果表明,在12 m×6 m的环境中3个移动机器人能到达0.312 m的定位误差以及4.903º的角度误差,且满足系统的实时性。

    图 1  多机器人相对定位示意图

    图1所示,移动机器人在未知的、无基础设施的场景中实现相对定位。每个机器人携带里程计和4个UWB节点,UWB节点构成一个正方形矩形阵列。每个机器人上的UWB节点的收发频率与UWB阵列的距离配置相同。另外,移动机器人底盘均为两轮差分驱动。本文所提方法中,每个移动机器人携带处理单元,将测量数据 (UWB距离和里程计信息) 上传至服务器,以便数据集中处理。

    在本文中,移动机器人i(i[1:N])在t时刻的姿态表示为xti=(xti,yti,θti),其中x(t)iy(t)i表示机器人2维平面坐标,θ(t)i表示其航向。每个移动机器人的里程计提供t1t相邻时刻的相对位移mti=Δxti=(Δxti,Δyti,Δθti)。另外,使用Cki(k[1:K])表示UWB节点k在机器人i上的位置,其中K是机器人i上的UWB节点的总个数。同样,用Clj(l[1:L])表示UWB节点l在机器人j上的相对位置,其中L是机器人j上的UWB节点的总个数。使用rtik,jl表示在t时刻机器人i上的UWB节点k和机器人j上的UWB节点l之间的距离测量值。在t时刻,机器人i接收到来自机器人jL×K个UWB距离测量值,将其表示为rti,j={rtik,jl}K,Lk,l=1。另外,Nti表示在t时刻,机器人i有效测量范围内的机器人数量。因此,机器人i在时刻t接收到的总UWB距离测量值可表示为zti={rti,j}(jNti)。本文的最终目的是估计机器人i在时刻t相对于机器人j的相对位姿。

    本文所提基于多UWB节点的机器人相对定位算法由3部分组成,分别为:基于UWB的机器人间相对位姿估计、融合里程计约束的机器人间相对位姿估计和基于粒子滤波的机器人间相对位姿估计。此3部分紧密相关、层层递进:(1) 基于UWB的机器人间相对位姿估计,仅利用UWB距离测量值通过非线性优化算法实现相对姿态估计。(2) 融合里程计约束的机器人间相对位姿估计,通过图优化算法对滑动窗口进行优化,利用里程计相邻时刻的相对位移对相对姿态估计进行约束,获得更为准确的估计。(3) 基于粒子滤波的机器人间相对位姿估计,通过粒子滤波器融合里程计和滑动窗口优化后的相对位姿,进一步提升定位精度。整体算法框架如图2所示。

    图 2  算法框架图

    在仅使用UWB传感器的情况下,实现机器人i和机器人j间的相对位姿估计。本文中,所有移动机器人上的UWB阵列由4个UWB节点构成。在时刻t,如果移动机器人j在移动机器人i的有效测量范围内,那么机器人i能获得来自机器人j的16组UWB距离数据。通过最小化两个机器人之间的UWB测距的残差来获得最佳的相对位姿匹配,从而获得机器人ij之间的相对姿态估计

    ¯Tti,j=argmin (1)

    其中, 函数 d(.) 表示在给定相对姿态 {\boldsymbol{x}} 的情况下,由于每个UWB节点与对应机器人中心的相对位置已知,故结合 {\boldsymbol{x}} ,经坐标变换得到机器人 i 上的UWB节点 k 与机器人 j 上的UWB节点 l 之间的距离。再将此距离值与UWB实际测量值作比较得到残差。将式(1)所示的最小化问题视为非线性优化问题,采用列文伯格-马夸尔特算法作为求解器对其进行优化找到使得函数值最小的 {\boldsymbol{x}} ,即为优化得到的相对姿态 (即待估计的相对姿态 \overline {\boldsymbol{T}} _{i,j}^t )。

    通常情况下,移动机器人的尺寸较小,因此机器人上UWB节点之间距离受到了限制。另外,由于UWB距离测量值的误差,对非线性优化结果造成很大的影响。本文中所有移动机器人均携带里程计,将一段时间内的里程计数据以及非线性优化得到的相对位姿构成滑动窗口。利用里程计在短时间内相对位移准确的特性,对滑动窗口中的相对姿态估计进行约束,提升定位精度。图优化算法[24]中的图由顶点和边构成,本文中将相邻时刻里程计的相对位移以及基于非线性优化算法所得相对姿态估计值作为图的边,移动机器人不同时刻的位姿作为顶点,利用边约束顶点,构建待优化的位姿图。随着边与顶点数量的增加,优化所需时间也相应地变长,因此本文通过滑动窗口来减少算法的计算开销。图优化算法中的整体约束表述为

    \begin{split} & \underset{x}{\mathrm{arg}\mathrm{min}}{\displaystyle \sum _{i=1}^{N}{\displaystyle \sum _{{t}^{\prime }=t-\omega }^{t}\underset{里程计约束}{\underbrace{{\boldsymbol{e}}^{{\rm{T}}} {({{\boldsymbol{x}}}_{i}^{{t}^{\prime }-1} ,{{\boldsymbol{x}}}_{i}^{{t}^{\prime }},{{\boldsymbol{m}}}_{i}^{{t}^{\prime }})} {{\boldsymbol{\varOmega}} }_{i}^{{t}^{\prime }}{\boldsymbol{e}}({{\boldsymbol{x}}}_{i}^{{t}^{\prime }-1} ,{{\boldsymbol{x}}}_{i}^{{t}^{\prime }} ,{{\boldsymbol{m}}}_{i}^{{t}^{\prime }})}}}}\\ & \quad +{\displaystyle \sum _{{i}=1}^{N}{\displaystyle \sum _{j\ne i}^{N}{\displaystyle \sum _{{t}^{\prime }=t-\omega }^{t}\underset{\text{UWB}相对姿态约束}{\underbrace{{\boldsymbol{e}}^{{\rm{T}}} {({{\boldsymbol{x}}}_{i}^{{t}^{\prime }},{{\boldsymbol{x}}}_{j}^{{t}^{\prime }},{\overline{{\boldsymbol{T}}}}_{i,j}^{{t}^{\prime }})} {{\boldsymbol{\varOmega}} }_{i,j}^{{t}^{\prime }}{\boldsymbol{e}}({{\boldsymbol{x}}}_{i}^{{t}^{\prime }},{{\boldsymbol{x}}}_{j}^{{t}^{\prime }},{\overline{{\boldsymbol{T}}}}_{i,j}^{{t}^{\prime }})}}}}}\\ \end{split} (2)

    其中, \omega 表示滑动窗口的大小。{\boldsymbol{e}}(.)表示误差函数,在式(2)里程计约束中, {\boldsymbol{x}}_i^{t' - 1} {\boldsymbol{x}}_i^{t'} 被相邻时刻里程计 {\boldsymbol{m}}_i^{t'} 约束,在UWB相对姿态约束中,{\boldsymbol{x}}_i^{t'} {\boldsymbol{x}}_j^{t'} 被非线性优化得到的相对位姿 \overline {\boldsymbol{T}} _{i,j}^{t'} 约束。这两个约束都表示为3×1矢量,包括2维相对位姿和航向。{\boldsymbol{\varOmega }}_{i,j}^{t'}为UWB相对姿态约束的信息矩阵,由相应项的协方差的逆得到。在本文中,由于不能确定各相关项的具体协方差值,故均设为常数。{\boldsymbol{\varOmega }}_i^{t'}为里程计约束中的信息矩阵。最终,在窗口长度为 \omega 的情况下,得到 t 时刻最优的位姿估计 {\boldsymbol{T}}_{i,j}^t 。然后将优化后的位姿 {\boldsymbol{T}}_{i,j}^t 与里程计相结合传递到粒子滤波器,进行下一步移动机器人姿态估计。

    滑动窗口中,由于里程计的约束,移动机器人的相对位姿的估计精度得到了相应地提升。虽然里程计相邻时刻的相对位移,抑制了相对姿态估计值的波动,使得估计轨迹更加平滑,但由于信息矩阵{\boldsymbol{\varOmega}}_{i,j}^{t'}为常数,故存在不可预计的偏差。众所周知,图优化中,约束条件越多优化后的数据越精准,但为保证系统实时性,仅使用滑动窗口优化最前端时间窗口内的测量数据。

    当机器人 i 移动时,获得里程计位移测量值 ({\boldsymbol{M}} = \{ {\boldsymbol{m}}_i^1,{\boldsymbol{m}}_i^2, \cdots ,{\boldsymbol{m}}_i^t\} )以及UWB距离测量值({\boldsymbol{Z}} = \{ {\boldsymbol{z}}_i^1,{\boldsymbol{z}}_i^2, \cdots ,{\boldsymbol{z}}_i^t\} )。通过里程计测量值 {\boldsymbol{M}} 和UWB距离测量值 {\boldsymbol{Z}} 估计联合后验概率 P({\boldsymbol{x}}_i^t|{\boldsymbol{M}},{\boldsymbol{Z}}) 。将 {\boldsymbol{z}}_i^t 作为观测值,被优化后的滑动窗口中的当前时刻移动机器人间的相对姿态 {\boldsymbol{T}}_{i,j}^t 来更新联合后验概率。由于整个定位系统中里程计和UWB相互独立,因此 P({\boldsymbol{x}}_i^t|{\boldsymbol{M}},{\boldsymbol{Z}}) 表示为

    \begin{split} & P({\boldsymbol{x}}_i^t|{\boldsymbol{M}},{\boldsymbol{Z}}) \\ & \quad= {\eta _t} \cdot P({\boldsymbol{x}}_i^t|{\boldsymbol{x}}_i^{t - 1},{\boldsymbol{M}}) \cdot P({\boldsymbol{Z}}|{\boldsymbol{x}}_i^t) \cdot P({\boldsymbol{x}}_i^{t - 1}|{\boldsymbol{M}},{\boldsymbol{Z}}) \\ & \quad= {\eta _t} \cdot P({\boldsymbol{x}}_i^t|{\boldsymbol{x}}_i^{t - 1},{\boldsymbol{m}}_i^t) \cdot \prod\limits_{{{j}} \in N_i^t} {P({\boldsymbol{T}}_{i,j}^t|{\boldsymbol{x}}_i^t,{\boldsymbol{x}}_j^t)} \\ & \qquad\; { \cdot P({\boldsymbol{x}}_i^{t - 1}|{\boldsymbol{M}},{\boldsymbol{Z}})} \\[-10pt] \end{split} (3)

    其中, {\eta _t} 表示归一化系数, 确保总概率之和为1。 P({\boldsymbol{x}}_i^t|{\boldsymbol{x}}_i^{t - 1},{\boldsymbol{m}}_i^t) 表示移动机器人的运动模型,基于前一时刻的状态 {\boldsymbol{x}}_i^{t - 1} 和里程计当前时刻测量值 {\boldsymbol{m}}_i^t ,预测 t 时刻机器人的状态 {\boldsymbol{x}}_i^t P({\boldsymbol{T}}_{i,j}^t|{\boldsymbol{x}}_i^t,{\boldsymbol{x}}_j^t) 为观测模型,表示当前时刻在给定 {\boldsymbol{T}}_{i,j}^t 的情况下,机器人 i 与机器人 j 为姿态 {\boldsymbol{x}}_i^t {\boldsymbol{x}}_j^t 的概率。

    粒子滤波与卡尔曼滤波相比在处理非线性和非高斯系统时更具优势[25]。因此,采用粒子滤波器作为式(3)的实现方法。另外,粒子滤波是一种基于蒙特卡洛的方法,利用粒子集估计机器人姿态,即 \{ {\boldsymbol{x}}_i^{(s,t)},W_i^{(s,t)}\} _{s = 1}^S ,其中 S 表示粒子数。每个粒子携带两类信息,机器人姿态信息 {\boldsymbol{x}}_i^{(s,t)} 和粒子权重 W_i^{(s,t)} 。粒子滤波算法估计移动机器人姿态主要分为3步:预测、更新和重采样,具体的粒子滤波算法流程框如图3所示。

    图 3  粒子滤波算法流程框图

    粒子滤波中预测和更新对算法起着决定性的作用,详细描述如下所示:

    (1) 预测:根据运动模型 P({\boldsymbol{x}}_i^t|{\boldsymbol{x}}_i^{t - 1},{\boldsymbol{M}}) ,预测每一个粒子在当前时刻的姿态,如式(4)所示

    \left. \begin{gathered} x_i^{(s,t)} = x_i^{(s,t - 1)} + \Delta d_i^t \cdot \cos (\theta _i^{(s,t - 1)}) + \mathcal{N}(0,\sigma _d^2) \\ y_i^{(s,t)} = y_i^{(s,t - 1)} + \Delta d_i^t \cdot \sin (\theta _i^{(s,t - 1)}) + \mathcal{N}(0,\sigma _d^2) \\ \theta _i^{(s,t)} = \theta _i^{(s,t - 1)} + \Delta \theta _i^t + \mathcal{N}(0,\sigma _\theta ^2) \\ \end{gathered} \right\} (4)

    其中, \Delta d_i^t 代表相邻时刻机器人 i 的移动距离 ( \Delta d_i^t = \sqrt {{{(\Delta x_i^t)}^2} + {{(\Delta y_i^t)}^2}} )。 \mathcal{N}(0,\sigma _d^2) \mathcal{N}(0,\sigma _\theta ^2) 表示标准偏差为 {\sigma _d} {\sigma _\theta } 的高斯噪声,分别应用于移动机器人的位移和旋转。

    (2) 更新:在该步骤中,每个粒子根据滑动窗口优化后的相对位姿对自身粒子权重进行更新,概率 P({\boldsymbol{T}}_{i,j}^t|{\boldsymbol{x}}_i^t,{\boldsymbol{x}}_j^t) 计算为

    P({\boldsymbol{T}}_{i,j}^t|{\boldsymbol{x}}_i^t,{\boldsymbol{x}}_j^t) = \frac{1}{{\sqrt {2\pi } {\lambda _d}{\lambda _\theta }}}\exp \left( - \frac{1}{2}{d^2}({\boldsymbol{T}}_{i,j}^t|{\boldsymbol{x}}_i^t,{\boldsymbol{x}}_j^t)\right) (5)

    其中, {d^2}(.) 表示滑动窗口优化后当前时刻机器人间相对姿态 {\boldsymbol{T}}_{i,j}^t 与不同粒子群粒子间相对姿态 ({\boldsymbol{x}}_i^t)_{}^{{{ - }}1}{\boldsymbol{x}}_j^t 的平移和旋转的偏差。 {\lambda _d} {\lambda _\theta } 分别代表通过滑动窗口中相对姿态 {\boldsymbol{T}}_{i,j}^t 在相对位置和航向上的标准偏差

    {d^2}(.) = \frac{{{{(\hat x_{i,j}^t - x_{i,j}^t)}^2}}}{{{\lambda _d}}} + \frac{{{{(\hat y_{i,j}^t - y_{i,j}^t)}^2}}}{{{\lambda _d}}} + \frac{{{{(\hat \theta _{i,j}^t - \theta _{i,j}^t)}^2}}}{{{\lambda _\theta }}} (6)

    在更新步骤之后,将执行重采样以获得新的粒子集,这对于避免粒子群退化至关重要。理论上,粒子的权重越大,在重采样过程中被选中的概率越大。

    本文设计数据采集平台如图4所示。每个移动机器人携带4个UWB节点(nooploop linktrack),构成正方形矩阵阵列,且每个UWB节点的最大测量距离为100 m,数据采集频率被设置为50 Hz。两轮差分式移动机器人底盘的里程计输出频率为20 Hz,但由于地面不规整,轮子将出现不同程度的打滑及空转现象,影响里程计精度。为验证本文算法的精度,每台机器人搭载一台Hokuyo激光雷达,用于建图(gmapping)以及实现自适应蒙特卡洛定位(Adaptive Monte Carlo Localization, AMCL)[26],国内外研究者常将AMCL所得姿态作为机器人在室内环境中的真实轨迹,将其与估计值做比较,详情参考文献[27]。另外,每个移动机器人搭载一台笔记本电脑用于运行机器人操作系统(Robot Operation System, ROS),并记录各个模块采集的数据。

    图 4  数据采集平台

    为验证本文提出的算法的性能,共设置以下两组实验。实验1-a中,仅使用两个移动机器人,机器人2静止不动,机器人1以0.2 m/s的速度沿着7×6 m的矩形轨迹运动,在运动过程中,各组模块实时记录数据,如图5(a)所示;实验1-b为验证算法在非视距环境不规则运行路径下的表现,机器人2前方被远高于机器人的木板遮挡,机器人1沿着不规则路径运动,如图5(b)图6所示。实验2:在该实验中,3个相互独立的移动机器人,在12 m×6 m的环境中沿着3条不同路径以0.2 m/s的速度同时运动,如图5(c)所示,两个机器人沿着不同的矩形轨迹运动,另一个机器人沿着T型轨迹运动。

    图 5  不同实验的设置

    在实验1-a中,机器人1围绕机器人2沿着矩形轨迹运动数圈,如图5(a)所示。该实验设置不同的UWB节点距离配置,检验不同算法在不同配置下的性能。分别设置0.3 m, 0.5 m和0.7 m的UWB间距。在每组测试中,机器人1和机器人2的UWB节点距离配置以及各传感器输出频率始终保持一致。

    由于UWB传感器自身存在测距误差及数据波动,因此不同UWB距离配置对非线性优化的结果有较大影响。如表1所示,对比不同UWB配置对相对定位性能的影响。其中,UWB节点距离配置为0.7 m时,获得0.37 m的位置误差且具有0.22 m的标准差,角度误差为5.05º以及标准差为3.63º;对比距离配置为0.3 m,位置误差降低22%,角度误差降低33%,且具有更小的标准差。表明位置误差和角度误差随着UWB间距的增加逐渐降低,且具有更小的数据波动。实际应用中,通常根据移动机器人体积大小选择不同的UWB节点距离配置。

    表 1  实验1:不同估计方法在不同的UWB节点配置下,位置误差以及角度误差的评估结果
    估计方法UWB节点距离配置
    0.3 m0.5 m0.7 m
    位置误差(m)角度误差(º)位置误差(m)角度误差(º)位置误差(m)角度误差(º)
    里程计0.96±0.4310.01±4.540.79±0.326.27±3.540.62±0.233.71±2.38
    非线性优化(仅UWB)0.48±0.267.57±5.570.39±0.245.27±4.340.37±0.225.05±3.63
    滑动窗口(w=5)0.42±0.187.02±5.530.35±0.174.77±4.150.33±0.184.69±3.95
    滑动窗口(w=30)0.38±0.144.46±2.240.33±0.133.75±2.360.32±0.133.19±2.63
    滑动窗口(w=80)0.33±0.112.99±2.330.30±0.102.55±2.060.30±0.122.35±2.56
    滑动窗口(w=160)0.37±0.183.49±1.860.30±0.142.91±1.760.31±0.153.09±2.34
    粒子滤波(UWB距离+里程计)[22]0.35±0.205.31±3.910.49±0.236.26±3.840.35±0.224.84±3.12
    粒子滤波(滑动窗口+里程计)0.25±0.102.91±2.760.22±0.102.70±2.270.25±0.092.02±1.47
    下载: 导出CSV 
    | 显示表格

    不同的滑动窗口长度,对图优化算法的时间消耗以及定位精度有一定的影响, \omega 长度越大所需时间消耗越多。不同窗口长度 \omega 的定位精度如表1所示,由此表可见位置误差和角度误差随长度 \omega 增加而降低。

    对比UWB节点距离0.3 m时, \omega = 80 相较于 \omega = 5 的位置误差和角度误差分别下降21%和57%。但当 \omega = 160 时位置误差和角度误差反而增加,可能由于 \omega 过大,导致算法执行时间太久,影响系统的实时性。

    为保证估计精度和系统实时性,在后续算法中选择滑动窗口长度 \omega = 30 。本文提出的粒子滤波算法与文献[22]所提的基于粒子滤波融合IMU和UWB距离测量数据的相对定位方法对比,两个粒子滤波中,粒子数量均为500。实验结果表明,本文所提算法具有更优的表现,如表1所示。与文献[22]方法相比,位置精度提升55%,角度精度提升56%,且估计轨迹更加平滑,误差分布波动更稳定,证明算法性能更稳定可靠,如图7所示。

    图 6  实验1-b的估计轨迹
    图 7  实验1-a的评估结果

    为验证算法在非视距、非规则路径条件下的性能。设置实验1-b,机器人1与机器人2之间被木板遮挡,且机器人1在实验场地中沿不规则路径移动,如图6所示。该实验中,设置UWB节点距离配置为0.5 m,滑动窗口长度为 \omega = 30 以及粒子数量为500。估计轨迹如图6所示,里程计在长期运行过程中出现明显的累计误差,位置误差和角度误差分别为0.48 m和8.61º。通过本文所提出的算法,轨迹得到明显的提升,与真实轨迹相比,获得0.29 m的位置误差和4.39º的角度误差,该结果证明了该算法在上述条件下的有效性。

    为充分验证本文所提方法的实用性,设置实验2,3个移动机器人被控制沿不同的轨迹同时运动,且每个机器人起点不同,如图5(c)所示。综合实验1分析结果,在实验2中,确保定位精度和系统实时性,设置滑动窗口长度为 \omega = 30 ,UWB节点距离为0.5 m。表2给出不同定位算法的精度。如表2所示,3个移动机器人在仅使用里程计的情况下,获得相对位置误差和相对角度误差分别为1.466 m和22.076º。3个机器人里程计估计轨迹如图8(a)所示,显而易见,随着时间的累计3个移动机器人的里程计都发生了不同程度的漂移,其中机器人1的里程计漂移最为严重。与里程计相比,仅利用UWB数据通过非线性优化估计得到的相对姿态,精度得到提高,且不存在累计误差。如图8(b)所示,假设机器人1姿态已知,估计机器人2和机器人3相对于机器人1的姿态,获得位置误差0.528 m和角度误差7.413º。由于UWB距离测量数据的误差,造成估计值产生无规则的波动,且在个别位置误差较大。

    表 2  实验2:不同估计方法在w=30及UWB间距0.5 m情况下评估结果
    估计方法位置误差(m)角度误差(º)
    里程计1.46622.076
    非线性优化(仅UWB)0.5287.413
    滑动窗口(w=30)0.4245.648
    粒子滤波(UWB距离+里程计)[22]0.5347.234
    粒子滤波(滑动窗口+里程计)0.3124.903
    下载: 导出CSV 
    | 显示表格
    图 8  实验2估计轨迹

    利用图优化算法对滑动窗口中的数据进行优化,通过相邻时刻里程计的相对位移对非线性优化结果进行约束,进一步提升定位精度,被优化后的滑动窗口组成的运动轨迹如图8(c)所示。在假设机器人1姿态已知的情况下,获得位置误差0.424 m和角度误差5.648º。与非线性优化相比,被优化后的滑动窗口在位置误差和角度误差上分别下降了19%和23%。

    文献[22]所提的基于粒子滤波融合IMU和UWB距离测量值的相对定位方法的结果与本文所提粒子滤波算法对比,其估计轨迹如图8(d)和图8(e)所示。粒子数量均设为500。本文的粒子滤波算法,融合滑动窗口当前时刻估计值和里程计测量值,获得位置误差0.312 m和角度误差4.903º。相较滑动窗口优化结果,精度分别提升了26%和13%。采用文献[22]的方法,将UWB距离值和里程计通过粒子滤波融合,取得位置误差0.534 m和角度误差7.234º。本文所提方法在位置精度和角度精度上都得到极大提升,精度分别提升41%和32%。另外,与实验1相比,由于移动机器人数量的增加以及实验空间的扩大,UWB的测距误差也随之增加,因此整体表现稍差。

    本文涉及的相关算法,在一款内存为12.0 GB搭载Intel i5-6300HQ 2.30 GHz CPU的装有ROS系统的笔记本电脑上运行。相关算法所消耗的计算时间如图9所示,本文提出的基于粒子滤波融合滑动窗口和里程计的方法需消耗时间86 ms,其中包括:非线性优化、 \omega = 30 的滑动窗口以及粒子数为500的粒子滤波器总共花费的计算时间,如图9所示。对比文献[22]所提粒子滤波算法,时间消耗大约为其2倍。本文所提方法能够达到大约12 Hz的输出频率,亦能满足大多数的机器人应用。

    图 9  计算时间:不同估计方法的时间消耗

    本文提出一种基于对UWB与里程计融合的移动机器人相对定位方法。在仅采用UWB传感器的情况下,通过非线性优化算法能够实现机器人间的相对姿态估计。利用相邻时刻里程计的相对位移对非线性优化结果进行约束,提升定位精度。另外,为确保系统实时性,利用滑动窗口的思想仅对特定时间内的数据进行优化。由于UWB相对姿态约束中的信息矩阵的不确定,对优化结果造成影响,因此基于粒子滤波融合滑动窗口优化后的机器人间的相对姿态和里程计,进一步提升相对姿态估计精度。通过3个配置 (UWB距离配置和各传感器收发频率) 相同的移动机器人在12 m×6 m的室内场地进行实地测试,实验结果表明,本算法在满足实时定位的基础上,能够达到0.312 m的定位误差以及4.903º的角度误差。为多机器人相对定位提供了一种具有参考意义的方法。在后续的研究中,探索其他更有效的方式来提升精度以及减少时间消耗,并投入到多机器人协作与编队控制中。

  • 图  1  多机器人相对定位示意图

    图  2  算法框架图

    图  3  粒子滤波算法流程框图

    图  4  数据采集平台

    图  5  不同实验的设置

    图  6  实验1-b的估计轨迹

    图  7  实验1-a的评估结果

    图  8  实验2估计轨迹

    图  9  计算时间:不同估计方法的时间消耗

    表  1  实验1:不同估计方法在不同的UWB节点配置下,位置误差以及角度误差的评估结果

    估计方法UWB节点距离配置
    0.3 m0.5 m0.7 m
    位置误差(m)角度误差(º)位置误差(m)角度误差(º)位置误差(m)角度误差(º)
    里程计0.96±0.4310.01±4.540.79±0.326.27±3.540.62±0.233.71±2.38
    非线性优化(仅UWB)0.48±0.267.57±5.570.39±0.245.27±4.340.37±0.225.05±3.63
    滑动窗口(w=5)0.42±0.187.02±5.530.35±0.174.77±4.150.33±0.184.69±3.95
    滑动窗口(w=30)0.38±0.144.46±2.240.33±0.133.75±2.360.32±0.133.19±2.63
    滑动窗口(w=80)0.33±0.112.99±2.330.30±0.102.55±2.060.30±0.122.35±2.56
    滑动窗口(w=160)0.37±0.183.49±1.860.30±0.142.91±1.760.31±0.153.09±2.34
    粒子滤波(UWB距离+里程计)[22]0.35±0.205.31±3.910.49±0.236.26±3.840.35±0.224.84±3.12
    粒子滤波(滑动窗口+里程计)0.25±0.102.91±2.760.22±0.102.70±2.270.25±0.092.02±1.47
    下载: 导出CSV

    表  2  实验2:不同估计方法在w=30及UWB间距0.5 m情况下评估结果

    估计方法位置误差(m)角度误差(º)
    里程计1.46622.076
    非线性优化(仅UWB)0.5287.413
    滑动窗口(w=30)0.4245.648
    粒子滤波(UWB距离+里程计)[22]0.5347.234
    粒子滤波(滑动窗口+里程计)0.3124.903
    下载: 导出CSV
  • [1] GUO Xiansheng, ANSARI N, HU Fangzi, et al. A survey on fusion-based indoor positioning[J]. IEEE Communications Surveys & Tutorials, 2020, 22(1): 566–594.
    [2] MOON S, CHOI Y, KIM D, et al. Outdoor swarm flight system based on RTK-GPS[J]. Journal of KIISE, 2016, 43(12): 1315–1324. doi: 10.5626/JOK.2016.43.12.1315
    [3] SAKURAMA K, KOSAKA Y, and NISHIDA S I. Formation control of swarm robots with multiple proximity distance sensors[J]. International Journal of Control, Automation and Systems, 2018, 16(1): 16–26. doi: 10.1007/s12555-016-0741-z
    [4] PIASCO N, MARZAT J, and SANFOURCHE M. Collaborative localization and formation flying using distributed stereo-vision[C]. 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 2016: 1202–1207.
    [5] PREISS J A, HONIG W, SUKHATME G S, et al. Crazyswarm: A large nano-quadcopter swarm[C]. 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 2017: 3299–3304.
    [6] 杨海, 李威, 张禾, 等. 复杂坏境下基于SINS/UWB的容错组合定位技术研究[J]. 仪器仪表学报, 2017, 38(9): 2177–2185. doi: 10.3969/j.issn.0254-3087.2017.09.011

    YANG Hai, LI Wei, ZHANG He, et al. Fault tolerant integrated positioning system based on SINS/UWB in complex environment[J]. Chinese Journal of Scientific Instrument, 2017, 38(9): 2177–2185. doi: 10.3969/j.issn.0254-3087.2017.09.011
    [7] 胡久松, 刘宏立, 肖郭璇, 等. 应用于WiFi室内定位的自适应仿射传播聚类算法[J]. 电子与信息学报, 2018, 40(12): 2889–2895.

    HU Jiusong, LIU Hongli, XIAO Guoxuan, et al. Adaptive affine propagation clustering algorithm for WiFi indoor positioning[J]. Journal of Electronics &Information Technology, 2018, 40(12): 2889–2895.
    [8] LIU Ran, YUEN C, DO T N, et al. Cooperative positioning for emergency responders using self IMU and peer-to-peer radios measurements[J]. Information Fusion, 2020, 56: 93–102. doi: 10.1016/j.inffus.2019.10.009
    [9] SCARAMUZZA D, ACHTELIK M C, DOITSIDIS L, et al. Vision-controlled micro flying robots: From system design to autonomous navigation and mapping in GPS-denied environments[J]. IEEE Robotics & Automation Magazine, 2014, 21(3): 26–40.
    [10] SASKA M, BACA T, THOMAS J, et al. System for deployment of groups of unmanned micro aerial vehicles in GPS-denied environments using onboard visual relative localization[J]. Autonomous Robots, 2017, 41(4): 919–944. doi: 10.1007/s10514-016-9567-z
    [11] WANG Xinzuo and LI Wei. Design of an accurate yet low-cost distributed module for vehicular relative positioning: Hardware prototype design and algorithms[J]. IEEE Transactions on Vehicular Technology, 2019, 68(5): 4494–4501. doi: 10.1109/TVT.2019.2901743
    [12] TOMIC S, BEKO M, and DINIS R. RSS-based localization in wireless sensor networks using convex relaxation: Noncooperative and cooperative schemes[J]. IEEE Transactions on Vehicular Technology, 2015, 64(5): 2037–2050. doi: 10.1109/TVT.2014.2334397
    [13] XU Hao, WANG Luqi, ZHANG Yichen, et al. Decentralized visual-inertial-UWB fusion for relative state estimation of aerial swarm[C]. 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 2020: 8776–8782.
    [14] GHANEM E, O’KEEFE K, and KLUKAS R. Testing vehicle-to-vehicle relative position and attitude estimation using multiple UWB ranging[C]. 2020 IEEE 92nd Vehicular Technology Conference (VTC2020-Fall), Victoria, Canada, 2020: 1–5.
    [15] 吴玉秀, 孟庆浩, 曾明. 基于声音的分布式多机器人相对定位[J]. 自动化学报, 2014, 40(5): 798–809.

    WU Yuxiu, MENG Qinghao, and ZENG Ming. Sound based relative localization for distributed multi-robot systems[J]. Acta Automatica Sinica, 2014, 40(5): 798–809.
    [16] FENG Daquan, WANG Chunqi, HE Chunlong, et al. Kalman-filter-based integration of IMU and UWB for high-accuracy indoor positioning and navigation[J]. IEEE Internet of Things Journal, 2020, 7(4): 3133–3146. doi: 10.1109/JIOT.2020.2965115
    [17] 赵晨, 乔钢, 周锋. 基于正交移动双水下自主潜航器的水下合作目标定位方法[J]. 电子与信息学报, 2021, 43(3): 834–841. doi: 10.11999/JEIT200570

    ZHAO Chen, QIAO Gang, and ZHOU Feng. Underwater cooperative target localization method based on double orthogonal moving autonomous underwater vehicles[J]. Journal of Electronics &Information Technology, 2021, 43(3): 834–841. doi: 10.11999/JEIT200570
    [18] BAI Nan, TIAN Yuan, LIU Ye, et al. A high-precision and low-cost IMU-based indoor pedestrian positioning technique[J]. IEEE Sensors Journal, 2020, 20(12): 6716–6726. doi: 10.1109/JSEN.2020.2976102
    [19] SAN MARTÍN J, CORTÉS A, ZAMORA-CADENAS L, et al. Precise positioning of autonomous vehicles combining UWB ranging estimations with on-board sensors[J]. Electronics, 2020, 9(8): 1238. doi: 10.3390/electronics9081238
    [20] MAGNAGO V, CORBALÁN P, PICCO G P, et al. Robot localization via odometry-assisted Ultra-wideband ranging with stochastic guarantees[C]. 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Macau, China, 2019: 1607–1613.
    [21] GUO Kexin, QIU Zhirong, MENG Wei, et al. Ultra-wideband based cooperative relative localization algorithm and experiments for multiple unmanned aerial vehicles in GPS denied environments[J]. International Journal of Micro Air Vehicles, 2017, 9(3): 169–186. doi: 10.1177/1756829317695564
    [22] LIU Ran, YUEN C, DO T N, et al. Cooperative relative positioning of mobile users by fusing IMU inertial and UWB ranging information[C]. 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 2017: 5623–5629.
    [23] HARDY J, STRADER J, GROSS J N, et al. Unmanned aerial vehicle relative navigation in GPS denied environments[C]. 2016 IEEE/ION Position, Location and Navigation Symposium (PLANS), Savannah, USA, 2016: 344–352.
    [24] CHOU C, WANG Di, SONG Dezhen, et al. On the tunable sparse graph solver for pose graph optimization in visual SLAM problems[C]. 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Macau, China, 2019: 1300–1306.
    [25] ASCHER C, KESSLER C, WANKERL M, et al. Dual IMU indoor navigation with particle filter based map-matching on a smartphone[C]. 2010 International Conference on Indoor Positioning and Indoor Navigation, Zurich, Switzerland, 2010: 1–5.
    [26] THRUN S, BURGARD W, and FOX D. Probabilistic Robotics[M]. Cambridge: The MIT Press, 2005.
    [27] SCHOUTEN G and STECKEL J. RadarSLAM: Biomimetic SLAM using ultra-wideband pulse-echo radar[C]. 2017 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Sapporo, Japan, 2017: 1–8.
  • 期刊类型引用(1)

    1. 陈涛,刘娣,乔贵方,周霆威,田荣佳. 基于正十二面体靶标多机器人定位系统研究. 组合机床与自动化加工技术. 2023(11): 24-27 . 百度学术

    其他类型引用(5)

  • 加载中
图(9) / 表(2)
计量
  • 文章访问数:  1129
  • HTML全文浏览量:  679
  • PDF下载量:  136
  • 被引次数: 6
出版历程
  • 收稿日期:  2021-08-10
  • 修回日期:  2021-10-01
  • 网络出版日期:  2021-11-19
  • 刊出日期:  2022-10-19

目录

/

返回文章
返回