本申请涉及机器人导航技术领域,尤其涉及机器人航向角纠偏方法、装置、计算机设备及存储介质。
背景技术:
扫地机器人能够自主的对一个区域进行清扫,大大降低了清洁工作所需消耗的人力。扫地机器人在对一个区域进行清洁的过程当中,需要在导航的辅助之下在区域内进行行走,以实现对完整区域的清洁,在扫地机器人运动的过程当中,无可避免的会进行大量的转动动作,因此需要使用陀螺仪,加速度计等手段获取扫地机器人的角度数据,以实现对扫地机器人方向上的判定。实际操作中,清洁区域通常是复杂的,扫地机器人在清洁区域当中不免会发生碰撞颠簸等情况,造成航向角计量的不准确,影响扫地机器人的导航精度,如果在清扫的行程以外单独设置校验过程,无法克服清扫过程当中,大量动作的累加造成的角度测量装置所产生的航向角误差,需要一种航向角纠偏的方式,在扫地机器人的运行过程当中保证航向角获取的精度。
技术实现要素:
本申请实施例的目的在于提出一种机器人航向角纠偏方法,在清扫的过程中对机器人的航向角测量进行纠偏。
为了解决上述技术问题,本申请实施例提供一种基于干扰下的回充方法,采用了如下所述的技术方案:
机器人航向角纠偏方法,该方法包括:
在地图中标定至少一组机器人的运行特征,并且记录与每个所述运行特征相对应的至少一个标准航向角,其中,所述标准航向角以运行特征中,机器人邻接的地图中固定的基准障碍物为参照确定;
连续记录机器人在地图中的位置和对应的当前航向角;
根据机器人在地图中的所述位置,与至少一组所述运行特征匹配;
如果机器人的运行路径与所述运行特征匹配,通过所述标准航向角和对应位置上的所述当前航向角,对所述当前航向角进行调整以实现纠偏。
进一步的,所述步骤在地图中标定至少一组机器人的运行特征,并且记录与每个所述运行特征相对应的至少一个标准航向角,其中,所述标准航向角以运行特征中,机器人邻接的地图中固定的基准障碍物为参照确定中,所述标准航向角的确定方法,具体包括:
检测运行特征下机器人周围的基准障碍物;
沿所述基准障碍物执行沿墙行走状态,获取航向角为第一标准航向角;
控制机器人转动,使得机器人的航向与所述基准障碍物垂直,获取航向角为第二标准航向角。
进一步的,所述步骤连续记录机器人在地图中的位置和对应的当前航向角之后,步骤根据机器人在地图中的所述位置,与至少一组所述运行特征匹配之前,该方法还包括:
在地图中标记与所述基准障碍物平行或垂直的固定障碍物;
根据所述基准障碍物对应的标准航向角,确定所述固定障碍物对应的标准航向角;
在机器人运行到与所述固定障碍物邻接的位置上时,根据标准航向角判断所述当前航向角的偏差,如果偏差大于预设值,驱动机器人向地图中标定的运行特征所在区域移动。
进一步的,所述步骤根据所述基准障碍物对应的标准航向角,确定所述固定障碍物对应的标准航向角之后,该方法还包括:
在机器人运行到与所述固定障碍物邻接的位置上时,根据标准航向角判断所述当前航向角的偏差,如果偏差小于预设值,通过所述标准航向角和对应位置上的所述当前航向角,对所述当前航向角进行调整以实现纠偏。
进一步的,所述步骤如果机器人的运行路径与所述运行特征匹配,通过所述标准航向角和对应位置上的所述当前航向角,对所述当前航向角进行调整以实现纠偏中,纠偏的方法具体包括:取当前航向角和标准航向角的中间值,作为当前航向角对当前航向角进行修订。
为了解决上述技术问题,本申请实施例还提供基于干扰下的回充装置,采用了如下所述的技术方案:
机器人航向角纠偏装置,包括:
运行特征标记模块,用于在地图中标定至少一组机器人的运行特征,并且记录与每个所述运行特征相对应的至少一个标准航向角,其中,所述标准航向角以运行特征中,机器人邻接的地图中固定的基准障碍物为参照确定;
连续记录模块,用于连续记录机器人在地图中的位置和对应的当前航向角;
匹配模块,用于根据机器人在地图中的所述位置,与至少一组所述运行特征匹配;
纠偏模块,用于如果机器人的运行路径与所述运行特征匹配,通过所述标准航向角和对应位置上的所述当前航向角,对所述当前航向角进行调整以实现纠偏。
进一步的,机器人航向角纠偏装置还包括:
障碍物标记模块,用于在地图中标记与所述基准障碍物平行或垂直的固定障碍物;
航向角推定模块,用于根据所述基准障碍物对应的标准航向角,确定所述固定障碍物对应的标准航向角;
特征区域指定模块,在机器人运行到与所述固定障碍物邻接的位置上时,根据标准航向角判断所述当前航向角的偏差,如果偏差大于预设值,驱动机器人向地图中标定的运行特征所在区域移动。
进一步的,机器人航向角纠偏装置还包括:
直接纠偏模块,用于在机器人运行到与所述固定障碍物邻接的位置上时,根据标准航向角判断所述当前航向角的偏差,如果偏差小于预设值,通过所述标准航向角和对应位置上的所述当前航向角,对所述当前航向角进行调整以实现纠偏。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的机器人航向角纠偏方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的机器人航向角纠偏方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:通过在已知的导航地图上标定机器人运行过程中产生的运行特征,辅助机器人在后期运行过程中通过运行特征的匹配确定其相对于基准障碍物所在位置,根据机器人在运行特征中所邻接的基准障碍物为参照确定标准航向角,通常,标准航向角是在机器人刚开开始运行,以及刚刚完成校验时记录的;之后当机器人在地图中导航移动,并重新到达运行特征所在区域时,匹配运行特征以保证机器人与基准障碍物邻接,此时通过基准障碍物的参照所得到的当前航向角与标准航向角进行对照和调整,能够在机器人的运行过程中对机器人的航向角进行纠偏,该方案能够在机器人的运行过程当中保证机器人航向角获取的精度。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1根据本申请的机器人航向角纠偏方法的一个实施例的流程图;
图2是根据本申请的机器人航向角纠偏装置的一个实施例的结构示意图;
图3是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
继续参考图1,示出了根据本申请的机器人航向角纠偏方法的一个实施例的流程图。所述的基于干扰下的回充方法,包括以下步骤:
机器人航向角纠偏方法,该方法包括:
步骤s100:在地图中标定至少一组机器人的运行特征,并且记录与每个所述运行特征相对应的至少一个标准航向角,其中,所述标准航向角以运行特征中,机器人邻接的地图中固定的基准障碍物为参照确定;
步骤s200:连续记录机器人在地图中的位置和对应的当前航向角;
步骤s600:根据机器人在地图中的所述位置,与至少一组所述运行特征匹配;
步骤s700:如果机器人的运行路径与所述运行特征匹配,通过所述标准航向角和对应位置上的所述当前航向角,对所述当前航向角进行调整以实现纠偏。
具体的,通过在已知的导航地图上标定机器人运行过程中产生的运行特征,辅助机器人在后期运行过程中通过运行特征的匹配确定其相对于基准障碍物所在位置,根据机器人在运行特征中所邻接的基准障碍物为参照确定标准航向角,通常,标准航向角是在机器人刚开开始运行,以及刚刚完成校验时记录的;之后当机器人在地图中导航移动,并重新到达运行特征所在区域时,匹配运行特征以保证机器人与基准障碍物邻接,此时通过基准障碍物的参照所得到的当前航向角与标准航向角进行对照和调整,能够在机器人的运行过程中对机器人的航向角进行纠偏,该方案能够在机器人的运行过程当中保证机器人航向角获取的精度。
机器人的运行特征通常包括直线行走,转向,障碍物检测信号等,机器人运行特征基于机器人在基准障碍物附近的运行而记录,以实现对标准航向角的登记,关于运行特征的一个具体实施方式,是机器人离开充座,沿墙行走一个固定距离a,之后转动固定角度c,行进一个固定距离b,检测到障碍物,并且根据机器人上设置的若干个红外传感器所产生的信号,确定机器人前进方向与障碍物之间的夹角,并且驱动机器人转动使得机器人的前进方向与障碍物垂直,并记录上述转动产生的转动角度d,当机器人第二次运行到这一组运行特征的初始位置,仅当机器人完全执行了运行特征中的所有动作,才实现和运行特征的匹配。所述运行特征在清洁区域中可以设置一组或若干组。优选的,运行特征通常在机器人开始对清洁区域进行清洁时设定,或者,在通过其他手段实施了航向角纠偏之后设定。在一种实施例当中机器人完成充电,从充座处退下,之后沿充座所在的墙壁执行沿墙行走,此时机器人刚刚完成了航向角的调整或者是航向角的归零视为准确的,可以根据机器人的沿墙动作记录机器人沿墙时的航向角,作为基准航向角,当机器人下一次在此区域上做沿墙运动的时候即可根据该基准航向角对机器人的当前航向角进行纠偏。
在另一种实施例中,机器人通过一段运行特征,检测到基准障碍物,此时通过机器人本体上的若干信号发射单元照射基准障碍物,并且根据反射信号转动机器人,使得机器人的前进方向与基准障碍物垂直,记录此时的标准航向角,当机器人第二次运行到上述基准障碍物附近时调整机器人的姿态,并根据该基准航向角对当前航向角进行纠偏。因为通过运行特征的记录,识别和匹配能够准确的判断障碍物,并且确定机器人与障碍物之间的位置关系,所以在纠偏的状态下,机器人能够精确识别其在清洁区域中的具体位置和方向,在此基础之上进行纠偏,更为准确。该方案可以在机器人运行的过程当中对机器人进行航向角的纠偏。
进一步的,所述步骤s100:在地图中标定至少一组机器人的运行特征,并且记录与每个所述运行特征相对应的至少一个标准航向角,其中,所述标准航向角以运行特征中,机器人邻接的地图中固定的基准障碍物为参照确定中,所述标准航向角的确定方法,具体包括:
步骤s101:检测运行特征下机器人周围的基准障碍物;
步骤s102:沿所述基准障碍物执行沿墙行走状态,获取航向角为第一标准航向角;
步骤s103:控制机器人转动,使得机器人的航向与所述基准障碍物垂直,获取航向角为第二标准航向角。
具体的,第一标准航向角为沿墙状态下,标定的标准航向角,第二标准航向角为与障碍物垂直的状态下,标定的标准航向角,记录第一标准航向角,有利于机器人在沿墙状态下进行航向角的纠偏,而根据机器人弓字型行走策略以及清洁区域多方正的实际情况,有利于在正常清洁行走过程中检测到基准障碍物时对机器人的航向角进行纠偏,如此在机器人运行过程当中,能够根据机器人实际运行方向,与障碍物之间的位置关系,选择第一标准航向角或第二标准航向角,或结合使用第一标准航向角以及第二标准航向角进行纠偏,该方案有利于提升航向角纠偏时的效率。
进一步的,所述步骤s200:连续记录机器人在地图中的位置和对应的当前航向角之后,步骤根据机器人在地图中的所述位置,与至少一组所述运行特征匹配之前,该方法还包括:
步骤s300:在地图中标记与所述基准障碍物平行或垂直的固定障碍物;
步骤s400:根据所述基准障碍物对应的标准航向角,确定所述固定障碍物对应的标准航向角;
步骤s500:在机器人运行到与所述固定障碍物邻接的位置上时,根据标准航向角判断所述当前航向角的偏差,如果偏差大于预设值,驱动机器人向地图中标定的运行特征所在区域移动。
具体的,在实际运行过程当中,清洁区域内的障碍物,主要是墙壁,相互之间有平行或者垂直的关系,通过基准障碍物和固定障碍物之间的位置关系换算固定障碍物的标准航向角,之后当机器人检测在固定障碍物附近做沿墙或垂直方向行走的动作时,可以首先判断航向角的偏差,如果航向角偏差过大,则可以在清洁过程中优先导航至运行特征对应的区域,通过运行特征匹配与基准障碍区邻接,并根据基准障碍物作为参照进行航向角的纠偏,大大提升和航向角纠偏的实时性。该方案有利于航向角精度的保持。
进一步的,所述步骤s400:根据所述基准障碍物对应的标准航向角,确定所述固定障碍物对应的标准航向角之后,该方法还包括:
步骤s800:在机器人运行到与所述固定障碍物邻接的位置上时,根据标准航向角判断所述当前航向角的偏差,如果偏差小于预设值,通过所述标准航向角和对应位置上的所述当前航向角,对所述当前航向角进行调整以实现纠偏。
进一步的,所述步骤s100:如果机器人的运行路径与所述运行特征匹配,通过所述标准航向角和对应位置上的所述当前航向角,对所述当前航向角进行调整以实现纠偏中,纠偏的方法具体包括:取当前航向角和标准航向角的中间值,作为当前航向角对当前航向角进行修订。该方案通过数据逼近的方式调整机器人的航向角数据,使得航向角的纠偏更为平滑,防止航向角数据变化过于波动,影响机器人的导航精度,该方案对航向角的纠偏更为精确。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图2,作为对上述图1所示方法的实现,本申请提供了一种基于干扰下的回充装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图2所示,本实施例所述的机器人航向角纠偏装置,包括:
运行特征标记模块100,用于在地图中标定至少一组机器人的运行特征,并且记录与每个所述运行特征相对应的至少一个标准航向角,其中,所述标准航向角以运行特征中,机器人邻接的地图中固定的基准障碍物为参照确定;
连续记录模块200,用于连续记录机器人在地图中的位置和对应的当前航向角;
匹配模块600,用于根据机器人在地图中的所述位置,与至少一组所述运行特征匹配;
纠偏模块700,用于如果机器人的运行路径与所述运行特征匹配,通过所述标准航向角和对应位置上的所述当前航向角,对所述当前航向角进行调整以实现纠偏。
具体的,通过在已知的导航地图上标定机器人运行过程中产生的运行特征,辅助机器人在后期运行过程中通过运行特征的匹配确定其相对于基准障碍物所在位置,根据机器人在运行特征中所邻接的基准障碍物为参照确定标准航向角,通常,标准航向角是在机器人刚开开始运行,以及刚刚完成校验时记录的;之后当机器人在地图中导航移动,并重新到达运行特征所在区域时,匹配运行特征以保证机器人与基准障碍物邻接,此时通过基准障碍物的参照所得到的当前航向角与标准航向角进行对照和调整,能够在机器人的运行过程中对机器人的航向角进行纠偏,该方案能够在机器人的运行过程当中保证机器人航向角获取的精度。
进一步的,机器人航向角纠偏装置还包括:
障碍物标记模块,用于在地图中标记与所述基准障碍物平行或垂直的固定障碍物;
航向角推定模块,用于根据所述基准障碍物对应的标准航向角,确定所述固定障碍物对应的标准航向角;
特征区域指定模块,在机器人运行到与所述固定障碍物邻接的位置上时,根据标准航向角判断所述当前航向角的偏差,如果偏差大于预设值,驱动机器人向地图中标定的运行特征所在区域移动。
进一步的,机器人航向角纠偏装置还包括:
直接纠偏模块,用于在机器人运行到与所述固定障碍物邻接的位置上时,根据标准航向角判断所述当前航向角的偏差,如果偏差小于预设值,通过所述标准航向角和对应位置上的所述当前航向角,对所述当前航向角进行调整以实现纠偏。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图3,图3为本实施例计算机设备基本结构框图。
所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如基于干扰下的回充方法的程序代码等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器62在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的程序代码或者处理数据,例如运行所述基于干扰下的回充方法的程序代码。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于干扰下的回充程序,所述基于干扰下的回充程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于干扰下的回充方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。