本技术涉及人工智能,尤其涉及一种机器人定位方法、装置、设备、机器人及存储介质。
背景技术:
1、随着科学技术在智能机器人领域的快速发展,具有智能感知与自主移动功能的智能机器人在各行各业中发挥了重要作用。高精度的定位系统是智能感知和自主移动的基础。
2、基于摄像头的定位算法一般是利用相机图像追踪特征点,但是,特征点的追踪需要耗费大量的算力,而机器人还需要执行多种复杂的任务,使得机器人在定位上能使用的算力有限,难以实现及时、有效的定位。
技术实现思路
1、为了解决上述问题,本技术提出一种机器人定位方法、装置、设备、机器人及存储介质,能够减小机器人定位的算力占用,从而能够在有限算力情况下实现及时、有效的定位。
2、根据本技术实施例的第一方面,提供了一种机器人定位方法,包括:
3、从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;所述机器人相机包括至少两个摄像头;
4、至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;
5、若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
6、可选的,所述方法还包括:
7、若所述位姿变化量大于预设的位姿变化阈值,或者,所述位姿变化量不大于预设的位姿变化阈值且所述第i-1帧图像的图像特征点是从所述第m个摄像头采集的第i-1帧图像中,确定出的与第i-2帧图像的图像特征点相匹配的图像特征点,则基于所述第一特征点集中的图像特征点,对所述机器人相机的各个摄像头采集的第i帧图像进行特征点光流追踪匹配,得到第二特征点集;
8、基于所述第二特征点集中的图像特征点,确定所述机器人的位姿。
9、可选的,所述至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量,包括:
10、基于所述第一特征点集中的图像特征点,确定所述机器人在采集所述第i帧图像时的位置和姿态;
11、基于所述机器人在采集所述第i帧图像时的位置和姿态,以及预先获取的所述机器人在采集所述第i-1帧图像时的位置和姿态,确定所述机器人的位姿变化量。
12、可选的,在基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量之前,所述方法还包括:
13、判断所述第一特征点集中的图像特征点数量是否大于预设的数量阈值;
14、若不大于预设的数量阈值,则向所述第一特征点集补充图像特征点。
15、可选的,所述预设的数量阈值由预设的匹配特征点数量而确定;
16、所述向所述第一特征点集补充图像特征点,包括:
17、向所述第一特征点集补充图像特征点,以使所述第一特征点集中的图像特征点数量达到所述预设的匹配特征点数量。
18、可选的,基于所述第一特征点集中的图像特征点确定所述机器人的位姿,包括:
19、对所述第一特征点集中的图像特征点进行三维深度恢复,得到由三维特征点构成的第三特征点集;
20、对所述第三特征点集中的三维特征点进行滑动窗口优化处理,确定所述机器人的位姿信息。
21、根据本技术实施例的第二方面,提供了一种机器人定位装置,包括:
22、特征点匹配模块,用于从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;所述机器人相机包括至少两个摄像头;
23、位姿变化模块,用于至少基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;
24、定位模块,用于若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
25、根据本技术实施例的第三方面,提供了一种机器人,包括相机以及与所述相机连接的处理器,所述相机至少包括两个摄像头;
26、所述处理器,用于从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;基于所述第一特征点集中的图像特征点,确定所述机器人的位姿变化量;所述位姿变化量表示所述机器人在采集所述第i帧图像时的位姿相对于采集所述第i-1帧图像时的位姿的变化量;若所述位姿变化量不大于预设的位姿变化阈值,并且所述第i-1帧图像的图像特征点是通过对所述机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于所述第一特征点集中的图像特征点确定所述机器人的位姿;其中,m和i均为正整数。
27、可选的,所述处理器还用于:若所述位姿变化量大于预设的位姿变化阈值,或者,所述位姿变化量不大于预设的位姿变化阈值且所述第i-1帧图像的图像特征点是从所述第m个摄像头采集的第i-1帧图像中,确定出的与第i-2帧图像的图像特征点相匹配的图像特征点,则基于所述第一特征点集中的图像特征点,对所述机器人相机的各个摄像头采集的第i帧图像进行特征点光流追踪匹配,得到第二特征点集;基于所述第二特征点集中的图像特征点,确定所述机器人的位姿。
28、可选的,所述处理器还用于:判断所述第一特征点集中的图像特征点数量是否大于预设的数量阈值;若不大于预设的数量阈值,则向所述第一特征点集补充图像特征点。
29、本技术第四方面提供了一种电子设备,包括:
30、存储器和处理器;
31、所述存储器与所述处理器连接,用于存储程序;
32、所述处理器,通过运行所述存储器中的程序,实现上述的机器人定位方法。
33、本技术第五方面提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现上述的机器人定位方法。
34、上述申请中的一个实施例具有如下优点或有益效果:
35、从机器人相机的第m个摄像头采集的第i帧图像中,确定出与第i-1帧图像的图像特征点相匹配的图像特征点,得到第一特征点集;至少基于第一特征点集中的图像特征点,确定机器人的位姿变化量;若位姿变化量不大于预设的位姿变化阈值,并且第i-1帧图像的图像特征点是通过对机器人相机的各个摄像头采集的第i-1帧图像进行特征点光流追踪匹配而确定的,则基于第一特征点集中的图像特征点确定机器人的位姿。由此可见,利用位姿变化量确定机器人相邻两帧的位姿变化情况,在机器人的位姿变化较小且第i-1帧图像的图像特征点是采用相机的各个摄像头的图像所确定的情况下,只采用第m个摄像头采集的第i帧图像对应的第一特征点集确定机器人的当前位姿,无需采用相机的其他摄像头采集的第i帧图像来确定机器人的当前位姿,这样,能够降低采用多个摄像头进行光流追踪的执行频率,从而减小机器人的算力占用,从而能够在有限算力情况下实现及时、有效的定位。