一种定位方法、设备、存储介质以及程序产品与流程

文档序号:30578050发布日期:2022-06-29 10:34阅读:88来源:国知局
一种定位方法、设备、存储介质以及程序产品与流程

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.响应于所述第一打点模式启动指令,检测所述机器人自身的工作状态,包括:
45.响应于所述第一打点模式启动指令,所述机器人由所述空闲模式进入所述打点模式;
46.在所述打点模式下,检测所述机器人自身的工作状态。
47.本发明实施例的第二方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现实施例第一方面所述的定位方法。
48.本发明实施例的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现实施例第一方面所述的定位方法。
49.本发明实施例的第四方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现实施例第一方面所述的定位方法。
50.本发明实施例包括以下优点:
51.响应定位模式启动指令,一方面启动绝对定位,获得绝对定位系统输出的机器人在绝对定位下的当前全局绝对位姿,同时启动相对定位,查看机器人自身是否存储有关于目标定位标识的属性信息和打点结果,若存储了,则将绝对定位与相对定位相结合,基于存储的打点结果、机器人在绝对定位下的当前全局绝对位姿,以及机器人配置的与所述目标定位标识的类型适配的目标传感器,确定机器人自身与目标定位标识之间的当前相对位姿。
52.本技术通过结合绝对定位和相对定位,提高了机器人自身与目标定位标识之间的当前相对位姿的准确性。同时,本技术机器人是在响应定位模式启动指令时,启动相对定位与绝对定位并将两者相结合的,因而可以在需要进行定位时再启动相对定位,从而可以减少机器人在整个工作过程中的资源耗费。
附图说明
53.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
54.图1是本技术一实施例提出的定位方法的步骤流程图;
55.图2是本技术一实施例提出的定位方法的步骤流程图;
56.图3是本技术一实施例中机器人在打点模式下获得打点结果的步骤流程图;
57.图4是本技术一实施例提出的定位装置的功能模块图。
具体实施方式
58.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。
59.随着物联网、人工智能、大数据等智能化技术的发展,利用这些智能化技术对传统物流业进行转型升级的需求愈加强劲,智慧物流(intelligent logistics system)成为物流领域的研究热点。智慧物流利用人工智能、大数据以及各种信息传感器、射频识别技术、全球定位系统(gps)等物联网装置和技术,广泛应用于物料的运输、仓储、配送、包装、装卸和信息服务等基本活动环节,实现物料管理过程的智能化分析决策、自动化运作和高效率优化管理。物联网技术包括传感设备、rfid技术、激光红外扫描、红外感应识别等,物联网能够将物流中的物料与网络实现有效连接,并可实时监控物料,还可感知仓库的湿度、温度等环境数据,保障物料的储存环境。通过大数据技术可感知、采集物流中所有数据,上传至信息平台数据层,对数据进行过滤、挖掘、分析等作业,最终对业务流程(如运输、入库、存取、拣选、包装、分拣、出库、盘点、配送等环节)提供精准的数据支持。人工智能在物流中的应用方向可以大致分为两种:1)以ai技术赋能的如无人卡车、agv、amr、叉车、穿梭车、堆垛机、无人配送车、无人机、服务机器人、机械臂、智能终端等智能设备代替部分人工;2)通过计算机视觉、机器学习、运筹优化等技术或算法驱动的如运输设备管理系统、仓储管理、设备调度系统、订单分配系统等软件系统提高人工效率。随着智慧物流的研究和进步,该项技术在众多领域展开了应用,例如零售及电商、电子产品、烟草、医药、工业制造、鞋服、纺织、食品等领域。
60.机器人在工作时,需要对机器人进行绝对定位,即机器人根据自身存储的地图进行定位。但是机器人在实际应用场景中,可能因为工作区域的变化或目标任务对象(例如:贴有定位标识的充电桩,定位标识可以是二维码、条形码等)的姿态出现变化,例如有人误挪动充电桩,有时不能准确地到达执行目标任务的地点,以机器人充电为例,例如机器人到达某一处的充电桩进行充电,但是充电桩被人误动后出现姿态或位姿的微动,机器人到达充电桩所在的位姿点可能无法成功对接充电桩的充电口进行充电,从而导致充电失败。因此单纯利用绝对定位难以满足机器人的“高精定位”。
61.本技术针对单纯利用绝对定位难以满足机器人的“高精定位”,对机器人应用绝对定位和相对定位相结合的定位方法,使得机器人可以更加精准地确定机器人自身与目标定位标识之间的当前相对位姿,进而到达执行目标任务的地点并进入目标工作状态,以执行
目标任务。
62.参照图1,示出了本发明实施例中的一种定位方法的步骤流程图,具体可以包括以下步骤s101-s104:
63.s101:接收针对目标定位标识的定位模式启动指令,所述定位模式启动指令至少包括所述目标定位标识的属性信息。
64.本方法在应用时,机器人的定位系统包括绝对定位系统以及相对定位系统,绝对定位系统在机器人工作的过程中持续处于定位状态,所述相对定位系统具有三种工作模式,包括:空闲模式、打点模式以及定位模式。
65.当相对定位系统处于空闲模式下时,机器人不启动相对定位,即相对定位中的各个数据处理的线程均处于休眠状态,并且清空相对定位中各个数据队列中的数据,可以设置为机器人开机时默认处于空闲模式,可以清理数据存储的空间,降低机器人的资源消耗。
66.当相对定位系统处于打点模式下时,机器人结合绝对定位和相对定位进行打点,即利用自身配置的传感器对当前工作区域内可以识别的定位标识进行识别,并获取目标工作状态下定位标识的多种信息作为打点结果。
67.当相对定位系统处于定位模式中下时,机器人结合绝对定位和相对定位进行定位,响应针对目标定位标识的定位模式启动指令,对目标定位标识进行识别,确定出机器人与目标定位标识的当前相对位姿,与单独使用绝对定位进行定位相比定位准确性更高,机器人还可以将当前相对位姿调整至与打点结果中机器人与目标定位标识的目标相对位姿一致,从而实现高精定位,使得机器人进入目标工作状态。
68.在一种可行的实施方式中,相对定位系统的打点模式和定位模式的切换必须经过空闲模式,即响应于定位模式启动指令,所述机器人由所述空闲模式进入定位模式;响应于所述第一打点模式启动指令,所述机器人由所述空闲模式进入所述打点模式。
69.示例地,其工作过程可以是:当前的工作区域中设置有多种定位标识,机器人初次在当前工作区域中工作时,命令机器人工作在打点模式下,获取多种定位标识的打点结果,然后将打点结果存储在机器人本地;机器人还可以将打点模式中存储的打点结果分享给其他机器人进行存储,进而多个机器人可以共享一个机器人的打点结果,进而可以提高工作效率。
70.然后从打点模式切换至空闲模式时,将机器人在打点过程中处理数据的线程与数据列队中的数据清空,以减少资源消耗与占用的存储空间。机器人之后需要进行高精定位时,机器人可以根据打点时存储的打点结果结合绝对定位和相对定位进行高精定位。
71.若当前需要执行的任务不需要进行高精定位,可以使得相对定位系统工作在空闲模式下,进而机器人只通过绝对定位进行定位,可以进一步减少资源的耗费。
72.由于工作区域可以设置多种类型的定位标识,但是在某个工作状态下可能只设置有其中几种类型的定位标识,因此定位模式启动指令中包括有目标定位标识的属性信息,即当前执行的工作任务中只需要获取目标定位标识进行高精定位,一次高精定位过程中,目标定位标识的类型可以是一种,也可以是多种,目标定位标识的数量可以是一个或多个。
73.s102:响应于所述定位模式启动指令,查询所述机器人自身是否存储有所述目标定位标识的打点结果。所述目标定位标识的打点结果包括:所述目标定位标识的属性信息、全局绝对位姿和目标相对位姿。
74.机器人根据定位模式启动指令可以得知本次需要进行高精定位的目标定位标识的属性信息,进而机器人查询自身是否存储了目标定位标识的打点结果。
75.目标定位标识的属性信息包括:目标定位标识的类型、目标定位标识的位置属性以及目标定位标识的特有属性,示例地,目标定位标识的类型包括视觉标识或激光标识,目标定位标识的位置属性如充电桩二维码或货架激光标识,目标定位标识的特有属性可以设置在货架上的多个平板的间隙不同,对应的定位标识的间距也不同。
76.目标定位标识的全局绝对位姿指的是,机器人处于目标工作状态时,确定的所述目标定位标识的全局绝对位姿,目标定位标识在绝对定位中的位姿,存储在机器人的地图中,可以用于机器人在多个定位标识中确定目标定位标识。
77.所述目标相对位姿,具体指机器人正常处于目标工作状态下时,目标定位标识相对于机器人的位姿,例如,在打点模式中,机器人成功处在充电状态下时,记住了自身相对于设置在充电桩上的目标定位标识之间的位姿;在定位模式下,可以基于目标相对位姿进行高精定位,还可以为了成功进入充电状态,机器人就得将自身与目标定位标识之间的当前相对位姿调整至与打点结果中的目标相对位姿一致,从而可以通过将机器人在绝对定位中的全局绝对位姿,与机器人相对于目标定位标识的相对定位结合在一起,可以对机器人的位姿进行更准确的定位,使得机器人成功进入目标工作状态。
78.处于目标工作状态具体指机器人正常执行任务,示例地,机器人成功对接充电桩的充电口进行充电的状态,或机器人成功对接货架或料台进行物料传输的状态。
79.s103:在所述机器人自身存储有所述目标定位标识的打点结果的情况下,获取所述机器人自身的当前全局绝对位姿,并启动所述机器人配置的与所述目标定位标识的类型适配的目标传感器。
80.机器人查询到自身存储有目标定位标识的打点结果后,获取机器人自身的当前全局绝对位姿,即机器人当前在绝对定位下的位姿,并根据目标定位标识的类型,启用机器人配置的与所述目标定位标识的类型适配的目标传感器,以获取机器人当前视野中设置在工作区域内的目标定位标识。机器人可以配置有多种传感器以识别不同类型的定位标识,示例地,二维码可以通过配置的相机进行获取、条形码可以通过条形码扫描枪进行识别。
81.s104:根据所述目标定位标识的打点结果、所述机器人自身的当前全局绝对位姿以及所述目标传感器采集的数据,确定所述机器人与所述目标定位标识之间的当前相对位姿。
82.在一个可行的实施方式中,本技术还提供了一种确定机器人自身与目标定位标识之间的当前相对位姿的方法,具体包括以下步骤s21-s25:
83.首先需要从多个定位标识中确定出目标定位标识,包括:
84.s21:启动所述目标传感器对应的线程,通过所启动的线程对所述目标传感器采集的数据按照对应的数据处理算法进行处理,得到位于所述目标传感器的感应范围内的候选定位标识的属性信息,以及所述机器人与所述候选定位标识之间的第一相对位姿。
85.本技术中,每个传感器都有各自对应的线程,可以避免一个线程处理多个传感器的数据时,因为处理能力的限制,导致数据堆积并无法正常输出计算结果;通过每个传感器设置一个线程,可以使每个传感器的数据处理过程相对独立或互不干扰,提高相对定位过程中的鲁棒性。
pose,local-pose在短时间内的差距很小,因此利用local-pose可以将多帧数据时间同步为一个时刻的数据,进而通过利用多帧的数据而提高一个时刻内的数据量,以激光标识为例,一帧可以获取到10个激光点,连续获取5帧,即可以获取到50个激光点,将5帧数据获取的总共50个激光点时间同步作为同一时刻下的获取的数据,通过增大该时刻的数据量,可以提高输出的效果的准确度。
102.s252:启动所述目标传感器对应的线程,对多个时刻的数据按照对应的数据处理算法进行处理,计算多个时刻的数据各自对应的第二相对位姿。
103.利用时间同步后的一个时刻的数据,提取出该时刻目标定位标识的数据对应的第二相对位姿并存储在一个队列,并且该时刻数据对应的第二相对位姿中携带有传感器id,便于在目标定位标识有多个的情况下,区分不同传感器对应的线程计算多个目标定位标识的不同相对位姿。
104.s253:启动联合优化线程,对多个第二相对位姿进行平均,得到所述机器人与所述目标定位标识之间的当前相对位姿。
105.对多个时刻的数据对应的第二相对位姿进行平均,得到所述机器人自身与所述目标定位标识之间的当前相对位姿。
106.在通过多帧匹配确定机器人与目标定位标识在每个时刻下的第二相对位姿并进行存储后,进一步对多个时刻的数据各自对应的第二相对位姿进行联合优化,使得误差平均化,以处理得到机器人自身与目标定位标识之间更准确的当前相对位姿。
107.示例地,取出队列中存储的多个时刻的数据对应的第二相对位姿的数据,对于同一个目标定位标识的多个时刻的数据进行联合优化,通过以下步骤a1-a7输出优化结果:
108.a1:将目标定位标识的位姿数据统一转换到机器人的base坐标系;
109.a2:基于机器人的当前全局绝对位姿与步骤s252中多帧匹配得到的每个时刻对应的第二相对位姿,进一步确定是否为同一个目标定位标识的数据;虽然每个时刻对应的第二相对位姿存储时携带有传感器id,但是当有多个目标二维码标识时,一个相机传感器可能会获取到多个目标二维码标识mark的数据,因此,需要再次从存储的数据中获取同一个目标二维码标识mark的数据,以进行进一步优化,确定方式如下:
[0110][0111]
即,通过机器人在机器人坐标系下的当前全局绝对位姿,以及目标二维码标识在机器人坐标系下的相对位姿,确定目标二维码标识的全局绝对位姿,对全局绝对位姿相同的目标二维码标识的多个时刻的第二相对位姿进行进一步优化。
[0112]
a3:整个优化过程在local坐标系下进行,因此数据转换到local坐标系:
[0113]
a4:构建cost_function,通过两种约束,即观测约束和帧间约束,对同一个目标定位标识的数据进行优化,其中观测约束即为传感器测试到定位标识的位姿约束,帧间约束是机器人在local坐标系下不同时刻的位姿约束。
[0114]
具体地,优化变量为数据转换得到的local坐标系下目标定位标识在各个时刻的位姿,以及目标定位mark的位姿。
[0115]
以t1、t2时刻为例,优化变量记为:和已知local系下位姿为t1:t2:(local位姿通过local队列可以得到),t1时刻的观测,即t1时刻识别到目标定位标识mark的位姿为:可信度为s1,在检测目标定位标识mark时不仅仅会输出机器人与目标定位标识mark的相对位姿,同时会输出其可信度;t2时刻的观测,即t1时刻识别到目标定位标识mark的位姿为:其可信度为s2。
[0116]
则,观测约束误差为:
[0117][0118][0119]
里程计误差:
[0120][0121]
基于观测约束误差与里程计误差对目标定位标识和机器人的相对位姿进行优化。
[0122]
a5:利用求解器进行优化求解,优化完成后更新数据。
[0123]
a6:对一个定位标识优化标定次数后进行输出,提高输出精度。
[0124]
a7:优化次数达到优化标定次数后,采用回调的形式输出最新的a7:优化次数达到优化标定次数后,采用回调的形式输出最新的作为提高输出精度后的当前相位位姿。
[0125]
本技术通过结合绝对定位和相对定位,并通过多帧匹配和联合优化,提高了机器人自身与目标定位标识之间的当前相对位姿的准确性,在输出更准确的当前相对位姿后,为了实现机器人的高精到点,可以根据当前相对位姿与目标相对位姿对机器人的位姿进行调整。
[0126]
参照图2,示出了本发明另一实施例中的一种定位方法的步骤流程图,所述定位方法在图1所示的s104之后还包括:
[0127]
s105:将所述当前相对位姿与所述目标相对位姿比较;在所述当前相对位姿与所述目标相对位姿不同时,将所述当前相对位姿调整至所述目标相对位姿;在检测到所述机器人自身处于所述目标相对位姿时,控制自身进入目标工作状态。
[0128]
通过多帧匹配和联合优化后,得到机器人和目标定位标识之间更加准确的当前相对位姿,然后将当前相对位姿与目标定位标识打点结果中的目标相对位姿比较,若一致则说明当前机器人位姿准确,可以进行目标工作状态;若不一致,机器人通过调整自身的全局绝对位姿,进而将当前相对位姿调整至目标相对位姿,以进入所述目标工作状态。
[0129]
参照图3,示出了本发明另一实施例中的机器人在打点模式下获得打点结果的步骤流程图,可以包括以下步骤:
[0130]
b1:接收第一打点模式启动指令。
[0131]
机器人在新的工作区域或者需要重新进行打点时,对机器人发送第一打点模式启动指令,以命令机器人工作在打点模式下。
[0132]
b2:响应于所述第一打点模式启动指令,检测所述机器人自身的工作状态。
[0133]
机器人在打点模式下,检测自身的工作状态是否是处于目标工作状态,目标工作状态指的是在执行目标工作任务过程中经过某个目标位姿或者到达某个目标位姿。
[0134]
b3:在所述机器人自身的工作状态为目标工作状态时,获取所述机器人自身的目标全局绝对位姿,并启动所述机器人自身配置的用于识别定位标识的各个传感器。
[0135]
当机器人自身的工作状态为目标工作状态,即机器人处于经过某个目标位姿或达到某个目标位姿时,确定机器人自身的目标全局绝对位姿,并且启动机器人自身配置的所有用于识别定位标识的传感器开始数据采集。
[0136]
b4:启动所述各个传感器各自对应的线程,通过所启动的线程对所述各个传感器采集的数据按照对应的数据处理算法进行处理,得到定位标识的属性信息和目标相对位姿。
[0137]
在目标工作状态下,各个传感器采集其感应范围内可以识别的各个定位标识,进而确定出可以识别的多个定位标识各自的属性信息,且每个传感器都设置有各自对应的线程,既可以提高数据处理的效率,也可以使得各个传感器的数据处理互不干扰,提高了数据处理过程中的鲁棒性。
[0138]
确定多个定位标识各自相对于所述机器人的相对位姿时可以根据步骤251-253,通过多帧匹配和联合优化,以得到更准确的打点结果。
[0139]
b5:通过所启动的线程,对定位标识的目标相对位姿和所述机器人自身的目标全局绝对位姿进行处理,确定定位标识的全局绝对位姿。
[0140]
根据机器人自身的目标全局绝对位姿和定位标识各自相对于所述机器人的目标相对位姿,确定各个定位标识各自的全局绝对位姿。
[0141]
b6:将所述定位标识的打点结果存储在本地,和/或发送给其他设备,所述打点结果包括:定位标识的属性信息、全局绝对位姿以及目标相对位姿。
[0142]
由于相对定位系统的打点模式切换至定位模式时,要经过空闲模式对数据处理线程和队列中的数据清空,进而需要将多个定位标识各自的打点结果存储在本地,也可以将多个定位标识各自的打点结果发送给其他机器人,不需要每个机器人都进行打点,可以提高工作的效率。
[0143]
打点完成后,机器人可以根据存储的多个定位标识的打点结果,在定位模式下针对目标定位标识的打点结果进行高精定位。
[0144]
在步骤s102中,机器人响应于定位模式启动指令,查询机器人自身是否存储有所述目标定位标识的打点结果,若机器人自身存储有目标定位标识的打点结果,则执行s103,若机器人自身未存储有目标定位标识的打点结果时,说明机器人未曾对目标定位标识进行过打点,输出无定位结果的提示消息。其中,在机器人自身具有信息输出组件(如显示屏、提示灯或喇叭)输出无定位结果的提示消息,以告知机器人的使用者无定位结果。或者,机器人也可以向机器人控制系统返回无定位结果的提示消息,由机器人控制系统对该提示消息进行后续处理。
[0145]
在没有存储目标定位标识的打点结果时,还可以命令机器人仅针对未曾进行打点的目标定位标识进行补充打点,本发明实施例还提供一种机器人补充打点的方法,具体可以包括以下步骤:
[0146]
c1:在所述机器人自身未存储所述目标定位标识的打点结果的情况下,接收针对
所述目标定位标识的第二打点模式启动指令,所述第二打点模式启动指令包含所述目标定位标识的类型。
[0147]
在机器人自身未存储目标定位标识的打点结果时,向机器人发送针对目标定位标识的第二打点模式启动指令,可以使得机器人对目标定位标识进行补充打点。
[0148]
c2:检测自身是否配置有所述目标传感器。
[0149]
机器人接收第二打点模式启动指令后,要检测自身已经配置的传感器中,是否有可以用于检测目标定位标识的目标传感器。
[0150]
c3:在自身未配置所述目标传感器时,输出提示信息,所述提示信息用于提示用户为所述机器人配置所述目标传感器,以及配置用于处理所述目标传感器采集的数据的数据处理算法。
[0151]
如果机器人检测到自身配置的传感器无法检测到目标定位标识时,输出提示消息,以便于工作人员新增新的可以检测目标定位标识的传感器与该传感器对应的数据处理算法。
[0152]
由于联合优化线程的处理过程与传感器无关,联合优化线程仅是对多帧匹配计算出的多个时刻数据对应的相对位姿进行优化,因此新增传感器时,只需要增加新增传感器对应的多帧匹配的数据处理算法即可,新增传感器的多帧匹配的数据处理算法得到的某个时刻数据对应的相对位姿中携带有新增传感器id。
[0153]
c4:在自身配置有所述目标传感器的情况下,当所述机器人自身的工作状态为目标工作状态时,获取所述机器人自身的目标全局绝对位姿,并启动所述目标传感器进行数据采集。
[0154]
若机器人自身配置有能够检测目标定位标识的目标传感器时,表征机器人可以对目标定位标识进行打点,当机器人自身的工作状态处于目标工作状态时,通过绝对定位系统获取机器人自身的目标全局绝对位姿,通过目标传感器进行数据采集。
[0155]
c5:启动与所述目标传感器对应的线程,通过所启动的线程对所述目标传感器采集的数据按照对应的数据处理算法进行处理,得到所述目标定位标识的打点结果。
[0156]
得到打点结果的过程与步骤b4-b5的过程一致,此处不再赘述,打点结果包括目标定位标识的属性信息、全局绝对位姿以及目标相对位姿。
[0157]
c6:将所述目标定位标识的打点结果存储在本地和/或发送给其他设备。
[0158]
机器人将针对目标定位标识的补充打点结果进行存储,或者分享给其他的设备,其他设备可以直接基于目标定位标识的补充打点结果,基于目标定位标识进行高精定位。
[0159]
在本实施例的进行高精定位的过程中,还可以进行异常检测,包括进行传感器数据异常检测,定位标识的提取与匹配异常检测。异常类型包括:预设时间内未接收到传感器采集的数据;传感器不稳定;定位标识提取和多帧匹配耗时过大;提取特征失败;当前相对位姿与目标相对位姿之间相差过大等。整个高精定位过程中的机器人与目标定位标识之间的当前相对位姿以及异常检测的结果上报至机器人控制系统进行显示。
[0160]
本技术至少具有以下有益效果:
[0161]
1、本技术将绝对定位与相对定位相结合,基于存储的打点结果、机器人在绝对定位下的当前全局绝对位姿,以及机器人配置的与所述目标定位标识的类型适配的目标传感器,确定机器人自身与目标定位标识之间的当前相对位姿。
[0162]
本技术通过结合绝对定位和相对定位,提高了机器人自身与目标定位标识之间的当前相对位姿的准确性。
[0163]
2、本技术中机器人默认工作在空闲模式中,只有需要进行高精定位时,接收到针对打点或定位的指令,才工作在打点模式或定位模式下,进而可以减少资源的消耗。
[0164]
3、可以适配多种传感器,根据多种类型的定位标识进行高精定位。
[0165]
4、可以新增新类型的定位标识与适配的传感器,以及增加新增传感器对应的数据处理算法,具有适应更多的定位标识类型的效果,适配性较高。
[0166]
5、每个传感器各自有对应的数据处理算法,互不干扰的同时提高数据处理的效率,提高了定位过程中的鲁棒性。
[0167]
6、基于多帧匹配和联合优化,可以计算得到机器人自身与目标定位标识之间更准确的相对位姿。
[0168]
本技术实施例还提供一种定位装置,参照图4,是本技术实施例提出的定位装置的功能模块图,所述装置包括:
[0169]
指令接收模块100,用于接收针对目标定位标识的定位模式启动指令,所述定位模式启动指令至少包括所述目标定位标识的属性信息;
[0170]
信息存储模块200,用于响应于所述定位模式启动指令,查询所述机器人自身是否存储有所述目标定位标识的打点结果,所述目标定位标识的打点结果包括:所述目标定位标识的属性信息、全局绝对位姿和目标相对位姿;
[0171]
控制模块300,用于在所述机器人自身存储有所述目标定位标识的打点结果的情况下,获取所述机器人自身的当前全局绝对位姿,并启动所述机器人配置的与所述目标定位标识的类型适配的目标传感器;
[0172]
相对位姿确定模块400,用于根据所述目标定位标识的打点结果、所述机器人自身的当前全局绝对位姿以及所述目标传感器采集的数据,确定所述机器人与所述目标定位标识之间的当前相对位姿。
[0173]
可选地,所述装置还包括:
[0174]
第一打点指令接收模块,用于接收第一打点模式启动指令;
[0175]
第一工作状态确定模块,用于响应于所述第一打点模式启动指令,检测所述机器人自身的工作状态;
[0176]
传感器选择模块,用于在所述机器人自身的工作状态为目标工作状态时,获取所述机器人自身的目标全局绝对位姿,并启动所述机器人自身配置的用于识别定位标识的各个传感器;
[0177]
第一打点结果确定模块,用于启动所述各个传感器各自对应的线程,通过所启动的线程对所述各个传感器采集的数据按照对应的数据处理算法进行处理,得到定位标识的属性信息和目标相对位姿;还用于通过所启动的线程,对定位标识的目标相对位姿和所述机器人自身的目标全局绝对位姿进行处理,确定定位标识的全局绝对位姿;
[0178]
第一打点结果存储模块,用于将所述定位标识的打点结果存储在本地,和/或发送给其他设备,所述打点结果包括:定位标识的属性信息、全局绝对位姿以及目标相对位姿。
[0179]
可选地,所述装置还包括:
[0180]
第一提示模块,用于在所述机器人自身未存储所述目标定位标识的打点结果的情
况下,输出无定位结果的提示消息;
[0181]
第二打点指令接收模块,用于接收针对所述目标定位标识的第二打点模式启动指令,所述第二打点模式启动指令包含所述目标定位标识的类型;
[0182]
目标传感器检测模块,用于检测自身是否配置有所述目标传感器;
[0183]
第二提示模块,用于在自身未配置所述目标传感器时,输出提示信息,所述提示信息用于提示用户为所述机器人配置所述目标传感器,以及配置用于处理所述目标传感器采集的数据的数据处理算法。
[0184]
可选地,所述装置还包括:
[0185]
目标传感器选择模块,用于在在自身配置有所述目标传感器的情况下,当所述机器人自身的工作状态为目标工作状态时,获取所述机器人自身的目标全局绝对位姿,并启动所述目标传感器进行数据采集;
[0186]
第二打点结果确定模块,用于启动与所述目标传感器对应的线程,通过所启动的线程对所述目标传感器采集的数据按照对应的数据处理算法进行处理,得到所述目标定位标识的打点结果;
[0187]
第二打点结果存储模块,用于将所述目标定位标识的打点结果存储在本地和/或发送给其他设备,所述目标定位标识的打点结果包括:所述目标定位标识的属性信息、全局绝对位姿以及目标相对位姿。
[0188]
可选地,所述相对位姿确定模块,包括:
[0189]
第一处理单元,用于启动所述目标传感器对应的线程,通过所启动的线程对所述目标传感器采集的数据按照对应的数据处理算法进行处理,得到位于所述目标传感器的感应范围内的候选定位标识的属性信息,以及所述机器人与所述候选定位标识之间的第一相对位姿;
[0190]
第二处理单元,用于通过所启动的线程,对所述机器人自身的当前全局绝对位姿以及所述第一相对位姿进行处理,得到所述候选定位标识的第一全局绝对位姿;
[0191]
第三处理单元,用于在所述候选定位标识的第一全局绝对位姿与所述目标定位标识的打点结果中全局绝对位姿相匹配时,将所述候选定位标识确定为所述目标定位标识;
[0192]
第四处理单元,用于控制所述目标传感器针对所述目标定位标识进行数据采集;启动所述目标传感器对应的线程,对所述目标传感器采集的数据按照对应的数据处理算法进行处理,得到所述机器人与所述目标定位标识之间的当前相对位姿。
[0193]
可选地,所述第四处理单元,包括:
[0194]
多帧匹配子单元,用于将所述目标传感器对所述目标定位标识采集到的多帧数据时间同步为一个时刻的数据;启动所述目标传感器对应的线程,对多个时刻的数据按照对应的数据处理算法进行处理,计算多个时刻的数据各自对应的第二相对位姿;
[0195]
联合优化子单元,用于启动联合优化线程,对多个第二相对位姿进行平均,得到所述机器人与所述目标定位标识之间的当前相对位姿。
[0196]
可选地,所述装置还包括:
[0197]
位姿调整模块,用于将所述当前相对位姿与所述目标相对位姿比较;在所述当前相对位姿与所述目标相对位姿不同时,将所述当前相对位姿调整至所述目标相对位姿;在检测到所述机器人自身处于所述目标相对位姿时,控制自身进入目标工作状态。
[0198]
可选地,所述机器人具有三种工作模式,包括:空闲模式、打点模式以及定位模式;
[0199]
所述信息存储模块,包括:
[0200]
第一模式转换单元,用于响应于所述定位模式启动指令,所述机器人由所述空闲模式进入定位模式;
[0201]
第一查询单元,用于在所述定位模式下,查询所述机器人自身是否存储有所述目标定位标识的打点结果;
[0202]
所述第一工作状态确定模块,包括:
[0203]
第二模式转换单元,用于响应于所述第一打点模式启动指令,所述机器人由所述空闲模式进入所述打点模式;
[0204]
第二检测单元,用于在所述打点模式下,检测所述机器人自身的工作状态。
[0205]
可选地,所述装置还包括异常检测模块,用于在进行异常检测以及将异常检测的结果上报至机器人控制系统进行显示;其中异常检测的内容包括传感器数据异常检测,定位标识的提取与匹配异常检测,预设时间内未接收到传感器采集的数据,传感器不稳定,定位标识提取和多帧匹配耗时过大,提取特征失败,当前相对位姿与目标相对位姿之间相差过大等。
[0206]
本技术实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现实施例所述的定位方法。
[0207]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现实施例所述的定位方法。
[0208]
本技术实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现实施例所述的定位方法。
[0209]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0210]
本领域内的技术人员应明白,本技术实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本技术实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0211]
本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0212]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0213]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0214]
尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
[0215]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0216]
本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1