一种定位方法及设备与流程

文档序号:17125849发布日期:2019-03-16 00:25阅读:137来源:国知局
一种定位方法及设备与流程

本发明涉及空间定位领域,特别涉及一种定位方法。本发明同时还涉及一种定位设备。



背景技术:

移动机器人定位是确定其在已知环境中所处位置的过程,是实现移动机器人自动导航能力的关键。依据机器人所采用传感器类型的不同,其定位方式有所不同。目前应用较广泛的传感器有里程计、超声波、激光器、摄像机、红外线、深度相机、gps(globalpositioningsystem,全球定位系统)定位系统等等。

在实现机器人定位的过程中,当一个机器人在未知的环境中运动,如何通过对环境的观测确定自身的运动轨迹,同时构建出环境的地图。slam(simultaneouslocalizationandmapping,同时定位与地图创建)技术正是为了实现这个目标涉及到的诸多技术的总和。slam被定义为解决″机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目″的问题方法的统称。

目前,二维slam系统依赖栅格地图实现机器人定位,以便机器人完成导航及避障等任务。其中,栅格地图的生成主要依靠slam系统建图功能过程实现。具体方式体现为:机器人搭载激光雷达、辅助以里程计以及惯性测量单元单元等传感器,采集环境数据(机器人到障碍物距离,机器人速度等),并通过一定匹配算法等,实现栅格地图的构建。

发明人在实现本发明的过程中发现,现有技术至少存在以下问题:

(1)栅格地图的构建非常依赖于激光雷达、imu(惯性测量单元)等传感器性能。比如大尺度场景下(如空旷的室内空间),如果激光雷达的量程小于房间边长的一半,当雷达处于房间中部位置时,无法测得四周墙壁的位置,从而很难实现栅格地图构建。而大量程激光雷达的价格都比较昂贵;

(2)在特殊的场景下建图准确性不足:比如特征较少的场景,如没有拐角、没有杂物的楼道,难以建立准确的地图,因为建图算法是基于环境的特征(拐角、凹凸形状等)进行匹配。又比如较长的环形(回字形)走廊,当从起点沿一个方向建图,转一圈后回到起点时,由于传感器误差的积累,往往地图上不能实现闭合(闭环失败)。再如如果数据采集过程中存在暂时性障碍物(如路过的行人),建图时,可能会把这些暂时性障碍物当做永久障碍物记录下来,后期需要人工清除这些″伪障碍物″才能确保定位的准确性。

由此可见,如何在减少硬件成本投入的基础上提高机器人定位的准确性,成为本领域技术人员亟待解决的技术问题。



技术实现要素:

本发明提供一种定位方法,应用于机器人,用以解决在减少硬件成本投入的基础上提高机器人定位的准确性,所述方法包括:

所述机器人获取与自身所在区域对应的非栅格地图;

所述机器人对所述非栅格地图进行尺度转换,并将所述尺度转换后的非栅格地图通过图片转换生成栅格地图;

所述机器人向所述区域中的指定位置移动,所述指定位置设有引导标记,所述指定位置的布局信息与所述栅格地图匹配度高于预设阈值;

当所述机器人到达所述指定位置时,根据自身对周围的环境扫描结果确定所述机器人当前的位置。

优选的,所述机器人对所述非栅格地图进行尺度转换,具体为:

获取所述机器人内置的指定系统所支持的栅格地图的分辨率;

根据所述非栅格地图中最长的侧边的长度确定缩放率;

根据所述缩放率对所述非栅格地图进行等比例缩放。

优选的,将所述尺度转换后的非栅格地图通过图片转换生成栅格地图,具体为:

确定所述非栅格地图中可通行区域的rgb中心值;

根据预设的转换阈值以及所述rgb中心值对所述非栅格地图中的各像素点进行筛选;

根据筛选结果为各所述像素点赋予栅格值;

根据各所述像素点的栅格值生成所述栅格地图。

优选的,在将所述尺度转换后的非栅格地图通过图片转换生成栅格地图之后,还包括:

接收地图修改指示消息,根据所述地图修改指示消息中携带的位置修改信息调整所述栅格地图中相应像素的栅格值。

优选的,所述机器人设有激光雷达传感器,根据自身对周围的环境扫描结果确定所述机器人当前的位置,具体为:

通过所述激光雷达传感器生成所述机器人附近的粒子信息;

利用指定算法对多次采集的所述粒子信息进行重采样处理,并根据处理结果生成所述环境扫描结果;

根据所述环境扫描结果确定所述位置。

优选的,所述机器人设有运动传感器,还包括:

若所述机器人未处于所述指定位置,所述机器人根据上一次确定的位置以及所述运动传感器向其他指定位置移动。

相应的,本发明还提出了一种定位设备,应用于机器人,所述设备包括:

获取模块,所述机器人获取与自身所在区域对应的非栅格地图;

生成模块,所述机器人对所述非栅格地图进行尺度转换,并将所述尺度转换后的非栅格地图通过图片转换生成栅格地图;

移动模块,所述机器人向所述区域中的指定位置移动,所述指定位置设有引导标记,所述指定位置的布局信息与所述栅格地图匹配度高于预设阈值;

确定模块,当所述机器人到达所述指定位置时,根据自身对周围的环境扫描结果确定所述机器人当前的位置。

相应的,本发明还提出了一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上所述的定位方法。

相应的,本发明还提出了一种计算机程序产品,其特征在于,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行如上所述的定位方法。

通过应用本申请的技术方案,该方案通过机器人获取与自身所在区域对应的非栅格地图,对非栅格地图进行尺度转换,并将尺度转换后的非栅格地图通过图片转换生成栅格地图,之后机器人向所在区域中的指定位置移动,此指定位置设有引导标记,同时指定位置的布局信息与栅格地图匹配度高于预设阈值,进而当机器人到达指定位置时,根据自身对周围的环境扫描结果确定机器人当前的位置。通过应用本申请的技术方案,机器人能够更加迅速便捷的生成地图并准确的进行自身定位,极大降低了硬件成本投入的同时提高了机器人定位的准确性。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提出的一种定位方法的流程示意图;

图2为本申请具体实施例提出的粒子滤波算法(amcl算法)的流程示意图;

图3为本申请具体实施例提出的一种精确定位示意图;

图4为本申请提出的一种定位设备的结构示意图。

具体实施方式

如背景技术所述,现有技术虽然在实现机器人定位的过程中利用二维slam系统依赖栅格地图实现机器人定位,以便机器人完成导航及避障等任务,但由于大尺度场景下大量程激光雷达的价格都比较昂贵,并且在特征较少的场景中无法建立准确的地图,同时对于暂时性障碍物无法及时的排除,都直接或间接的影响到机器人定位的准确性。

有鉴于上述问题,本发明实施例提供一种定位方法,应用于机器人以使机器人精确定位。下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整的描述。

在本发明实施例中,机器人是指自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。它的任务是协助或取代人类工作的工作,例如生产业、建筑业,或是危险的工作。其功能结构、运用环境等的变化并不会影响本发明的保护范围。

如图1所示,该机器人定位方法具体包括以下步骤:

s101,所述机器人获取与自身所在区域对应的非栅格地图。

本步骤旨在获取所在区域对应的非栅格地图,非栅格地图可能有很多种,例如:建筑cad(computeraideddesign,计算机辅助设计)图、网络地图(如百度地图、谷歌地图等)、手绘图等,只要所述地图包含所在区域的相应布局,其不同的地图类型均并不会影响本发明的保护范围。同时获取的手段可以是手动输入,电子导入,网上自动查询下载等,其不同的获取手段并不会影响本发明的保护范围。

s102,所述机器人对所述非栅格地图进行尺度转换,并将所述尺度转换后的非栅格地图通过图片转换生成栅格地图。

本步骤旨在利用尺度转换将非栅格地图转换为栅格地图,其尺度转换方式可以为任一种用于尺寸换算的计算方法,只要能达到利用尺度转换将非栅格地图转换为栅格地图的方法,均在本申请保护范围之内。同时,其图片转换的方式也可以是任何一种图片转换方式,如二值法、灰度法等,只要能达到利用尺度转换将非栅格地图转换为栅格地图的方法,均在本申请保护范围之内。

优选的,为了更好的对所述非栅格地图进行尺度转换,优选步骤如下:

(1)获取所述机器人内置的指定系统所支持的栅格地图的分辨率。

(2)根据所述非栅格地图中最长的侧边的长度确定缩放率。

(3)根据所述缩放率对所述非栅格地图进行等比例缩放。

优选的,为了更好的将所述尺度转换后的非栅格地图通过图片转换生成栅格地图,优选步骤如下:

(1)确定所述非栅格地图中可通行区域的rgb(三原色红绿兰彩色值)中心值。

(2)根据预设的转换阈值以及所述rgb中心值对所述非栅格地图中的各像素点进行筛选。

(3)根据筛选结果为各所述像素点赋予栅格值。

(4)根据各所述像素点的栅格值生成所述栅格地图。

优选的,在将所述尺度转换后的非栅格地图通过图片转换生成栅格地图之后,还包括:

接收地图修改指示消息,根据所述地图修改指示消息中携带的位置修改信息调整所述栅格地图中相应像素的栅格值。

在具体应用场景中,通过现有的资料及数据生成可供机器人定位的栅格地图。首先,栅格地图需要和实际场景相匹配,才能被用于机器人定位。对于栅格地图而言,是通过分辨率来实现与现场场景的匹配。其次,cad图以及网络在线地图(如百度地图),一般会通过比例尺的方式将地图与实际场景对应。为了将cad图或者网络地图截图转换为栅格地图,首先要确保尺度的一致性。由于测量工具在测量一条边时,存在固定误差,比如测量10米的边,测得数据可能为10.1或9.9,误差为10%;而测量100米的边,测得数据可能为100.1或99.9,误差为1%,所以越长的边,测量误差越小,从而计算得到的缩放率越准确。即选择cad图、网络地图中较长的边计算缩放率。

优选的,对于cad图,可通过cad软件直接测量两个点之间的距离;对于网络地图,如百度地图,可通过地图提供的测量工具测量。假设地图中一条边的长度为d(假设为10米),在图片中对应的像素距离(终点像素距离-起点像素坐标)为p(假设1000像素),slam系统支持的栅格地图的分辨率,记为res(如0.05m/栅格边长)。则图片的缩放率r的计算公式为:

r=(d/res)/p;

对应上例,r=(10/0.05)/1000=0.2。

因此,需要通过图片编辑软件,将图片缩小到原图片的1/5大小。

验证:缩小后的地图中上述的边像素变为200像素,对应的距离仍为10米,则分辨率等于:10米/200=0.05米。满足栅格地图的像素要求:0.05m。

优选的,本具体实施例通过二值法将彩色图片转发为栅格地图。

选择机器人可通行区域的rgb中心值rm,gm,bm。距离:假设在彩色图片中,通道的像素rgb值为(192,192,192),即rm=192,gm=192,bm=192。为了确保图片中所有可通行区域的像素点都转换为值为0的栅格,又由于图片中的像素值有轻微的色彩变换,比如:彩色图中有些通道区域的rgb值可能为(190,189,195),本申请具体实施例把这些的区域转换为值为0的栅格,且设定了转换的阈值t。当像素(r,g,b)的值满足三个参数均在中心值(rm,gm,bm)的上下阈值t范围以内时,本申请具体实施例将该像素作为可通行区域的像素,即在本申请具体实施例中像素转换为0值的栅格即代表没有障碍物。同时将不在上述范围的其它的区域的栅格值转换为1,即代表障碍物。设置好转换阈值后,图片转换的过程可通过软件来自动实现。

优选的,经过本步骤转换的图片有部分区域可能与实际场景不匹配,为了进一步提高地图的准确度,本申请具体实施例通过人工确认以及手动编辑,通过图片编辑软件生成地图修改指示消息,将相应的位置编辑为与实际场景相匹配的栅格值。并根据所述地图修改指示消息中携带的位置修改信息调整所述栅格地图中相应像素的栅格值。

s103,所述机器人向所述区域中的指定位置移动,所述指定位置设有引导标记,所述指定位置的布局信息与所述栅格地图匹配度高于预设阈值。

本步骤旨在将机器人移动到区域中的指定位置,其指定位置设置的引导标记可以有很多种,例如:二维码标记、rfid(radiofrequencyidentification,射频识别)、红外指示标记等,只要引导标记能够将机器人移动到区域中的指定位置,其方法均属于本申请的保护范围。

在具体应用场景中,本申请具体实施例通过辅助传感器的方式,比如在该区域安装rfid、显著位置张贴二维码等;机器人安装rfid接收器,或者通过识别二维码的方式,得到自己所在的区域信息。

rfid、二维码的实际安装位置可通过实际测量获得。比如rfid离墙面a距离为d1,墙面b(垂直于墙面a)距离为d2,这样可以确定rfid及二维码的实际位置坐标(x,y)。

当机器人行走至二维码或rfid附近时,能够通过摄像头读到二维码,或者通过rfid接收器读到rfid的信息。这时,机器人认为自己当前的位置与二维码或者rfid所在房间的位置存在一定关系。

在具体应用场景中,匹配高的区域是通过人为确定的(预设阈值),即假设一个房间里摆了若干桌椅、设备,但是地图里没有这些物体,则在这些区域,地图与实际场景的匹配度较低。假设另外的区域,比如房间的墙角、门口等位置,没有摆放其它与地图不一致的物体,则认为该区域的匹配度高。

s104,当所述机器人到达所述指定位置时,根据自身对周围的环境扫描结果确定所述机器人当前的位置。

本步骤旨在根据扫描结果确定机器人的当前位置,其对周围环境扫描的方式可以有很多种,例如:摄像、红外线、声波等,只要能达到根据扫描结果确定机器人的当前位置,不同的扫描方式,并不会影响本发明的保护范围。

优选的,为了更好的根据自身对周围的环境扫描结果确定所述机器人当前的位置,所述机器人优选的设有激光雷达传感器,优选步骤如下:

(1)通过所述激光雷达传感器生成所述机器人附近的粒子信息。

(2)利用指定算法对多次采集的所述粒子信息进行重采样处理,并根据处理结果生成所述环境扫描结果。

(3)根据所述环境扫描结果确定所述位置。

优选的,为了准确的确定当前位置信息,具体的,所述机器人设有运动传感器,若所述机器人未处于所述指定位置,所述机器人根据上一次确定的位置以及所述运动传感器向其他指定位置移动。

在具体应用场景中,选择与实际场景匹配度高的区域,比如没有桌椅、柜子的墙角等。这样机器人达到该位置时,激光雷达扫描的点就会与栅格地图中的障碍物匹配,从而可以通过粒子滤波算法(amcl算法),计算得到这一时刻下,机器人的精确位姿。

优选的,如图2所示,粒子滤波算法(amcl算法)使用的是粒子滤波的方法来进行定位的。举例来说,如图2.a所示,一开始在地图空间很均匀的撒一把粒子,然后如图2.b所示,通过获取机器人的motion来移动粒子,比如机器人向前移动了一米,所有的粒子也就向前移动一米,不管现在这个粒子的位置对不对。使用每个粒子所处位置模拟一个传感器信息跟观察到的传感器信息(一般是激光)作对比,从而赋给每个粒子一个概率。之后根据生成的概率来重新生成粒子,概率越高的生成的概率越大。这样的迭代之后,如图2.c所示,所有的粒子会慢慢地收敛到一起,机器人的确切位置也就被推算出来了。

具体的,精确定位通过前文提到的粒子滤波算法(amcl算法),以当前位置坐标及姿态为中心,在该位置附近产生一批粒子,分别代替机器人当前可能所在的位置及姿态,通过粒子滤波算法(amcl算法)多次重采样后,粒子就会向机器人真正所在的位置聚拢,从而得到一次精确的定位。

具体的,若机器人未处于指定位置或者位于实际场景与栅格地图匹配度低的区域时,以上一次精确定位为基准,通过里程计累计算当前的位置,直至到达下一个精确定位区域。

通过应用本申请的技术方案,该方案通过机器人获取与自身所在区域对应的非栅格地图,对非栅格地图进行尺度转换,并将尺度转换后的非栅格地图通过图片转换生成栅格地图,之后机器人向所在区域中的指定位置移动,此指定位置设有引导标记,同时指定位置的布局信息与栅格地图匹配度高于预设阈值,进而当机器人到达指定位置时,根据自身对周围的环境扫描结果确定机器人当前的位置。通过应用本申请的技术方案,机器人能够更加迅速便捷的生成地图并准确的进行自身定位,极大降低了硬件成本投入的同时提高了机器人定位的准确性。

为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。

本具体应用场景,可分为两大过程:地图生成、局部精确定位。

一、地图生成

地图生成指从cad图或普通图片(如网络地图截图)生成可供机器人定位的栅格地图。主要分以下几个步骤:

1.尺度确定(比例尺计算)

(1)栅格地图的分辨率

栅格地图需要和实际场景相匹配,才能被用于机器人定位。对于栅格地图而言,是通过分辨率来实现与现场场景的匹配。

举例来说:

一张栅格地图的分辨率为0.05m,代表地图中每个栅格的大小对应实际场景中的0.05m*0.05m的范围。因此,地图上连续的100个栅格,代表实际中的5米;地图上100*100的范围,代表实际中的5米*5米。这样,就把栅格地图与实际地图对应起来。

(2)cad图及普通图片的比例尺

cad图以及网络在线地图(如百度地图),一般会通过比例尺的方式将地图与实际场景对应。

(3)尺度转换

将cad图、网络地图截图转换为栅格地图,首先要确保尺度的一致性。具体方法如下:

(a)首先,要确定slam系统支持的栅格地图的分辨率,记为res(如0.05m/栅格边长)。

(b)其次,将cad图、网络地图截图进行等比例缩放。具体步骤如下:

(a)选择cad图、网络地图中较长的边计算缩放率。

由于测量工具在测量一条边时,存在固定误差,比如测量10米的边,测得数据可能为10.1或9.9,误差为10%;而测量100米的边,测得数据可能为100.1或99.9,误差为1%,所以越长的边,测量误差越小,从而计算得到的缩放率越准确。

对于cad图,可通过cad软件直接测量两个点之间的距离;对于网络地图,如百度地图,可通过地图提供的测量工具测量。

例如:假设地图中一条边的长度为d(假设为10米),在截取图片中对应的像素距离(终点像素距离-起点像素坐标)为p(假设1000像素)。则图片的缩放率r的计算公式为:

r=(d/res)/p;

对应上例,r=(10/0.05)/1000=0.2。

因此,需要通过图片编辑软件,将图片缩小到原图片的1/5大小。

(b)验证:缩小后的地图中上述的边像素变为200像素,对应的距离仍为10米,则分辨率等于:10米/200=0.05米。满足栅格地图的像素要求:0.05m。

2.图片转换:

通过二值法将彩色图片转换为栅格地图。这里,可以让栅格地图的像素只有0和1两个值,0表示没有障碍物,1表示有障碍物。

转换方式:

首先,选择机器人可通行区域的rgb中心值rm,gm,bm。例如:假设在彩色图片中,通道的像素rgb值为(192,192,192),即rm=192,gm=192,bm=192。

为了确保图片中所有可通行区域的像素点都转换为值为0的栅格,又由于图片中的像素值有轻微的色彩变换,比如彩色图中有些通道区域的rgb值可能为(190,189,195),而我们也想把这些的区域转换为值为0的栅格。于是我们设定了转换的阈值t。当像素的值满足:

(rm-t)<r<(rm+t);

且(gm-t)<g<(gm+t);

且(bm-t)<b<(bm+t);

其中公式中的rm,gm,bm都是取中心值。

时,认为该像素为代表可通行区域的像素,于是将该像素转换为0值的栅格。

对于上述例子,假设阈值t=10,那么,彩色图中所有r值在(182~202)范围、同时g值在(182~202)、同时b值在(182~202)范围的区域,都可以作为通道转换为值为0的栅格。

不在上述范围的其它的区域的栅格值转换为1,即代表障碍物。

设置好转换阈值后,图片转换的过程可通过软件来自动实现。

3.图片编辑

经过步骤2.转换的图片,有部分区域与实际场景不匹配,需要手动编辑,通过图片编辑软件,将相应的位置编辑为与实际场景相匹配的栅格值。

其中,场景的不匹配需要人工确认,并且进行手动编辑。

二、局部精确定位

局部精确定位的思路,是选择转换后的栅格地图中与实际场景匹配度较高的区域,进行机器人定位,其它区域通过里程计、imu(惯性测量单元)等进行定位推演,以达到全局的定位精度。

匹配高的区域是通过人为确定的,即假设一个房间里摆了若干桌椅、设备,但是地图里没有这些物体,则在这些区域,地图与实际场景的匹配度较低。假设另外的区域,比如房间的墙角、门口等位置,没有摆放其它与地图不一致的物体,则认为该区域的匹配度高。具体实施方法:

1.选择与实际场景匹配度高的区域,比如没有桌椅、柜子的墙角等。这样机器人达到该位置时,激光雷达扫描的点就会与栅格地图中的障碍物匹配,从而可以通过前文提到的粒子滤波算法(amcl算法),计算得到这一时刻下,机器人的精确位姿。

当机器人位于实际场景与栅格地图匹配度低的区域时,以上一次精确定位为基准,通过里程计累计计算当前的位置,直至到达下一个精确定位区域。

例如:假设两次里程计数据采样的间隔为dt,则当前位置计算方法为:

dt=(current_time-last_time).tosec();

delta_x=(vx*cos(th)-vy*sin(th))*dt;

delta_y=(vx*sin(th)+vy*cos(th))*dt;

delta_th=vth*dt;

x_t=x_t_1+delta_x;

y_t=y_t_1+delta_y;

th_t=th_t_1+delta_th

其中,x_t,y_t,th_t代表当前位姿;x_t_1,y_t_1,th_t_1代表上一次里程计采样时的位姿;delta_x,delta_y,delta_th为通过本次里程计采样得到的速度(vx,vy,vth)计算得到的在dt时间间隔里的位姿变化量。

2.精确确定位区域的确定

可以通过辅助传感器的方式,比如在该区域安装rfid、显著位置张贴二维码等;机器人安装rfid接收器,或者通过识别二维码的方式,得到自己所在的区域信息。

rfid、二维码的实际安装位置可通过实际测量获得。比如rfid离墙面a距离为d1,墙面b(垂直于墙面a)距离为d2,这样可以确定rfid及二维码的实际位置坐标(x,y)。

当机器人行走至二维码或rfid附近时,能够通过摄像头读到二维码,或者通过rfid接收器读到rfid的信息。这时,机器人认为自己当前的位置与二维码或者rfid所在房间的位置存在一定关系。

比如:如图3所示,已知二维码的位置为(x,y),姿态角为th(因为是在二维平面中,不考虑横滚角roll和俯仰角pitch,只考虑偏航角yaw,也就是二维码的方向)。图中朝向左下方的箭头代表二维码的姿态角。

则机器人的位姿可按照如下公式计算:

xr=x-dx;

yr=y-dy;

thr=th+pi;

其中,x,y,th已知,dx和dy可根据实验结果人为设定为固定值。设定方法为:使机器人朝向rfid或二维码,由远及近行走,直至能够识别到二维码或rfid,得到距离d。则:

dx=dy=d*0.7;

(x1,y1)及姿态(r,p,y)(有一定误差,在精确定位过程中可修正,修正的方法即前文提到的粒子滤波算法(amcl算法)),从而激活一次精确定位。

精确定位通过前文提到的粒子滤波算法(amcl算法),以当前位置坐标(x,y)及姿态(r,p,y)为中心,在该位置附近产生一批粒子,分别代替机器人当前可能所在的位置及姿态,通过粒子滤波算法(amcl算法)多次重采样后,粒子就会向机器人真正所在的位置聚拢,从而得到一次精确的定位。

通过应用本申请的技术方案,该方案通过机器人获取与自身所在区域对应的非栅格地图,对非栅格地图进行尺度转换,并将尺度转换后的非栅格地图通过图片转换生成栅格地图,之后机器人向所在区域中的指定位置移动,此指定位置设有引导标记,同时指定位置的布局信息与栅格地图匹配度高于预设阈值,进而当机器人到达指定位置时,根据自身对周围的环境扫描结果确定机器人当前的位置。通过应用本申请的技术方案,机器人能够更加迅速便捷的生成地图并准确的进行自身定位,极大降低了硬件成本投入的同时提高了机器人定位的准确性。

为达到以上技术目的,本申请还提出了一种定位方法,应用于机器人,如图4所示,所述设备包括:

获取模块410,所述机器人获取与自身所在区域对应的非栅格地图;

生成模块420,所述机器人对所述非栅格地图进行尺度转换,并将所述尺度转换后的非栅格地图通过图片转换生成栅格地图;

移动模块430,所述机器人向所述区域中的指定位置移动,所述指定位置设有引导标记,所述指定位置的布局信息与所述栅格地图匹配度高于预设阈值;

确定模块440,当所述机器人到达所述指定位置时,根据自身对周围的环境扫描结果确定所述机器人当前的位置。

在具体的应用场景中,所述生成模块420对所述非栅格地图进行尺度转换,具体为:

获取所述机器人内置的指定系统所支持的栅格地图的分辨率;

根据所述非栅格地图中最长的侧边的长度确定缩放率;

根据所述缩放率对所述非栅格地图进行等比例缩放。

在具体的应用场景中,所述生成模块420将所述尺度转换后的非栅格地图通过图片转换生成栅格地图,具体为:

确定所述非栅格地图中可通行区域的rgb中心值;

根据预设的转换阈值以及所述rgb中心值对所述非栅格地图中的各像素点进行筛选;

根据筛选结果为各所述像素点赋予栅格值;

根据各所述像素点的栅格值生成所述栅格地图。

在具体的应用场景中,所述生成模块420,在将所述尺度转换后的非栅格地图通过图片转换生成栅格地图之后,还包括:

接收地图修改指示消息,根据所述地图修改指示消息中携带的位置修改信息调整所述栅格地图中相应像素的栅格值。

在具体的应用场景中,所述确定模块440设有激光雷达传感器450,根据自身对周围的环境扫描结果确定所述机器人当前的位置,具体为:

通过所述激光雷达传感器生成所述机器人附近的粒子信息;

利用指定算法对多次采集的所述粒子信息进行重采样处理,并根据处理结果生成所述环境扫描结果;

根据所述环境扫描结果确定所述位置。

在具体的应用场景中,所述机器人设有运动传感器460,还包括:

若所述机器人未处于所述指定位置,所述机器人根据上一次确定的位置以及所述运动传感器向其他指定位置移动。

通过应用本申请的技术方案,该方案通过机器人获取与自身所在区域对应的非栅格地图,对非栅格地图进行尺度转换,并将尺度转换后的非栅格地图通过图片转换生成栅格地图,之后机器人向所在区域中的指定位置移动,此指定位置设有引导标记,同时指定位置的布局信息与栅格地图匹配度高于预设阈值,进而当机器人到达指定位置时,根据自身对周围的环境扫描结果确定机器人当前的位置。通过应用本申请的技术方案,机器人能够更加迅速便捷的生成地图并准确的进行自身定位,极大降低了硬件成本投入的同时提高了机器人定位的准确性。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本发明序号仅仅为了描述,不代表实施场景的优劣。

以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1