精准平滑的GNSS路径是户外机器人执行行驶任务的重要先验信息,高效获取、处理和存储GNSS路径是地图制作[1]、机器人导航技术[2-3]和实时决策规划[4]的研究基础。其典型应用场景有军用机器人自主返航和简易地图采集,这类场景需要人工操作轮式移动机器人行驶,利用其定位设备采集准确有效的GNSS路径[5]。但由于道路复杂,人为操作时受到诸多因素影响,极易出现走错道路及不断“倒车”的现象,形成简易的交错折线和复杂的“之字形”折线等无效路径,无法在机器人导航中使用,机器人需要从所采集路径中自动提取平滑有效的路径。
杨伟等[6]基于速度序列对采集的GNSS轨迹线噪声进行分割滤选,能够筛选出相同速度下的突变路径,但针对众源轨迹的滤选方法均不能够对无效轨迹进行精细化处理。精细化路径处理方法主要包括曲线拟合法和数值优化法2类。Dolgov等[7]通过建立多目标优化函数,使用共轭梯度下降法进行路径平滑,并在半结构化环境下进行无人车路径平滑,但该方法对各目标函数的权重选择较为敏感,容易出现不收敛的情况;杜广泽等[8]使用MPC(model predictive control)算法直接优化得到可用于无人车的平滑轨迹;Liu等[9]提出CFS(convex feasible set)算法,利用凸约束迭代得到平滑路径;Zhou等[10]提出一种DL-IAPS(dual-loop iterative anchoring path smoothing)算法,对无人车泊车路径进行优化,将问题转化为二次规划问题求解,为诸多泊车场景提供了可靠的路径。Vailland等[11]使用3次贝塞尔曲线对CBB-RRT*(cubic Bezier based-rapidly-exploring random tree*)算法得到的采样路径进行平滑,得到可用于无人平台平滑行驶的路径;B样条拟合法具备拟合度较高的特点,杜明博等[12]、Zhou等[13]和He等[14]使用B样条曲线分別在无人车、无人机和无人机群中对规划路径进行拟合平滑;文[15]提出使用SDM(squared distance minimization)算法将离散点云拟合为B样条曲线;谢德胜等[16]通过标准卡尔曼滤波器对跳变点进行平滑滤波,但该方法未关注滤波结果与原有路径的位置差异。以上路径处理方法能够得到平滑路径,但是其在处理存在无效路段的路径时存在一些缺陷:(1) 仅能对折线进行平滑处理,无法自动标识和删除无效路段;(2) 局部路段优化时无法与连接点的位置、朝向和曲率保持连续;(3) 拟合度高的方法容易出现过拟合现象,拟合度低的方法得到的结果与原有路径位置差异较大。
为有效解决轮式移动机器人在采集RTK-GNSS(real-time kinematic-GNSS)点集过程中出现的无效路段问题(由走错道路导致),特别是反复倒车前行产生的难以用包络线进行拟合的“之字形”路段,本文提出一种简单高效的路径处理方法,自适应地对多次调整和单次调整路段中的无效路段予以自动识别、剔除和重组,以解决现有路径平滑方法在无效路段剔除方面的不足。为获得适用于轮式移动机器人的平滑路径,构建多目标优化函数并转化为二次规划型求解,达到路径曲率连续、与原有路径保持较小位置差异的目的。整体算法流程如图 1所示。
![]() |
图 1 整体算法流程图 Fig.1 The flowchart of the whole algorithm |
路径分段之前提出如下假设:1) 定义沿车头方向行驶为前进档,逆车头方向行驶为倒退档;2) 定义非前进档采集的路径为误采集路段,称为无效路段,但前进档行驶时采集的路径点集并非都有效。
基于以上假设,根据计算得到的采集点航向信息对GNSS路径中各点的档位信息进行自动识别,并根据档位分布情况将整条路径进行第1次分段。划分的多个路段中,每一个路段中各点对应的档位属性应当一致,每一个路段与相邻路段的档位属性应当不一致,整条路径划分为“前进档—倒退档—前进档”形式的路段组合,如将图 2(a)(c) 划分为图 2(b)(d) 所示路段组合。将这种形式的路段定义为DRD路段组合,划分方法称为DRD分段法。其中D段为前进档时采集的路径点集合,R段为倒档时采集的路径点集合。能够得出如下推论:1) 每一个R段的前一段和后一段都是D段,即不存在2个连续的R段组合,同理也不存在连续的D段组合;2) 存在没有R段的路径且该路径仍为有效路径;3) 不存在D段的路径必然为无效路径。
![]() |
图 2 DRD分段法 Fig.2 DRD segmentation algorithm |
DRD分段法将GNSS路径划分为多条前进和倒退路段组合,但前进路段中所有点并非都是有效的,如图 2(b)中的D
步骤1:基于邻域长度的自适应分段。自适应分段的目的是将长距离的有效(D段)路段划分为多个小段,便于寻找步骤3中的正确交叉点。如图 3(a)所示,若R段的相邻2个D段为闭合形式曲线或者存在多个交点的曲线,在后续步骤3中寻找与相邻D段的交叉点时,将会找到如图 3(a)所示的错误交叉点。对每一个R段相邻的D段按照式(1) 进行第2次分段,即根据R段的长度对相邻D段进行第2次自适应分段处理。对图 2(d)中D
$ \begin{align} d_{\rm d} \geqslant d_{\rm r} +d_{\text{buffer}} \end{align} $ | (1) |
![]() |
图 3 路径重组结果 Fig.3 Results of path rearrangement |
式中,
步骤2:无效路段剔除。按照2.1节假设2) 设定无效路段剔除规则:(1) R形式路段,所有R段的点均为无效点;(2) RDR形式路段,经过自适应分段法得到的路段中存在RDR式的路段组合,这类组合表示需要连续调整行驶方向区域,该路段组合均为无效路段。
步骤3:路段重组,对剔除无效路段后的剩余路段进行重新组合。每次重组均仅针对2个路段,以
1) 若存在交叉点,即
$ \begin{align} S_{j} & \to \{ \boldsymbol{x}_{i} =(x_{i}, y_{i} ) |i=0, 1, \cdots, p \} \\ S_{j+1} & \to \{ \boldsymbol{x}_{i} =(x_{i}, y_{i} ) |i=q, q+1, \cdots, N \} \\ S_{j} \cup S_{j+1} & \to \{ \boldsymbol{x}_{i} =(x_{i}, y_{i} ) |i=0, 1, \cdots, p, q, \cdots, N \} \end{align} $ | (2) |
2) 若不存在交叉点,即
$ \begin{align} & \boldsymbol{x}_{N} \in S_{j} \xrightarrow[{ q\in S_{j+1}}]{\text{寻找最近点}} \{\boldsymbol{x}_{i} =(x_{i}, y_{i} ) |i=0 , 1, \cdots, M \} \\ & \boldsymbol{x}_{0} \in S_{j+1} \xrightarrow[p\in S_{j}]{\text{寻找最近点}} \{ \boldsymbol{x}_{i} =(x_{i}, y_{i} ) |i=N, \cdots, 0 \} \\ & S_{j} \cup S_{j+1} \to \{ \boldsymbol{x}_{i} =(x_{i}, y_{i})|i=0, 1, \cdots, p, q, \cdots, N \} \end{align} $ | (3) |
为解决重组结果航向和曲率不连续变化的问题,将经过分段重组处理后的路径进行后处理,以得到可直接用于机器人轨迹跟随和高精度地图制作的平滑路径。从决策变量、目标函数和约束条件3个方面建立多目标优化模型,优化目标为得到使目标函数最小的决策变量。
建立优化目标函数的数学模型,首先需要确定问题的决策变量
$ \begin{align} {\boldsymbol{X}}=[{\boldsymbol{x}_{1}, \boldsymbol{x}_{2}, \cdots, \boldsymbol{x}_{N}}]^{\rm T} \end{align} $ | (4) |
根据决策变量设定优化模型的目标函数,构建式(5) 所示的2个子目标函数:路径平滑函数
$ \begin{align} \min {\boldsymbol{Y}}=J({\boldsymbol{X}}) =\sum _2^N ({\omega_{\rm s} J_{\rm s} (\boldsymbol{x}_{i})+\omega_{\rm d} J_{\rm d} (\boldsymbol{x}_{i} ) }) \end{align} $ | (5) |
式中,
文[7]使用
$ \begin{align} J_{\rm s} (\boldsymbol{x}_{i} )=(\Delta \boldsymbol{x}_{i+1} -\Delta \boldsymbol{x}_{i} ) ^{2}, \; \; i=2, \cdots, N-1 \end{align} $ | (6) |
令
$ \begin{align} J_{\rm d} (\boldsymbol{x}_{i})=( \boldsymbol{x}_{i} -\boldsymbol{x}_{{\rm o}i} ) ^{2}, \; \; i=1, \cdots, N \end{align} $ | (7) |
采用为每一个决策变量设置矩形优化区域的方式约束优化范围。设置各点的调整区域,以保证优化结果与原路径保持形状一致。设矩形优化区域的长度和宽度分别为
![]() |
图 4 优化问题示意图 Fig.4 Schematic diagram of the optimization problem |
![]() |
图 5 渐近约束函数 Fig.5 Asymptotic constraint function |
为了保证端点(2段轨迹的连接点)处的曲率连续,在端点处构建渐近约束:以
由式(4)~式(7) 可知,优化目标函数最高次均为二次,约束条件均可转化为线性。因此,将以上目标函数转化为式(8) 所示的二次规划型求解。
$ \begin{align} \min \frac{1}{2}{\boldsymbol{X}}^{\rm T}{\boldsymbol{QX}}+{\boldsymbol{C}}^{\rm T}{\boldsymbol{X}}, \quad \text{s.t. }\; \; {\boldsymbol{L}}\leqslant {\boldsymbol{AX}}\leqslant {\boldsymbol{U}} \end{align} $ | (8) |
式中,
$ \begin{align} {\boldsymbol{Q}} = \begin{bmatrix} {\boldsymbol{Q}_{1}} & {\boldsymbol{Q}_{2}} & & & {\boldsymbol{0}} \\ & {\boldsymbol{Q}_{3}} & {\boldsymbol{Q}_{2}} & & \\ & & \ddots & \ddots& \\ & & & {\boldsymbol{Q}_{3}} & {\boldsymbol{Q}_{2}} \\ {\boldsymbol{0}} & & & & {\boldsymbol{Q}_{4}} \end{bmatrix} \end{align} $ | (9) |
式中,矩阵
一次项矩阵
$ \begin{align} {\boldsymbol{C}} =[-2\omega_{\rm d} x_{{\rm o}1} , \cdots , -2\omega_{\rm d} x_{{\rm o}N} ]^{\rm T} \end{align} $ | (10) |
根据矩形优化区域,以
$ \begin{align} \begin{cases} {\boldsymbol{L}}={\boldsymbol{X}}_{\text{origin}} -{\boldsymbol{X}}_{\text{bound}} \\ {\boldsymbol{U}}={\boldsymbol{X}}_{\text{origin}} +{\boldsymbol{X}}_{\text{bound}} \end{cases} \end{align} $ | (11) |
为了验证所提出的路径重组和优化方法,对多段具有代表性的路径进行采集,分别使用曲线拟合法、数值优化法和本文方法进行处理,并对实验结果进行定性和定量分析。使用的地图采集车为图 6所示的“军交猛狮”无人车,该车搭载RTK-GNSS设备,通过地基增强和微惯性导航系统以20 Hz频率输出精度可达厘米级的定位信息,以固定间距存储经度和纬度,达到对密集型定位数据的清洗作用。
![]() |
图 6 GNSS路径采集平台 Fig.6 GNSS path collecting platform |
为了验证算法的整体性能,对不同倒车次数和多种道路形态下的实车行驶路径进行采集,分别采集1次倒车、2次倒车、3次倒车情况下的GNSS路径,采集场景覆盖直角弯、弧线弯和直线等不同道路形态。分别使用本文重组优化方法、B样条拟合法[15]和多目标优化方法[10]对初始采集路径进行处理,并使用本文优化方法和B样条拟合法对重组结果进行优化后处理。
将“军交猛狮”无人平台采集的原始GNSS路径转化到直角坐标系中,计算路径点航向,然后按照航向识别路径行驶方向,使用DRD分段法将其划分为D、R路段组合,得到如图 7中实线所示路径,图中箭头方向为采集路径点的方向。其中场景1为单次倒车的路段,其倒车路段长度为31 m;场景2和场景3中存在2次倒车,其中场景3的2次倒车路径长度存在差异(分别为8 m和18 m);场景4中存在3次倒车,并对其调整行驶方向的区域进行了局部放大。按照本文方法对DRD分段后的路段进行无效路段剔除、自适应分段重组和路径后处理,得到如图 7中点虚线所示的处理结果。根据实验结果可知DRD分段法能够有效处理不同倒车距离下的无效路段,不同长度的无效路段经过第2次自适应分段后不再受到无效路段长度的影响,按照相同的规则进行剔除和重组。在处理过程中,场景2和场景3中的重组路段相互“交叉”,按照式(2) 进行重组;场景1和场景4中的重组路段按照式(3) 进行重组。场景2、场景3、场景4为存在多次倒车而产生“之字形”形式的无效路段,其中场景2与场景3在经过第2次自适应分段后均形成了DRDRD形式的路段组合,场景4分段为DRDRDRD形式,根据剔除规则和重组规则均能得到准确有效的路径。
![]() |
图 7 GNSS路径处理结果 Fig.7 Results of GNSS path processing |
采用不同的方法对原始采集路径进行处理,结果如图 8所示。由图 8可知,直接通过B样条拟合和数值优化方法仅能够对初始路径进行平滑和对所采集路径中的“尖角”进行处理,但得到的弧线仍然存在圆弧锐角,在单次倒车和“之字形”场景中均未能有效地剔除无效路段,随着无效路段的长度增加,平滑效果逐渐变差,且所得的结果不符合机器人使用要求。以上实验结果说明,B样条拟合和数值优化法均不能达到剔除无效路段、平滑有效路段的目的。
![]() |
图 8 不同方法处理结果 Fig.8 Processing results of different algorithms |
使用文[15]方法和本文方法对重组后的路径进行优化,并对其优化路径的曲率进行计算,如图 9所示。文[15]和本文方法均能够很好地拟合重组路径。但由图 9中的曲率对比曲线可知,文[15]方法中起点和终点与原有路径曲率产生了较大差异,本文方法中起点和终点位置均与原有路径保持一样的曲率;文[15]得到的B样条曲率是连续变化的,但其多处位置存在曲率变化“尖角”的情况,曲率峰值和变化速度均大于本文方法,表明本文方法得到的优化结果更加平滑。
![]() |
图 9 不同方法曲率曲线 Fig.9 Curvature graphs of different algorithms |
其次,将本文方法处理后的路径用于2种不同大小的轮式无人车,2种平台质量分别为9.5 kg(电动车)和2000 kg(汽油车),轴距分别为40 cm和295 cm,转向方式均为前轮阿克曼式转向[16, 18]。实验车速分别为2.4 m/s和10 m/s,采用文[16, 18]的控制方法及其无人平台对本文处理轨迹进行跟随,横向偏差均控制在0.6 m以内,反映了该路径的可行性。
4.2 定量分析参考文[17]中的路径平滑性指标,本文对路径离散采样点的曲率绝对值之和
$ \begin{align} \begin{cases} e_{i} =| {\boldsymbol{x}_{i} -\boldsymbol{x}_{{\rm o}i}} | \\ e_{\rm a} =\dfrac{\sum\limits_1^N {e_{i}}} {N} \end{cases} \end{align} $ | (12) |
图 10为优化结果和重组结果中各点的位置差,本文方法的位置差最大值小于0.35 m。由图 9和图 10可得,本文方法的优化结果中起点和终点的位置、曲率和航向角均与相邻点保持了一致,达到了保持原路径形状的目的,能够与所采集路径有效衔接。
![]() |
图 10 路径点位置偏差 Fig.10 Position difference of path points |
分别计算各点在优化前的曲率绝对值之和
![]() |
表 1 各优化算法结果 Tab. 1 Results of different optimization algorithms |
提出了一种基于分段重组和后处理的GNSS路径处理方法,为达到保持采集路径原有形态的目的,提出DRD分段法对采集路径进行路段划分,考虑多次反复倒车、前行情景和不同道路形态场景设定无效路段剔除规则,在DRD路段中根据邻域长度进行第2次自适应分段并重组,从采集路径中高效地筛选到可用的有效路段;为实现筛选路段与原有路段平滑衔接的目的,构建优化目标和渐近端点约束,对重组路径进行平滑后处理。多种场景下的实验结果表明该方法能够解决直接拟合法和数值优化法无法处理的无效路径问题,并与原有路径保持曲率连续,与文[15]方法的对比结果说明,本文方法能够得到更为平滑的路径,符合轮式移动机器人的运动学特征,且耗时仅为文[15]方法的1/5。
该方法在民用中可应用于高精度地图更新和车辆编队行驶,在军用中可用于无人平台自主返航和简易地图采集等场景。下一步尝试使用优化方法对部分丢失卫星信号的定位数据进行滤波和平滑处理,以更好地满足实际应用中的需要。
[1] |
Chen C, Lu C W, Huang Q X, et al. City-scale map creation and updating using GPS collections[C]//22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM, 2016: 1465-1474.
|
[2] |
Dirik M, Kocamaz A F, Castillo O. Global path planning and path-following for wheeled mobile robot using a novel control structure based on a vision sensor[J]. International Journal of Fuzzy Systems, 2020, 22: 1880-1891. DOI:10.1007/s40815-020-00888-9 |
[3] |
Hidalgo-Paniagua A, Bandera J P, Ruiz-de-Quintanilla M, et al. Quad-RRT: A real-time GPU-based global path planner in large-scale real environments[J]. Expert Systems with Applications, 2018, 99: 141-154. DOI:10.1016/j.eswa.2018.01.035 |
[4] |
Paden B, Čáp M, Yong S Z, et al. A survey of motion planning and control techniques for self-driving urban vehicles[J]. IEEE Transactions on Intelligent Vehicles, 2016, 1(1): 33-55. DOI:10.1109/TIV.2016.2578706 |
[5] |
陈慧岩, 张玉. 军用地面无人机动平台技术发展综述[J]. 兵工学报, 2014, 35(10): 1696-1706. Chen H Y, Zhang Y. An overview of research on military unmanned ground vehicles[J]. Acta Armamentarii, 2014, 35(10): 1696-1706. DOI:10.3969/j.issn.1000-1093.2014.10.026 |
[6] |
杨伟, 艾廷华. 轨迹分割与图层融合的车辆轨迹线构建道路地图方法[J]. 测绘学报, 2018, 47(12): 1650-1659. Yang W, Ai T H. A method for road map construction based on trajectory segmentation and layer fusion using vehicle track line[J]. Acta Geodaetica et Cartographica Sinica, 2018, 47(12): 1650-1659. DOI:10.11947/j.AGCS.2018.20170182 |
[7] |
Dolgov D, Thrun S, Montemerlo M, et al. Path planning for autonomous vehicles in unknown semi-structured environments[J]. International Journal of Robotics Research, 2010, 29(5): 485-501. DOI:10.1177/0278364909359210 |
[8] |
杜广泽, 张旭东, 邹渊, 等. 非结构道路场景下轮式无人车辆避障算法[J]. 兵工学报, 2020, 41(10): 2096-2105. Du G Z, Zhang X D, Zou Y, et al. Obstacle avoidance algorithm for autonomous wheeled vehicle in unstructured environments[J]. Acta Armamentarii, 2020, 41(10): 2096-2105. DOI:10.3969/j.issn.1000-1093.2020.10.020 |
[9] |
Liu C L, Lin C Y, Tomizuka M. The convex feasible set algorithm for real time optimization in motion planning[J]. SIAM Journal on Control and Optimization, 2018, 56(4): 2712-2733. DOI:10.1137/16M1091460 |
[10] |
Zhou J Y, He R X, Wang Y, et al. Autonomous driving trajectory optimization with dual-loop iterative anchoring path smoothing and piecewise-jerk speed optimization[J]. IEEE Robotics and Automation Letters, 2021, 6(2): 439-446. DOI:10.1109/LRA.2020.3045925 |
[11] |
Vailland G, Gouranton V, Babei M. Cubic Bézier local path planner for non-holonomic feasible and comfortable path generation[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2021: 7894-7900.
|
[12] |
杜明博, 梅涛, 陈佳佳, 等. 复杂环境下基于RRT的智能车辆运动规划算法[J]. 机器人, 2015, 37(4): 443-450. Du M B, Mei T, Chen J J, et al. RRT-based motion planning algorithm for intelligent vehicle in complex environments[J]. Robot, 2015, 37(4): 443-450. |
[13] |
Zhou B Y, Gao F, Wang L Q, et al. Robust and efficient quadrotor trajectory generation for fast autonomous flight[J]. IEEE Robotics and Automation Letters, 2019, 4(4): 3529-3536. DOI:10.1109/LRA.2019.2927938 |
[14] |
He W J, Qi X G, Liu L F. A novel hybrid particle swarm optimization for multi-UAV cooperate path planning[J]. Applied Intelligence, 2021, 51: 7350-7364. DOI:10.1007/s10489-020-02082-8 |
[15] |
Wang W P, Pottmann H, Liu Y. Fitting B-spline curves to point clouds by curvature-based squared distance minimization[J]. ACM Transactions on Graphics, 2006, 25(2): 214-238. DOI:10.1145/1138450.1138453 |
[16] |
谢德胜, 徐友春, 万剑, 等. 基于RTK-GPS的轮式移动机器人轨迹跟随控制[J]. 机器人, 2017, 39(2): 221-229. Xie D S, Xu Y C, Wan J, et al. Trajectory tracking control of wheeled mobile robots based on RTK-GPS[J]. Robot, 2017, 39(2): 221-229. |
[17] |
彭晓燕, 谢浩, 黄晶. 无人驾驶汽车局部路径规划算法研究[J]. 汽车工程, 2020, 42(1): 1-10. Peng X Y, Xie H, Huang J. Research on local path planning algorithm for unmanned vehicles[J]. Automotive Engineering, 2020, 42(1): 1-10. DOI:10.3969/j.issn.2095-1469.2020.01.01 |
[18] |
潘世举, 李华, 苏致远, 等. 基于跟踪误差模型的智能车辆轨迹跟踪方法[J]. 汽车工程, 2019, 41(9): 1021-1027. Pan S J, Li H, Su Z Y, et al. Trajectory tracking method for intelligent vehicles based on tracking-error model[J]. Automotive Engineering, 2019, 41(9): 1021-1027. |