本说明书一个或多个实施例涉及移动机器人地图构建与导航的技术领域,特别是指一种基于环境地图修正的边沿导航的装置和方法。
背景技术:
边沿导航控制问题是指移动机器人按一定控制策略沿物体边沿运动或者轮廓运动,并与之保持一定距离。在行进过程中,当物体边沿形状发生变化或机器人行走路径中出现障碍物时,机器人能够自主地对环境信息进行识别和分类判断,使其继续保持沿着边沿行走。随着移动机器人的移动,其周围边沿的类型会会发生变化,从而移动机器人的状态也随之转移。边沿导航可以看作移动机器人智能的底层行为,当与其他路径规划等顶层行为相结合时,可智能地完成复杂的任务。
发明人发现现有的机器人边沿导航的精度不高,机器人容易与障碍物发生碰撞,机器人在位置环境进行边沿导航的过程中,由于机器人的传感器不能了解障碍物的整体形状而无法规划其避碰路径,移动机器人沿障碍物轮廓进行运动是一个较为合理的策略,因此,采用一种合适的边沿导航控制装置急需被提出。
技术实现要素:
本发明提供了一种基于环境地图修正的移动机器人边沿导航的装置及方法,旨在通过传感器信息融合的方法,在机器人进行边沿导航的同时,结合已经建好的地图对机器人的位置信息作出更正。
基于上述的目的,本说明书提出一种基于环境地图修正的移动机器人边沿导航的装置,包括机器人、控制器、环境感知模块以及环境感知地图,所述控制器与所述环境感知模块信号连接,控制所述环境感知模块对机器人所处的环境进行建图,得到环境感知地图,所述控制器与机器人信号连接,控制机器人的移动和执行对感知设备信息的处理,所述机器人用于执行所述控制器的控制指令。
可选的,所述环境感知模块包括激光雷达与rgbd相机,所述激光雷达用于机器人所处的环境地图的构建,所述rgbd相机用于检测机器人四周是否有边沿或者障碍物,并同时检测机器人与边沿或障碍物之间的距离。
可选的,所述环境感知地图是采用环境感知模块中的激光雷达构建机器人所处环境的地图。
可选的,所述机器人采用差动轮进行移动,所述机器人的前后左右四个方向对等的放置所述rgbd相机,所述机器人的正中心放置所述激光雷达。
基于上述的一个或多个实施方式,提出一种基于环境地图修正的移动机器人边沿导航装置的方法,该方法包括如下步骤:
a.给定机器人初始位置之后,找到离机器人最近的边沿,并使机器人到达该边沿的预定距离的范围内;
b.控制器通过对环境感知模块所采集到的信息的处理,控制机器人实现边沿导航,并动态检测障碍物与机器人的距离。
c.通过环境感知地图对移动机器人在边沿导航中的位置误差进行修正,以实现移动机器人的准确定位。
可选的,步骤a中找到离机器人最近的边沿的具体操作如下:
a1、给定机器人的初始位置,首先选择是沿左边沿走还是右边沿走;
a2、若采用沿左边沿走,则开启前侧与左侧的环境感知模块,对机器人的前方与左方进行感知;
a3、若机器人的前方与左方没有边沿或者障碍物,则首先将机器人进行自旋转一周,若环境感知模块仍没有发现在机器人周边有边沿或者障碍物,则机器人向前走预定时间的距离;
a4、若机器人向前走预定时间的距离的过程中仍然没有检测到边沿或者障碍物,则机器人左转预定角度,继续前进预定时间的距离;
a5、重复a4步骤直至机器人找到边沿并到达边沿的预定距离的范围内为止。
可选的,步骤b中边沿导航的具体操作如下:
b1、将移动机器人左侧与前侧的区域划分成若干等分,通过环境感知模块判断各个分块区域中是否有边沿或者障碍物,并提取出存在边沿或者障碍物的质心;
b2、取边沿或者障碍物的质心和机器人的中心的平均值,得到机器人中心到边沿的平均斜率;
b3、将b2步骤的平均斜率带来的角度作为机器人转角的一部分,根据平均斜率,得出机器人转动至与边沿平行的角度,并使机器人转动至与边沿平行;
b4、当机器人与障碍物的相对距离较近时,降低机器人的行进速度使得障碍物检测范围变小;反之则相应提高机器人的行进速度,机器人找到检测范围内距离最近的障碍物后,计算出此时机器人的躲避方向。
可选的,步骤b3中根据平均斜率,得出机器人转动至与边沿平行的角度,并使机器人转动至与边沿平行,具体为:
当前方存在边沿或者障碍物时,机器人在平均斜率带来的角度的基础上再向右旋转π/2,此时机器人与边沿体平行;当左方存在边沿或者障碍物时,机器人向右旋转平均斜率带来的角度,此时机器人与边沿体平行。
本说明书中的一个或多个实施例,通过基于环境地图修正的移动机器人边沿导航的装置及方法,可以根据环境地图更加稳定的实现机器人的边沿导航,并对环境地图的边界处与发生变化之处进行完善。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书一个或多个实施例的基于环境地图修正的移动机器人边沿导航的装置的示意图;
图2是移动机器人结构图;
图3是机器人不同检测范围图;
图4是机器人检测范围分区图;
图5是边沿体直线斜率求解图;
图6是边沿体检测线程流程图;
图7是边沿导航控制流程图;
图8是加入后方检测前后对比图;
其中,1.激光雷达;2、机器人;3、rgbd相机3;4、差动轮。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本说明书一个或多个实施例提供一种基于环境地图修正的移动机器人边沿导航的装置,如图1所示,本装置包括机器人、控制器、环境感知模块以及环境感知地图,所述控制器与所述环境感知模块信号连接,控制所述环境感知模块对机器人所处的环境进行建图,得到环境感知地图,所述控制器与机器人信号连接,控制机器人的移动和执行对感知设备信息的处理,所述机器人用于执行所述控制器的控制指令。
如图2所示,该机器人2包括:差动轮4,激光雷达1与前后左右对等放置的高精度rgbd相机3。
如图3所示,在到达边沿体之前采用较大范围检测,以便于更快的到达边沿体,到达边沿体之后采用较小范围检测,提高导航精度。
如图4所示,将机器人的可检测范围分区。如图,将其分为前(q_1、q_2、q_3)、后(h_1、h_2、h_3)、左(z_1、z_2、z_3)、右(y_1、y_2、y_3)、左前(zq)、右前(yq)、左后(zh)、右后(yh)。(分区可以分为多块,视情况而定,这里举分3块为例)
如图5所示,假设前方(q_1、q_2、q_3)三个分块均检测到边沿体或者障碍物(a、b、c),则通过计算平均斜率的提取得到边沿体的斜率:
其中,障碍物a、b、c通过传感器检测到的坐标位置分别为(xa,ya)、(xb,yb)、(xc,yc)。
kab即为障碍物在传感器检测到的坐标计算出来a与b障碍物之间形成的斜率;
kbc即为障碍物在传感器检测到的坐标计算出来b与c障碍物之间形成的斜率;
kwall为kab和kbc计算出来的平均斜率,即机器人与墙体之间的斜率关系;
θwall即为通过kwall计算出来的机器人与墙体之间的角度关系,
因此,机器人只需要向右(顺时针)旋转
如图8所示,未加入后方检测时,由于只使用左方和前方的传感器,因此在遇到u型弯的时候只会按照直线前行,起不到完善u型弯地图的作用;而加入后方检测后,由于后方检测到u型弯的存在,则就会拐入u型弯,完成对环境地图的完善并实现边沿导航的功能。
如图6所示,首先机器人接收传感器的数据,在滤波之后,进行检测前方是否有边沿,若有,则提取斜率并检测左方是否有边沿,若没有则直接检测左方是否有边沿,有边沿则计算斜率并与前方斜率融合加以控制机器人角度。
如图7所示,检测前方与左方是否有边沿体或者障碍物与提取边沿体斜率过程相同,与此同时,需检测后方是否有边沿体或者障碍物,若有,则需要进入后方检测流程。
本说明书的一个或多个实施例还提供一种基于环境地图修正的移动机器人边沿导航的方法,包括:
1.首先通过机器人自带的激光雷达将所处环境的地图产生出来;
2.将机器人放置于环境地图中的某个位置,由于机器人边沿导航,所以机器人会通过自旋转一周找到自己的可检测范围是否有边沿体的存在,若四周有边沿体的存在,则直接移动到边沿体附近一定距离开始边沿导航;若四周没有边沿体的存在,则向前移动预定时间的距离之后再检测四周是否有边沿体,否则向左旋转一定角度继续向前移动直至到达边沿体附近。与此同时,采用不同的检测范围:在到达边沿体之前采用较大范围检测,以便于更快的到达边沿体,到达边沿体之后采用较小范围检测,提高导航精度。
3.到达边沿体附近之后,将机器人附近一定范围内作为机器人的检测范围,并进行分区检测:当左侧检测范围内的一个分块出现边沿体或者障碍物时,由于前方障碍物所占区域比较小,完全可以认为该障碍物为规则的边沿,此时认为前方边沿体斜率为0,移动机器人只需要向右旋转90度即可避开障碍物。当左侧检测范围内的多个分块出现边沿体或者障碍物时,则需要进行边沿体的平均斜率的提取与计算,具体为取边沿或者障碍物的质心和机器人的中心的平均值,得到机器人中心到边沿的平均斜率,再通过平均斜率计算出机器人所需要旋转的角度,保持机器人与边沿体平行。
4.通过生成的地图矫正机器人的位置,同时,也可以根据边沿导航的机器人所产生的数据进一步的完善之前的地图。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
1.一种基于环境地图修正的边沿导航的装置,其特征在于,包括机器人、控制器、环境感知模块以及环境感知地图,所述控制器与所述环境感知模块信号连接,控制所述环境感知模块对机器人所处的环境进行建图,得到环境感知地图,所述控制器与机器人信号连接,控制机器人的移动和执行对感知设备信息的处理,所述机器人用于执行所述控制器的控制指令。
2.如权利要求1中所述的一种基于环境地图修正的移动机器人边沿导航的装置,其特征在于,所述环境感知模块包括激光雷达与rgbd相机,所述激光雷达用于机器人所处的环境地图的构建,所述rgbd相机用于检测机器人四周是否有边沿或者障碍物,并同时检测机器人与边沿或障碍物之间的距离。
3.如权利要求1中所述的一种基于环境地图修正的移动机器人边沿导航的装置,其特征在于,所述环境感知地图是采用环境感知模块中的激光雷达构建机器人所处环境的地图。
4.如权利要求2中所述的一种基于环境地图修正的移动机器人边沿导航的装置,其特征在于,所述机器人采用差动轮进行移动,所述机器人的前后左右四个方向对等的放置所述rgbd相机,所述机器人的正中心放置所述激光雷达。
5.一种权利要求1-4任一所述的基于环境地图修正的移动机器人边沿导航装置的方法,其特征在于,该方法包括如下步骤:
a.给定机器人初始位置之后,找到离机器人最近的边沿,并使机器人到达该边沿的预定距离的范围内;
b.控制器通过对环境感知模块所采集到的信息的处理,控制机器人实现边沿导航,并动态检测障碍物与机器人的距离;
c.通过环境感知地图对移动机器人在边沿导航中的位置误差进行修正,以实现移动机器人的准确定位。
6.如权利要求5中所述的方法,其特征在于,步骤a中找到离机器人最近的边沿的具体操作如下:
a1、给定机器人的初始位置,首先选择是沿左边沿走还是右边沿走;
a2、若采用沿左边沿走,则开启前侧与左侧的环境感知模块,对机器人的前方与左方进行感知;
a3、若机器人的前方与左方没有边沿或者障碍物,则首先将机器人进行自旋转一周,若环境感知模块仍没有发现在机器人周边有边沿或者障碍物,则机器人向前走预定时间的距离;
a4、若机器人向前走预定时间的距离的过程中仍然没有检测到边沿或者障碍物,则机器人左转预定角度,继续前进预定时间的距离;
a5、重复a4步骤直至机器人找到边沿并到达边沿的预定距离的范围内为止。
7.如权利要求5中所述的方法,其特征在于,步骤b中边沿导航的具体操作如下:
b1、将移动机器人左侧与前侧的区域划分成若干等分,通过环境感知模块判断各个分块区域中是否有边沿或者障碍物,并提取出存在边沿或者障碍物的质心;
b2、取边沿或者障碍物的质心和机器人的中心的平均值,得到机器人中心到边沿的平均斜率;
b3、将b2步骤的平均斜率带来的角度作为机器人转角的一部分,根据平均斜率,得出机器人转动至与边沿平行的角度,并使机器人转动至与边沿平行;
b4、当机器人与障碍物的相对距离较近时,降低机器人的行进速度使得障碍物检测范围变小;反之则相应提高机器人的行进速度,机器人找到检测范围内距离最近的障碍物后,计算出此时机器人的躲避方向。
8.如权利要求7中所述的方法,其特征在于,步骤b3中根据平均斜率,得出机器人转动至与边沿平行的角度,并使机器人转动至与边沿平行,具体为:
当前方存在边沿或者障碍物时,机器人在平均斜率带来的角度的基础上再向右旋转π/2,此时机器人与边沿体平行;当左方存在边沿或者障碍物时,机器人向右旋转平均斜率带来的角度,此时机器人与边沿体平行。
技术总结