基于感知移动小车的装甲车上火车甲板的自动引导方法

未命名 07-11 阅读:82 评论:0


1.本发明属于智能驾驶方面的辅助泊车领域,具体的说是一种基于感知移动小车的装甲车上火车甲板的自动引导方法。


背景技术:

2.考虑到装甲车的远程行驶成本和常规路面的承受能力,火车运输一直是装甲车长途运输的重要途径。然而,装甲车上甲板一直是军事设备运输领域的一项难题,对驾驶员提出了较高的要求。一辆重型装甲车的底盘最宽度达到了3米,而火车的甲板宽度仅为2.9米。而装甲车驾驶员只能通过一个小窗口来观察,近乎盲开。如果不能保证5cm的精度要求,结果是毁灭性的。然而,目前市面上还没有针对这一特化场景的辅助设备,是空白的领域。普遍的方案还是人工辅助,即一位士兵在旁观察与指挥。这样的方案对驾驶与指挥的士兵都提出了较高的要求,需要长期与严格的训练,具有不确定性和失误的可能。
3.该特化场景具有一些常规环境下不具备的特点,一是环境单一,识别物体可控。甲板具有较好的识别特征,地面平边缘明显;装甲车型号是预先定好的,可以作为输入提高精度和可靠性。二是精度要求高,失误后果严重。灾难性的后果意味着错误是不被允许的,在保证精度的同时做好验证,实现百分百的可靠。


技术实现要素:

4.本发明是为了解决上述现有技术存在的不足之处,提出一种基于感知移动小车的装甲车上火车甲板的自动引导方法,以期能大幅提高装甲车登上火车甲板过程中位置识别的精确度和可靠性,从而能辅助装甲车更安全地登上甲板。
5.本发明为达到上述发明目的,采用如下技术方案:
6.本发明一种基于感知移动小车的装甲车上火车甲板的自动引导方法的特点在于,是按照如下步骤进行:
7.步骤1:小车在遥控模式下登上火车甲板后,切换至小车的自动模式,小车上的激光雷达采集点云数据,并基于高度差对所述点云数据进行识别,得到火车甲板的边缘点云;
8.步骤2:确定火车甲板的中央位置为预瞄点,从而基于纯跟踪算法引导小车自动行驶至所述预瞄点;
9.步骤3:以小车的位置为坐标原点,以平行于火车甲板的左、右边缘为x轴,以指向装甲车方向为x轴正方向,以垂直于火车甲板的左、右边缘为y轴,并遵循左手坐标系建立z轴,从而构建小车三维坐标系;从而将边缘点云转换为所述小车三维坐标系中的小车坐标点集;
10.步骤4:驾驶员操控装甲车登上火车甲板后,所述激光雷达在所述预瞄点处再次采集点云数据并进行过滤处理,以过滤掉装甲车范围外的无效点云数据,得到过滤后的点云数据;基于射线算法对过滤后的点云数据在进行地面点云滤除,得到滤除后的点云数据;利用欧几里得聚类对所述滤除后的点云数据进行处理,得到处理后的装甲车点云数据;
11.步骤5:将处理后的装甲车点云数据投影到小车三维坐标系的yoz平面上,并使用最小二乘拟合法拟合成一条直线l1,将所述直线l1在yoz平面中分别按照平行z轴的方向进行向上、向下平移,得到两条平移直线,且向上平移的距离为所述直线l1与处理后的装甲车点云数据中最大z轴坐标之间的差值,向下平移距离为所述直线l1与处理后的装甲车点云数据中最小z轴坐标之间的差值;两条平移直线的长度为处理后的装甲车点云数据的最大y轴坐标与最小y轴坐标之间的差值,在两条平移直线的端点之间作两条垂线,并与两条平移直线共同形成矩形;根据处理后的装甲车点云数据的最大z轴坐标与最小z轴坐标之间的差值,将所述矩形扩展成参考3d包围盒;所述参考3d包围盒的长、宽、高定为装甲车的参考长度l,宽度w,高度h;
12.步骤6:对所述过滤后的点云数据进行装甲车车身部分过滤,得到装甲车主炮点云数据;利用霍夫变换圆形检测法对所述装甲车主炮点云数据进行处理,得到装甲车主炮尺寸r;
13.步骤7:根据数据库中各型号装甲车的尺寸参数,利用式(1)-式(4)分别计算第i个型号的装甲车的长度偏差αi、宽度偏差βi、高度偏差γi、口径偏差δi:
14.αi=1-|l
i-l|/liꢀꢀꢀ
(1)
15.βi=1-|w
i-w|/wiꢀꢀꢀꢀ
(2)
16.γi=1-|h
i-h|/hiꢀꢀꢀ
(3)
17.δi=1-|r
i-r|/riꢀꢀꢀ
(4)
18.式(1)-式(4)中,li,wi,hi,ri分别表示第i个型号的装甲车的实际长度、实际宽度、实际高度和实际口径尺寸;
19.利用式(5)计算第i个型号的装甲车的型号概率θi:
20.θi=aαi+bβi+cγi+dδiꢀꢀꢀ
(5)
21.式(5)中,a,b,c,d为四个参数权重;
22.从所有型号的装甲车的型号概率中,选取最大概率值所对应的装甲车型号,记为max;
23.步骤8:由处理后的装甲车点云数据和max型号的装甲车尺寸数据,绘制初次、二次3d包围盒;
24.步骤8.1:将处理后的装甲车点云数据投影到所述小车三维坐标系中的xoy平面,从而得到xoy平面上的装甲车点云数据,并在极坐标系下绘制xoy平面上的装甲车点云数据中每个坐标点的正弦曲线,将所有正弦曲线中相交最多的点a所对应的极坐标记为(r,θ),其中,r表示点a的极值,θ表示点a的极角;
25.步骤8.2:将点a在所述小车三维坐标系中对应的直线l2作为霍夫变换拟合直线;将直线l2与小车三维坐标系中正向x轴的夹角记为δαf,以顺时针为夹角正方向,将xoy平面上的装甲车点云数据按照旋转角度-δαf绕着所述坐标原点进行旋转,得到旋转后的装甲车点云数据;
26.依据第max型号的装甲车的实际长度和实际高度,利用坐标系平齐法对旋转后的装甲车点云数据进行2d包围盒的绘制,并在z坐标上拉伸为3d包围盒后再绕着所述坐标原点旋转角度δαf,从而得到初次3d包围盒;
27.步骤8.3:在小车三维坐标系中,计算初次3d包围盒中装甲车前侧边缘最左点与火
车左侧甲板的距离dis_af,前侧边缘最右点与右侧甲板的距离dis_bf,计算装甲车后侧边缘最左点与火车左侧甲板的距离dis_cf,后侧边缘最右点与右侧甲板的距离dis_df,并与夹角δαf共同构成装甲车的初次位置识别结果;
28.步骤9:将处理后的装甲车点云投影到xoz平面,使用霍夫直线检测法确定装甲车边缘直线l3;根据直线与小车坐标系y轴的夹角δαs,将整个点云数据绕着坐标原点进行旋转,依据选取的装甲车型号确定长度和高度,坐标系平齐法绘制2d包围盒,在z坐标上拉伸为二次3d包围盒,绘制完成后再将点云数据绕着坐标原点旋转;
29.分别检测二次3d包围盒前侧边缘最左点与火车左侧甲板的距离dis_as、前侧边缘最右点与右侧甲板的距离dis_bs、后侧边缘最左点与火车左侧甲板的距离dis_cs、后侧边缘最右点与右侧甲板的距离dis_ds,并与夹角δαs共同构成装甲车的二次位置识别结果;
30.步骤10:比较初次位置识别结果和二次位置识别结果,选用其中一个位置识别结果,并发送给驾驶员;
31.步骤10.1:依据式(6)~式(7)计算两次识别结果的左履带绝对偏差e
dis_a
和右履带绝对偏差e
dis_b

32.e
dis_a
=|dis_a
f-dis_as|
ꢀꢀꢀ
(6)
33.e
dis_b
=|dis_b
f-dis_bs|
ꢀꢀꢀ
(7)
34.步骤10.2:当e
dis_a
,e
dis_b
均小于阈值max_e时,取初次位置识别结果,并执行步骤9.4;
35.当e
dis_a
大于max_e或e
dis_a
大于max_e时,执行步骤9.3;
36.步骤10.3:分别计算两条边缘直线l2、l3相对处理后的装甲车点云的最小二乘拟合质量r,并取最小r值所对应的位置识别结果;
37.步骤10.4:若取初次位置识别结果,则将dis_af赋给左履带偏差dis_a,dis_bf赋给右履带偏差dis_b,δαf给δα;
38.若取二次位置识别结果,则将dis_as赋给dis_a,dis_bs赋给dis_b,δαs赋给δα;
39.计算装甲车前侧在y轴上的偏差距离δyf=dis_a-dis_b,后侧在y轴上的偏差距离δyr=dis_a-dis_b+2l
max
×
sinδα;航向角为δα;并将δyf和δα实时发送给装甲车驾驶员,以告知装甲车当前的姿态状况;
40.步骤11:定义最大偏差参数为dis_max,当δyf和δyr处于区间(-dis_max,dis_max)时,向装甲车驾驶员发送“位置合适”;否则,当δyf与δyr均为正值,向驾驶员发送“位置偏右”;当δyf与δyr均为负值,向驾驶员发送“位置偏左”;当δyf为正,δyr为负,向驾驶员发送“姿态偏右”,此时若δyf超过区间,继续发送“位置偏右”,若δyr超过区间,继续发送“位置偏左”。当δyf为负,δyr为正,向驾驶员发送“姿态偏左”,此时若δyf超过区间,继续发送“位置偏左”,若δyr超过区间,继续发送“位置偏右”。
41.本发明一种电子设备,包括存储器以及处理器的特点在于,所述存储器用于存储支持处理器执行所述自动引导方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
42.本发明一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序的特点在于,所述计算机程序被处理器运行时执行所述自动引导方法的步骤。
43.与现有技术相比,本发明的有益效果在于:
44.1.本发明针对装甲车上火车甲板的问题,通过搭载激光雷达小车的介入,先后两次点云处理,建立起装甲车与火车甲板的位置关系,有效地辅助操纵员驾驶。在时间上分离两次点云处理,减少了点云剔除的互相干扰,提高了准确性;有针对性地剔除点云,减小了计算量,提高了实时性。
45.2.本发明使用16线激光雷达,考虑到雷达在获取点云中可能存在遗漏,提高关键部位点云采集的敏感度,在装甲车上下边缘与左右拐角处粘贴磨砂贴纸,保证了点云的可靠性。同时借助3d包围盒进行装甲车的位置识别,凭借较少的点云信息就可以构建出完整的位置信息,减少了点云获取的时间,提高了实时性。
46.3.本发明考虑装甲车类型的可知性,预先输入装甲车外表征数据,将其与装甲车点云数据比较,加权各项参数获得最大概率型号。根据该型号识别策略得出装甲车型号,大大提高了位置估计的准确性与可靠性,可以保证修正点云处理中产生的误差。
附图说明
47.图1为本发明小车坐标系xoy平面示意图;
48.图2为本发明实现步骤流程图。
具体实施方式
49.本实施例中,一种基于感知移动小车的装甲车上火车甲板的自动引导方法,是使用搭载激光雷达的小车,处理激光雷达获取的点云数据,先后构建出小车与甲板,小车与装甲车的位置关系。具体的说,如图2所示,包括如下步骤:
50.步骤1:小车在遥控模式下登上火车甲板后,切换至小车的自动模式,小车上的激光雷达采集点云数据,并基于高度差对点云数据进行识别,得到火车甲板的边缘点云;利用火车甲板两侧边缘鲜明的高度特征的特性,可以降低计算量,提高检测准确性。
51.步骤2:确定火车甲板的中央位置为预瞄点,预瞄点在x轴上应当位于中央位置、y轴上应当为装甲车留下足够空间,从而基于纯跟踪算法引导小车自动行驶至预瞄点;
52.步骤3:以小车的位置为坐标原点,以平行于火车甲板的左、右边缘为x轴,以指向装甲车方向为x轴正方向,以垂直于火车甲板的左、右边缘为y轴,并遵循左手坐标系建立z轴,从而构建小车三维坐标系;从而将边缘点云转换为小车三维坐标系中的小车坐标点集;
53.步骤4:驾驶员操控装甲车登上火车甲板后,激光雷达在预瞄点处再次采集点云数据并进行过滤处理,以过滤掉装甲车范围外的无效点云数据,得到过滤后的点云数据;为提高关键部位点云收集的敏感度,确保点云处理的顺利进行,在装甲车上下边缘和左右拐角处粘贴磨砂贴纸。基于射线算法对过滤后的点云数据在进行地面点云滤除,得到滤除后的点云数据,射线算法的核心是利用射线的形式来组织点云,通过判断射线中前后两点的坡度是否大于我们事先设定的坡度阈值来判断是否是地面点,在这里将火车甲板点云视为地面点滤除,因为火车甲板平整的特性,可以较好地实现滤除的效果;利用欧几里得聚类对滤除后的点云数据进行处理,得到处理后的装甲车点云数据;
54.步骤5:如图1所示,将处理后的装甲车点云数据投影到小车三维坐标系的yoz平面上,并使用最小二乘拟合法拟合成一条直线l1。最小二乘拟合法绘制3d包围盒可能会漏掉部分装甲车点云,不适合位置识别,但该方法优于坐标系平齐法,能得到可靠的3d包围盒外
轮廓尺寸。将直线l1在yoz平面中分别按照平行z轴的方向进行向上、向下平移,得到两条平移直线,且向上平移的距离为直线l1与处理后的装甲车点云数据中最大z轴坐标之间的差值,向下平移距离为直线l1与处理后的装甲车点云数据中最小z轴坐标之间的差值;两条平移直线的长度为处理后的装甲车点云数据的最大y轴坐标与最小y轴坐标之间的差值,在两条平移直线的端点之间作两条垂线,并与两条平移直线共同形成矩形;根据处理后的装甲车点云数据的最大z轴坐标与最小z轴坐标之间的差值,将矩形扩展成参考3d包围盒;参考3d包围盒的长、宽、高定为装甲车的参考长度l,宽度w,高度h;
55.步骤6:对过滤后的点云数据进行装甲车车身部分过滤,得到装甲车主炮点云数据;利用霍夫变换圆形检测法对装甲车主炮点云数据进行处理,得到装甲车主炮尺寸r;
56.步骤7:根据数据库中各型号装甲车的尺寸参数,利用式(1)-式(4)分别计算第i个型号的装甲车的长度偏差αi、宽度偏差βi、高度偏差γi、口径偏差δi:
57.αi=1-|l
i-l|/liꢀꢀꢀ
(1)
58.βi=1-|w
i-w|/wiꢀꢀꢀ
(2)
59.γi=1-|h
i-h|/hiꢀꢀꢀ
(3)
60.δi=1-|r
i-r|/riꢀꢀꢀ
(4)
61.式(1)-式(4)中,li,wi,hi,ri分别表示第i个型号的装甲车的实际长度、实际宽度、实际高度和实际口径尺寸;
62.利用式(5)计算第i个型号的装甲车的型号概率θi:
63.θi=aαi+bβi+cγi+dδiꢀꢀꢀ
(5)
64.式(5)中,a,b,c,d为四个参数权重;为保证权值a,b,c,d合理,基于深度学习算法,训练装甲车的点云数据集,得出最能准确匹配装甲车型号的加权值。
65.从所有型号的装甲车的型号概率中,选取最大概率值所对应的装甲车型号,记为max,其对应的尺寸分别记为l
max
,w
max
,h
max
,r
max

66.步骤8:由处理后的装甲车点云数据和max型号的装甲车尺寸数据,绘制初次、二次3d包围盒;
67.步骤8.1:将处理后的装甲车点云数据投影到小车三维坐标系中的xoy平面,从而得到xoy平面上的装甲车点云数据,并在极坐标系下绘制xoy平面上的装甲车点云数据中每个坐标点的正弦曲线,将所有正弦曲线中相交最多的点a所对应的极坐标记为(r,θ),其中,r表示点a的极值,θ表示点a的极角;
68.步骤8.2:将点a在小车三维坐标系中对应的直线l2作为霍夫变换拟合直线;将直线l2与小车三维坐标系中正向x轴的夹角记为δαf,以顺时针为正方向,将xoy平面上的装甲车点云数据按照旋转角度-δαf绕着坐标原点进行旋转,得到旋转后的装甲车点云数据。
69.直线在极坐标系上的坐标值均满足式(8):
70.r=xcosθ+ysinθ
ꢀꢀ
(8)
71.即过点(x,y)的所有直线,均可以用该公式表示。接着在极坐标对极径、极角平面中绘制出所有通过点(x,y)的直线,将得到一条正弦曲线。将所有点进行上述操作,得到若干条正弦曲线,这时会发现有几个交点,在此可以设置一个阈值来定义,当多条曲线相交于一点,可以认为检测到了一条直线。该方法绘制3d包围盒具有较高的精确性。
72.依据第max型号的装甲车的实际长度和实际高度,利用坐标系平齐法对旋转后的
装甲车点云数据进行2d包围盒的绘制,并在z坐标上拉伸为3d包围盒后再绕着坐标原点旋转角度δαf,从而得到初次3d包围盒;
73.步骤8.3:在小车三维坐标系中,计算初次3d包围盒中装甲车前侧边缘最左点与火车左侧甲板的距离dis_af,前侧边缘最右点与右侧甲板的距离dis_bf,计算装甲车后侧边缘最左点与火车左侧甲板的距离dis_cf,后侧边缘最右点与右侧甲板的距离dis_df,并与夹角δαf共同构成装甲车的初次位置识别结果;
74.步骤9:将处理后的装甲车点云投影到xoz平面,使用霍夫直线检测法确定装甲车边缘直线l3;根据直线与小车坐标系y轴的夹角δαs,将整个点云数据绕着坐标原点进行旋转,依据选取的装甲车型号确定长度和高度,坐标系平齐法绘制2d包围盒,在z坐标上拉伸为二次3d包围盒,绘制完成后再将点云数据绕着坐标原点旋转;
75.分别检测二次3d包围盒前侧边缘最左点与火车左侧甲板的距离dis_as、前侧边缘最右点与右侧甲板的距离dis_bs、后侧边缘最左点与火车左侧甲板的距离dis_cs、后侧边缘最右点与右侧甲板的距离dis_ds,并与夹角δαs共同构成装甲车的二次位置识别结果;
76.步骤10:比较初次位置识别结果和二次位置识别结果,选用其中一个位置识别结果,并发送给驾驶员;
77.步骤10.1:依据式(6)~式(7)计算两次识别结果的左履带绝对偏差e
dis_a
和右履带绝对偏差e
dis_b

78.e
dis_a
=|dis_a
f-dis_as|
ꢀꢀꢀ
(6)
79.e
dis_b
=|dis_b
f-dis_bs|
ꢀꢀꢀ
(7)
80.步骤10.2:当e
dis_a
,e
dis_b
均小于阈值max_e时,取初次位置识别结果,并执行步骤9.4;阈值max_e取10mm,这是可以接受的误差。
81.当e
dis_a
大于max_e或e
dis_a
大于max_e时,执行步骤9.3;
82.步骤10.3:分别计算两条边缘直线l2、l3相对处理后的装甲车点云的最小二乘拟合质量r,并取最小r值所对应的位置识别结果;
83.步骤10.4:若取初次位置识别结果,则将dis_af赋给左履带偏差dis_a,dis_bf赋给右履带偏差dis_b,δαf给δα;
84.若取二次位置识别结果,则将dis_as赋给dis_a,dis_bs赋给dis_b,δαs赋给δα;
85.计算装甲车前侧在y轴上的偏差距离δyf=dis_a-dis_b,后侧在y轴上的偏差距离δyr=dis_a-dis_b+2l
max
×
sinδα;航向角为δα;并将δyf和δα实时发送给装甲车驾驶员,以告知装甲车当前的姿态状况;δyr是装甲车前侧边缘的偏差距离,考虑到航向角δα引起的装甲车后侧边缘偏差也需要纳入考虑,δyr=dis_a-dis_b+2l
max
×
sinδα。
86.步骤11:定义最大偏差参数为dis_max,,当δyf处于区间(-dis_max,dis_max)时,向装甲车驾驶员发送“位置合适”;由示意图1可知,欲保证装甲车两侧履带满足登甲板的位置要求,则dis_a和dis_b均大于10mm(考虑误差的结果),则需δyf和δyr处在区间(w
max
×
cosδα-3000+20,3000-20+w
max
×
cosδα)中,dis_max的取值为3000-20+w
max
×
cosδα)。否则,当δyf与δyr均为正值,向驾驶员发送“位置偏右”;当δyf与δyr均为负值,向驾驶员发送“位置偏左”;当δyf为正,δyr为负,向驾驶员发送“姿态偏右”,此时若δyf超过区间,继续发送“位置偏右”,若δyr超过区间,继续发送“位置偏左”。当δyf为负,δyr为正,向驾驶员发送“姿态偏左”,此时若δyf超过区间,继续发送“位置偏左”,若δyr超过区间,继续发送“位置偏右”。
87.本实施例中,一种电子设备,包括存储器以及处理器,该存储器用于存储支持处理器执行上述方法的程序,该处理器被配置为用于执行该存储器中存储的程序。
88.本实施例中,一种计算机可读存储介质,是在计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。

技术特征:
1.一种基于感知移动小车的装甲车上火车甲板的自动引导方法,其特征在于,是按照如下步骤进行:步骤1:小车在遥控模式下登上火车甲板后,切换至小车的自动模式,小车上的激光雷达采集点云数据,并基于高度差对所述点云数据进行识别,得到火车甲板的边缘点云;步骤2:确定火车甲板的中央位置为预瞄点,从而基于纯跟踪算法引导小车自动行驶至所述预瞄点;步骤3:以小车的位置为坐标原点,以平行于火车甲板的左、右边缘为x轴,以指向装甲车方向为x轴正方向,以垂直于火车甲板的左、右边缘为y轴,并遵循左手坐标系建立z轴,从而构建小车三维坐标系;从而将边缘点云转换为所述小车三维坐标系中的小车坐标点集;步骤4:驾驶员操控装甲车登上火车甲板后,所述激光雷达在所述预瞄点处再次采集点云数据并进行过滤处理,以过滤掉装甲车范围外的无效点云数据,得到过滤后的点云数据;基于射线算法对过滤后的点云数据在进行地面点云滤除,得到滤除后的点云数据;利用欧几里得聚类对所述滤除后的点云数据进行处理,得到处理后的装甲车点云数据;步骤5:将处理后的装甲车点云数据投影到小车三维坐标系的yoz平面上,并使用最小二乘拟合法拟合成一条直线l1,将所述直线l1在yoz平面中分别按照平行z轴的方向进行向上、向下平移,得到两条平移直线,且向上平移的距离为所述直线l1与处理后的装甲车点云数据中最大z轴坐标之间的差值,向下平移距离为所述直线l1与处理后的装甲车点云数据中最小z轴坐标之间的差值;两条平移直线的长度为处理后的装甲车点云数据的最大y轴坐标与最小y轴坐标之间的差值,在两条平移直线的端点之间作两条垂线,并与两条平移直线共同形成矩形;根据处理后的装甲车点云数据的最大z轴坐标与最小z轴坐标之间的差值,将所述矩形扩展成参考3d包围盒;所述参考3d包围盒的长、宽、高定为装甲车的参考长度l,宽度w,高度h;步骤6:对所述过滤后的点云数据进行装甲车车身部分过滤,得到装甲车主炮点云数据;利用霍夫变换圆形检测法对所述装甲车主炮点云数据进行处理,得到装甲车主炮尺寸r;步骤7:根据数据库中各型号装甲车的尺寸参数,利用式(1)-式(4)分别计算第i个型号的装甲车的长度偏差α
i
、宽度偏差β
i
、高度偏差γ
i
、口径偏差δ
i
:α
i
=1-|l
i-l|/l
i
ꢀꢀꢀꢀ
(1)β
i
=1-|w
i-w|/w
i
ꢀꢀꢀ
(2)γ
i
=1-|h
i-h|/h
i
ꢀꢀꢀꢀ
(3)δ
i
=1-|r
i-r|/r
i
ꢀꢀꢀꢀ
(4)式(1)-式(4)中,l
i
,w
i
,h
i
,r
i
分别表示第i个型号的装甲车的实际长度、实际宽度、实际高度和实际口径尺寸;利用式(5)计算第i个型号的装甲车的型号概率θ
i
:θ
i
=aα
i
+bβ
i
+cγ
i
+dδ
i
ꢀꢀꢀꢀ
(5)式(5)中,a,b,c,d为四个参数权重;从所有型号的装甲车的型号概率中,选取最大概率值所对应的装甲车型号,记为max;步骤8:由处理后的装甲车点云数据和max型号的装甲车尺寸数据,绘制初次、二次3d包围盒;
步骤8.1:将处理后的装甲车点云数据投影到所述小车三维坐标系中的xoy平面,从而得到xoy平面上的装甲车点云数据,并在极坐标系下绘制xoy平面上的装甲车点云数据中每个坐标点的正弦曲线,将所有正弦曲线中相交最多的点a所对应的极坐标记为(r,θ),其中,r表示点a的极值,θ表示点a的极角;步骤8.2:将点a在所述小车三维坐标系中对应的直线l2作为霍夫变换拟合直线;将直线l2与小车三维坐标系中正向x轴的夹角记为δα
f
,以顺时针为夹角正方向,将xoy平面上的装甲车点云数据按照旋转角度-δα
f
绕着所述坐标原点进行旋转,得到旋转后的装甲车点云数据;依据第max型号的装甲车的实际长度和实际高度,利用坐标系平齐法对旋转后的装甲车点云数据进行2d包围盒的绘制,并在z坐标上拉伸为3d包围盒后再绕着所述坐标原点旋转角度δα
f
,从而得到初次3d包围盒;步骤8.3:在小车三维坐标系中,计算初次3d包围盒中装甲车前侧边缘最左点与火车左侧甲板的距离dis_a
f
,前侧边缘最右点与右侧甲板的距离dis_b
f
,计算装甲车后侧边缘最左点与火车左侧甲板的距离dis_c
f
,后侧边缘最右点与右侧甲板的距离dis_d
f
,并与夹角δα
f
共同构成装甲车的初次位置识别结果;步骤9:将处理后的装甲车点云投影到xoz平面,使用霍夫直线检测法确定装甲车边缘直线l3;根据直线与小车坐标系y轴的夹角δα
s
,将整个点云数据绕着坐标原点进行旋转,依据选取的装甲车型号确定长度和高度,坐标系平齐法绘制2d包围盒,在z坐标上拉伸为二次3d包围盒,绘制完成后再将点云数据绕着坐标原点旋转;分别检测二次3d包围盒前侧边缘最左点与火车左侧甲板的距离dis_a
s
、前侧边缘最右点与右侧甲板的距离dis_b
s
、后侧边缘最左点与火车左侧甲板的距离dis_c
s
、后侧边缘最右点与右侧甲板的距离dis_d
s
,并与夹角δα
s
共同构成装甲车的二次位置识别结果;步骤10:比较初次位置识别结果和二次位置识别结果,选用其中一个位置识别结果,并发送给驾驶员;步骤10.1:依据式(6)~式(7)计算两次识别结果的左履带绝对偏差e
dis_a
和右履带绝对偏差e
dis_b
:e
dis_a
=|dis_a
f-dis_a
s
|
ꢀꢀꢀꢀ
(6)e
dis_b
=|dis_b
f-dis_b
s
|
ꢀꢀꢀꢀꢀ
(7)步骤10.2:当e
dis_a
,e
dis_b
均小于阈值max_e时,取初次位置识别结果,并执行步骤9.4;当e
dis_a
大于max_e或e
dis_a
大于max_e时,执行步骤9.3;步骤10.3:分别计算两条边缘直线l2、l3相对处理后的装甲车点云的最小二乘拟合质量r,并取最小r值所对应的位置识别结果;步骤10.4:若取初次位置识别结果,则将dis_a
f
赋给左履带偏差dis_a,dis_b
f
赋给右履带偏差dis_b,δα
f
给δα;若取二次位置识别结果,则将dis_a
s
赋给dis_a,dis_b
s
赋给dis_b,δα
s
赋给δα;计算装甲车前侧在y轴上的偏差距离δy
f
=dis_a-dis_b,后侧在y轴上的偏差距离δy
r
=dis_a-dis_b+2l
max
×
sinδα;航向角为δα;并将δy
f
和δα实时发送给装甲车驾驶员,以告知装甲车当前的姿态状况;步骤11:定义最大偏差参数为dis_max,当δy
f
和δy
r
处于区间(-dis_max,dis_max)时,
向装甲车驾驶员发送“位置合适”;否则,当δy
f
与δy
r
均为正值,向驾驶员发送“位置偏右”;当δy
f
与δy
r
均为负值,向驾驶员发送“位置偏左”;当δy
f
为正,δy
r
为负,向驾驶员发送“姿态偏右”,此时若δy
f
超过区间,继续发送“位置偏右”,若δy
r
超过区间,继续发送“位置偏左”。当δy
f
为负,δy
r
为正,向驾驶员发送“姿态偏左”,此时若δy
f
超过区间,继续发送“位置偏左”,若δy
r
超过区间,继续发送“位置偏右”。2.一种电子设备,包括存储器以及处理器,其特征在于,所述存储器用于存储支持处理器执行权利要求1所述自动引导方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。3.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1所述自动引导方法的步骤。

技术总结
本发明公开了一种基于感知移动小车的装甲车上火车甲板的自动引导方法,包括:1、遥控移动小车登上甲板,扫描周边环境后获得原始点云数据,基于点云数据识别甲板边缘,自动运行至甲板中央,并在此固定位置上进行装甲车精确位置识别;2、由预先输入的各种装甲车型号特征数据与移动小车扫描的待上甲板的装甲车的实际点云数据进行数据匹配,精确识别待上甲板的装甲车型号;3、通过点云数据处理,实现装甲车的3D包围盒匹配,输出精确的方位角和距离;4、计算装甲车左右偏差和航向角偏差,并通过远程通讯方式进行装甲车引导控制。本发明能大幅提高装甲车登上火车甲板过程中位置识别的精确度和可靠性,从而能辅助装甲车更便捷更安全地登上甲板。登上甲板。登上甲板。


技术研发人员:黄鹤 李京奥 石琴 刘林鑫 薛灏宇 王文杰 孟繁坤
受保护的技术使用者:合肥工业大学
技术研发日:2023.03.27
技术公布日:2023/6/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐