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

位置修正方法、装置、设备和存储介质与流程

2021-10-09 01:18:00 来源:中国专利 TAG:自动控制 修正 装置 位置 方法


1.本技术涉及自动控制技术领域,具体而言,涉及一种位置修正方法、装置、设备和存储介质。


背景技术:

2.仓储机器人广泛用于电商、物流、制造工厂等领域。定位是否准确是体现仓储机器人工作性能的重要指标,基于二维码的定位导航系统凭借其边界准确的优势在仓储机器人中得到广泛应用。
3.基于二维码的定位导航系统,一般基于地面码作为agv(automated guided vehicle,自动导引装置,简称“agv”)固定信标,地面码可以为二维码。不同二维码具备一定间隔,且二维码朝向固定。仓储机器人可以根据在每个二维码上扫描到的二维码号码及方向,来确定机器人位置,并校正机器人行进方向。
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.图1为本技术一实施例的电子设备的结构示意图;
33.图2为本技术一实施例的物流仓储场景中二维码识别的示意图;
34.图3为本技术一实施例的位置修正方法的流程示意图;
35.图4为本技术一实施例的位置修正方法的流程示意图;
36.图5为本技术一实施例的位置修正方法的流程示意图;
37.图6为本技术一实施例的位置修正方法的验证的示意图;
38.图7为本技术一实施例的位置修正装置的结构示意图。
具体实施方式
39.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
40.如图1所示,本实施例提供一种搬运设备1,包括:至少一个处理器11、存储器12和识别器13,图1中以一个处理器为例。处理器11、存储器12和识别器13通过总线10连接,识别器13,用于采集搬运设备当前位置的标识码的信息。存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使搬运设备1可执行下述的实施例中方法的全部或部分流程,以基于标识码的信息修正搬运设备的当前位置。
41.于一实施例中,识别器可以是摄像头、射频识别器、光电采集器等。识别器可以采集标识码的图像。可选地,该识别器还可以根据采集到的图像确定该标识码的位置信息。具体的,该识别器可以从采集到的图像中读取该标识码的标号,根据预先存储的标号和位置的对应关系确定标识码的位置信息;该识别器还可以采用下文描述的半码采集方式确定标识码的位置信息,即根据采集到的图像中的标识码所在区域计算标识码的位置信息。
42.于一实施例中,标识码可以是二维码、条形码等信息码。识别码中携带有预设的标识信息。可以作为搬运设备的信标。
43.于一实施例中,搬运设备可以是仓储机器人。如agv小车、叉车、堆垛机等能够将物体从一个位置移动至另一位置的设备。
44.请参看图2,其为本技术一实施例的物流仓储场景中二维码识别的示意图,其中,搬运设备1可以为仓储机器人20,仓储机器人20面向地面的一方设置有光电采集器21,该光电采集器21作为识别器。
45.在实际应用中,仓储机器人20部署在物流分拣中心的仓储室内工作,仓储机器人20对包裹进行分拣后放到对应的货架上。在此过程中,仓储室的地面上铺设识别码作为仓储机器人20的信标,识别码可以为二维码。不同二维码之间具备一定的间隔。通常,仓储机器人20可以根据光电采集器21在每个二维码上扫描到的二维码号码及方向,来确定机器人20位置,并校正机器人20行进方向。
46.正常的工作过程中,仓储机器人20会基于当前任务的地图信息中规划的路线行进,在到达一个目标位置的二维码时,理论上应该可以正常扫描到当前二维码30的全部内容。但是由于实际场景的复杂性,仓储机器人20难免出现实际路线偏离规划路线的情况,如图2所示,当前二维码30的大部分内容已经超出仓储机器人20的光电采集器21范围,说明此时的仓储机器人20丢失了目标位置信息,需要对仓储机器人20的当前位置及时修正,以避免路线错误带来的损失。
47.请参看图3,其为本技术一实施例的位置修正方法,该方法可由图1所示的搬运设
备1来执行,并可以应用于如图2所示的物流仓储场景中,以基于当前标识码的信息修正仓储机器人20的当前位置。该方法包括如下步骤:
48.步骤301:在搬运设备无法正常识别行进方向上的当前标识码,或者所述搬运设备与所述当前标识码之间的第二位置偏移超出预设范围时,生成半码采集指令,半码采集指令用于控制识别器采用半码采集方式确定当前标识码的位置信息,即识别器采集第一图像,根据第一图像计算当前标识码的位置信息。
49.在本步骤中,以图2中的场景为例,标识码可以是仓储室内地面上的二维码,其中,在仓储室内的地面上,可以沿着搬运设备的预设行进方向上设置有多个标识码。搬运设备可以是部署在仓储室内的仓储机器人20,识别器可以是仓储机器人20的光电采集器21。当仓储机器人20按照规划路线到达目标位置的二维码处时,如果仓储机器人20的目标位置丢失,如走错路线,或者到点精度不够,则生成指定的半码采集指令给仓储机器人20的光电采集器21,该半码采集指令可以控制光电采集器21采集当前的第一图像,并根据第一图像计算当前标识码的位置信息。
50.于一实施例中,第一图像中至少包括当前标识码的局部信息;步骤301具体可以包括:根据局部信息,估算当前标识码的位置信息。
51.在本步骤中,在半码采集方式下,该半码采集指令会控制光电采集器21采集当前的第一图像,由于可能无法采集到的完整的当前标识码,第一图相中可能无法包含当前标识码的全部信息,但至少会包括当前标识码的局部图像信息。如图2所示,以二维码为例,假设当前二维码30有4个角标,而实际只采集到当前二维码30的两个角标信息,那么在半码采集方式下,会基于这两个角标信息预估出整个当前二维码30的预估信息,但是这个预估信息可能精确度不够,可以采集第一图像进行多次预估,从中筛选出精度合适的预估值,作为当前二维码30的最终采集信息,然后基于最终采集信息确定当前二维码30的位置信息。换句话说,该半码采集指令指示的半码采集指的是通过控制搬运设备上的识别器采集当前拍摄范围内的第一图像,并确定采集到的第一图像中标识码所在的区域,然后根据该标识码所在区域来计算该标识码的位置信息,这里的位置信息可以是该标识码在第一图像中的位置(即图像坐标系下的位置),也可以是该标识码在世界坐标系中的位置,也可以是该标识码相对于识别器的相对位置(即识别器坐标系下的位置),还可以是该标识码相对于搬运设备的相对位置(即搬运设备坐标系下的位置),本技术实施例对比不予限定。应理解不同坐标系下的坐标之间可以相互转换,具体的转换方式为现有技术,本技术实施例对此不予限定。
52.步骤302:根据当前标识码的位置信息,确定当前标识码与搬运设备之间的第一位置偏移。
53.在计算第一位置偏移之前,需要将标识码的位置信息和搬运设备当前的位置信息统一到同一坐标系下,例如世界坐标系之下,然后确定二者之间的第一位置偏移。
54.在本步骤中,在半码采集情况下,可以基于根据采集到的第一图像计算出的当前标识码的位置信息,计算出当前标识码与仓储机器人20之间的第一位置偏移。例如,可以通过计算仓储机器人20的中心与当前标识码的中心之间的距离来确定二者之间的第一位置偏移。又如,还可以基于当前标识码的位置信息的完整程度,来确定当前标识码与仓储机器人20之间的第一位置偏移,具体地,在不存在偏移的情况下,仓储机器人20应该是可以采集
到完整的当前标识码,此时当前标识码的位置信息中应该可以包含完整当前标识码覆盖的全部位置信息。如此可以将半码采集得到的当前标识码的位置信息与仓储机器人20预先规划路线中该标识码覆盖的全部位置信息进行比较,进而可以换算出当前标识码与仓储机器人20之间的第一位置偏移。
55.步骤303:基于第一位置偏移,修正搬运设备的当前位置。
56.在本步骤中,获得了仓储机器人20当前的第一位置偏移后,基于该第一位置偏移生成修正指令,修正指令用于控制仓储机器人20的驱动系统,以使仓储机器人20变换位姿,恢复到目标位置上来。
57.上述位置修正方法,在搬运设备无法正常识别行进方向上的当前标识码时,通过生成特殊的半码采集指令,控制识别器采集当前标识码的图像,根据采集到的图像计算标识码的位置信息,然后基于当前标识码的位置信息计算得到搬运设备的第一位置偏移,基于第一位置偏移修正搬运设备的当前位置,如此,在机器人20行进到点后出现丢失位置异常时,可自动恢复异常,无需刻意降低速度来保证精度,以保证仓储机器人20高效快速的运行。
58.请参看图4,其为本技术一实施例的位置修正方法,该方法可由图1所示的搬运设备1来执行,并可以应用于如图2所示的物流仓储场景中,以基于当前标识码的信息修正仓储机器人20的当前位置。该方法包括如下步骤:
59.步骤401:控制识别器采集当前标识码的标号。在本步骤中,以仓储机器人20实际执行任务为例,仓储机器人20执行的当前任务结束后,会给光电采集器21(识别器)下发采集指令,以使光电采集器21采集当前二维码30的识别信息,识别信息中至少包括:该当前二维码30的标号id(identity document,身份证标识号)。
60.步骤402:获取当前标识码的标号对应的预存位置信息,并计算预存位置信息与搬运设备的当前位置之间的第二位置偏移;
61.在本步骤中,该当前标识码具有唯一标号,搬运设备系统中可以预先存储有该标号对应的预存位置信息,通过读取该识别码的标号即可确定该当前标识码的预存位置信息。可以看出,这种确定标识码的位置信息的方法与半码采集完全不同。如图2所示,可以基于搬运设备中记录的当前二维码30的位置信息和搬运设备的当前位置信息,确定第二位置偏移,第二位置偏移可以包括当前二维码30相对于光电采集器21的横向偏移qr_x、纵向偏移qr_y和角度偏移qr_yaw,如图2所示。
62.于一实施例中,该当前标识码上可以预存储有该标识码的位置信息,也可以通过采集该当前识别码的图像来获取该标识码的位置信息。
63.应理解,可以基于搬运设备上安装的惯性传感器确定搬运设备当前在世界坐标系下的位置。
64.步骤403:判断标号与任务标号是否相同。若是,进入步骤404,否则进入步骤405。
65.在本步骤中,在实际场景中,仓储室的每一个标识码都有一个唯一标号id,每一次搬运设备执行搬运任务,都会有唯一对应的规划路线,在该规划路线中可以设定搬运设备执行该任务时需要经过每个标识码的次序,可以以每个标识码的标号id排序表示其出现的次序。任务标号也就是执行本次搬运任务时,当前标识码对应的标号id次序,比如在规划路线中当前应该是第3个出现的标号id为c的标识码,即其任务标号为c,假设实际采集到的当
前标识码的标号id也是c,进入步骤404,否则进入步骤405。
66.步骤404若标号与任务标号相同,则判断第二位置偏移是否在预设范围内。若否,进入步骤405;若是,则表明搬运设备已经到达当前标识码处,搬运设备可以继续前进,并在行进过程中继续采集标识码的标号以确定搬运设备的位置,即可以返回步骤401。
67.在本步骤中,预设范围可以是用户预先设定的工程上允许的位置偏差范围,若第二位置偏移不在预设范围内,说明当前标识码与搬运设备之间的位置偏差过大,不符合用户对搬运设备到点精度的要求,进入步骤405,否则说明检测精度符合用户预先设定的工程上允许的位置偏差范围,即符合用户对搬运设备的到点精度要求,不需要进行半码调整,可以直接执行下一个任务,并返回步骤401。其中,预设范围可以是预先保存在搬运设备中的。
68.步骤405具体可以包括:若标号与任务标号不同,发出警报。
69.在本步骤中,如果实际采集的当前标识码的标号与本次任务规划路线中预先设定的标识码的任务标号不同,比如,在规划路线中当前应该是第3个出现的标号id为c的标识码,而实际采集到的当前标识码的标号id是f,说明搬运设备可能已经偏离规划路线,则认为此时搬运设备无法正常识别行进方向上的当前标识码,可以发出警报,以提示工作人员及时处理。
70.于一实施例中,在生成半码采集指令之前,还可以通过如下方式确认搬运设备是否无法正常识别行进方向上的当前标识码,包括:控制识别器采集当前标识码的第二图像;检测当前标识码的第二图像中是否存在当前标识码的标号;若当前标识码的第二图像中不存在当前标识码的标号,确定搬运设备无法正常识别行进方向上的当前标识码。
71.在本实施例中,首先正常控制搬运设备的采集器采集当前的第二图像,若当前搬运设备偏离规划线路,可能采集的第二图像中不包含当前识别码,或者只包含局部的当前识别码,而这个时候第二图像中就很有可能没有采集到的当前识别码的唯一标号,比如第二图像中只采集到当前识别码的一个边角,而原本标号被设置在当前识别码的中心,此种情况下第二图相中就没有当前识别码的标号,也就无法基于标号对应的预存的位置信息来确定该当前标识码的位置信息,此种情况下确定搬运设备无法正常识别行进方向上的当前标识码。可以直接进入步骤406,进行后续的半码调整流程。
72.步骤406:检测搬运设备是否具备位置修正权限。若是,进入步骤407,否则,发出警示信息。
73.在本步骤中,当仓储机器人20无法正常识别行进方向上的当前标识码时,在修正当前位置之前,需要检测仓储机器人20是否被用户预先设置了位置修正权限。比如可以查询用户配置的权限参数(如half_qr_adj_enable)是否使能,来判断用户是否允许仓储机器人20使用位置修正策略。比如half_qr_adj_enable=1,说明仓储机器人20被允许使用位置修正策略,则进入步骤406,否则,说明用户不允许仓储机器人20使用位置修正策略,则可以发出警示信息,以提示工作人员及时处理。
74.步骤407:生成半码采集指令。半码采集指令用于控制识别器采集当前拍摄范围内的图像,并根据图像计算标识码的位置信息。
75.在本步骤中,半码采集指令只有在仓储机器人20具备位置修正权限时才可以生成。
76.于一实施例中,在步骤407之前还可以包括:
77.如果用户预选赋予仓储机器人20位置修正权限,在步骤406之前还要判断该仓储机器人20已经进行位置修正的历史次数是否已经超过用户配置的最大调整次数max_num_qr_adj。如果是,则直接告警给服务器上报任务异常,以便于用户介入参与处理。如果历史次数没有超过最大调整次数max_num_qr_adj,则执行步骤407。
78.步骤408:根据当前标识码的位置信息,确定当前标识码与搬运设备之间的第一位置偏移。详细参见上述实施例中对步骤302的描述。
79.步骤409:判断第一位置偏移是否大于修正阈值。若是,进入步骤410,否则,进入步骤411。
80.在本步骤中,修正阈值可以是预先设置的,也可以是预先存储在仓储机器人20中的,修正阈值可以包括距离阈值和角度阈值,其表示仓储机器人20最大的位置调整范围,在修正过程中增加阈值限制,可以有效的降低修正过程中危险性。
81.步骤410:基于修正阈值,生成控制指令,控制指令用于控制搬运设备的移动。
82.在本步骤中,当第一位置偏移大于修正阈值时,说明第一位置偏移超出了仓储机器人20的最大调整范围,为了保证仓储机器人20的安全性,则基于修正阈值,生成控制指令,控制指令用于控制仓储机器人20按照修正阈值进行位置移动,以修正当前位置。
83.步骤411:基于第一位置偏移,生成控制指令,控制指令用于控制搬运设备的移动。
84.在本步骤中,当第一位置偏移小于或等于修正阈值时,说明第一位置偏移是安全的,则可以按照实际的第一位置偏移生成控制指令,控制指令用于控制仓储机器人20按照实际的第一位置偏移调整位置。
85.以如图2所示的物流仓储场景为例,本技术一实施例的位置修正方法具体还可以包括如下步骤:
86.s1:判断仓储机器人20是否能够识别得到当前二维码30,如果能识别到二维码,则进入s2,否进入s4。
87.s2:检测当前二维码30的id和任务预设置的目标id是否相同,如果相同则进入s3,否则,发出告警信息给对应的服务器,以便于用户参与处理。
88.s3:当仓储机器人20到达当前二维码30的位置时,检测当前二维码30的位置信息与搬运设备当前位置之间的第二位置偏移是否在预设范围内。第二位置偏移包含但不限于:平移偏移量和/或角度偏移量。预设范围可以是由用户预先配置的参数,比如可以是限制仓储机器人20横向x的到点距离、纵向y的到点距离以及到点偏航角等参数。假设第二位置偏移包括当前二维码30相对于光电采集器21的横向偏移qr_x、纵向偏移qr_y和角度偏移qr_yaw,则预设范围可以为横向最大到点距离max_reachpoint_x、纵向最大到点距离max_reachpoint_y、最大到点偏航角max_reachpoint_yaw。
89.则分别判断是否满足如下关系:
90.qr_x<max_reachpoint_x。
91.qr_y<max_reachpoint_y。
92.qr_yaw<max_reachpoint_yaw)。
93.如果第二位置偏移满足上述关系,则说明本次仓储机器人20到达当前二维码30的位置时,行进路线正常,则继续行进执行下个任务。如果第二位置偏移不满足上述关系,说明本次仓储机器人20到达当前二维码30的位置时,行进路线偏离规划路线,无法正常进行
下一个任务,确定搬运设备无法正常识别行进方向上的当前标识码,需要修正当前位置,则进入步骤s4。
94.s4:如果未能识别到当前二维码30,或者识别精度不符合用户设置的精度要求,首先要查询用户配置的权限参数(如half_qr_adj_enable)是否使能,来判断用户是否允许使用位置修正策略。比如half_qr_adj_enable=1,说明仓储机器人20被允许使用位置修正策略,则进入步骤s6,否则进入s5。
95.s5:如果用户没有预选赋予仓储机器人20位置修正权限,为了避免行进路线错误带来的损失,可以直接告警给服务器,上报异常,以便于用户介入参与处理。
96.s6:如果用户预选赋予仓储机器人20位置修正权限,首先要判断该仓储机器人20已经进行位置修正的历史次数是否已经超过用户配置的最大调整次数max_num_qr_adj。如果是,则直接告警给服务器上报任务异常,以便于用户介入参与处理。如果历史次数没有超过最大调整次数max_num_qr_adj,则进入步骤s7。
97.s7:首先清理光电采集器21缓存的采集信息,向光电采集器21下发半码采集指令,该半码采集指令与仓储机器人20正常工作时的采集指令不同,只有指定该半码采集方式时,光电采集器21才会开启半码采集方式,在此方式下,光电采集器21会采集当前采集范围内的二维码图像,即使当前二维码30偏离采集范围,也会采集进入采集范围的残余二维码图像。
98.于一实施例中,仓储机器人20正常工作时,会直接由光电采集器21采集当前二维码30的标识信息。而当仓储机器人20需要进行位置修正,且具备位置修正权限时,会指定预设的半码采集指令,该半码采集指令会控制光电采集器21采集当前采集范围内二维码30的图像,采集到的图像中可能包括的是二维码的局部区域,比如,假设当前二维码30有4个角标,而实际只采集到当前二维码30的两个角标信息,那么在预设半码采集指令下,会基于这两个角标信息预估出整个当前二维码30的位置,但是这个位置可能精确度不够,可以多次预估,从中筛选出精度合适的预估值,作为当前二维码30的最终的位置信息。
99.s8:由上述可知,由于半码采集方式下,会有预估和筛选的过程,因此与正常工作时相比,该半码采集方式会使光电采集器21耗费较长时间,因此用户可以预先配置最长等待时间max_wait_half_qr_adj,判断光电采集器21的采集数据时间是否已经超过最长等待时间,如果已经超时,则可以回跳到步骤s4,重新开始检测。如果没有超时则继续执行s9。
100.s9:如果在最长等待时间内,收到了光电采集器21发送的数据结果,则可以判断数据结果是否异常,如果正常获取到了当前残余二维码的位置信息(比如可以包括横向偏移half_qr_x,纵向偏移half_qr_y,角度偏移half_qr_yaw),则生成日志信息,记录产生数据偏差原因和数据值,记录数据采集方式等信息,便于后期问题的追踪与解决,然后进入步骤s10。如果数据结果返回异常,则可以返回步骤s4,重新开始检测。
101.s10:根据当前标识码的位置信息,计算当前标识码与搬运设备之间的第一位置偏移。详细参见上述实施例中对步骤302的描述。
102.s11:基于第一位置偏移,修正搬运设备的当前位置。详细参见上述实施例中对步骤303的描述。
103.请参看图5,其为本技术一实施例的位置修正方法,该方法可由图1所示的搬运设备1来执行,并可以应用于如图2所示的物流仓储场景中,在一个任务完成时,假设搬运设备
到点精度不够,可以用半码采集方式恢复,以基于当前标识码的信息修正仓储机器人20的当前位置。该方法包括如下步骤:
104.步骤501:当前任务结束。当前任务结束后,给搬运设备的采集器下发采集当前二维码的指令。
105.步骤502:基于采集到的的信息判断当前任务结束时,搬运设备是否到点,且符合预设的到点精度,如果是进入步骤516。如果否进入步骤503。
106.步骤503:判断仓储机器人20是否被允许进行位置调整。如果是进入步骤504,否则进入步骤515。
107.步骤504:判断该仓储机器人20的历史调整次数是否超过预设的最大调整次数,如果是,进入步骤,515,否则进入步骤505。
108.步骤505:清理光电采集器21的缓存。
109.步骤506:向光电采集器21发送预设的半码采集指令。
110.步骤507:判断是否接收到光电采集器21返回的正常数据结果。如果是,进入步骤508,否则进入步骤515。
111.步骤508:记录产生偏移的原因和偏移信息。
112.步骤509:判断接收到的偏移信息是否为角度的偏移。如果是进入步骤510,否则进入步骤511。
113.步骤510:插入角度调整。
114.在本步骤中,可以判断采集到的残余二维码信息是否为角度偏移,如果是角度偏移,则插入角度调整动作。首先判断采集到的角度偏移half_qr_yaw,是否大于用户配置的最大允许角度调整值max_yaw_qr_adj,如果大于此值,则仓储机器人20的当前需要修正的角度值half_qr_adj=max_yaw_qr_adj,否则当前需要修正的角度值half_qr_adj=half_qr_yaw。然后使用当前需要修正的角度值half_qr_adj做为参数,生成动作旋转指令来控制机器人20旋转角度half_qr_adj。角度调整动作结束后,可以回跳到步骤501,重新开始检测。
115.步骤511:判断接收到的偏移信息是否为y方向的偏移。如果是,进入步骤512,否则进入步骤513。
116.步骤512:插入y向调整。
117.在本步骤中,如果采集到的残余二维码信息是纵向偏移,则插入纵向调整动作。首先判断采集到的纵向偏移half_qr_y,是否大于用户配置的纵向最大允许调整距离max_y_qr_adj,如果大于此值,则纵向需要修正的距离值half_qr_adj=max_y_qr_adj,否则纵向需要修正的距离值half_qr_adj=half_qr_y。然后使用纵向需要修正的距离值half_qr_adj做为参数,生成动作指令move来控制机器人20移动距离half_qr_adj。纵向调整动作结束后,可以回跳到步骤501,重新开始检测。
118.步骤513:判断接收到的偏移信息是否为x方向偏移。如果是,进入步骤514。
119.步骤514:插入x向调整。
120.在本步骤中,如果采集到的残余二维码信息是横向偏移,则插入横向调整动作。首先判断采集到的横向偏移half_qr_x,是否大于用户配置的最大允许调整距离max_x_qr_adj,如果大于此值,则横向需要修正的距离值half_qr_adj=max_x_qr_adj,否则横向需要
修正的距离值half_qr_adj=half_qr_x。若仓储机器人20当前行走方向为纵向,则生成90度(即预设角度)旋转指令,使用仓储机器人20头方向朝向横向方向。使用横向需要修正的距离值half_qr_adj做为参数,生成移动指令move来控制机器人20移动距离half_qr_adj。横向调整动作结束后,可以回跳到步骤501,重新开始检测。
121.步骤515:发出异常告警:
122.步骤516:正常执行下一个任务。
123.于一实施例中,基于上述位置修正方法对修正结果进行验证:如图6所示,是光电采集器21采集的拍照图像,将图像分割成8个方向(上、下、左一、左二、左三、右一、右二、右三),来分别验证。分别将二维码放置在上述8个方向,来模拟偏移工况,验证修正效果。
124.假设仓储机器人20的设置参数如下:
125.max_reachpoint_x=5cm
126.max_reachpoint_y=5cm
127.max_reachpoint_yaw=0.1rad
128.max_y_qr_adj=4cm
129.max_x_qr_adj=4cm
130.max_yaw_qr_adj=0.08rad
131.half_qr_adj_enable=1
132.max_num_qr_adj=3
133.max_wait_half_qr_adj=100ms
134.验证结果如表1所示:
135.表1
136.二维码位置测试次数恢复次数未恢复次数恢复概率上10095595%下10096496%左一10091991%左二10093793%左三10092892%右一10093793%右二10095595%右三10092892%
137.根据验证结果,上述丢失位置修正方法对纵向偏移的上/下偏移能够做到很高的恢复概率,达到95%及以上,对于横向偏移左二/右二的也有比较高的修正概率,对于纵向与横向同时存在的偏移左一/左三、右一/右三的修正概率也能达到90%以上。
138.上述丢失位置修正方法,无需增加额外的传感器,通过现有设备可恢复停车后异常,简化产品设计和制造工艺,节省产品成本。无需刻意降低速度来保证精度,保证机器人20高效快速的运行,在机器人20行进到点后允许出现丢失位置异常,可自动尝试恢复异常而正确识别二维码。在运行过程中控制细节均已参数化设计,使得用户有更大的自动选择权。在恢复过程中增加阈值限制,有效的降低恢复过程中危险性。
139.请参看图7,其为本技术一实施例的位置修正装置700,该装置应用于图1所示的搬运设备1,并可以应用于如图2所示的物流仓储场景中,用于执行上述实施例的位置修正方法,以基于当前标识码的信息修正机器人20的当前位置。该装置包括:生成模块701、计算模块702和修正模块703,各个模块的原理关系如下:
140.生成模块701,用于在搬运设备无法正常识别行进方向上的当前标识码,或者所述搬运设备与所述当前标识码之间的第二位置偏移超出预设范围时,生成半码采集指令,半码采集指令用于控制识别器采集第一图像,根据第一图像计算当前标识码的位置信息,其中沿着搬运设备的预设行进方向上设置有至少一个标识码。计算模块702,用于根据当前标识码的位置信息,确定当前标识码与搬运设备之间的第一位置偏移。修正模块703,用于基于第一位置偏移,修正搬运设备的当前位置。
141.于一实施例中,还包括:第一采集模块,用于在生成半码采集指令之前,控制识别器采集当前标识码的标号;获取模块,用于获取当前标识码的标号对应的预存位置信息,并计算预存位置信息与搬运设备的当前位置之间的第二位置偏移;第一判断模块,用于若标号与任务标号相同,则判断第二位置偏移是否在预设范围内。
142.于一实施例中,还包括:第二采集模块,用于在生成半码采集指令之前,控制识别器采集当前标识码的第二图像;检测模块,用于检测当前标识码的第二图像中是否存在当前标识码的标号;确定模块,用于若当前标识码的第二图像中不存在当前标识码的标号,确定搬运设备无法正常识别行进方向上的当前标识码。
143.于一实施例中,第一图像中至少包括当前标识码的局部信息;根据第一图像计算当前标识码的位置信息,包括:根据局部信息,估算当前标识码的位置信息。
144.于一实施例中,确定模块还用于:若标号与任务标号不同,发出警报。
145.于一实施例中,生成模块701用于:在搬运设备具备位置修正权限时,生成半码采集指令。
146.于一实施例中,第一位置偏移包括:平移偏移量和/或角度偏移量。
147.于一实施例中,修正模块703用于:判断第一位置偏移是否大于修正阈值。当第一位置偏移大于修正阈值时,基于修正阈值,生成控制指令,控制指令用于控制搬运设备的移动。
148.于一实施例中,修正模块703还用于:当第一位置偏移小于或等于修正阈值时,基于第一位置偏移,生成控制指令,控制指令用于控制搬运设备的移动。
149.于一实施例中,第一位置偏移为横向偏移,横向垂直于搬运设备的前进方向。生成控制指令的步骤包括:生成旋转指令,旋转指令用于驱动搬运设备旋转预设角度,使搬运设备当前前进方向沿着横向。生成移动指令,移动指令用于指示搬运设备按照第一位置偏移中指定的距离移动。
150.于一实施例中,还包括:第二判断模块,用于在生成半码采集指令之前,判断搬运设备进行位置修正的历史次数是否已经超过用户配置的最大调整次数。若历史次数未超过用户配置的最大调整次数,则确定搬运设备具备位置修正权限。若历史次数已经超过用户配置的最大调整次数,则发出告警信息。
151.上述位置修正装置700的详细描述,请参见上述实施例中相关方法步骤的描述。
152.本发明实施例还提供了一种非暂态电子设备可读存储介质,包括:程序,当其在搬
运设备上运行时,使得搬运设备可执行上述实施例中方法的全部或部分流程。其中,存储介质可为磁盘、光盘、只读存储记忆体(read

only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid

state drive,ssd)等。存储介质还可以包括上述种类的存储器的组合。
153.虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜