本发明涉及一种物料区地图更新方法、装置、存储介质及设备,属于电子地图。
背景技术:
1、无人装载机是在原有装载机上加装传感器和控制器实现无人自主操控的工程机械设备,可以用于室内拌和站等封闭场景,进行沙石物料的连续铲装、转运作业。
2、无人装载机在室内拌和站内作业时,由于是室内封闭场景,卫星定位无法使用,可以使用基于先验点云地图的定位方式,因此在实时定位前,需要先构建拌合站内部整体先验点云地图。
3、专利cn115269763a公开了一种局部点云地图更新维护方法、装置、移动工具及存储介质,在获取到最新一帧的点云数据时,确定出新获取帧中的每个点云对应的第一数据信息,根据第一数据信息采用最近最少使用算法对局部点云地图进行更新。
4、专利cn113776544a公开了一种点云地图更新方法、装置、电子设备及定位系统,将扫描的激光雷达点云与预存的点云地图进行比对,确定激光雷达点云和点云地图的差异点,如果该地图点的观测概率小于预设值,则从点云地图中删除该点,实现点云地图更新。
5、无人装载机在料仓内铲装作业的过程中,物料量是连续变化的,物料边界也是连续变化的。为了能判定车辆铲斗和边界的关系,防止铲斗在铲装作业时碰到侧边墙壁和料仓底部墙壁,需要及时更新物料边界信息。同时,当物料变化时,也需要更新当前区域的先验地图,以保证激光雷达扫描结果和当前先验点云地图能够实现准确匹配,保证定位的准确性。在铲装作业结束时,需要再次更新物料边界信息并上传到云端,辅助实现物料余量监控。
6、现有技术提供的地图更新方法没有涉及拌合站场景的无人装载机地图更新,且对于物料区的料堆点云识别、作业边界及料堆边界构建未涉及。现有技术对于筛选物料变化点进行点云地图更新不适用。
技术实现思路
1、本发明的目的在于克服现有技术中的不足,提供一种物料区地图更新方法、装置、存储介质及设备,能够在作业时避免因物料变化导致铲斗和料仓墙体产生碰撞,能够在作业后更新点云地图和料堆边界。为达到上述目的,本发明是采用下述技术方案实现的:
2、第一方面,本发明提供一种物料区地图更新方法,包括:
3、获取作业前的全局点云地图、车辆端局部点云数据、车辆姿态数据以及作业前的物料区点云数据;
4、基于作业前的全局点云地图、车辆端局部点云数据和车辆姿态数据进行车辆多点位姿计算,得到车辆关键点位姿和车体安全框;基于作业前的物料区点云数据进行料堆识别并确定边界,得到料堆边界和作业边界;
5、响应于车辆关键点处于料堆边界和作业边界形成封闭区域内且车体安全框上任一点与作业边界的距离不小于预设距离阈值,物料装载作业完成;
6、获取作业后的全局点云数据、车辆端局部点云数据以及作业后物料区点云数据;
7、根据作业后的全局点云数据、车辆端局部点云数据以及作业后物料区点云数据进行全局点云地图更新,得到作业后的全局点云地图;根据作业后的物料区点云数据进行料堆识别并确定边界,得到作业后的料堆边界。
8、结合第一方面,可选地,所述基于作业前的全局点云地图、车辆端局部点云数据和车辆姿态数据进行车辆多点位姿计算,得到车辆关键点位姿和车体安全框,包括:
9、基于作业前的全局点云地图和车辆端局部点云数据进行地图匹配定位,得到采集车辆端局部点云数据的激光雷达所在点的全局位姿;
10、基于激光雷达所在点的全局位姿和车辆姿态数据进行车辆多点位姿计算,得到车辆关键点位姿;其中,所述车辆关键点位姿包括后轴中心点、转向点、前轴中心点、铲斗左角点、铲斗右角点的位姿;
11、根据车辆关键点位姿,计算车体安全框;其中,所述车体安全框包括前车体安全框和后车体安全框;
12、所述前车体安全框为以前轴中心点为原点建立车体坐标系下的栅格地图,将栅格地图四边坐标转换到全局坐标系下,形成的坐标点集合;
13、所述后车体安全框为以后轴中心点为原点建立车体坐标系下的栅格地图,将栅格地图四边坐标转换到全局坐标系下,形成的坐标点集合。
14、结合第一方面,可选地,所述基于作业前的物料区点云数据进行料堆识别并确定边界,得到料堆边界和作业边界,所述料堆识别包括:
15、对作业前的物料区点云数据进行数据下采样和邻域点搜索,得到采样点和邻域点;
16、基于垂直特征自注意力机制对采样点和邻域点的垂直特征关系进行学习,得到垂直方向的特征;基于水平特征自注意力机制对采样点和邻域点的水平特征关系进行学习,得到水平方向的特征;将垂直方向的特征和水平方向的特征进行级联得到合并特征矢量;
17、将所述合并特征矢量依次输入随机池化层强化高概率特征、输入上采样层进行原点映射,得到点云特征;
18、将所述点云特征输入全连接层进行点云特征与标记结果关系转换,得到料堆点云类别标签为points_l,墙壁点云类别标签为points_q,地面点云类别标签为points_d。
19、结合第一方面,可选地,所述基于作业前的物料区点云数据进行料堆识别并确定边界,得到料堆边界和作业边界,所述确定边界包括:
20、以料仓中心位置为原点,构建局部栅格地图local_grid_map;
21、将标签为points_l的料堆点云和标签为points_q的墙壁点云分别投射到栅格地图local_grid_map上,同一栅格点内累加高度不同但是平面坐标相同的点云;
22、以栅格地图底边中点栅格坐标p_s为起点,按顺时针顺序依次以栅格地图左边、上边、右边的端部栅格点作为终点p_e,构建多条直线;
23、从p_s到p_e遍历左边、上边或右边上的所有栅格点,按照和起点p_s点的距离,由近及远依次编号{p_0,p_1,p_2…p_n};
24、从{p_0,p_1,p_2…p_n}中确定边界点,判断条件为:
25、(a)坐标点p_n的栅格占据值不为0;
26、(b)坐标点p_n在0.2m范围内,栅格占据值不为0的点不少于4个,以去除孤立虚假点p_fake;
27、(c)从p_2点开始,p_n-1,p_n-2,p_n-3连续的三个点是栅格占据值为0的空白点;
28、在同时满足以上条件后,从p_0到p_n的占据栅格值的一阶微分变化点为边界点;
29、对料堆点云进行栅格投影,得到的边界点构成料堆边界;对墙壁点云进行栅格投影,得到的边界点构成作业边界。
30、结合第一方面,可选地,所述根据作业后的全局点云数据、车辆端局部点云数据以及作业后物料区点云数据进行全局点云地图更新,得到作业后的全局点云地图,包括:
31、根据作业后的全局点云数据、车辆端局部点云数据,构建作业后全局点云数据结构;
32、根据作业后物料区点云数据,通过三个平面的栅格地图投影筛选料堆变化点;其中,所述三个平面的栅格地图包括xoy栅格地图、xoz栅格地图和yoz栅格地图;
33、将得到的料堆变化点更新到作业后全局点云数据结构中,得到作业后的全局点云地图。
34、结合第一方面,可选地,所述根据作业后物料区点云数据,通过三个平面的栅格地图投影筛选料堆变化点,包括:
35、将作业后物料区点云数据中的点p_n垂直投射到xoy栅格地图、xoz栅格地图和yoz栅格地图上,分别得到点a、b、c;
36、响应于作业前后点a、b、c的栅格投影值变化,点a、b、c为当前栅格地图上的变化点,点属性为[change];
37、xoy栅格地图内的所有变化点集合为{p_xoy},点a [x_a_map,y_a_map]为变化点集合{p_xoy}中一点;点a栅格地图坐标为[x_a_grid,y_a_grid],沿着点a指向点p_n方向,所有高程按照从小到大的顺序排列[z_0,z_1…z_n];
38、xoz栅格地图内的所有变化点集合为{p_xoz},点b [x_b_map,y_b_map]为变化点集合{p_xoz}中一点;点b栅格地图坐标为[x_b_grid,y_b_grid],沿着点b指向点p_n方向,所有高程按照从小到大的顺序排列[y_0,y_1…y_n];
39、yoz栅格地图内的所有变化点集合为{p_yoz},点c [x_c_map,y_c_map]为变化点集合{p_yoz}中一点;点c栅格地图坐标为[x_c_grid,y_c_grid],沿着点c指向点p_n方向,所有高程按照从小到大的顺序排列[x_0,x_1…x_n];
40、对于点b,令x_b_map = x_a_map = x1,遍历,对于(x1,z_i)得到的b点栅格地图坐标[x_b_grid,y_b_grid],搜索[y_0,y_1…y_n]是否有等于y_a_map的值;
41、对于点c,令y_c_map = y_a_map = y1,遍历,对于(y1,z_i)得到的c点栅格地图坐标[x_c_grid,y_c_grid],搜索[x_0,x_1…x_n]是否有等于x_a_map的值;
42、如果满足:[y_0,y_1…y_n]有等于y_a_map的值且[x_0,x_1…x_n]有等于x_a_map的值,则坐标(x_a_map,y_a_map,z_i)为料堆变化点,点属性设置为[reserve]。
43、结合第一方面,可选地,所述将得到的料堆变化点更新到作业后全局点云数据结构中,得到作业后的全局点云地图,包括:
44、将属性为[reserve]的点插入作业后全局点云数据结构ikd-tree中;
45、遍历所有属性为[reserve]的点,搜索每个[reserve]点周围属性为[delete]的最近点;
46、删除作业后全局点云数据结构ikd-tree中所有被搜索到的属性为[delete]的最近点,得到作业后的全局点云地图。
47、第二方面,本发明提供一种物料区地图更新装置,包括:
48、获取模块:用于获取作业前的全局点云地图、车辆端局部点云数据、车辆姿态数据以及作业前的物料区点云数据;以及用于获取作业后的全局点云数据、车辆端局部点云数据以及作业后物料区点云数据;
49、料堆识别与边界构建模块:用于基于作业前的全局点云地图、车辆端局部点云数据和车辆姿态数据进行车辆多点位姿计算,得到车辆关键点位姿和车体安全框;基于作业前的物料区点云数据进行料堆识别并确定边界,得到料堆边界和作业边界;
50、边界关系判定模块:用于响应于车辆关键点处于料堆边界和作业边界形成封闭区域内且车体安全框上任一点与作业边界的距离不小于预设距离阈值,物料装载作业完成;
51、更新模块:用于根据作业后的全局点云数据、车辆端局部点云数据以及作业后物料区点云数据进行全局点云地图更新,得到作业后的全局点云地图;根据作业后的物料区点云数据进行料堆识别并确定边界,得到作业后的料堆边界。
52、第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时,实现第一方面所述的物料区地图更新方法的步骤。
53、第四方面,本发明提供一种计算机设备,其特征在于,包括:
54、存储器,用于存储计算机程序/指令;
55、处理器,用于执行所述计算机程序/指令以实现第一方面所述的物料区地图更新方法的步骤。
56、与现有技术相比,本发明实施例所提供的一种物料区地图更新方法、装置、存储介质及设所达到的有益效果包括:
57、本发明基于作业前的全局点云地图、车辆端局部点云数据和车辆姿态数据进行车辆多点位姿计算,得到车辆关键点位姿和车体安全框;基于作业前的物料区点云数据进行料堆识别并确定边界,得到料堆边界和作业边界;响应于车辆关键点处于料堆边界和作业边界形成封闭区域内且车体安全框上任一点与作业边界的距离不小于预设距离阈值,物料装载作业完成;本发明在作业时先将作业前的全局点云地图、车辆端局部点云数据进行匹配,保证定位的准确性;本发明能够在作业时,明确作业边界,避免因物料变化导致铲斗和料仓墙体产生碰撞;
58、本发明根据作业后的全局点云数据、车辆端局部点云数据以及作业后物料区点云数据进行全局点云地图更新,得到作业后的全局点云地图;根据作业后的物料区点云数据进行料堆识别并确定边界,得到作业后的料堆边界;本发明能够在作业后更新点云地图和料堆边界;通过及时更新点云地图,保证激光雷达点云和先验点云地图能够继续准确匹配,保证定位的准确性。
1.一种物料区地图更新方法,其特征在于,包括:
2.根据权利要求1所述的物料区地图更新方法,其特征在于,所述基于作业前的全局点云地图、车辆端局部点云数据和车辆姿态数据进行车辆多点位姿计算,得到车辆关键点位姿和车体安全框,包括:
3.根据权利要求1所述的物料区地图更新方法,其特征在于,所述基于作业前的物料区点云数据进行料堆识别并确定边界,得到料堆边界和作业边界,所述料堆识别包括:
4.根据权利要求3所述的物料区地图更新方法,其特征在于,所述基于作业前的物料区点云数据进行料堆识别并确定边界,得到料堆边界和作业边界,所述确定边界包括:
5.根据权利要求1所述的物料区地图更新方法,其特征在于,所述根据作业后的全局点云数据、车辆端局部点云数据以及作业后物料区点云数据进行全局点云地图更新,得到作业后的全局点云地图,包括:
6.根据权利要求5所述的物料区地图更新方法,其特征在于,所述根据作业后物料区点云数据,通过三个平面的栅格地图投影筛选料堆变化点,包括:
7.根据权利要求6所述的物料区地图更新方法,其特征在于,所述将得到的料堆变化点更新到作业后全局点云数据结构中,得到作业后的全局点云地图,包括:
8.一种物料区地图更新装置,其特征在于,包括:
9.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时,实现权利要求1-7中任一项所述的物料区地图更新方法的步骤。
10.一种计算机设备,其特征在于,包括:
