掌桥专利:专业的专利平台
掌桥专利
首页

一种基于障碍物的避开方法、芯片及清洁机器人

文献发布时间:2023-06-19 11:29:13


一种基于障碍物的避开方法、芯片及清洁机器人

技术领域

本发明涉及机器人智能避障的技术领域,具体涉及一种基于障碍物的避开方法、芯片及清洁机器人。

背景技术

诸如自主清洁机器人、陪护机器人、迎宾机器人等移动机器人在工作模式下移动时,由于工作场景环境的复杂性,现有的移动机器人在工作过程中经常磕碰障碍物,损坏家具和自身,现有技术常常以影响移动机器人正常工作为由,没有充分利用碰撞障碍物的时间和位置去作出更有效的避障措施,比如,中国专利CN105182979B没有在实时碰撞到障碍物的位置处开始避障动作,而是在预留安全距离的基础上利用栅格地图所反映的障碍物状态信息确定机器人的避让策略,虽然符合人的思维方式,但是需要让机器人在障碍物前的安全位置处等待较多的时间,这一阶段机器人是不运动的,没有利用到碰撞障碍物的状态信息,也不满足保持实时导航运动的要求。

发明内容

本发明提供了一种基于障碍物的避开方法、芯片及清洁机器人,使得机器人从碰撞障碍物的位置开始利用障碍物的状态信息去试探性地避开障碍物,在避开这个障碍物的过程中不惜再次碰撞同一障碍物以便形成最优的绕障行走路径。本发明所述的具体技术方案如下:

一种基于障碍物的避开方法,包括如下步骤:步骤1、若检测到机器人在当前位置处碰触到障碍物,则判断机器人是否保持沿着预设前进方向发生第一预设时间内的第一预设距离的移动,是则进入步骤2,否则进入步骤3;其中,所述预设前进方向发生第一预设时间内的第一预设距离是由机器人的码盘实时测量的;预设前进方向是机器人在当前位置处碰触障碍物前规划的导航方向;步骤2、控制机器人在当前位置处改变其前进方向,以使得机器人的固定视角的摄像头没有检测到当前位置处所碰触到的障碍物,其中,机器人从当前位置开始沿着预设前进方向移动后与所述障碍物发生碰触;步骤3、根据机器人的固定视角的摄像头采集到的当前位置处碰触的障碍物的图像数据,在机器人坐标系上计算出所述障碍物的最左端及其最右端相对于机器人的当前位置的连线所形成的障碍物视角,再控制机器人朝预设前进方向的左侧或右侧转动障碍物视角的一半的角度,然后进入步骤4;步骤4、判断机器人是否保持转动后的方向发生所述第一预设时间内的第一预设距离的移动,是则返回步骤1,否则进入步骤5;步骤5、控制机器人朝上一次发生的转动方向继续转动上一次所转动的角度的一半,再返回步骤4,如此重复直到机器人的固定视角的摄像头没有检测到所述障碍物、或检测到机器人没有与所述障碍物发生碰触。

与现有技术相比,本技术方案的机器人根据自身移动过程中与障碍物持续碰触所花费的时间,来调整避障方向,再基于推动障碍物移动所花费的时间去融合视觉处理的障碍物视角信息来增强避障的可靠性,从而在反复迭代按照前述步骤避开实时碰触的当前位置处的障碍物的过程中,减少检测到障碍物后执行不必要的绕障动作,形成最优的绕障行走路径,保证机器人运动不因绕障避障行为而影响其实时沿着预设导航路径行走的效果。

进一步地,在步骤1中,若检测到机器人在当前位置处没有碰触到障碍物,则判断机器人的固定视角的摄像头是否采集到所述障碍物的图像数据,是则控制机器人减速行走,否则控制机器人沿着预设规划路径匀速行走。从而最大限度地减轻障碍物施加给机器人的碰撞强度。

进一步地,当检测到机器人在当前位置处碰触到障碍物、且判断到机器人保持沿着预设前进方向发生第一预设时间内的第一预设距离的移动时,确定机器人在当前位置处碰触到的障碍物是可推动障碍物,以使机器人推挤所述当前位置处碰触的障碍物沿着同一方向移动;当检测到机器人在当前位置处碰触到障碍物、且判断到机器人保持沿着预设前进方向没有达到所述第一预设时间内的第一预设距离的移动时,确定机器人在当前位置处碰触到的障碍物是不可推动障碍物;其中,机器人的前端安装碰撞传感器,用于检测碰触障碍物的情况;机器人的坐标系的Y轴方向指向机器人的前端。与现有技术相比,本技术方案不必忽略一些轻量级的可推动障碍物,相反是利用机器人与这一类轻量级的障碍物的接触运动来区别出不同重量级的障碍物,避免碰触障碍物后立即进入绕障行走的状态,以便后续的绕障行走路径规划。

进一步地,所述步骤1和所述步骤4中,所述机器人保持同一方向发生所述第一预设时间内的第一预设距离的移动是执行匀速行走、或执行减速行走。避免机器人在推动障碍物移动过程中发生过于激烈的碰撞以损坏机器人的机身。

进一步地,在所述步骤3中,所述计算出所述障碍物的最左端及其最右端相对于机器人的当前位置的连线所形成的障碍物视角的方法包括:从机器人的固定视角的摄像头采集到的当前位置处碰触的障碍物的图像数据中,提取出障碍物的轮廓信息和重心位置,其中,重心位置的获取步骤包括:从障碍物的图像数据中计算出的障碍物轮廓线的角点,再利用所述角点计算出障碍物在图像中的几何中心,作为所述重心位置;然后,设置与重心位置同高度的最左端的角点作为所述障碍物的最左端,设置与重心位置同高度的最右端的角点作为所述障碍物的最右端,再将所述障碍物的最左端的图像坐标和所述障碍物的最右端的图像坐标输入三角形模型计算出所述障碍物的最左端与机器人的当前位置的连线、所述障碍物的最右端与机器人的当前位置的连线相交形成的障碍物视角;其中,三角形模型是根据机器人的结构光模组测得的机器人的当前位置与所述障碍物之间的距离、摄像头的焦距以及所述障碍物轮廓线的角点的连线建立起的比例关系式;其中,机器人的固定视角的摄像头的拍摄方向是所述障碍物视角的角平分线方向。该技术方案融合固定视角处的障碍物二维轮廓图像信息去识别计算出障碍物视角,作为绕障转角信息,可以有效确保在机器人工作过程中避障的可靠性,不争取精度只获取视角的轮廓范围信息,减少计算量,确保机器人导航的实时性。

进一步地,在重复执行所述步骤5的过程中,控制机器人朝上一次发生的转动方向继续转动上一次所转动的角度的一半的同时,控制机器人的固定视角的摄像头实时采集并检测转动后的方向上是否存在障碍物的图像数据;其中,所述上一次发生的转动方向是最新执行过的步骤3中朝预设前进方向的其中一侧转动的方向、或上一次执行步骤5发生的转动方向,使得机器人发生顺时针自转或逆时针自转;所述上一次所转动的角度的一半是最新执行过的步骤3中转动所述障碍物视角的一半的角度、或上一次执行步骤5所转动的角度的一半。与现有技术相比,该技术方案通过逐步修正绕障方向的方式,来形成频繁碰撞且碰撞强度递减的绕障导航模式,充分利用轻量级的障碍物来保证实时导航行走的效率。

进一步地,所述第一预设时间内的第一预设距离的移动是机器人所碰触的可推动障碍物的运动影响范围和机器人所碰触的不可推动障碍物的运动影响范围的重叠区域所决定的;可推动障碍物的运动影响范围和不可推动障碍物的运动影响范围都是由所述预测重量的障碍物模型通过机器学习训练相应重量的障碍物的特征信息得出的延展边所框定的,所述障碍物的特征信息包括所述机器人的固定视角的摄像头采集的来自所述障碍物的图像数据;其中,所述可推动障碍物和所述不可推动障碍物都是规则形状的障碍物;其中,所述障碍物模型中存储允许机器人推动、跨越的障碍物重量信息与所述障碍物重量对应的障碍物类型。从而精确地计算出可推动障碍物和不可推动障碍物的碰撞危险区域,运用于识别这两种重量级类型的障碍物。

进一步地,所述延展边的长度是限制在0.5倍的机器人机身长度至1.5倍的机器人机身长度之间,且所述可推动障碍物的运动影响范围和所述不可推动障碍物的运动影响范围都是以所述延展边为边界的矩形区域、或以所述延展边为半径的圆形区域,使得机器人沿着所述重叠区域的边界绕障行走,绕障结束后再返回绕行的障碍物对应运动影响范围之外;其中,所述延展边的延伸方向相对于机器人绕所碰触的障碍物行走的运动方向所成的夹角不超出70度。该技术方案精确地规划机器人的绕障行为路径,提高机器人的绕障导航效果。

一种芯片,内置程序代码,所述程序代码用于控制机器人执行所述的基于障碍物的避开方法。避障方式更灵活,所需实时开辟的路径规划运算容量很小,成本较低。

一种清洁机器人,内置主控芯片,所述主控芯片为所述的芯片。使得机器人优先从障碍物的轮廓边缘区域开始执行避障动作,不因避障动作的规划运算而影响机器人原先规划的导航路径的执行,既充分利用到碰撞障碍物的状态信息,也满足保持实时导航运动的要求,有利于提高清扫工作效率。

附图说明

图1为本发明实施例公开一种基于障碍物的避开方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种基于障碍物的避开方法的相关实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例公开一种基于障碍物的避开方法,如图1所示,包括如下步骤:

步骤S101、检测机器人在当前位置处是否碰触到障碍物,是则进入步骤S102,否则,优选地判断机器人的固定视角的摄像头是否采集到所述障碍物的图像数据,是则控制机器人减速行走,否则控制机器人沿着预设规划路径匀速行走。从而最大限度地减轻障碍物施加给机器人的碰撞强度。其中,机器人的前端安装碰撞传感器,用于检测碰触障碍物的情况,这个碰撞传感器连接到机器人的驱动装置,碰撞传感器的感测结果对机器人的驱动轮的转动存在触发作用。

步骤S102、判断机器人是否保持沿着预设前进方向发生第一预设时间内的第一预设距离的移动,是则进入步骤S103,否则进入步骤S104;其中,所述预设前进方向发生第一预设时间内的第一预设距离是由机器人的码盘实时测量的,这个码盘是连接到机器人的驱动轮。其中,所述预设前进方向是机器人在当前位置处碰触障碍物前规划的导航方向;

步骤S103、控制机器人在当前位置处改变其前进方向,以使得机器人的固定视角的摄像头没有检测到当前位置处所碰触到的障碍物,实现在允许发生一定推挤作用的基础上避开所述可推动障碍物,其中,机器人从当前位置开始沿着预设前进方向移动后与所述障碍物发生碰触。具体地,当检测到机器人在当前位置处碰触到障碍物、且判断到机器人保持沿着预设前进方向发生第一预设时间内的第一预设距离的移动时,确定机器人在当前位置处碰触到的障碍物是可推动障碍物,以使机器人推挤所述当前位置处碰触的障碍物沿着同一方向移动,对于这一类可推动障碍物,包括纸团、气球等质量较轻的障碍物,可以通过推挤其移动一段预设距离至其他位置来区别出当前碰触的障碍物是否为可推动障碍物,不会因为是障碍物而立即停止预先规划的导航路径以影响机器人本可以执行的导航任务,然后才开始控制机器人在当前位置处改变其前进方向以执行避障动作。

步骤S104、根据机器人的固定视角的摄像头采集到的当前位置处碰触的障碍物的图像数据,在机器人坐标系上计算出所述障碍物的最左端及其最右端相对于机器人的当前位置的连线所形成的障碍物视角,再控制机器人朝预设前进方向的左侧或右侧转动障碍物视角的一半的角度,然后进入步骤S105。其中,机器人的坐标系的Y轴方向指向机器人的前端,机器人在沿着规划的导航方向行走的过程中构建起栅格地图并保存到存储器单元内,这个栅格地图设置有全局坐标系,这个全局坐标系与机器人的坐标系存在矩阵变换关系;机器人还安装有陀螺仪,用于利用旋转惯性测量机器人发生转动的方向角,再结合所述码盘测量的位移数据,通过机器人的主控板换算得到机器人坐标系上(或栅格地图)的当前位置坐标和角度方向。

具体地,当检测到机器人在当前位置处碰触到障碍物、且判断到机器人保持沿着预设前进方向没有达到第一预设时间内的第一预设距离的移动时,即在沿着预设前进方向行走第一预设时间内没有达到第一预设距离时,确定机器人在当前位置处碰触到的障碍物是不可推动障碍物,使得机器人受到这个不可推动障碍物的阻碍而无法朝着预设前进方向继续前进。本实施例中的所述可推动障碍物和所述不可推动障碍物是可以根据机器人的重量及其承受的最大重量进行划分,该机器人能够在第一预设时间内移动预设位移的划分为可推动障碍物,该机器人不能够在第一预设时间内移动第一预设距离的划分为不可推动障碍物。这里的第一预设时间及第一预设时间发生得到的第一预设距离都是根据机器人的自重及驱动装置的驱动能力设置的,都是本领域技术人员通过预设的标准规格的实验反复测试获得的结果。

因此,与现有技术相比,本实施例不必忽略一些轻量级的可推动障碍物,相反是利用机器人与这一类轻量级的障碍物的接触运动来区别出不同重量级的障碍物,避免碰触障碍物后立即进入绕障行走的状态,以便后续的绕障行走路径规划。

步骤S105、判断机器人是否保持转动后的方向(沿着步骤S104转动后的前进方向)发生所述第一预设时间内的第一预设距离的移动,是则返回步骤S101,此时机器人可能已经避开障碍物、或碰触到其它的可推动障碍物、或还是碰触到同一可推动障碍物,则需要返回步骤S101,否则进入步骤S106,此时机器人仍然碰触到同一个不可推动障碍物,仍需继续控制机器人朝当前前进方向的左侧或右侧转动。

步骤S106、判断机器人的固定视角的摄像头是否没有检测到所述障碍物、或判断机器人是否没有与所述障碍物发生碰触,若两种判断条件之一满足则确定机器人已经避开所述障碍物(所述步骤S104中已经确定出的不可推动障碍物),机器人在后续移动过程中可能还检测到其他的可推动障碍物或其他的不可推动障碍物,所以需返回所述步骤S101,以重复前述步骤;否则确定机器人的固定视角的摄像头检测到所述障碍物且机器人与所述障碍物发生碰触,则需要进入步骤S107。其中,所述障碍物是所述步骤S101碰触到障碍物,但机器人的实时位置不是所述步骤S101中所述机器人的当前位置。

步骤S107、控制机器人朝上一次发生的转动方向继续转动上一次所转动的角度的一半,形成机器人当前的转动方向及朝该转动方向发生转动的角度,再返回步骤S105。需要说明的是,机器人安装的陀螺仪用于测量当前一次发生的转动的角度,并记录到机器人的存储器内,以便于计算出下一次所需转动的角度,而初始的转动角度是:步骤S104根据机器人的固定视角的摄像头采集到的当前位置处碰触的障碍物的图像数据计算出所述障碍物的最左端及其最右端相对于机器人的当前位置的连线所形成的障碍物视角的一半。

在重复执行所述步骤S107的过程中,控制机器人朝上一次发生的转动方向继续转动上一次所转动的角度的一半的同时,控制机器人的固定视角的摄像头实时采集并检测转动后的方向上是否存在障碍物的图像数据;其中,所述上一次发生的转动方向是最新执行过的步骤S104中朝预设前进方向的其中一侧转动的方向、或上一次执行步骤S107发生的转动方向,使得机器人发生顺时针自转或逆时针自转;所述上一次所转动的角度的一半是最新执行过的步骤S104中转动所述障碍物视角的一半的角度、或上一次执行步骤S107所转动的角度的一半。因此本实施例通过逐步修正绕障方向的方式,来形成频繁碰撞且碰撞强度递减的绕障导航模式,充分利用轻量级的障碍物来保证实时导航行走的效率。

与现有技术相比,前述步骤控制机器人根据自身移动过程中与障碍物持续碰触所花费的时间,来调整避障方向,再基于推动障碍物移动所花费的时间去融合视觉处理的障碍物视角信息来增强避障的可靠性,从而在反复迭代按照前述方法避开实时碰触的当前位置处的障碍物的过程中,减少检测到障碍物后执行不必要的绕障动作,形成最优的绕障行走路径,保证机器人运动不因绕障避障行为而影响其实时沿着预设导航路径行走的效果。

优选地,所述步骤S102和所述步骤S105中,所述机器人保持同一方向发生第一预设时间的位移是执行匀速行走、或执行减速行走。避免机器人在推动障碍物移动过程中发生过于激烈的碰撞以损坏机器人的机身。

作为一种实施例,在所述步骤S104中,所述计算出所述障碍物的最左端及其最右端相对于机器人的当前位置的连线所形成的障碍物视角的方法包括:从机器人的固定视角的摄像头采集到的当前位置处碰触的障碍物的图像数据中,提取出障碍物的轮廓信息和重心位置,其中,重心位置的获取步骤包括:从障碍物的图像数据中计算出的障碍物轮廓线的角点,再利用所述角点计算出障碍物在图像中的几何中心,作为所述重心位置,这里涉及的计算方法是在对采集到的当前位置处碰触的障碍物的图像二值化处理后,通过开运算、闭运算、膨胀、腐蚀、图像差值等组合运算得到所述障碍物的基本轮廓线,并用角点求解算法求出基本轮廓线的所有角点,然后利用这些计算出的角点,根据障碍物的轮廓形状进行图像区域分割以便于计算出障碍物在图像中的几何中心,当中还涉及像素点的高度信息的计算。然后,设置与重心位置同高度的最左端的角点作为所述障碍物的最左端,设置与重心位置同高度的最右端的角点作为所述障碍物的最右端,再将所述障碍物的最左端的图像坐标和所述障碍物的最右端的图像坐标输入三角形模型计算出所述障碍物的最左端与机器人的当前位置的连线、所述障碍物的最右端与机器人的当前位置的连线相交形成的障碍物视角;其中,三角形模型是根据机器人的结构光模组测得的机器人的当前位置与所述障碍物之间的距离、摄像头的焦距以及所述障碍物轮廓线的角点的连线建立起的比例关系式。其中,机器人的固定视角的摄像头的拍摄方向(摄像头的主光轴方向)是所述障碍物视角的角平分线方向,则机器人在前述步骤S104中的转动方向、步骤S107中的转动方向都是保持位于摄像头的主光轴方向的一侧(左侧或右侧)。本实施例融合固定视角处的障碍物二维轮廓图像信息去识别计算出障碍物视角,作为绕障转角信息,可以有效确保在机器人工作过程中避障的可靠性,不争取精度只获取视角的轮廓范围信息,减少计算量,确保机器人导航的实时性。

在前述实施例的基础上,所述第一预设时间内的第一预设距离的移动是机器人所碰触的可推动障碍物的运动影响范围和机器人所碰触的不可推动障碍物的运动影响范围的重叠区域所决定的;可推动障碍物的运动影响范围和不可推动障碍物的运动影响范围都是由所述预测重量的障碍物模型通过机器学习训练相应重量的障碍物的特征信息得出的延展边所框定的,例如,所述障碍物模型可以是一种简单维度的卷积神经网络识别模型,等能够进行机器学习的识别模型,例如,通过有限组数据进行训练,直至模型收敛,输出相应类型障碍物的特征信息对应的运动影响范围。所述障碍物的特征信息包括所述机器人的固定视角的摄像头采集的来自所述障碍物的图像数据;其中,所述可推动障碍物和所述不可推动障碍物都是规则形状的障碍物;其中,所述障碍物模型中存储允许机器人推动、跨越的障碍物重量信息与所述障碍物重量对应的障碍物类型。从而精确地计算出可推动障碍物和不可推动障碍物的碰撞危险区域,运用于识别这两种重量级类型的障碍物。在本实施例中,可推动障碍物和不可推动障碍物的碰撞危险区域是允许机器人自身运动范围与前述的运动影响范围产生持续时间的交集(允许所述第一预设时间的碰撞),然后根据实际的识别效果发出移至动作影响范围之外的绕障动作指令,动作指令用于指示机器自身动作。

优选地,所述延展边的长度是限制在0.5倍的机器人机身长度至1.5倍的机器人机身长度之间,且所述可推动障碍物的运动影响范围和所述不可推动障碍物的运动影响范围都是以所述延展边为边界的矩形区域、或以所述延展边为半径的圆形区域,使得机器人沿着所述重叠区域的边界绕障行走,绕障结束后再返回绕行的障碍物对应运动影响范围之外,该参数的设置,适合于大多数家庭的房屋结构,有利提高机器人的清扫效率。其中,所述延展边的延伸方向相对于机器人绕所碰触的障碍物行走的运动方向所成的夹角不超出70度,前述参数的设置,防止机器人进入较小的区域,导致被困的情况,机器人的综合清扫效率大大提升。从而精确地规划机器人的绕障行为路径,提高机器人的绕障导航效果。前述的参数信息以及所述延展边都记录在存储器中,并在执行完当前房间区域内的全局清扫操作后,才将所述延展边及参数信息从存储器中删除。机器人按照弓字形轨迹路线遍历清扫所述待清扫单元

本发明还保护一种芯片,内置程序代码,所述程序代码用于控制机器人执行前述任一实施例公开的基于障碍物的避开方法。避障方式更灵活,所需实时开辟的路径规划运算容量很小,成本较低。

本发明还保护一种清洁机器人,内置主控芯片,所述主控芯片为前述的芯片。使得机器人优先从障碍物的轮廓边缘区域开始执行避障动作,不因避障动作的规划运算而影响机器人原先规划的导航路径的执行,既充分利用到碰撞障碍物的状态信息,也满足保持实时导航运动的要求,有利于提高清扫工作效率。同时,该芯片所需存储容量很小,成本较低。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。这些程序可以存储于计算机可读取存储介质(比如ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质)中。该程序在执行时,执行包括上述各方法实施例的步骤。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 一种基于障碍物的避开方法、芯片及清洁机器人
  • 一种清洁机器人及用于控制其避开障碍物的方法
技术分类

06120112942824