本技术涉及定位,特别涉及一种全局定位的方法、装置、自主机器人和存储介质。
背景技术:
1、自主机器人是目前机器人领域的重点研究方向,自主机器人可以包括无人机等。自主机器人可以通过定位和导航,自主移动至指定地点执行任务。这样,准确的定位便称为了自动机器人的关键。
2、目前,自主机器人通常采用全球定位系统(global positioning system,gps)实现自主定位。
3、然而,gps容易受卫星状况、电离层状况影响,在隧道、高楼密集区域定位效果较差。
技术实现思路
1、本技术实施例提供了一种全局定位的方法、装置、自主机器人和存储介质,在不使用gps的情况下,实现定位,可以避免在某些场所gps无法准确定位的问题。所述技术方案如下:
2、第一方面,提供了一种全局定位的方法,所述方法包括:
3、获取定位信息;
4、获取场景图像和惯性测量单元imu信息;
5、提取所述场景图像的多个二维特征点;
6、基于所述多个二维特征点和所述imu信息,确定估计位姿信息;
7、将所述多个二维特征点和全局特征点地图进行匹配,得到所述多个二维特征点在所述全局特征点地图中匹配的三维特征点;
8、根据每个二维特征点的类型、每个二维特征点匹配的三维特征点的坐标和所述估计位姿信息,对所述定位信息进行滤波更新。
9、在一种可能的实现方式中,所述根据每个二维特征点的类型、每个二维特征点匹配的三维特征点的坐标和所述估计位姿信息,对所述定位信息进行滤波更新,包括:
10、如果所述二维特征点是视觉惯性里程计vio特征点,且vio的状态变量包括所述二维特征点的特征点信息,则将所述二维特征点匹配的三维特征点的坐标、所述二维特征点匹配的三维特征点对应的初始测量方差和所述估计位姿信息,输入ekf中,对所述定位信息进行滤波更新,其中,所述二维特征点的特征点信息包括所述二维特征点的坐标、所述二维特征点匹配的三维特征点的坐标、所述二维特征点的标识。
11、在一种可能的实现方式中,所述方法还包括:
12、如果所述二维特征点是vio特征点,且所述vio的状态变量不包括所述二维特征点的特征点信息,则将所述二维特征点的特征点信息添加到所述vio的状态变量中,并获取所述二维特征点匹配的三维特征点对应的初始测量方差。
13、在一种可能的实现方式中,所述根据每个二维特征点的类型、每个二维特征点匹配的三维特征点的坐标和所述估计位姿信息,对所述定位信息进行滤波更新,包括:
14、如果所述二维特征点不是vio特征点,则对所述二维特征点在最新采集到的场景图像中进行特征跟踪,如果所述最新采集到的场景图像中存在与所述二维特征点匹配的目标二维特征点,则根据所述二维特征点匹配的三维特征点的坐标,计算测量噪声;
15、将所述二维特征点的坐标、所述二维特征点匹配的三维特征点的坐标、所述二维特征点匹配的三维特征点对应的初始测量方差、所述估计位姿信息和所述测量噪声,输入ekf中,对所述定位信息进行更新。
16、在一种可能的实现方式中,所述方法,还包括:
17、如果所述二维特征点不是vio特征点,且在所述最新采集到的场景图像中不存在所述目标二维特征点,则将所述二维特征点的特征点信息添加到所述vio的状态变量中,并获取所述二维特征点匹配的三维特征点对应的初始测量方差。
18、在一种可能的实现方式中,所述提取所述场景图像的多个二维特征点,包括:
19、提取所述场景图像的第一数目的二维特征点,对所述第一数目的二维特征点添加vio特征标识,作为所述vio特征点;
20、提取所述场景图像的第二数目的二维特征点
21、第二方面,提供了一种全局定位的装置,所述装置包括:
22、获取模块,用于获取定位信息,获取场景图像和imu信息;
23、提取模块,用于提取所述场景图像的多个二维特征点;
24、确定模块,用于基于所述多个二维特征点和所述imu信息,确定估计位姿信息;
25、匹配模块,用于将所述多个二维特征点和全局特征点地图进行匹配,得到所述多个二维特征点在所述全局特征点地图中匹配的三维特征点;
26、更新模块,用于根据每个二维特征点的类型、每个二维特征点匹配的三维特征点的坐标和所述估计位姿信息,对所述定位信息进行滤波更新。
27、在一种可能的实现方式中,所述更新模块,用于:
28、如果所述二维特征点是vio特征点,且vio的状态变量包括所述二维特征点的特征点信息,则将所述二维特征点匹配的三维特征点的坐标、所述二维特征点匹配的三维特征点对应的初始测量方差和所述估计位姿信息,输入ekf中,对本设备的定位信息进行滤波更新,其中,所述二维特征点的特征点信息包括所述二维特征点的坐标、所述二维特征点匹配的三维特征点的坐标、所述二维特征点的标识。
29、在一种可能的实现方式中,所述更新模块,还用于:
30、如果所述二维特征点是vio特征点,且所述vio的状态变量不包括所述二维特征点的特征点信息,则将所述二维特征点的特征点信息添加到所述vio的状态变量中,并获取所述二维特征点匹配的三维特征点对应的初始测量方差。
31、在一种可能的实现方式中,所述更新模块,用于:
32、如果所述二维特征点不是vio特征点,则对所述二维特征点在最新采集到的场景图像中进行特征跟踪,如果所述最新采集到的场景图像中存在与所述二维特征点匹配的目标二维特征点,则根据所述二维特征点匹配的第二三维特征点的坐标,计算测量噪声;
33、将所述二维特征点的坐标、所述二维特征点匹配的三维特征点的坐标、所述二维特征点匹配的三维特征点对应的初始测量方差、所述估计位姿信息和所述测量噪声,输入ekf中,对本设备的定位信息进行更新。
34、在一种可能的实现方式中,所述更新模块,用于:
35、如果所述二维特征点不是vio特征点,且在所述最新采集到的场景图像中不存在所述目标二维特征点,则将所述二维特征点的特征点信息添加到所述vio的状态变量中,并获取所述二维特征点匹配的三维特征点对应的初始测量方差。
36、在一种可能的实现方式中,所述提取模块,用于:
37、提取所述场景图像中第一数目的二维特征点,对所述第一数目的二维特征点添加vio特征标识,作为所述vio特征点;
38、提取所述场景图像中第二数目的二维特征点。
39、第三方面,提供了一种自主机器人,所述自主机器人包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上述第一方面所述的全局定位的方法所执行的操作。
40、第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述第一方面所述的全局定位的方法所执行的操作。
41、第五方面,提供了一种计算机程序产品,所述计算机程序产品中包括有至少一条指令,所述指令由处理器加载并执行以实现如上述第一方面所述的全局定位的方法所执行的操作。
42、本技术实施例提供的技术方案带来的有益效果是:
43、在本技术实施例提供的全局定位的方法中,结合vio估计的位姿信息与全局特征点地图,采用滤波更新的方式实现对自主机器人的定位,定位过程无需gps参与,避免了gps和vio结合时,gps在隧道、高楼密集区域等场景下受干扰影响,导致全局定位效果差的问题。