移动机器人控制方法及移动机器人与流程

文档序号:20919100发布日期:2020-05-29 13:54阅读:294来源:国知局
移动机器人控制方法及移动机器人与流程

本申请属于移动机器人技术领域,尤其涉及移动机器人控制方法、移动机器人及计算机可读存储介质。



背景技术:

随着技术的发展,诸如扫地机器人等各类移动机器人的出现,大大提升了人们生产和生活的效率,节约了劳动力。然而,移动机器人在移动过程中,往往需要检测环境中的各类障碍物,例如扫地机器人需要检测墙面和家具等等,并根据检测到的障碍物进行移动。然而,由于障碍物的材质、颜色、形状等各式各样,往往导致移动机器人对障碍物的检测精度较低、检测效果较差,导致机器人移动过程中经常会与障碍物发生碰撞。



技术实现要素:

本申请实施例提供了移动机器人控制方法、移动机器人及计算机可读存储介质,可以提高移动机器人对障碍物的检测精度。

第一方面,本申请实施例提供了一种移动机器人控制方法,包括:

通过移动机器人上的n个红外传感器,获得当前时刻之前的预设时间段内的第一红外传感数据,其中,所述n个红外传感器对应所述移动机器人的m个方位,n以及m均为大于0的整数且n不小于m;

通过所述移动机器人上的l个超声传感器,获得所述预设时间段内的第一超声传感数据,其中,所述l个超声传感器对应所述m个方位中的k个方位,k以及l均为大于0的整数;

分别对所述第一红外传感数据和所述第一超声传感数据进行预处理,获得m个障碍物距离,其中,所述m个障碍物距离与所述移动机器人的m个方位相对应;

根据所述m个障碍物距离,确定所述移动机器人的角速度和线速度;

根据所述角速度和线速度,控制所述移动机器人进行移动。

第二方面,本申请实施例提供了一种移动机器人,包括n个红外传感器、l个超声传感器和控制电路,所述控制电路分别与所述n个红外传感器以及l个超声传感器连接;

所述控制电路包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的移动机器人控制方法。

第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的移动机器人控制方法。

第四方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动机器人上运行时,使得移动机器人执行上述第一方面中所述的移动机器人控制方法。

本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,通过移动机器人上的n个红外传感器,获得当前时刻之前的预设时间段内的第一红外传感数据,并通过所述移动机器人上的l个超声传感器,获得所述预设时间段内的第一超声传感数据,可以结合红外传感器和超声传感器对环境中的障碍物的情况进行检测,并分别对所述第一红外传感数据和所述第一超声传感数据进行预处理,获得m个障碍物距离,可以减小由于各式各样的障碍物的材质、颜色、形状等导致的检测误差,提高对障碍物的检测精度。

附图说明

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

图1是本申请一实施例提供的一种移动机器人控制方法的流程示意图;

图2是本申请一实施例提供的步骤s104的一种流程示意图;

图3是本申请一实施例提供的步骤s103的一种流程示意图;

图4是本申请一实施例提供的移动机器人的一种结构示意图;

图5是本申请一实施例提供的移动机器人的一种结构示意图;

图6是本申请一实施例提供的移动机器人的一种结构框图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当……时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请实施例提供的移动机器人控制方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmentedreality,ar)/虚拟现实(virtualreality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、上网本、个人数字助理(personaldigitalassistant,pda)等移动机器人上,本申请实施例对移动机器人的具体类型不作任何限制。

具体地,图1示出了本申请实施例提供的第一种移动机器人控制方法的流程图,该移动机器人控制方法应用于移动机器人。

本申请实施例中,所述移动机器人可以具有至少n个红外传感器和至少l个超声传感器,此外,在一些情况下,所述移动机器人还可以包括控制电路,该控制电路可以分别与各个红外传感器和超声传感器进行连接,以进行信息传输。本申请实施例中,所述移动机器人的具体硬件、软件、固件以及功能等在此不做限制。

现有技术中,往往会采用红外传感器来检测障碍物。然而,由于障碍物的材质(如玻璃)、颜色(如黑色或透明)、形状(如网状结构)以及环境因素(如太阳光的光强较大)的影响,可能会导致红外传感器的红外信号的反射率降低,甚至红外信号会丢失,从而造成检测障碍物失败。而相较于红外传感器,超声传感器不会因透明或是黑色环境等因素使得超声信号的反射率低而导致对障碍物的检测失败。但超声传感器易受环境噪音的影响,例如,电机在转动过程会产生一定的高频,轮子在比较硬的地面上的摩擦所产生的高频噪音,机器人本身的抖动,甚至当有多个机器人的时候,其它超声传感器发出的声波等等,都会引起该超声传感器接收到错误的超声信号,而导致误判。

在此基础上,本申请实施例提供了一种可以有效地结合红外传感器和超声传感器来进行障碍物检测的方法,以提高移动机器人对障碍物的检测精度。

如图1所示,所述移动机器人控制方法包括:

步骤s101,通过移动机器人上的n个红外传感器,获得当前时刻之前的预设时间段内的第一红外传感数据,其中,所述n个红外传感器对应所述移动机器人的m个方位,n以及m均为大于0的整数且n不小于m。

本申请实施例中,任一所述方位可以对应一个角度,也可以对应一个角度范围。所述m个方位中,任一所述方位所对应的所述红外传感器的个数可以根据实际应用场景来确定,并且,对应于同一个方位的红外传感器的设置方式也可以有多种。例如,所述m个方位中,任一所述方位所对应的所述红外传感器可以分布于至少两个高度位置上,并且,可以在该方位所对应的角度区域内等距离分布。

步骤s102,通过所述移动机器人上的l个超声传感器,获得所述预设时间段内的第一超声传感数据,其中,所述l个超声传感器对应所述m个方位中的k个方位,k以及l均为大于0的整数。

本申请实施例中,所述l个超声传感器所对应的k个方位为所述红外传感器所对应的m个方位中的部分或者全部方位。并且,该k个方位中的任一方位所对应的超声传感器的个数以及具体设置方式也可以根据实际场景来确定。

步骤s103,分别对所述第一红外传感数据和所述第一超声传感数据进行预处理,获得m个障碍物距离,其中,所述m个障碍物距离与所述移动机器人的m个方位相对应。

本申请实施例中,所述预处理可以包括一种或多种处理方式,例如,可以通过预设滤波方式,对第一红外传感数据和所述第一超声传感数据进行滤波处理,该滤波处理的方式可以有多种,例如,可以是中值滤波、均值滤波、剔除异常数据后再求均值等。此外,示例性的,所述预处理还可以包括根据所述m个方位,对所述第一红外传感数据和所述第一超声传感数据进行划分,获得每个方位所对应的部分第一红外传感数据和/或部分第一超声传感数据,再分别对每个方位所对应的部分第一红外传感数据和/或部分第一超声传感数据进行数据筛选和/或数据融合,得到m个障碍物距离。其中,所述m个障碍物距离可以与所述m个方位一一对应。

步骤s104,根据所述m个障碍物距离,确定所述移动机器人的角速度和线速度。

本申请实施例中,确定所述移动机器人的角速度和线速度的方法可以有多种。例如,可以通过动态窗口法(dynamicwindowapproach,dwa)、模糊控制算法等等方式,确定所述移动机器人的角速度和线速度。

现有技术中,移动机器人可能为轮式机器人,此时,可以通过差速驱动的方式来实现移动。而在通过诸如模糊控制算法等方式来确定移动机器人的各个轮子的移动速度时,由于各个轮子之间相互关联,需要花费较多的时间来测试相关算法在运用到实际控制中时是否正确合理。而在本申请的一些实施例中,在根据所述m个障碍物距离,通过诸如模糊控制算法等方式确定所述移动机器人的角速度和线速度时,由于角速度和线速度相互独立,将角速度和线速度作为模糊输出量来制定模糊规则更加简单且直观,可以节省大量试验模糊规则的时间,能够快速地得到较好的效果。

步骤s105,根据所述角速度和线速度,控制所述移动机器人进行移动。

本申请实施例中,所述移动机器人的移动方式可以有多种,例如,所述移动机器人可以是轮式机器人、带式机器人、步行移动机器人(单腿式、双腿式和多腿式)等等。针对不同的移动机器人构型,可以通过所述角速度和所述线速度,确定对移动机器人的移动控制。

在一些实施例中,所述根据所述角速度和线速度,控制所述移动机器人进行移动可以包括:

根据所述角速度和线速度确定所述移动机器人的左轮速度和右轮速度;

根据所述左轮速度和右轮速度,控制所述移动机器人进行移动。

其中,具体的,所述移动机器人的左轮速度可以为:

所述移动机器人的右轮速度可以为:

其中,所述vl为所述移动机器人的左轮速度,所述vr为所述移动机器人的右轮速度,所述v为所述移动机器人的线速度,所述ω为所述移动机器人的角速度,所述d为左轮中心点与右轮中心点之间的距离。

此时,可以根据所述左轮速度vl和右轮速度vr,控制所述移动机器人进行移动,所述移动机器人可以是两轮差速驱动移动机器人。

如图2所示,在一些实施例中,所述步骤s104具体包括:

步骤s201,根据所述m个障碍物距离、关于所述障碍物距离的第一隶属度函数和预设的模糊规则表,得到各个模糊规则分别对应的隶属度,其中,所述模糊规则表中包含所述各个模糊规则;

步骤s202,获取所述线速度分别相对于各个模糊规则的第一取值;

步骤s203,获取所述角速度分别相对于各个模糊规则的第二取值;

步骤s204,根据各个模糊规则分别对应的隶属度、各个所述第一取值和各个所述第二取值,确定所述移动机器人的角速度和线速度。

本申请实施例中,所述模糊规则表可以将相应的精确值按照特定的隶属度函数归并到各模糊子集中,并且,可以用语言变量来描述。

可以预先建立所述模糊规则表。所述模糊规则表中可以包括各个模糊规则,其中,对于每一条模糊规则,可以通过if-then的形式来表示,即,任一模糊规则的结构形式可以为:

ifaistrue,andbistrue,andcistruethend.

其中,用and连接的a、b、c为条件,当条件a、条件b、条件c都满足时,则可以得到结果d。

示例性的,各个障碍物距离的模糊语言描述为{远(f)、中(m)、近(n)}。一般的,所述模糊语言描述所对应的障碍物距离的取值范围的可设置为所述移动机器人中的特定传感器的测量范围,例如本申请实施例中,所述红外传感器和/或超声传感器的测量范围。则可以建立所述模糊规则表。

根据所述模糊规则表和确定的所述m个障碍物距离,可以获得各个模糊规则分别对应的隶属度。

在一些实施例中,所述步骤s201具体包括:

对于各个模糊规则,分别确定所述m个障碍物距离中每一个障碍物距离相对于所述模糊规则的第一子隶属度;

将各个第一子隶属度中的最小值作为所述模糊规则所对应的隶属度。

本申请实施例中,所述线速度分别相对于各个模糊规则的第一取值可以根据所述线速度的取值范围、线速度所对应的模糊语言等来确定。类似的,所述角速度分别相对于各个模糊规则的第二取值可以根据所述角速度的取值范围、角速度所对应的模糊语言等来确定。示例性的,所述线速度v的论域可以为[-vmax,vmax],并且所述α的模糊语言为{负大(nb),负小(ns),零(z),正小(ps),正大(pb)}。在一些实施例中,可以确定所述v的各个模糊语言分量(即nb、ns、z、ps、pb)所分别对应的取值。例如,可以根据所述v的模糊语言分量的个数,将所述v的论域划分为对应的多个部分,并根据各个部分的最大值、最小值或者平均值等,来确定所述v的各个模糊语言分量所分别对应的取值。此时,可以根据所述v的各个模糊语言分量所分别对应的取值,确定所述v分别相对于各个模糊规则的第一取值。

需要说明的是,上述所述线速度分别相对于各个模糊规则的第一取值的设置方式还可以有其他设置方式,所述第二取值的确定方式与所述第一取值的确定方式可以类似,也可以不同。此处的示例仅作为示例性说明,而非限制。

此时,可以将各个输入变量(即m个障碍物距离)模糊化,并通过相应的模糊规则获得模糊输出,即获得各个模糊规则分别对应的隶属度,以及各个所述第一取值和第二取值。

在获得模糊输出之后,可以进一步地进行去模糊化。此时,进一步的,可以根据各个模糊规则分别对应的隶属度、各个所述第一取值和各个所述第二取值,确定所述移动机器人的角速度和线速度。

其中,可以根据最大隶属度函数法、加权平均法以及重心法等方式中的一种或多种,进行去模糊化,获得所述移动机器人的角速度和线速度。

在一些实施例中,所述根据各个模糊规则分别对应的隶属度、各个所述第一取值和各个所述第二取值,确定所述移动机器人的角速度和线速度,包括:

根据第一公式确定所述移动机器人的线速度,所述第一公式为:

其中,所述v为所述移动机器人的线速度,所述vk为所述线速度相对于第k个模糊规则的第一取值;

根据第二公式确定所述移动机器人的角速度,所述第二公式为:

其中,所述ω为所述移动机器人的角速度,所述ωk为所述角速度相对于第k个模糊规则的第二取值;

第一公式和第二公式中,所述qk为第k个模糊规则所对应的隶属度,所述h为所述模糊规则的个数。

通过本申请实施例,可以在通过模糊规则获得模糊输出之后,可以通过去模糊化,获得精确的输出量,即获得精确的线速度和角速度,以用于后续对移动机器人的控制。并且,通过诸如模糊控制算法等方式确定所述移动机器人的角速度和线速度时,直接将角速度和线速度而不是各个轮子速度作为模糊输出,使得制定模糊规则更加简单且直观,可以节省大量试验模糊规则的时间,能够快速地制定出效果较好的模糊规则。

下面以一种具体示例,说明确定所述移动机器人的角速度和线速度的一种具体方式。

若获得对应于所述移动机器人的左侧、前方和右侧三个方位的障碍物距离dl、df、dr,并且,每个障碍物距离dl、df、dr所对应的论域为[0,t],每个障碍物距离的模糊语言描述为{远(f)、中(m)、近(n)}。一般的,t的取值可以设置为传感器的最大有效测量距离值,也可以是最大有效测量范围内的其他数值。

此时,可以预先建立所述模糊规则表如下:

表1模糊规则表

该模糊规则表中,可以包括27条第一规则。

此外,可以预先建立关于所述障碍物距离d的所述第一隶属度函数:

其中,所述d可以取为所述移动机器人的左侧、前方和右侧三个方位的障碍物距离dl、df、dr,μn(d)为所述d的模糊语言为近时的隶属度子函数,μm(d)为所述d的模糊语言为中时的隶属度子函数,μf(d)为所述d的模糊语言为远时的隶属度子函数,t1小于t2,t2小于t3,t3小于t,μn(dobs)+μm(dobs)+μf(dobs)=1。

此时,在确定所述m个障碍物距离之后,对于所述模糊规则表中的任一模糊规则,可以计算所述m个障碍物距离中每一个障碍物距离相对于所述模糊规则的第一子隶属度,从而根据所述各个第一子隶属度,获得该模糊规则所对应的隶属度。

其中,在一些应用场景中,可以将各个第一子隶属度中的最小值作为所述模糊规则所对应的隶属度。

具体的,可以为:

qk=min{p1k,p2k,p3k}

其中,qk是第k条模糊规则的隶属度,p1k是障碍物距离dl相对于第k条模糊规则的第一子隶属度,p2k是障碍物距离df相对于第k条模糊规则的第一子隶属度,p2k是障碍物距离dr相对于第k条模糊规则的第一子隶属度,k=1,2,3,…,27。

在获得各个模糊规则分别对应的隶属度之后,可以根据各个模糊规则分别对应的隶属度、各个所述第一取值和各个所述第二取值,确定所述移动机器人的角速度和线速度。

具体的,示例性的,通过重心法确定所述移动机器人的线速度为:

qk是第k条模糊规则的隶属度,所述vk为所述线速度相对于第k条模糊规则的第一取值。

所述移动机器人的角速度为:

其中,所述ωk为所述角速度相对于第k条模糊规则的第二取值。

需要说明的是,上述示例仅仅是对如何确定所述移动机器人的角速度和线速度的一种示例性说明,而不作为限制。

如图3所示,在一些实施例中,所述步骤s103具体包括:

步骤s301,分别对每一个红外传感器所对应的部分第一红外传感数据进行第一滤波处理,获得每一个红外传感器所对应的第二红外传感数据;

步骤s302,分别对每一个超声传感器所对应的部分第一超声传感数据进行第二滤波处理,获得每一个超声传感器所对应的第二超声传感数据;

步骤s303,将各个所述第二红外传感数据划分为m组第三红外传感数据,其中,所述m组第三红外传感数据与所述m个方位一一对应;

步骤s304,将各个所述第二超声传感数据划分为k组第三超声传感数据,其中,所述k组第三超声传感数据与所述k个方位一一对应;

步骤s305,根据所述m组第三红外传感数据和k组第三超声传感数据,获得与所述m个方位一一对应的m组方位传感数据;

步骤s306,根据预设数据筛选方式,分别对所述m组方位传感数据中的每一组方位传感数据进行筛选;

步骤s307,根据筛选后的每一组所述方位传感数据,获得m个障碍物距离。

本申请实施例中,所述可以分别对每一个红外传感器所对应的部分第一红外传感数据进行第一滤波处理,从而以单个红外传感器所采集的数据为基础,进行滤波,以删除单个红外传感器的多次测量中的异常数据。类似的,可以删除单个超声传感器的多次测量中的异常数据。其中,所述第一滤波处理的具体方式可以根据实际需求来确定,例如,可以是中值滤波、均值滤波、剔除异常数据后再求均值等中的一种或多种。所述第二滤波处理的具体方式可以根据实际需求来确定,例如,可以是中值滤波、均值滤波、剔除异常数据后再求均值等中的一种或多种。

示例性的,可以通过剔除异常数据后再求均值的方式,对任一所述红外传感器所对应的部分第一红外传感数据进行第一滤波处理。

具体的,由于单个红外传感器在预设时间段内多次测量同一障碍物距离,可以认为相应的红外传感数据近似满足正态分布。因此,在剔除异常数据后再求均值方法中,可选地,可以采用3δ原则来进行异常数据筛选,其中:

其中,outlier1为该红外传感器所对应的部分第一红外传感数据中的第一异常值,为该红外传感器所对应的部分第一红外传感数据的均值,δ为该红外传感器所对应的部分第一红外传感数据的标准偏差。

需要说明的是,所述第二滤波处理和所述第一滤波处理的方式可以相同,也可以不同。

本申请实施例中,在获得第二红外传感数据和第二超声传感数据之后,可以根据方位,对第二红外传感数据和第二超声传感数据进行划分,获得与所述m个方位一一对应的m组方位传感数据,根据预设数据筛选方式,分别对所述m组方位传感数据中的每一组方位传感数据进行筛选,以进行更进一步的异常值检测和剔除,从而提升数据的准确性。

其中,具体的筛选方式也可以由多种,例如,可以通过四分位距法(interquartilerange,iqr)分别对所述m组方位传感数据中的每一组方位传感数据进行筛选。

具体的,对于一组方位传感数据,可以是将该组方位传感数据中的所有数值从小到大排列并根据数量分成四等份。而处于该四等份的三个分割点位置的数值就是四分位数。第一四分位数(q1),又称“较小四分位数”,等于该组方位传感数据中所有数值由小到大排列后位于第25%的数值。第二四分位数(q2),又称“中位数”,等于该组方位传感数据中所有数值由小到大排列后位于第50%的数值。第三四分位数(q3),又称“较大四分位数”,等于该组方位传感数据中所有数值由小到大排列后位于第75%的数值。

确定

iqr=q3-q1

则该组方位传感数据中的第二异常值为:

其中,outlier2为该组方位传感数据中的第二异常值,所述k为预设权值,可选的,所述k可以设为1.5。

在获得筛选后的每一组所述方位传感数据之后,可以确定所述m个障碍物距离。其中,示例性的,所述m个障碍物距离中的任一障碍物距离可以是对应的方位传感数据中的最小值,也可以通过线性加权等方式对对应的方位传感数据进行融合后得到该障碍物距离。

具体的,示例性的,对于所述移动机器人的左侧、前方和右侧三个方位的障碍物距离dl、df、dr,其中,移动机器人的左侧和前方具有红外传感器,右侧具有红外传感器和超声传感器,则:

dl=min{dl1,dl2,dl3,...,dlk}

df=min{df1,df2,df3,...,dfn}

dr=min{dr1,dr2,dr3,...,drm,du1,du2,du3,...,dup}

所述{dl1,dl2,dl3,…,dlk}为所述移动机器人的左侧的方位传感数据,所述{df1,df2,df3,…,dfn}为所述移动机器人的前方的方位传感数据,{dr1,dr2,dr3,…,drm,du1,du2,du3,…,dup}为所述移动机器人的右侧的方位传感数据。

或者:

其中,

本申请实施例中,通过根据首先对于每一个红外传感器以及超声传感器本身的传感数据进行滤波,可以以红外传感器本身的多次检测结果为基准,删除异常数据;在此基础上,再进一步综合红外传感器和超声传感器的传感数据,进行第二次异常数据的筛选和删除,可以综合多种类型的传感器的检测情况,避免单一的传感器本身的特性所导致的检测误差,此时,相比于单一的传感器检测方式,本申请实施例中,可以通过预设数据筛选方式,分别对所述m组方位传感数据中的每一组方位传感数据进行筛选,可以有效地识别出特定传感器检测得到的错误数据,从而充分利用各个传感器的优势,提高移动机器人对障碍物的检测精度。

在一些实施例中,所述n个红外传感器分别分布于所述移动机器人上的至少两个高度位置上,所述超声传感器的高度位置位于所述n个红外传感器所对应的最高高度位置和最低高度位置之间。

本申请实施例中,所述红外传感器可以设置与所述移动机器人上的至少两个高度位置上,从而可以对不同高度的障碍物信息进行检测。此外,可选的,通过对至少两个高度位置上的红外传感数据进行处理,更便于获取到相应障碍物的三维位置信息。所述超声传感器位于所述n个红外传感器所对应的最高高度位置和最低高度位置之间,可以使得移动机器人获取到同一方位的传感信息的关联性较好,同时传感信息的层次更为丰富,更好的获取不同高度方向上的障碍物信息,可以避免现有技术中,在同一水平线上设置传感器,导致移动机器人无法很好地识别不同高度方向上的障碍物信息,从而导致移动机器人发生碰撞的情况,提升了后续进行数据处理和分析的准确性和精度。

在一些实施例中,每个高度位置上的所述红外传感器分别在所述m个方位中的每一个方位所对应的角度区域内等距离分布,并且所述超声传感器分别在所述k个方位中的每一个方位所对应的角度区域内等距离分布。

本申请实施例中,通过在相应方位均匀分布对应的红外传感器和超声传感器,可以使得红外传感器和超声传感器的检测范围更为均匀合理,并且覆盖面更广。

示例性的,如图4所示,为所述移动机器人的一种结构示意图。

其中,图4可以为俯视状态下的所述移动机器人的一种结构示意图。

所述移动机器人可以对应3个方位,所述3个方位所对应的角度区域可以为图中的左侧区域、右侧区域和前方区域。其中,所述左侧区域、前方区域分布和右侧区域分别均匀分布了若干个红外传感器,此外,所述右侧区域中,还额外设置了多个超声传感器。

如图5所示,为正视状态下的所述移动机器人的一种结构示意图。

此时,各个区域内的红外传感器分布在两个高度位置,而右侧区域中,位于红外传感器所对应的最高高度位置和最低高度位置之间的中间位置,还设置有超声传感器。

其中,在一些实施例中,所述超声传感器可以仅设置在所述m个方位中的一个方位。在一些情况下移动机器人的功能往往侧重在一侧,比如,对于扫地机器人,其刷头可以采用单边刷,以减小诸如绕线、打飞待打扫物等问题,同时省电高效。此时,可以将所述超声传感器设置在与所述单边刷相对应的方位,而无需设置在其他方位,从而降低硬件成本。

本申请实施例中,通过移动机器人上的n个红外传感器,获得当前时刻之前的预设时间段内的第一红外传感数据,并通过所述移动机器人上的l个超声传感器,获得所述预设时间段内的第一超声传感数据,可以结合红外传感器和超声传感器对环境中的障碍物的情况进行检测,并分别对所述第一红外传感数据和所述第一超声传感数据进行预处理,获得m个障碍物距离,可以减小由于各式各样的障碍物的材质、颜色、形状等导致的检测误差,提高对障碍物的检测精度。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例上述的移动机器人控制方法,如图6所示,为本申请实施例提供的一种移动机器人的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图6,该移动机器人包括n个红外传感器61(图中未详细示出)、l个超声传感器62(图中未详细示出)和控制电路63,所述控制电路63分别与所述n个红外传感器61以及l个超声传感器62连接;

上述控制电路63可以包括存储器631、处理器630以及存储在上述存储器中并可在上述处理器上运行的计算机程序632,其中,上述处理器执行上述计算机程序时可以实现以下步骤:

通过移动机器人上的n个红外传感器,获得当前时刻之前的预设时间段内的第一红外传感数据,其中,所述n个红外传感器对应所述移动机器人的m个方位,n以及m均为大于0的整数且n不小于m;

通过所述移动机器人上的l个超声传感器,获得所述预设时间段内的第一超声传感数据,其中,所述l个超声传感器对应所述m个方位中的k个方位,k以及l均为大于0的整数;

分别对所述第一红外传感数据和所述第一超声传感数据进行预处理,获得m个障碍物距离,其中,所述m个障碍物距离与所述移动机器人的m个方位相对应;

根据所述m个障碍物距离,确定所述移动机器人的角速度和线速度;

根据所述角速度和线速度,控制所述移动机器人进行移动。

可选的,上述处理器执行上述计算机程序时,所述根据所述m个障碍物距离,确定所述移动机器人的角速度和线速度,包括:

根据所述m个障碍物距离、关于所述障碍物距离的第一隶属度函数和预设的模糊规则表,得到各个模糊规则分别对应的隶属度,其中,所述模糊规则表中包含所述各个模糊规则;

获取所述线速度分别相对于各个模糊规则的第一取值;

获取所述角速度分别相对于各个模糊规则的第二取值;

根据各个模糊规则分别对应的隶属度、各个所述第一取值和各个所述第二取值,确定所述移动机器人的角速度和线速度。

可选的,上述处理器执行上述计算机程序时,所述根据各个模糊规则分别对应的隶属度、各个所述第一取值和各个所述第二取值,确定所述移动机器人的角速度和线速度,包括:

根据第一公式确定所述移动机器人的线速度,所述第一公式为:

其中,所述v为所述移动机器人的线速度,所述vk为所述线速度相对于第k个模糊规则的第一取值;

根据第二公式确定所述移动机器人的角速度,所述第二公式为:

其中,所述ω为所述移动机器人的角速度,所述ωk为所述角速度相对于第k个模糊规则的第二取值;

第一公式和第二公式中,所述qk为第k个模糊规则所对应的隶属度,所述h为所述模糊规则的个数。

可选的,上述处理器执行上述计算机程序时,所述根据所述角速度和线速度,控制所述移动机器人进行移动,包括:

根据所述角速度和所述线速度,获得所述移动机器人的右轮速度和左轮速度;

根据所述右轮速度和所述左轮速度,控制所述移动机器人进行移动。

可选的,上述处理器执行上述计算机程序时,所述分别对所述第一红外传感数据和所述第一超声传感数据进行预处理,获得m个障碍物距离,包括:

分别对每一个红外传感器所对应的部分第一红外传感数据进行第一滤波处理,获得每一个红外传感器所对应的第二红外传感数据;

分别对每一个超声传感器所对应的部分第一超声传感数据进行第二滤波处理,获得每一个超声传感器所对应的第二超声传感数据;

将各个所述第二红外传感数据划分为m组第三红外传感数据,其中,所述m组第三红外传感数据与所述m个方位一一对应;

将各个所述第二超声传感数据划分为k组第三超声传感数据,其中,所述k组第三超声传感数据与所述k个方位一一对应;

根据所述m组第三红外传感数据和k组第三超声传感数据,获得与所述m个方位一一对应的m组方位传感数据;

根据预设数据筛选方式,分别对所述m组方位传感数据中的每一组方位传感数据进行筛选;

根据筛选后的每一组所述方位传感数据,获得m个障碍物距离。

可选的,所述n个红外传感器分别分布于所述移动机器人上的至少两个高度位置上,所述超声传感器的高度位置位于所述n个红外传感器所对应的最高高度位置和最低高度位置之间。

可选的,每个高度位置上的所述红外传感器分别在所述m个方位中的每一个方位所对应的角度区域内等距离分布,并且所述超声传感器分别在所述k个方位中的每一个方位所对应的角度区域内等距离分布。

本申请实施例中,通过移动机器人上的n个红外传感器,获得当前时刻之前的预设时间段内的第一红外传感数据,并通过所述移动机器人上的l个超声传感器,获得所述预设时间段内的第一超声传感数据,可以结合红外传感器和超声传感器对环境中的障碍物的情况进行检测,并分别对所述第一红外传感数据和所述第一超声传感数据进行预处理,获得m个障碍物距离,可以减小由于各式各样的障碍物的材质、颜色、形状等导致的检测误差,提高对障碍物的检测精度。

其中,上述处理器630可以是中央处理单元(centralprocessingunit,cpu),该处理器630还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器,也可以是任何常规的处理器等。

上述存储器631在一些实施例中可以是上述控制电路63的内部存储单元,例如控制电路63的硬盘或内存。上述存储器631在另一些实施例中也可以是上述控制电路63的外部存储设备,例如上述控制电路63上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,上述存储器631还可以既包括上述控制电路63的内部存储单元也包括外部存储设备。上述存储器631用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如上述计算机程序的程序代码等。上述存储器631还可以用于暂时地存储已经输出或者将要输出的数据。

需要说明的是,上述信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

本领域技术人员可以理解,图6仅仅是移动机器人6的举例,并不构成对移动机器人6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现可实现上述各个移动机器人控制方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个移动机器人控制方法实施例中的步骤。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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