一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

搬运车行驶控制方法、装置及搬运车与流程

2022-08-17 12:18:17 来源:中国专利 TAG:


1.本技术涉及搬运车行驶控制技术领域,具体而言,涉及一种搬运车行驶控制方法、装置及搬运车。


背景技术:

2.目前,自动引导类搬运车由于其存在自动化程度高和智能化水平高的特点,被广泛应用于物流传输行业。搬运车可以在没有人工引航的情况下沿预设导引路径自动驾驶至目标货架,并执行将目标货物放置到目标货位,或从目标货位上将目标货物取出的操作。但是,实践中发现,在搬运车的自动驾驶过程中,其实际行驶路径往往会与预设的行驶导引路径产生偏差(具体原因可能是搭载于搬运车的激光雷达采集的实时点云数据集与预先创建的行驶场景图匹配精度较低),最终,导致搬运车行驶至目标货架并与目标货位对接时存在较大偏差,进而降低搬运车取放目标货物时的操作精准度。


技术实现要素:

3.本技术实施例的目的在于,提供一种搬运车行驶控制方法、装置及搬运车,以解决上述问题。
4.第一方面,本技术实施例提供的搬运车行驶控制方法包括:
5.获取用于表征车体行驶场景的实时点云数据集,车体行驶场景中包括目标货架;
6.根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出用于表征目标货架的目标聚类,并获取目标聚类的中心点位在车体坐标系中的中心点位姿;
7.根据中心点位姿,计算第一对接点位在车体坐标系中的第一相对位姿,以及计算第二对接点位在车体坐标系中的第二相对位姿,第一对接点位为搬运车行驶至目标货架时对应的初始对接点位,第二对接点位为搬运车行驶至目标货架中的目标货位时对应的取放对接点位;
8.基于车体坐标系的坐标原点、第一相对位姿和第二相对位姿,构建行驶导引路径,以控制搬运车按照行驶导引路径行驶。
9.结合第一方面,本技术实施例还提供了第一方面的第一种可选的实施方式,获取用于表征车体行驶场景的实时点云数据集之前,搬运车行驶控制方法还包括:
10.通过搭载于搬运车的激光雷达,采集用于表征车体行驶场景的整体点云数据集;
11.通过多个预设筛选条件,对整体点云数据集进行滤波处理,获得待转换点云数据集,多个预设筛选条件包括降采样系数、角度范围、距离范围和反射率范围中的至少一者;
12.将待转换点云数据集中包括的所有原始点云数据转换到车体坐标系中,以获得实时点云数据集。
13.结合第一方面的第一种可选的实施方式,本技术实施例还提供了第一方面的第二种可选的实施方式,将待转换点云数据集中包括的所有原始点云数据转换到车体坐标系中,以获得实时点云数据集,包括:
14.将待转换点云数据集中包括的所有原始点云数据从极坐标系中转换到笛卡尔坐标系中,获得中间点云数据集;
15.根据车体坐标系与雷达坐标系的第一坐标系转换关系,将中间点云数据集中包括的所有中间点云数据从雷达坐标系转换到车体坐标系中,以获得实时点云数据集。
16.结合第一方面,本技术实施例还提供了第一方面的第三种可选的实施方式,根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出用于表征目标货架的目标聚类,并获取目标聚类的中心点位在车体坐标系中的中心点位姿,包括:
17.在根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出目标聚类之后,从目标聚类中标记多个聚类重心坐标,多个聚类重心坐标与目标货架的多个货架脚一一对应,且针对多个货架脚中的每个货架脚,与货架脚对应的聚类重心坐标用于表征货架脚的中心位置;
18.根据货架形态描述文件,判断多个聚类重心坐标是否标记准确;
19.若多个聚类重心坐标未标记准确,则从聚类集合中重新筛选出目标聚类,或从目标聚类中重新标记多个聚类重心坐标;
20.若多个聚类重心坐标标记准确,则计算多个聚类重心坐标的几何中心点在车体坐标系中的位置形态,作为中心点位姿。
21.结合第一方面,本技术实施例还提供了第一方面的第四种可选的实施方式,根据中心点位姿,计算第一对接点位在车体坐标系中的第一相对位姿,以及计算第二对接点位在车体坐标系中的第二相对位姿,包括:
22.根据货架形态描述文件,构建货架坐标系;
23.获取第一对接点位在货架坐标系中的第一对接点位姿,以及第二对接点在货架坐标系中的第二对接点位姿;
24.根据中心点位姿和第一对接点位姿,计算第一对接点位在车体坐标系中的第一相对位姿;
25.根据中心点位姿和第二对接点位姿,计算第二对接点位在车体坐标系中的第二相对位姿。
26.结合第一方面,本技术实施例还提供了第一方面的第五种可选的实施方式,基于车体坐标系的坐标原点、第一相对位姿和第二相对位姿,构建行驶导引路径,包括:
27.根据车体坐标系与里程计坐标系的第二坐标系转换关系,获得车体坐标系的坐标原点在里程计坐标系中对应的第一行驶坐标;
28.根据第二坐标系转换关系和第一相对位姿,计算第一对接点位在里程计坐标系中对应的第二行驶坐标;
29.根据第二坐标系转换关系和第二相对位姿,计算第二对接点位在里程计坐标系中对应的第三行驶坐标;
30.通过预设插补算法计算出经过第一行驶坐标、第二行驶坐标和第三行驶坐标的行驶坐标点集合;
31.按照从第一行驶坐标到第三行驶坐标的先后顺序,连接行驶坐标点集合中的所有行驶坐标点,获得行驶导引路径。
32.结合第一方面,或第一方面的任意一种可选的实施方式,本技术实施例还提供了
第一方面的第六种可选的实施方式,根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出用于表征目标货架的目标聚类,并获取目标聚类的中心点位在车体坐标系中的中心点位姿之前,搬运车行驶控制方法还包括:
33.响应用户修改操作指示,对货架形态描述文件进行修改。
34.第二方面,本技术实施例提供的搬运车行驶控制装置包括:
35.点云数据获取模块,用于获取用于表征车体行驶场景的实时点云数据集,车体行驶场景中包括目标货架;
36.位姿获取模块,用于根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出用于表征目标货架的目标聚类,并获取目标聚类的中心点位在车体坐标系中的中心点位姿;
37.位姿计算模块,用于根据中心点位姿,计算第一对接点位在车体坐标系中的第一相对位姿,以及计算第二对接点位在车体坐标系中的第二相对位姿,第一对接点位为搬运车行驶至目标货架时对应的初始对接点位,第二对接点位为搬运车行驶至目标货架中的目标货位时对应的取放对接点位;
38.行驶控制模块,用于基于车体坐标系的坐标原点、第一相对位姿和第二相对位姿,构建行驶导引路径,以控制搬运车按照行驶导引路径行驶。
39.第三方面,本技术实施例提供的搬运车包括处理器和存储器,存储器上存储有计算机程序,处理器用于执行计算机程序,以实现第一方面,或第一方面的任意一种可选的实施方式所提供的的搬运车行驶控制方法。
40.第四方面,本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,实现第一方面,或第一方面的任意一种可选的实施方式所提供的搬运车行驶控制方法。
41.本技术实施例提供的搬运车行驶控制方法能够获取用于表征车体行驶场景的实时点云数据集,并根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出用于表征目标货架的目标聚类,并获取目标聚类的中心点位在车体坐标系中的中心点位姿,再根据中心点位姿,计算第一对接点位在车体坐标系中的第一相对位姿,以及计算第二对接点位在车体坐标系中的第二相对位姿,并基于车体坐标系的坐标原点、第一相对位姿和第二相对位姿,构建行驶导引路径,以控制搬运车按照行驶导引路径行驶。该过程主要根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出用于表征目标货架的目标聚类,再执行后续步骤,并未涉及实时点云数据集与预先创建的行驶场景图进行匹配的步骤,从而避免了搬运车的实际行驶路径与行驶导引路径产生偏差的根本性原因,也即,本技术实施例提供的搬运车行驶控制方法主要通过货架形态描述文件的应用和后续步骤中涉及的坐标计算来实现搬运车的行驶控制,相对于现有技术而言,能够提高搬运车的定位精度,降低搬运车行驶至目标货架并与目标货位对接时存在的偏差,进而提高搬运车取放目标货物时的操作精准度。
42.本技术实施例提供的搬运车行驶控制装置、搬运车及计算机可读存储介质具有与上述搬运车行驶控制方法相同的有益效果,此处不作赘述。
附图说明
43.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
44.图1为本技术实施例提供的一种搬运车的示意性结构框图。
45.图2为本技术实施例提供的一种搬运车的应用示意图。
46.图3为本技术实施例提供的一种搬运车行驶控制方法的步骤流程图。
47.图4为本技术实施例提供的一种滤波处理过程的辅助性说明图。
48.图5为本技术实施例提供另一种滤波处理过程的辅助性说明图。
49.图6为本技术实施例提供的一种车体坐标系与雷达坐标系的坐标形态说明图。
50.图7为本技术实施例提供的一种目标货架的结构特征示意图。
51.图8为本技术实施例提供的另一种目标货架的结构特征示意图。
52.图9为本技术实施例提供的一种目标聚类的中心点位辅助性计算过程说明图。
53.图10为本技术实施例提供的一种第一对接点位的确定原则说明图。
54.图11为本技术实施例提供的一种货架坐标系的坐标形态说明图。
55.图12为本技术实施例提供的另一种货架坐标系的坐标形态说明图。
56.图13为本技术实施例提供的一种坐标位姿转换过程辅助性说明图。
57.图14为本技术实施例提供的一种行驶导引路径示意图。
58.图15为本技术实施例提供的一种搬运车行驶控制装置的示意性结构框图。
59.附图标记:100-搬运车;110-处理器;120-存储器;130-激光雷达;140-通信模块;150-驱动控制模块;160-轮毂电机;170-编码器;200-搬运车行驶控制装置;210-点云数据获取模块;220-位姿获取模块;230-位姿计算模块;240-行驶控制模块。
具体实施方式
60.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
61.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
62.请参阅图1,为本技术实施例提供的一种应用搬运车行驶控制方法及装置的搬运车100的示意性结构框图。本技术实施例中,搬运车100可以是,但不限于自动引导车(automated guided vehicle,agv)、货运机器人、服务类机器人,在结构上,搬运车100可以包括处理器110和存储器120。
63.处理器110分别与存储器120直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。搬运车行驶控制装置包括至少一个可以软件或固件(firmware)的形式存储在存储器120中或固化在搬运车100的操作系统(operating system,os)中的软件模块。处理器110用于执行存储器120中存储的可执行模块,例如,搬运车行驶控制装置所包括的软件功能模块及计算机程序等,以实现搬运车行驶控制方法。处理器110可以在接收到执行指令后,执行计算机程序。
64.其中,处理器110可以是一种集成电路芯片,具有信号处理能力。处理器110也可以是通用处理器,例如,可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。此外,通用处理器可以是微处理器或者任何常规处理器等。
65.存储器120可以是,但不限于,随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦可编程序只读存储器(erasable programmable read-only memory,eprom),以及电可擦编程只读存储器(electric erasable programmable read-only memory,eeprom)。存储器120用于存储程序,处理器110在接收到执行指令后,执行该程序。
66.需要说明的是,图1所示的结构仅为示意,本技术实施例提供的搬运车100还可以具有比图1更少或更多的组件,或是具有与图1所示不同的配置。
67.请结合图2,申请实施例中,搬运车100还可以包括激光雷达130,激光雷达130设置于搬运车100的机身,并与处理器110连接,用于采集整体点云数据集,以用于表征车体行驶场景。再例如,搬运车100还可以包括通信模块140、驱动控制模块150、轮毂电机160和编码器170,其中,通信模块140和驱动控制模块150分别与处理器连接,轮毂电机160和编码器170分别与驱动控制模块150连接。通信模块140可以是wifi模块,用于接收上位机发送的行驶控制指令,并将行驶控制指令发送给处理器110,而处理器110则通过驱动控制模块150驱动轮毂电机160启动运行,编码器170通过驱动控制模块150将轮毂电机160的运行结果反馈给处理器110。
68.请参阅图3,图3为本技术实施例提供的搬运车行驶控制方法的流程示意图,该方法应用于图1所示的搬运车100,具体应用于搬运车100中包括的处理器110。所应说明的是,本技术实施例提供的搬运车行驶控制方法不以图3及以下所示的顺序为限制,以下结合图3对搬运车行驶控制方法的具体流程及步骤进行描述。
69.步骤s100,获取用于表征车体行驶场景的实时点云数据集,车体行驶场景中包括目标货架。
70.本技术实施例中,车体行驶场景可以是工厂、物流运输场所、酒店等,而目标货架可以是三脚货架、四脚货架等,且目标货架的货架层数不作限制。此外,为提高实时点云数据的可靠性,本技术实施例中,在执行步骤s100之前,还可以包括步骤s001、步骤s002和步骤s003。
71.步骤s001,通过搭载于搬运车的激光雷达,采集用于表征车体行驶场景的整体点云数据集。
72.本技术实施例中,激光雷达可以是2d激光雷达。此外,在激光雷达启动运行之前,需要对激光雷达进行外参标定,确定其在搬运车上的精确安装位置。实际实施时,对激光雷达进行外参标定时,可以使用直接手动测量方式,也可以标定算法实现,本技术实施例对此不作具体限制。
73.步骤s002,通过多个预设筛选条件,对整体点云数据集进行滤波处理,获得待转换点云数据集,多个预设筛选条件包括降采样系数、角度范围、距离范围和反射率范围中的至少一者。
74.以下,将以多个预设筛选条件同时包括降采样系数、角度范围、距离范围和反射率范围为例,且降采样系数为k,角度范围为向左向右各偏转45
°
,距离范围为搬运车左右两边分别选取宽度为wm、长度为hm的矩形范围,反射率范围为[0,255]为例,对整体点云数据集进行滤波处理的一种具体实施方式进行描述。
[0075]
在整体点云数据集中,对于每行原始点云数据,每隔k个原始点云数据获取一个第一原始点云数据,同时,对于每列原始点云数据,每隔k个原始点云数据获取一个第二原始点云数据,最终,通过选取出的所有第一原始点云数据和第二原始点云数据组成第一待滤波点云数据集。此后,以激光雷达作为原点,以搬运车的车头方向为正方向,从第一待滤波点云数据集中获取角度范围为向左向右各偏转45
°
的所有第三原始点云数据,组成第二待滤波点云数据集,如图4所示。接着,以激光雷达作为原点,以搬运车的车头方向为正方向,在搬运车左右两边分别选取宽度为wm、长度为hm的矩形范围wh,并通过第二待滤波点云数据集中落入矩形范围wh的第四原始点云数据组成第三待滤波点云数据集,如图5所示。最后,从第三待滤波点云数据集中选取出反射率范围为[0,255]的所有第五原始点云数据,组成待转换点云数据集。
[0076]
通过上述设置,便可以将整体点云数据集中大量无效的原始点云数据删除,从而减少后续的点云数据处理量,有效提高了本技术实施例提供的搬运车行驶控制方法的实施效率,最终,提高了搬运车的工作效率。
[0077]
步骤s003,将待转换点云数据集中包括的所有原始点云数据转换到车体坐标系中,以获得实时点云数据集。
[0078]
首先,需要将待转换点云数据集中包括的所有原始点云数据从极坐标系中转换到笛卡尔坐标系中,获得中间点云数据集。本技术实施例中,极坐标系的坐标原点和笛卡尔坐标系的坐标原点均为激光雷达所在位置,此外,极坐标系到笛卡尔坐标系的转换公式为:
[0079][0080]
其中,x为笛卡尔坐标系的横坐标,y为笛卡尔坐标系的纵坐标,r为极坐标的长度,θ为极坐标的偏移角度。
[0081]
将待转换点云数据集中包括的所有原始点云数据从极坐标系中转换到笛卡尔坐标系中,获得中间点云数据集之后,根据车体坐标系与雷达坐标系的第一坐标系转换关系,将中间点云数据集中包括的所有中间点云数据从雷达坐标系转换到车体坐标系中,以获得实时点云数据集。本技术实施例中,对于雷达坐标系,其坐标原点为激光雷达所在位置,表征为o1,x轴正方向为车头方向,表征为x1,延x轴正方向左偏90
°
为y轴正方向,表征为y1,也即,雷达坐标系表征为x1y1-o1,对于车体坐标系,其坐标原点为搬运车的重心位置,表征为o2,同样,x轴正方向为车头方向,表征为x2,延x轴正方向左偏90
°
为y轴正方向,表征为y2,也即,车体坐标系表征为x2y2-o2,如图6所示。此外,本技术实施例中,第一坐标系转换关系可以通过对激光雷达进行外参标定时的标定结果获取,本技术实施例对此不作赘述。
[0082]
步骤s200,根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出用于表征目标货架的目标聚类,并获取目标聚类的中心点位在车体坐标系中的中心点位姿。
[0083]
本技术实施例中,货架形态描述文件中包括宽度、高度、货架脚设置数量、货架脚
排列方式和脚间距等用于描述目标货架结构特征的数据信息。在执行步骤s200之前,可以监测是否接收到操作人员触发的用户修改指示操作,若接收到操作人员触发的用户修改指示操作,则响应用户修改操作指示,对货架形态描述文件进行修改,也即,本技术实施例中,操作人员可以根据目标货架的具体结构,对货架形态描述文件进行实时修改,使得本技术实施例提供的搬运车行驶控制方法能够适用于不同结构特征的目标货架,从而提高搬运车行驶控制方法的应用范围。
[0084]
此外,在执行步骤s200时,需要对实时点云数据集进行聚类处理,获得实时点云数据集的聚类集合,再根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出目标聚类,实际实施时,具体可以通过dbscan等无监督聚类算法对实时点云数据集进行聚类处理。此后,对于“获取目标聚类的中心点位在车体坐标系中的中心点位姿”,本技术实施例中,作为一种可选的实施方式,可以通过步骤s210、步骤s220、步骤s230和步骤s240实现。
[0085]
步骤s210,在根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出目标聚类之后,从目标聚类中标记多个聚类重心坐标,多个聚类重心坐标与目标货架的多个货架脚一一对应,且针对多个货架脚中的每个货架脚,与货架脚对应的聚类重心坐标用于表征货架脚的中心位置。
[0086]
假设,目标货架的结构特征为等腰三角形,具体:目标货架包括三个货架脚,分别表征为货架脚11、货架脚12和货架脚13,且货架脚11和货架脚12为目标货架底边的两个货架脚,货架脚13为货架脚11和货架脚12中垂线上的另一个货架脚,在对实时点云数据集进行聚类处理之后,获得实时点云数据集的聚类集合,如图7所示。那么,执行步骤s210时,便可以标记出与货架脚11对应的聚类重心坐标m11、与货架脚12对应的聚类重心坐标m12,以及与货架脚13对应的聚类重心坐标m13。
[0087]
再假设,目标货架的结构特征为六脚货架,具体:目标货架包括六个货架脚,分别表征为货架脚21、货架脚22、货架脚23、货架脚24、货架脚25和货架脚26,且货架脚21和货架脚22位置相对,货架脚23和货架脚24位置相对,货架脚25和货架脚26位置相对,且货架脚21、货架脚23和货架脚25位于目标货架的第一侧,货架脚22、货架脚24和货架脚26位于目标货架的第二侧,第二侧与第一侧位置相对,在对实时点云数据集进行聚类处理之后,获得实时点云数据集的聚类集合,如图8所示。那么,执行步骤s210时,便可以标记出与货架脚21对应的聚类重心坐标m21、与货架脚22对应的聚类重心坐标m22、与货架脚23对应的聚类重心坐标m23、与货架脚24对应的聚类重心坐标m24、与货架脚25对应的聚类重心坐标m25,以及与货架脚26对应的聚类重心坐标m26。
[0088]
步骤s220,根据货架形态描述文件,判断多个聚类重心坐标是否标记准确。
[0089]
本技术实施例中,可以获取多个聚类重心坐标之间的两两距离值,同时,从货架形态描述文件中提取出对应的脚间距,并判断任意距离值与对应的脚间距是否相等,再根据判断结果,判断多个聚类重心坐标是否标记准确。
[0090]
以图7所示的目标货架为例,可以获取聚类重心坐标m11与聚类重心坐标m12之间的第一距离值,记作l12a,获取聚类重心坐标m11与聚类重心坐标m13之间的第二距离值,记作l13a,同时,获取聚类重心坐标m12与聚类重心坐标m13之间的第三距离值,记作l23a。此后,从货架形态描述文件中提取出描述货架脚11和货架脚12之间的脚间距l12b,提取出描述货架脚11和货架脚13的脚间距l13b,提取出描述货架脚12和货架脚13的脚间距l23b。最
后,分别判断第一距离值l12a与脚间距值l12b是否相等,第一距离值l13a与脚间距l13b是否相等,以及第一距离值l23a与脚间距l23b是否相等,若第一距离值l12a与脚间距l12b不相等、第一距离值l13a与脚间距l13b不相等,或第一距离值l23a与脚间距l23b不相等,则判定多个聚类重心坐标未标记准确,若第一距离值l12a与脚间距l12b相等,第一距离值l13a与脚间距l13b相等,且第一距离值l23a与脚间距l23b相等,则判定多个聚类重心坐标标记准确。
[0091]
步骤s230,若多个聚类重心坐标未标记准确,则从聚类集合中重新筛选出目标聚类,或从目标聚类中重新标记多个聚类重心坐标。
[0092]
若多个聚类重心坐标未标记准确,说明目标聚类筛选错误,或多个聚类重心坐标标记错误,因此,可以从聚类集合中重新筛选出目标聚类,或从目标聚类中重新标记多个聚类重心坐标,并重新开始执行步骤s210。
[0093]
步骤s240,若多个聚类重心坐标标记准确,则计算多个聚类重心坐标的几何中心点在车体坐标系中的位置形态,作为中心点位姿。
[0094]
本技术实施例中,可以计算多个聚类重心坐标在车体坐标系中的x轴坐标均值,作为目标聚类的中心点位在车体坐标系中的x轴坐标,计算多个聚类重心坐标在车体坐标系中的y轴坐标均值,作为目标聚类的中心点位在车体坐标系中的y轴坐标,同时,计算多个聚类重心坐标在车体坐标系中的偏航角,作为目标聚类的中心点位在车体坐标系中的偏航角。
[0095]
继续以图7所示的目标货架为例,若聚类重心坐标m11、聚类重心坐标m12和聚类重心坐标m13均标记准确,则目标聚类的中心点位在车体坐标系中的中心点位姿可以通过如下计算逻辑获取:
[0096][0097]
其中,x
p
为目标聚类的中心点位在车体坐标系中的x轴坐标,x
m11
为聚类重心坐标m11在车体坐标系中的x轴坐标,x
m12
为聚类重心坐标m12在车体坐标系中的x轴坐标,x
m13
为聚类重心坐标m13在车体坐标系中的x轴坐标,y
p
为目标聚类的中心点位在车体坐标系中的y轴坐标,y
m11
为聚类重心坐标m11在车体坐标系中的y轴坐标,y
m12
为聚类重心坐标m12在车体坐标系中的y轴坐标,y
m13
为聚类重心坐标m13在车体坐标系中的y轴坐标,theta
p
为目标聚类的中心点位在车体坐标系中的偏航角,theta
m11
为聚类重心坐标m11在车体坐标系中的偏航角,theta
m12
为聚类重心坐标m12在车体坐标系中的偏航角,theta
m13
为聚类重心坐标m13在车体坐标系中的偏航角。
[0098]
最终,在聚类重心坐标m11、聚类重心坐标m12和聚类重心坐标m13均标记准确的情况下,计算出目标聚类的中心点位p在车体坐标系中的中心点位姿(x
p
,y
p
,theta
p
),如图9所示。
[0099]
此外,需要说明的是,若目标货架的结构特征为其他,例如,四脚货架或六脚货架,则其对应的目标聚类的中心点位在车体坐标系中的中心点位姿可以通过上述相同的发明构思实现,本技术实施例对此不作赘述。
[0100]
步骤s300,根据中心点位姿,计算第一对接点位在车体坐标系中的第一相对位姿,以及计算第二对接点位在车体坐标系中的第二相对位姿,第一对接点位为搬运车行驶至目标货架时对应的初始对接点位,第二对接点位为搬运车行驶至目标货架中的目标货位时对应的取放对接点位。
[0101]
本技术实施例中,第一对接点位为搬运车行驶至目标货架时对应的初始对接点位,也即,第一对接点位为搬运车最初行驶至目标货架(搬运车重心位置接进入目标货架)时,搬运车重心位置所在的点位。实际实施时,第一对接点位可以根据目标货架的结构特征和搬运车的尺寸大小确定,原则为:保证搬运车行驶至目标货架时,与目标货架不发生碰撞事件。
[0102]
基于以上描述,第一对接点位与目标货架左侧的间隔距离需要大于搬运车宽度的二分之一,此处,搬运车宽度的二分之一可以理解为搬运车重心位置与搬运车左侧的间隔距离,同样,第一对接点位与目标货架由侧的间隔距离需要大于搬运车宽度的二分之一,此处,搬运车宽度的二分之一可以理解为搬运车重心位置与搬运车右侧的间隔距离,如图10所示,图10中第一对节点位表征为p1,第一对接点位与目标货架左侧的间隔距离表征为l1,第一对接点位与目标货架由侧的间隔距离表征为l2,搬运车的重心位置表征为o2,搬运车重心位置与搬运车左侧的间隔距离表征为l3,搬运车重心位置与搬运车右侧的间隔距离表征为l4。
[0103]
对于第二对接点,其为搬运车行驶至目标货架中的目标货位时对应的取放对接点位,因此,可以根据实际的货物取放需求确定,例如,目标货位在后方货架的左侧位置时,第二对接点位于后方货架的左侧位置,如图10中p2点,再例如,目标货位在后方货架的右侧位置时,第二对接点位于后方货架的右侧位置,如图10中p3点,本技术实施例对此不作具体限制。
[0104]
进一步地,对于步骤s300,本技术实施例中作为一种可选的实施方式,其可以包括步骤s310、步骤s320、步骤s330和步骤s340。
[0105]
步骤s310,根据货架形态描述文件,构建货架坐标系。
[0106]
本技术实施例中,在执行步骤s200,以根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出用于表征目标货架的目标聚类之后,可以将目标聚类的中心点位作为货架坐标系的坐标原点,再从货架形态描述文件中提取出货架脚设置数量和货架脚排列方式,根据货架脚设置数量和货架脚排列方式确定货架坐标系的x轴方向和y轴方向。
[0107]
以目标货架的结构特征为三脚货架(如图7所示)为例,可以将货架脚11到货架脚12的反方向,作为货架坐标系的y轴方向,再将货架脚11和货架脚12的中垂线作为货架坐标系的x轴,且方向为朝向货架脚m13,也即,目标货架的结构特征为图7所示的三脚货架时,货架坐标系如图11所示,表征为x3y3-p。
[0108]
再以目标货架的结构特征为六脚货架(如图8所示)为例,可以将货架脚23到货架脚24的反方向,作为货架坐标系的y轴方向,再将货架脚23和货架脚24的中垂线作为货架坐标系的x轴,且方向为朝向货架脚m25或货架脚m26所在的方位,也即,目标货架的结构特征为图8所示的六脚货架时,货架坐标系如图12所示,表征为x3y3-p。
[0109]
步骤s320,获取第一对接点位在货架坐标系中的第一对接点位姿,以及第二对接点在货架坐标系中的第二对接点位姿。
[0110]
步骤s330,根据中心点位姿和第一对接点位姿,计算第一对接点位在车体坐标系中的第一相对位姿。
[0111]
步骤s340,根据中心点位姿和第二对接点位姿,计算第二对接点位在车体坐标系中的第二相对位姿。
[0112]
请结合图13,实际实施时,步骤s330和步骤s340可以通过如下计算逻辑实现:
[0113][0114]
其中,(x,y,theta)为目标对接点(第一对接点或第二对接点,图13中第一对接点表征为p1,第二对接点表征为p2)在车体坐标系中的第二相对位姿,(x
p
,y
p
,theta
p
)为目标聚类的中心点位(图13中表征为p)在车体坐标系中的中心点位姿,i为1,(x
p1
,y
p1
,theta
p1
)为第一对接点位在货架坐标系中的第一对接点位姿,i为2,(x
p2
,y
p2
,theta
p2
)为第二对接点位在货架坐标系中的第二对接点位姿。
[0115]
步骤s400,基于车体坐标系的坐标原点、第一相对位姿和第二相对位姿,构建行驶导引路径,以控制搬运车按照行驶导引路径行驶。
[0116]
由于搬运车行驶过程中,以里程计坐标为准,对于步骤s400,本技术实施例中,作为一种可选的实施方式,其可以包括步骤s410、步骤s420、步骤s430、步骤s440和步骤s450。
[0117]
步骤s410,根据车体坐标系与里程计坐标系的第二坐标系转换关系,获得车体坐标系的坐标原点在里程计坐标系中对应的第一行驶坐标。
[0118]
请参阅图14(图14中里程计坐标系标准为x4y4-o4),本技术实施例中,里程计坐标系的坐标原点为编码器所在位置,因此,第二坐标系转换关系可以通过编码器在搬运车上的精确安装位置确定,本技术实施例对此不作赘述。
[0119]
步骤s420,根据第二坐标系转换关系和第一相对位姿,计算第一对接点位在里程计坐标系中对应的第二行驶坐标。
[0120]
步骤s430,根据第二坐标系转换关系和第二相对位姿,计算第二对接点位在里程计坐标系中对应的第三行驶坐标。
[0121]
步骤s440,通过预设插补算法计算出经过第一行驶坐标、第二行驶坐标和第三行驶坐标的行驶坐标点集合。
[0122]
实际实施时,可以通过2cm粒度的插补算法计算出经过第一行驶坐标、第二行驶坐标和第三行驶坐标的行驶坐标点集合,当然,也可以通过其他粒度的插补算法计算出经过第一行驶坐标、第二行驶坐标和第三行驶坐标的行驶坐标点集合,本技术实施例对此不作具体限制。
[0123]
步骤s450,按照从第一行驶坐标到第三行驶坐标的先后顺序,连接行驶坐标点集合中的所有行驶坐标点,获得行驶导引路径。
[0124]
图14中,第一行驶坐标表征为p13,第二行驶坐标表征为p11,第三行驶坐标表征为p12。在获得行驶导引路径之后,便可以通过纯轨迹跟踪算法,控制搬运车跟踪行驶导引路径,从第一行驶坐标出发,行驶至目标货架,与第二行驶坐标表征为p11对接,再继续行驶至
目标货位,最终与第三行驶坐标表征为p12对接。
[0125]
基于与上述搬运车行驶控制方法同样的发明构思,本技术实施例还提供了一种搬运车行驶控制装置200,请参阅图15,本技术实施例提供的搬运车行驶控制装置200包括点云数据获取模块210、位姿获取模块220、位姿计算模块230和行驶控制模块240。
[0126]
点云数据获取模块210,用于获取用于表征车体行驶场景的实时点云数据集,车体行驶场景中包括目标货架。
[0127]
位姿获取模块220,用于根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出用于表征目标货架的目标聚类,并获取目标聚类的中心点位在车体坐标系中的中心点位姿。
[0128]
位姿计算模块230,用于根据中心点位姿,计算第一对接点位在车体坐标系中的第一相对位姿,以及计算第二对接点位在车体坐标系中的第二相对位姿,第一对接点位为搬运车行驶至目标货架时对应的初始对接点位,第二对接点位为搬运车行驶至目标货架中的目标货位时对应的取放对接点位。
[0129]
行驶控制模块240,用于基于车体坐标系的坐标原点、第一相对位姿和第二相对位姿,构建行驶导引路径,以控制搬运车按照行驶导引路径行驶。
[0130]
本技术实施例提供的搬运车行驶控制装置200还可以包括点云数据采集模块、点云数据筛选模块和第一转换模块。
[0131]
点云数据采集模块,用于通过搭载于搬运车的激光雷达,采集用于表征车体行驶场景的整体点云数据集。
[0132]
点云数据筛选模块,用于通过多个预设筛选条件,对整体点云数据集进行滤波处理,获得待转换点云数据集,多个预设筛选条件包括降采样系数、角度范围、距离范围和反射率范围中的至少一者。
[0133]
第一转换模块,用于将待转换点云数据集中包括的所有原始点云数据转换到车体坐标系中,以获得实时点云数据集。
[0134]
本技术实施例中,第一转换模块包括第一转换单元和第二转换单元。
[0135]
第一转换单元,用于将待转换点云数据集中包括的所有原始点云数据从极坐标系中转换到笛卡尔坐标系中,获得中间点云数据集。
[0136]
第二转换单元,用于根据车体坐标系与雷达坐标系的第一坐标系转换关系,将中间点云数据集中包括的所有中间点云数据从雷达坐标系转换到车体坐标系中,以获得实时点云数据集。
[0137]
本技术实施例中,位姿获取模块220可以包括重心坐标标记单元、标记判断单元、第一执行单元和第二执行单元。
[0138]
重心坐标标记单元,用于在根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出目标聚类之后,从目标聚类中标记多个聚类重心坐标,多个聚类重心坐标与目标货架的多个货架脚一一对应,且针对多个货架脚中的每个货架脚,与货架脚对应的聚类重心坐标用于表征货架脚的中心位置。
[0139]
标记判断单元,用于根据货架形态描述文件,判断多个聚类重心坐标是否标记准确。
[0140]
第一执行单元,用于在多个聚类重心坐标未标记准确时,从聚类集合中重新筛选
出目标聚类,或从目标聚类中重新标记多个聚类重心坐标。
[0141]
第二执行单元,用于在多个聚类重心坐标标记准确时,计算多个聚类重心坐标的几何中心点在车体坐标系中的位置形态,作为中心点位姿。
[0142]
本技术实施例中,位姿计算模块230可以包括坐标系构建单元、第一位姿计算单元、第二位姿计算单元和第三位姿计算单元。
[0143]
坐标系构建单元,用于根据货架形态描述文件,构建货架坐标系。
[0144]
第一位姿计算单元,用于获取第一对接点位在货架坐标系中的第一对接点位姿,以及第二对接点在货架坐标系中的第二对接点位姿。
[0145]
第二位姿计算单元,用于根据中心点位姿和第一对接点位姿,计算第一对接点位在车体坐标系中的第一相对位姿。
[0146]
第三位姿计算单元,用于根据中心点位姿和第二对接点位姿,计算第二对接点位在车体坐标系中的第二相对位姿。
[0147]
本技术实施例中,行驶控制模块240可以包括第一行驶坐标获取单元、第二行驶坐标获取单元、第三行驶坐标获取单元、行驶坐标点集合获取单元和行驶控制单元。
[0148]
第一行驶坐标获取单元,用于根据车体坐标系与里程计坐标系的第二坐标系转换关系,获得车体坐标系的坐标原点在里程计坐标系中对应的第一行驶坐标。
[0149]
第二行驶坐标获取单元,用于根据第二坐标系转换关系和第一相对位姿,计算第一对接点位在里程计坐标系中对应的第二行驶坐标。
[0150]
第三行驶坐标获取单元,用于根据第二坐标系转换关系和第二相对位姿,计算第二对接点位在里程计坐标系中对应的第三行驶坐标。
[0151]
行驶坐标点集合获取单元,用于通过预设插补算法计算出经过第一行驶坐标、第二行驶坐标和第三行驶坐标的行驶坐标点集合。
[0152]
行驶控制单元,用于按照从第一行驶坐标到第三行驶坐标的先后顺序,连接行驶坐标点集合中的所有行驶坐标点,获得行驶导引路径。
[0153]
本技术实施例提供的搬运车行驶控制装置200还可以包括文件修改模块。
[0154]
文件修改模块,用于响应用户修改操作指示,对货架形态描述文件进行修改。
[0155]
由于本技术实施例提供的搬运车行驶控制装置200是基于与上述搬运车行驶控制方法同样的发明构思实现的,因此,搬运车行驶控制装置200中,每个软件模块的具体描述,均可参见上述搬运车行驶控制方法实施例中对应步骤的相关描述,此处不作赘述。
[0156]
此外,本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,可实现上述方法实施例中提供的搬运车行驶控制方法,具体可参见上述方法实施例,此处不作赘述。
[0157]
综上所述,本技术实施例提供的搬运车行驶控制方法能够获取用于表征车体行驶场景的实时点云数据集,并根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出用于表征目标货架的目标聚类,并获取目标聚类的中心点位在车体坐标系中的中心点位姿,再根据中心点位姿,计算第一对接点位在车体坐标系中的第一相对位姿,以及计算第二对接点位在车体坐标系中的第二相对位姿,并基于车体坐标系的坐标原点、第一相对位姿和第二相对位姿,构建行驶导引路径,以控制搬运车按照行驶导引路径行驶。该过程主要根据货架形态描述文件,从实时点云数据集的聚类集合中筛选出用于表征目标货架的目标聚
类,再执行后续步骤,并未涉及实时点云数据集与预先创建的行驶场景图进行匹配的步骤,从而避免了搬运车的实际行驶路径与行驶导引路径产生偏差的根本性原因,也即,本技术实施例提供的搬运车行驶控制方法主要通过货架形态描述文件的应用和后续步骤中涉及的坐标计算来实现搬运车的行驶控制,相对于现有技术而言,能够提高搬运车的定位精度,降低搬运车行驶至目标货架并与目标货位对接时存在的偏差,进而提高搬运车取放目标货物时的操作精准度。
[0158]
本技术实施例提供的搬运车行驶控制装置、搬运车及计算机可读存储介质具有与上述搬运车行驶控制方法相同的有益效果,此处不作赘述。
[0159]
在本技术实施例所提供的几个实施方式中,应该理解到,所揭露的方法和装置,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。此外,在本技术每个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是每个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0160]
此外,所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术每个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0161]
还需要说明的是,在本文中,诸如“第一”、“第二”、“第三”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献