一种机器人避障方法

文档序号:10686404阅读:967来源:国知局
一种机器人避障方法
【专利摘要】本发明公开一种机器人避障方法,其包括:步骤1:采集机器人的参数:重量Wh,横截面最大宽度Wi,行进速度V;同时,为机器人预设行进路线,并以机器人的初始位置为坐标原点建立坐标系,令机器人的初始位置为O,预设行进路线的终点为P;步骤2:机器人根据预设行进路线行进,同时通过传感器实时检测障碍物,如果有障碍物,将机器人此时位置记为O1,并重新规划路线;步骤3:转动机器人的朝向,使其根据步骤2的输出路线继续前进;步骤4:机器人行进的同时通过传感器实时检测障碍物,如果有障碍物,则重复步骤2和步骤3,直到到达终点位置。
【专利说明】
一种机器人避障方法
技术领域
[0001]本发明涉及机器人的制造领域,尤其是一种机器人的躲避障碍物的算法。
【背景技术】
[0002]随着科技的发展,机器人已经逐渐成为一种新兴的热门研究领域,人们一直在研究如何让机器人取代人力来完成各种工作。机器人的本体上没有智能单元只有执行机构和感应机构,它具有利用传感信息(包括视觉、听觉、触觉、接近觉、力觉和红外、超声及激光等)进行传感信息处理、实现控制与操作的能力。一般的,机器人还受控于外部计算机,在外部计算机上具有智能处理单元,处理由受控机器人采集的各种信息以及机器人本身的各种姿态和轨迹等信息,然后发出控制指令指挥机器人的动作。
[0003]其中,机器人的运行环境中,常常具有一些障碍物,如一些固定的支柱、一些临时存放的机器人难以跨越的障碍等。机器人从某位置移动到另一位置时,必须避免与这些障碍物发生碰撞,因此需要绕行。如何让机器人自动避障并选取合适的路线继续前进,是一个很复杂的问题,现有的技术已经提出了众多的解决方案,然而,这些方案中,有的算法(人工势场法、VFH直方图法等等)较为精密,但是具有很复杂难以实现和普及的缺陷,并且使得整个机器人的成本变得非常高昂;有的算法简单易于实现,但是其躲避障碍的精度不高,而且不同机器人的大小、重量不同,其行进速度和计算能力也不同,采用现有的算法,无法完全做到百分百的避障。综上,现有的机器人避障算法很难满足用户低成本、高精度的需求,也就导致机器人一直无法大范围普及。

【发明内容】

[0004]因此,针对上述的问题,本发明提出一种机器人避障方法,对现有的机器人的避障方案进行改进,使其躲避障碍物的算法更为简单,且考虑到机器人的大小、重量、行进速度和计算能力等参数,使机器人做到百分百躲避障碍,并行动无断点更为灵敏,且不增加成本,从而解决现有技术之不足。
[0005]为了解决上述技术问题,本发明所采用的技术方案是,一种机器人避障方法,包括如下步骤:
步骤1:采集机器人的参数:重量Wh(单位:千克),横截面最大宽度Wi(单位:米),行进速度V(单位:米每秒);同时,为机器人预设行进路线,并以机器人的初始位置为坐标原点建立坐标系,令机器人的初始位置为O,预设行进路线的终点为P;
步骤2:机器人根据预设行进路线行进,同时通过传感器实时检测障碍物,如果有障碍物,将机器人此时位置记为01,并重新规划路线:
步骤21:获取障碍物的轮廓,然后获取其轮廓的左侧的最外延的点的坐标A和右侧的最外延的点的坐标B;
步骤22:以A为中心、以dl为半径得到一圆,分别以01和P为起点画出与该圆的两条切线,两条切线相交于S,则得到新路线1:直线OlS和直线SP;同样的,以B为中心、以d2为半径得到一圆,分别以Ol和P为起点画出与该圆的两条切线,两条切线相交于G,则得到新路线2:直线OlG和直线GP; dl和d2为预设的偏移量,其设置是与重量Wh,横截面最大宽度Wi,行进速度V等要素有关,可采用多次实验获得,也可由理论推导获得;
步骤23:分别将预设行进路线与新路线I和新路线2比较,得到最接近预设行进路线的路线作为输出路线,如果新路线I更为接近预设行进路线,则将新路线I作为输出路线,如果新路线2更为接近预设行进路线,则将新路线2作为输出路线;
步骤3:转动机器人的朝向,使其根据步骤2的输出路线继续前进;
步骤4:机器人行进的同时通过传感器实时检测障碍物,如果有障碍物,则重复步骤2和步骤3,直到到达终点位置。
[0006]进一步的,所述步骤22中,dl和d2为预设的偏移量,一般的,dl和d2的范围为[(Wi/2-k*Wh/250V),Wi ],k为权衡系数,k的取值范围为[O,I ]。该范围是根据重量Wh,横截面最大宽度Wi,行进速度V以及仿真实验获得,在实验时,首先对一具有标准条件的机器人建模得到标准值,然后再采用仿真软件对各种不同重量不同速度的机器人进行仿真,获得上述范围值。一般的,可将dl和d2简单的设置为:dl=Wi/2,d2 =ffi/20
[0007]进一步的,为了消除机器人的运动轨迹的断点,使其运动轨迹变得光滑,步骤23还包括对输出的输出路线进行处理的步骤:具体是对输出路线的交点位置处的线段进行圆弧化处理,方便机器人转向并继续前行。
[0008]现有技术中一般采用较为复杂的算法,使得机器人难以推广和普及,本发明通过上述方案,大大简化了避障算法,其通过获取障碍物的轮廓,然后获取其轮廓的最外延的点的坐标,并在最外延的点的基础上增设偏移量,来规划新的路线,从而使得不论什么参数的机器人均可做到完全躲避障碍物。本发明的方案简单易于实现和推广,具有很好的实用价值。
【附图说明】
[0009]图1为本发明的思路的原理不意图;
图2为本发明的算法的实现原理示意图。
【具体实施方式】
[0010]现结合附图和【具体实施方式】对本发明进一步说明。
[0011]参见图1,以机器人的初始位置为坐标原点建立坐标系(可以是三维的或者二维的,本实施例中简单起见,以二维为例),令机器人的初始位置为0(0,0),预设行进路线的终点为P(X,y);图示中,起点和终点之间有一障碍物,障碍物的轮廓的左边突出点为A,右边为B,如果机器人直接以0Α+ΑΡ(或者0Β+ΒΡ)为路线,则很容易会撞到障碍物的边沿,本发明考虑到机器人的自身参数,综合考量,对其进行改进,解决这一问题。
[0012]作为一个具体的实施例,参见图2,本发明的一种机器人避障方法,包括如下步骤:步骤1:采集机器人的参数:重量Wh(单位:千克),横截面最大宽度Wi(单位:米),行进速度V(单位:米每秒);同时,为机器人预设行进路线,并以机器人的初始位置为坐标原点建立坐标系(可以是三维的或者二维的,本实施例中简单起见,以二维为例),令机器人的初始位置为0(0,0),预设行进路线的终点为P(x,y);其中机器人的安全距离与机器人的体型有关,为了简化计算,将机器人的横截面简化为一圆或者椭圆,这样,机器人的安全距离与横截面最大宽度Wi有关;
步骤2:机器人根据预设行进路线行进,同时通过传感器实时检测障碍物,如果检测到障碍物,将机器人此时位置记为Ol,并重新规划路线:
步骤21:获取障碍物的轮廓,然后获取其轮廓的左侧的最外延的点的坐标A和右侧的最外延的点的坐标B;
步骤22:以A为中心、以dl为半径得到一圆,分别以01和P为起点画出与该圆的两条切线,两条切线相交于S,则得到新路线1:直线OlS和直线SP;同样的,以B为中心、以d2为半径得到一圆,分别以01和P为起点画出与该圆的两条切线,两条切线相交于G,则得到新路线2:直线OlG和直线GP ;本发明的每次行进路线都向终点P靠拢,可减少到达目的地的代价;
步骤23:分别将预设行进路线与新路线I和新路线2比较,得到最接近预设行进路线的路线作为输出路线,如果新路线I更为接近预设行进路线,则将新路线I作为输出路线,如果新路线2更为接近预设行进路线,则将新路线2作为输出路线;本实施例中,新路线2更为接近预设行进路线,则输出路线为新路线2;如果有多个障碍物,每次选取其边界的最外延的点为中心画圆,并根据切线来作为新路线,同时还将多个新路线与预设行进路线进行比较,来获取最佳的输出路线。其中将新路线与预设行进路线进行比较,可以是简单的根据其路径长短来比较,也可以根据路线的图形进行比对;
步骤3:转动机器人的朝向,使其根据步骤2的输出路线继续前进;
步骤4:机器人行进的同时通过传感器实时检测障碍物,如果有障碍物,则重复步骤2和步骤3,直到到达终点位置。
[0013]其中,步骤22中,dl和d2为预设的偏移量,一般的,dl和d2的范围为[(Wi/2- k*ffh/250V),Wi],k为权衡系数,k的取值与机器人的本身参数(大小、重量等)有关,其取值范围为[0,1]。
[0014]本发明的上述步骤中,dl和d2的选择至关重要,他们直接决定了算法的优越性,如果dl和d2选的过大,到达目的地的代价则越高,因此要保证dl和d2足够小,也即机器人转向的角度足够小,则机器人的运动震荡就越小,此时不仅能够顺利通过障碍,而且到达目的地的代价也越小。dl和d2的范围是根据重量Wh,横截面最大宽度Wi,行进速度V以及仿真实验获得,在实验时,首先根据50kg重量、行进速度为0.2m/s的机器人建模得到标准值,然后再采用仿真软件对各种不同重量不同速度的机器人进行仿真,获得上述范围值。一般的,对于简单的机器人(例如工业机器人),如果考虑计算速度,可将dl和d2简单的设置为:dl=Wi/
2,d2 =ffi/2o
[0015]本发明的上述方案,特别适用于多角的障碍物,现有的算法中,需要将机器人的活动窗口栅格向量化,并时刻更新活动窗口的参数值,同时将多角的障碍物进行拍照然后进行二值化处理获得其具体的二值信息,然后获取各区间的障碍密度,然后再计算其左右边界与机器人之间的角度的域值,然后将域值转化为角度后,驱动机器人转向并行进;其中的运算一般是多元的,非常复杂,需要高昂的硬件成本才能支撑,低成本的控制器计算速度慢,严重影响机器人的行进速度。本发明无需上述复杂的算法,只需要提取障碍物的轮廓即可,并扩大障碍物的边界,增加机器人的安全距离,保证其能顺利避开障碍,而不会被障碍物的边界阻挡。
[0016]为了消除机器人的运动轨迹的断点,使其运动轨迹变得光滑,步骤23还包括对输出的输出路线进行处理的步骤:具体是对输出路线的交点位置处的线段进行圆弧化处理,方便机器人转向并继续前行。其中的圆弧化处理方法为现有技术,读者可查阅相关资料获得,这里不再赘述。
[0017]本发明的算法大大简化了现有的避障算法,其所采用的硬件也大大简化了,其中,只需要获取障碍物的轮廓、然后计算输出路线即可,其计算均为一元计算,简单的处理器即可快速完成。因此,本发明的方案可广泛应用于各种机器人,例如工业机器人、家用机器人(例如扫地机器人)等等领域。
[0018]尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
【主权项】
1.一种机器人避障方法,包括如下步骤: 步骤1:采集机器人的参数:重量Wh,横截面最大宽度Wi,行进速度V;同时,为机器人预设行进路线,并以机器人的初始位置为坐标原点建立坐标系,令机器人的初始位置为O,预设行进路线的终点为P; 步骤2:机器人根据预设行进路线行进,同时通过传感器实时检测障碍物,如果检测到障碍物,将机器人此时位置记为Ol,并重新规划路线: 步骤21:获取障碍物的轮廓,然后获取其轮廓的左侧的最外延的点的坐标A和右侧的最外延的点的坐标B; 步骤22:以A为中心、以dl为半径得到一圆,分别以01和P为起点画出与该圆的两条切线,两条切线相交于S,则得到新路线1:直线OlS和直线SP;同样的,以B为中心、以d2为半径得到一圆,分别以01和P为起点画出与该圆的两条切线,两条切线相交于G,则得到新路线2:直线OlG和直线GP ; dl和d2为预设的偏移量; 步骤23:分别将预设行进路线与新路线I和新路线2比较,得到最接近预设行进路线的路线作为输出路线,如果新路线I更为接近预设行进路线,则将新路线I作为输出路线,如果新路线2更为接近预设行进路线,则将新路线2作为输出路线; 步骤3:转动机器人的朝向,使其根据步骤2的输出路线继续前进; 步骤4:机器人行进的同时通过传感器实时检测障碍物,如果有障碍物,则重复步骤2和步骤3,直到到达终点位置。2.根据权利要求1所述的机器人避障方法,其特征在于:所述步骤22中,dl和d2的范围为[(Wi/2-k*Wh/250V),Wi],k为权衡系数,k的取值范围为[0,1]。3.根据权利要求1所述的机器人避障方法,其特征在于:所述步骤22中,dl=Wi/2,d2=ffi/2o4.根据权利要求1或2或3所述的机器人避障方法,其特征在于:步骤23还包括对输出的输出路线进行处理的步骤:具体是对输出路线的交点位置处的线段进行圆弧化处理。
【文档编号】G05D1/02GK106054882SQ201610418158
【公开日】2016年10月26日
【申请日】2016年6月15日
【发明人】梁爽
【申请人】深圳市金佰科创发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1