机器人的运动控制方法、装置、电子设备及存储介质与流程

    专利查询2024-12-29  59



    1.本公开涉机器人控制技术领域,尤其涉及一种机器人的运动控制方法、装置、电子设备及存储介质。


    背景技术:

    2.近些年来,扫地机器人慢慢进入千家万户,成为人们日常生活中的常见电器和得力助手。扫地机器人的核心工作之一是对整个房间的待清扫区域进行全覆盖,也就是通过自身移动,使得机器人的有效清洁面积覆盖整个待清扫区域。机器人在清扫过程中记录已经覆盖清扫的位置,当发现可达空间中的待清扫区域全部覆盖完成之后,停止清扫回到充电座。
    3.在家庭场景等扫地机器人的使用场景中,墙体边沿、转角处等边界往往是灰尘堆积情况比较严重的区域,因此在对大部分区域清扫后往往需要针对边界进行重点清扫,即沿边清扫,以提升整体清洁覆盖率。但是相关技术中,扫地机器人在边界处运动的控制精度较差,效率较低,造成其在沿边清扫过程中的清扫效果较差。


    技术实现要素:

    4.本公开提供一种机器人的运动控制方法、装置、设备及存储介质。
    5.根据本公开实施例的第一方面,提供一种机器人的运动控制方法,包括:
    6.获取所述机器人的第一传感器采集的第一参数,其中,所述第一参数用于表征所述机器人的第一方向的边界信息;
    7.获取所述机器人的第二传感器采集的第二参数,其中,所述第二参数用于表征所述机器人的第二方向的边界信息;
    8.根据所述第一参数和所述第二参数确定所述机器人的运动状态;
    9.控制所述机器人执行与所述运动状态相匹配的运动。
    10.在一个实施例中,所述第一传感器包括碰撞传感器,所述第一参数包括第一碰撞参数和第二碰撞参数,其中,所述第一碰撞参数用于表征所述机器人在第一方向上与边界发生碰撞,所述第二碰撞参数用于表征所述机器人未在第一方向上与边界发生碰撞。
    11.在一个实施例中,所述第二传感器包括距离传感器,所述第二参数包括机器人与第二方向上的边界间的距离值。
    12.在一个实施例中,所述根据所述第一参数和所述第二参数确定所述机器人的运动状态,包括:
    13.在所述第一参数表征所述机器人未在第一方向上与边界发生碰撞,且所述距离差值小于第一距离阈值的情况下,确定所述机器人的运动状态为沿边直行状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    14.在一个实施例中,所述控制所述机器人执行与所述运动状态相匹配的运动,包括:
    15.在所述机器人的运动状态为沿边直行状态的情况下,控制所述机器人沿第一方向运动,且在运动过程中与第二方向上的边界保持第一距离。
    16.在一个实施例中,所述根据所述第一参数和所述第二参数确定所述机器人的运动状态,包括:
    17.在所述第一参数表征所述机器人在第一方向上与边界发生碰撞,且所述距离差值小于第一距离阈值的情况下,确定所述机器人的运动状态为内角转弯状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    18.在一个实施例中,所述控制所述机器人执行与所述运动状态相匹配的运动,包括:
    19.在所述机器人的运动状态为内角转弯状态的情况下,控制所述机器人通过执行下述运动将运动状态切换至沿边直行状态:
    20.沿第一方向的反方向运动第二距离后向第二方向的反方向旋转,并在所述距离传感器采集的距离值为第一距离时停止旋转。
    21.在一个实施例中,所述控制所述机器人执行与所述运动状态相匹配的运动,还包括:
    22.在所述机器人向第二方向的反方向旋转至第一预设角度,且所述距离传感器未采集到第一距离的距离值的情况下,控制所述机器人停止旋转,并获取旋转过程中所述距离传感器采集到的最大距离值之后的最小距离值;
    23.在所述最小距离值与所述第一距离的差值小于预设误差值的情况下,控制所述机器人旋转至所述最小距离值对应的角度,将运动状态切换为沿边直行状态。
    24.在一个实施例中,所述根据所述第一参数和所述第二参数确定所述机器人的运动状态,包括:
    25.在所述第一参数表征所述机器人未在第一方向上与边界发生碰撞,且所述距离差值大于第二距离阈值的情况下,确定所述机器人的运动状态为外角转弯状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    26.在一个实施例中,所述控制所述机器人执行与所述运动状态相匹配的运动,包括:
    27.在所述运动状态为外角转弯状态的情况下,控制所述机器人向第一方向运动第二距离后向第二方向旋转第二预设角度,获取所述距离传感器采集的距离值;
    28.在所述距离传感器采集的距离值依次包括无效值、有效值和无效值,且所述有效值区间内的距离值逐渐减小的情况下,控制所述机器人旋转至所述有效值区间内的最小距离值对应的角度,将运动状态切换为沿边直行状态;
    29.在所述距离传感器采集的距离值呈先逐渐减小后逐渐增大的情况下,控制所述机器人旋转至最小距离值对应的角度,将运动状态切换为沿边直行状态。
    30.在一个实施例中,所述第一方向和所述第二方向相互垂直。
    31.根据本公开实施例的第二方面,提供一种机器人的运动控制装置,包括:
    32.第一获取模块,用于获取所述机器人的第一传感器采集的第一参数,其中,所述第一参数用于表征所述机器人的第一方向的边界信息;
    33.第二获取模块,用于获取所述机器人的第二传感器采集的第二参数,其中,所述第
    二参数用于表征所述机器人的第二方向的边界信息;
    34.状态模块,用于根据所述第一参数和所述第二参数确定所述机器人的运动状态;
    35.运动模块,用于控制所述机器人执行与所述运动状态相匹配的运动。
    36.在一个实施例中,所述第一传感器包括碰撞传感器,所述第一参数包括第一碰撞参数和第二碰撞参数,其中,所述第一碰撞参数用于表征所述机器人在第一方向上与边界发生碰撞,所述第二碰撞参数用于表征所述机器人未在第一方向上与边界发生碰撞。
    37.在一个实施例中,所述第二传感器包括距离传感器,所述第二参数包括机器人与第二方向上的边界间的距离值。
    38.在一个实施例中,所述状态模块具体用于:
    39.在所述第一参数表征所述机器人未在第一方向上与边界发生碰撞,且距离差值小于第一距离阈值的情况下,确定所述机器人的运动状态为沿边直行状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    40.在一个实施例中,所述运动模块具体用于:
    41.在所述机器人的运动状态为沿边直行状态的情况下,控制所述机器人沿第一方向运动,且在运动过程中与第二方向上的边界保持第一距离。
    42.在一个实施例中,所述状态模块具体用于:
    43.在所述第一参数表征所述机器人在第一方向上与边界发生碰撞,且所述距离差值小于第一距离阈值的情况下,确定所述机器人的运动状态为内角转弯状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    44.在一个实施例中,所述状态模块还用于:
    45.在所述机器人的运动状态为内角转弯状态的情况下,控制所述机器人通过执行下述运动将运动状态切换至沿边直行状态:
    46.沿第一方向的反方向运动第二距离后向第二方向的反方向旋转,并在所述距离传感器采集的距离值为第一距离时停止旋转。
    47.在一个实施例中,所述运动模块具体用于:
    48.在所述机器人向第二方向的反方向旋转至第一预设角度,且所述距离传感器未采集到第一距离的距离值的情况下,控制所述机器人停止旋转,并获取旋转过程中所述距离传感器采集到的最大距离值之后的最小距离值;
    49.在所述最小距离值与所述第一距离的差值小于预设误差值的情况下,控制所述机器人旋转至所述最小距离值对应的角度,将运动状态切换为沿边直行状态。
    50.在一个实施例中,所述状态模块还用于:在所述第一参数表征所述机器人未在第一方向上与边界发生碰撞,且所述距离差值大于第二距离阈值的情况下,确定所述机器人的运动状态为外角转弯状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    51.在一个实施例中,所述运动模块具体用于:
    52.在所述运动状态为外角转弯状态的情况下,控制所述机器人向第一方向运动第二距离后向第二方向旋转第二预设角度,获取所述距离传感器采集的距离值;
    53.在所述距离传感器采集的距离值依次包括无效值、有效值和无效值,且所述有效
    值区间内的距离值逐渐减小的情况下,控制所述机器人旋转至所述有效值区间内的最小距离值对应的角度,将运动状态切换为沿边直行状态;和/或,
    54.在所述距离传感器采集的距离值呈先逐渐减小后逐渐增大的情况下,控制所述机器人旋转至最小距离值对应的角度,将运动状态切换为沿边直行状态。
    55.在一个实施例中,所述第一方向和所述第二方向相互垂直。
    56.根据本公开实施例的第三方面,提供一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现第一方面所述的方法。
    57.根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面所述的方法。
    58.根据上述实施例可知,通过获取机器人的第一传感器采集的第一参数以及第二传感器采集的第二参数,可以根据第一参数和第二参数确定机器人的运动状态,由于第一参数和第二参数能够分别表征机器人的两个方向上的边界信息,因此可以准确的确定机器人周围的边界信息,并准确的确定机器人的运动状态,最后可以控制机器人执行与运动状态相匹配的运动,从而提高机器人的运动控制精度和效率。若将该运动控制方法应用于扫地机器人,可以提高扫地机器人在边界处运动的控制精度和效率,改善扫地机器人在沿边清扫过程中的清扫效果。
    59.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
    附图说明
    60.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
    61.图1是本公开一示例性实施例示出的机器人的运动控制方法的流程图;
    62.图2是本公开一示例性实施例示出的机器人的结构示意图;
    63.图3是本公开一示例性实施例示出的沿边运动的示意图;
    64.图4是本公开一示例性实施例示出的内角转弯过程中距离传感器采集的距离值的变化曲线;
    65.图5是本公开一示例性实施例示出的外角的示意图;
    66.图6是本公开一示例性实施例示出的在图5所示的外角处转弯的过程中距离传感器采集的距离值的变化曲线;
    67.图7是本公开另一示例性实施例示出的外角的示意图;
    68.图8是本公开一示例性实施例示出的在图7所示的外角处转弯的过程中距离传感器采集的距离值的变化曲线;
    69.图9是本公开实施例示出的机器人的运动控制装置的结构示意图;
    70.图10是本公开实施例示出的电子设备的结构示意图。
    具体实施方式
    71.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及
    附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
    72.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
    73.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
    ……
    时”或“当
    ……
    时”或“响应于确定”。
    74.第一方面,本公开至少一个实施例提供了一种机器人的运动控制方法,请参照附图1,其示出了该方法的流程,包括步骤s101至步骤s104。
    75.其中,该方法可以用于对扫地机器人等机器人的运动进行控制,机器人的运动包括在空旷的区域进行运动,以及在边界附近的运动,例如沿边运动。请参照附图2,其示例性的示出了机器人的结构,机器人具有万向轮等运动件,机器人可以通过驱动这些运动件来实现前进、后退、原地向左转弯、原地向右转弯等运动。机器人可以呈各种形状,例如扫地机器人可以呈如图2所示的圆形,包括本体和设置在本体上的清扫部件,例如毛刷,清扫部件可以凸出于本体的边沿之外。
    76.另外,该方法可以由机器人的处理器执行,也可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(personal digital assistant,pda)手持设备、计算设备、车载设备、可穿戴设备等,该方法可以通过终端设备的处理器调用其存储器中存储的计算机可读指令的方式来实现。
    77.在步骤s101中,获取所述机器人的第一传感器采集的第一参数,其中,所述第一参数用于表征所述机器人的第一方向的边界信息。
    78.其中,第一方向是相对于机器人来讲的方向,也就是说,当机器人发生旋转等方向变化,则第一方向随着改变。示例性的,第一方向可以为机器人的前方,则本步骤所获取的第一参数用于表征机器人的前方的边界信息。第一方向上的边界信息可以包括机器人在第一方向上的预设区域(预设尺寸和形状的区域)内的边界信息,即在第一方向的预设区域内是否存在边界以及所存在的边界的方向、距离等。
    79.第一传感器可以安装在机器人上,其采集数据的方向为第一方向,例如,可以将第一传感器安装在机器人的第一方向的端部,从而便于向第一方向采集数据。第一传感器可以实时采集第一参数,也可以按照一定频率采集第一参数。
    80.在一个示例中,请参照附图2,所述第一传感器包括设置在机器人前端的碰撞传感器b,该碰撞传感器能够采集前方的边界信息(即第一方向为前方)。在此基础上,所述第一参数包括第一碰撞参数和第二碰撞参数,其中,所述第一碰撞参数用于表征所述机器人在第一方向上与边界发生碰撞,即第一方向的预设区域内存在边界,所述第二碰撞参数用于
    表征所述机器人未在第一方向上与边界发生碰撞,即第一方向的预设区域内无边界。执行该方法的终端可以具有传感器信号处理模块,该模块可以接收碰撞传感器等第一传感器所采集的原始数据,并对原始数据进行滤波、坐标变化等计算后,得到输出信号,输出信号能够更加直观的表征机器人的边界信息,执行该方法的终端可以将传感器信号处理模块的输出信号作为第一传感器采集的第一参数。例如,采集的第一参数可以用sc来表示,当第一参数为第一碰撞参数时,碰撞传感器所输出的sc=1,当第一参数为第二碰撞参数时,碰撞传感器所输出的sc=0。碰撞传感器能够通过碰撞与否来确定第一方向上是否存在边界,直接简单,高效准确,避免使用复杂算法确定边界信息所造成的效率低下和精度较差等问题。
    81.在另一个示例中,所述第一传感器包括图像处理传感器,所述图像处理传感器可以采集机器人第一方向上的图像,并根据图像确定第一方向的边界信息,该边界信息进而用于生成表征第一方向的边界信息的第一参数。
    82.在步骤s102中,获取所述机器人的第二传感器采集的第二参数,其中,所述第二参数用于表征所述机器人的第二方向的边界信息。
    83.其中,第二方向是相对于机器人来讲的方向,也就是说,当机器人发生旋转等方向变化,则第二方向随着改变。示例性的,第二方向可以为机器人的左侧或右侧,则本步骤所获取的第二参数用于表征机器人的左侧或右侧的边界信息。第二方向上的边界信息可以包括机器人在第二方向上的预设区域(预设尺寸和形状的区域)内的边界信息,即在第二方向的预设区域内是否存在边界以及所存在的边界的方向、距离等。
    84.第二传感器可以安装在机器人上,其采集数据的方向为第二方向,例如,可以将第二传感器安装在机器人的第二方向的端部,从而便于向第二方向采集数据。第二传感器可以实时采集第二参数,也可以按照一定频率采集第二参数。
    85.在一个示例中,请参照附图2,第二方向x为机器人的右侧,所述第二传感器包括设置在机器人右侧端部的距离传感器a,该距离传感器能够采集右侧的边界信息。距离传感器可以向第二方向发送探测信号,若探测信号被边界反射回来则可以根据信号传播速度和时间计算距离值,若未收到反射信号则可以将采集的距离值定义为无效值(如无限大等较大数值),因此若距离传感器采集到的距离值为有效值(即根据信号传播速度和时间计算的距离值),则表征机器人的第二方向的预设区域内存在边界,若距离传感器采集到的距离值为无效值,则表征机器人的第二方向的预设区域内无边界。在此基础上,所述第二参数包括机器人与第二方向上的边界间的距离值。
    86.在一个可能的实施例中,可以按照下述方式根据距离传感器采集的距离值确定机器人在第二方向上的边界信息:在所述距离值大于预设的距离阈值的情况下,确定所述机器人在第二方向上的预设区域内无边界;在所述距离小于或等于预设的距离阈值的情况下,确定所述机器人在第二方向的预设区域内存在边界。其中,距离阈值可以预先设置,例如预设区域在第二方向上的尺寸。在距离传感器通过发射探测信号的方式来采集距离时,可以将距离阈值设置为距离传感器的有效探测距离,则可以在距离传感器收到探测信号的反射信号时确定所述机器人第二方向的预设区域内存在边界,在距离传感器未收到探测信号的反射信号时确定所述机器人第二方向的预设区域内无边界。
    87.在步骤s103中,根据所述第一参数和所述第二参数确定所述机器人的运动状态。
    88.机器人的运动状态可以包括沿边运动状态和非沿边运动状态(即在空旷的区域内
    运动),沿边运动状态可以包括沿边直行状态、内角转弯状态和外角转弯状态等。可以参照附图3,其示例性的示出了一个机器人的运动区域,机器人在该运动区域内沿箭头进行沿边运动时,可以在图中的机器人所处的位置呈沿边直行状态,也可以在多个内角1处呈内角转弯状态,还可以在多个外角2处呈外角转弯状态。
    89.可以根据第一方向上的边界信息和第二方向上的边界信息确定机器人的运动状态。可选的,第一方向和第二方向相互垂直,从而可以结合两个方向的边界信息,使确定的机器人运动状态准确可靠。示例性的,可以参照附图2或附图3,第一方向为机器人的前方,第二方向为机器人的右侧,从而可以结合机器人前方的边界信息以及机器人右侧的边界信息确定机器人运动状态。具体的,可以在前方无边界而右侧有边界时将运动状态确定为沿边直行状态,在前方有边界且右侧有边界时将运动状态确定为内角转弯状态,在前方无边界且右侧由有边界改变为无边界时将运动状态确定为外角转弯状态,在前方无边界且右侧无边界时将运动状态确定为非沿边状态。
    90.在步骤s104中,控制所述机器人执行与所述运动状态相匹配的运动。
    91.其中,在控制机器人运动时,可以先确定与机器人的运动状态相匹配的运动指令,然后在按照运动指令控制机器人运动。运动指令可以包括运动方向,运动速度、运动距离等,在运动为前进、后退等时,运动速度为线速度,在运动为原地向左转弯或原地向右转弯时运动速度为角速度。
    92.运动指令可以包括基本运动部分和沿边距离控制部分,基本运动部分用于控制机器人的前进、后退、原地向左转弯、原地向右转弯等运动,沿边距离控制部分用于控制机器人在运动过程中与边界的距离,例如可以控制机器人与边界始终保持固定距离。控制机器人做沿边运动的运动指令包括基本运动部分和沿边距离控制部分,控制机器人做非沿边运动(即在空旷的区域进行运动)的运动指令包括基本运动部分。示例性的,在扫地机器人沿边清扫时,运动指令的基本运动部分用于控制扫地机器人按照一定速度前进,运动指令的沿边距离控制部分用于控制机器人在运动过程中与边界保持固定距离。沿边清扫时机器人与边界间的固定距离可以根据扫地机器人的清扫部件来确定,即在保证扫地机器人能够清扫边界的情况下尽量增大距离。
    93.沿边运动中,运动指令中沿边距离控制部分的运动参数u可以按照下述公式计算得到:
    [0094][0095]
    其中,p
    p
    为预先设置的所计算的运动参数u对应的比例增益系数;pi为预先设置的所计算的运动参数u对应的积分增益系数;pd为预先设置的所计算的运动参数u对应的微分增益系数;ek为沿边运动中,第k个运动参数输出周期中机器人与边界所要保持的固定距离与真实距离的误差值;ei为沿边运动中,第i个运动参数输出周期中机器人与边界所要保持的固定距离与真实距离的误差值;e
    k-1
    为第k-1个运动参数输出周期中机器人与边界所要保持的固定距离与真实距离的误差值;δti为沿边运动中,第i个运动参数输出周期的时长;δtk为沿边运动中,第k个运动参数输出周期的时长;所计算的u为沿边运动中,第k+1个运动参数输出周期的参数。运动参数u可以为线速度、加速度等参数。
    [0096]
    非沿边运动中,运动指令可以用于控制机器人沿任何一定的路径进行运动,例如用于控制扫地机器人进行非沿边运动的运动指令,可以用于控制机器人向前方运动一定距离,并向一侧平移一定距离,再向后方运动一定距离,如此反复运动直至运动路径将待清扫范围全部覆盖。
    [0097]
    机器人内可以设置基本运动控制模块和沿边距离控制模块,基本运动模块用于按照运动指令中的基本运动部分驱动机器人运动,沿边距离控制模块用于按照运动指令中的沿边距离控制部分对机器人与边界的距离进行控制。
    [0098]
    根据上述实施例可知,通过获取机器人的第一传感器采集的第一参数以及第二传感器采集的第二参数,可以根据第一参数和第二参数确定机器人的运动状态,由于第一参数和第二参数能够分别表征机器人的两个方向上的边界信息,因此可以准确的确定机器人周围的边界信息,并准确的确定机器人的运动状态,最后可以控制机器人执行与运动状态相匹配的运动,从而提高机器人的运动控制精度和效率。若将该运动控制方法应用于扫地机器人,可以提高扫地机器人在边界处运动的控制精度和效率,改善扫地机器人在沿边清扫过程中的清扫效果。
    [0099]
    本公开的一些实施例中,在机器人处于沿边直行状态时,可以按照下述方式根据所述第一参数和所述第二参数确定所述机器人的运动状态:在所述第一参数表征所述机器人未在第一方向上与边界发生碰撞,且距离差值小于第一距离阈值的情况下,确定所述机器人的运动状态为沿边直行状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    [0100]
    示例性的,碰撞传感器和距离传感器均按照一定频率采集对应的参数。碰撞传感器的第一碰撞参数记为sc=1,第二碰撞参数记为sc=0。距离传感器当前采集的距离值为d1,上一次采集的距离值为d0。则在sc=0,且diff(d1,d0)《threshold_1时,确定机器人的运动状态为沿边直行状态,其中,diff(d1,d0)表示当前采集的距离值为d1与上一次采集的距离值d0之间的距离差值,threshold_1为第一距离阈值。第一距离阈值可以根据距离控制误差和距离传感器的测量噪声预先设置,距离差值小于第一距离阈值时,表示两次采集的距离值均为有效值,且变化在误差范围内,第二方向内存在边界且是连续的,未发生变化的。
    [0101]
    例如第一方向为前方,第二方向为右方,则在所述第一参数为所述第二碰撞参数,且所述距离差值小于第一距离阈值的情况下,前方无边界,右侧存在边界,因此机器人处于图3中的机器人所处的位置,呈沿边直行状态。
    [0102]
    基于上述实施例所确定的沿边直行状态,可以按照下述方式控制所述机器人执行与所述运动状态相匹配的运动:在所述机器人的运动状态为沿边直行状态的情况下,控制所述机器人沿第一方向运动,且在运动过程中与第二方向上的边界保持第一距离。例如,第一方向为前方,第二方向为右侧,则在沿边直行状态下控制机器人向前运动,并在运动过程中与右侧边界保持第一距离,第一距离可以根据机器人运动的用途来确定,例如机器人为扫地机器人,扫地机器人的运动是为了覆盖待清扫区域,沿边运动是为了重点清扫边界区域,因此第一距离可以根据扫地机器人的清扫部件来确定,以使扫地机器人距离右侧边界第一距离时能够清扫到右侧边界处的待清扫区域。
    [0103]
    本公开的一些实施例中,在机器人处于内角转弯状态时,可以按照下述方式根据
    所述第一参数和所述第二参数确定所述机器人的运动状态:在所述第一参数表征所述机器人在第一方向上与边界发生碰撞,且所述距离差值小于第一距离阈值的情况下,确定所述机器人的运动状态为内角转弯状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    [0104]
    示例性的,碰撞传感器和距离传感器均按照一定频率采集对应的参数。碰撞传感器的第一碰撞参数记为sc=1,第二碰撞参数记为sc=0。距离传感器当前采集的距离值为d1,上一次采集的距离值为d0。则在sc=1,且diff(d1,d0)《threshold_1时,确定机器人的运动状态为内角转弯状态,其中,diff(d1,d0)表示当前采集的距离值为d1与上一次采集的距离值d0之间的距离差值,threshold_1为第一距离阈值。第一距离阈值可以预先设置,距离差值小于第一距离阈值时,表示两次采集的距离值均为有效值,且变化在误差范围内,第二方向内存在边界且是连续的,未发生变化的。
    [0105]
    例如第一方向为前方,第二方向为右方,则在所述第一参数为所述第一碰撞参数,且所述距离差值小于第一距离阈值的情况下,前方存在边界,右侧存在边界,因此机器人处于图3中内角1处的位置,呈内角转弯状态。
    [0106]
    基于上述实施例所确定的内角转弯状态,可以按照下述方式控制所述机器人执行与所述运动状态相匹配的运动:在所述机器人的运动状态为内角转弯状态的情况下,控制所述机器人通过执行下述运动将运动状态切换至沿边直行状态:沿第一方向的反方向运动第二距离后向第二方向的反方向旋转,并在所述距离传感器采集的距离值为第一距离时停止旋转。
    [0107]
    其中,机器人沿第一方向的反方向运动第二距离是为了使机器人的碰撞传感器解除碰撞状态,并且为之后的状态切换(即由内角转弯状态切换为沿边直行状态)预留活动空间,例如第一方向为前方,则机器人沿第一方向反方向运动第二距离就是机器人后退第二距离。第二距离可以与沿边执行状态下的运动中的第一距离相等,这是因为机器人与第一方向的边界间的距离在切换状态后将变为机器人与第二方向的边界间的距离,因此这样控制第二距离,便于切换状态之后机器人的运动控制。
    [0108]
    其中,机器人向第二方向的反方向旋转时,可以使机器人完成内角转弯。机器人在旋转过程中,距离传感器所采集的距离值呈现如图4所示的变化趋势,即由第一距离逐渐增加,然后增加至极大值后逐渐减小,最后减小至第一距离,这是因为,距离传感器由朝向原第二方向上的边界旋转至朝向转角的过程中距离边界的距离值逐渐增大,距离传感器由朝向转角旋转至朝向原第一方向上的边界的过程中距离边界的距离值逐渐减小。
    [0109]
    其中,旋转过程中,所述距离传感器采集的距离值缩小至第一距离时,表示距离传感器朝向原第一方向,即切换至了沿边直行状态,然后可以按照沿边直行状态控制机器人进行运动。
    [0110]
    可以理解的是,在所述机器人向第二方向的反方向旋转至第一预设角度(例如180
    °
    ),且所述距离传感器未采集到第一距离的距离值的情况下,控制所述机器人停止旋转,并获取旋转过程中所述距离传感器采集到的最大距离值之后的最小距离值(即图4中波峰之后的最小值);然后,在所述最小距离值与所述第一距离的差值小于预设误差值的情况下,控制所述机器人旋转至所述最小距离值对应的角度,将运动状态切换为沿边直行状态。从而可以在由于内角角度,运动控制精度等原因造成无法采集到第一距离的问题时,能够
    准确的完成内角转弯,切换至沿边直行状态。本公开实施例中使用历史测量信息给出旋转角度,减少无效碰撞,提高状态切换效率。
    [0111]
    本公开的一些实施例中,在机器人处于外角转弯状态时,可以按照下述方式根据所述第一参数和所述第二参数确定所述机器人的运动状态:在所述第一参数表征所述机器人未在第一方向上与边界发生碰撞,且所述距离差值大于第二距离阈值的情况下,确定所述机器人的运动状态为外角转弯状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    [0112]
    示例性的,碰撞传感器和距离传感器均按照一定频率采集对应的参数。碰撞传感器的第一碰撞参数记为sc=1,第二碰撞参数记为sc=0。距离传感器当前采集的距离值为d1,上一次采集的距离值为d0。则在sc=0,且diff(d1,d0)>threshold_2时,确定机器人的运动状态为外角转弯状态,其中,diff(d1,d0)表示当前采集的距离值为d1与上一次采集的距离值d0之间的距离差值,threshold_2为第二距离阈值。第二距离阈值可以预先设置,第二距离阈值大于第一距离阈值,当距离差值大于第二距离阈值时,表示当前采集的距离值为无效值,前一次采集的距离值为有效值,即第二方向由有边界改变为了无边界,即发生了突变。
    [0113]
    例如第一方向为前方,第二方向为右方,则在所述第一参数为所述第二碰撞参数,且所述距离差值大于第二距离阈值的情况下,前方不存在边界,右侧由存在边界改变为存在边界,因此机器人处于图3中外角2处的位置,呈外角转弯状态。
    [0114]
    基于上述实施例所确定的外角转弯状态,可以按照下述方式控制所述机器人执行与所述运动状态相匹配的运动:首先,在所述运动状态为外角转弯状态的情况下,控制所述机器人向第一方向运动第三距离后向第二方向旋转第二预设角度,获取所述距离传感器采集的距离值;接下来,在所述距离传感器采集的距离值依次包括无效值、有效值和无效值,且所述有效值区间内的距离值逐渐减小的情况下,控制所述机器人旋转至所述有效值区间内的最小距离值对应的角度,将运动状态切换为沿边直行状态;和/或,在所述距离传感器采集的距离值呈先逐渐减小后逐渐增大的情况下,控制所述机器人旋转至最小距离值对应的角度,将运动状态切换为沿边直行状态。
    [0115]
    其中,第三距离可以使机器人在原第二方向的边界上的投影脱离该边界,因此第三距离可以为r+d1,其中,r为距离传感器至机器人中心间的距离,例如圆形的扫地机器人的距离传感器设置在右侧端部,则r为扫地机器人的半径,d1为第一距离。第二预设角度可以为90
    °

    [0116]
    其中,机器人向第二方向旋转时,可以使机器人完成外角转弯。
    [0117]
    在外角的角度为直角或图5所示的锐角时,距离传感器所采集的距离值呈现如图6所示的变化趋势,即所述距离传感器采集的距离值依次包括无效值、有效值和无效值,且所述有效值区间内的距离值逐渐由a减小到b,这是因为,如图5所示,距离传感器在旋转过程中,开始在第二方向上检测不到边界,则采集的距离值为无效值,然后随着旋转距离传感器离边界越来越近,在第二方向上检测到边界,则采集的距离值为有效值且逐渐减小,最后随着旋转距离传感器又远离边界,在第二方向上又检测不到边界,则采集的距离值为无效值。
    [0118]
    在外角的角度为图7所示的钝角时,距离传感器所采集的距离值呈现如图8所示的变化趋势,即所述距离传感器采集的距离值呈先逐渐减小后逐渐增大的趋势,这是因为,如
    图7所示,距离传感器在旋转过程中,开始能够检测边界且边界较远,然后边界逐渐靠近,然后再变远。
    [0119]
    其中,旋转过程中,距离传感器采集最小距离值的角度(例如图6中的b角度和图8中的m角度),表示机器人在第二方向上具有边界,且与边界的距离最近,机器人旋转到该角度后,可以向第一方向运动,从而使距离传感器持续采集到有效值,即切换至了沿边直行状态,然后可以按照沿边直行状态控制机器人进行运动。本公开实施例中使用历史测量信息给出旋转角度,减少无效碰撞,提高状态切换效率。
    [0120]
    根据本公开实施例的第二方面,提供一种机器人的运动控制装置,请参照附图9,所述装置包括:
    [0121]
    第一获取模块901,用于获取所述机器人的第一传感器采集的第一参数,其中,所述第一参数用于表征所述机器人的第一方向的边界信息;
    [0122]
    第二获取模块902,用于获取所述机器人的第二传感器采集的第二参数,其中,所述第二参数用于表征所述机器人的第二方向的边界信息;
    [0123]
    状态模块903,用于根据所述第一参数和所述第二参数确定所述机器人的运动状态;
    [0124]
    运动模块904,用于控制所述机器人执行与所述运动状态相匹配的运动。
    [0125]
    在本公开的一些实施例中,所述第一传感器包括碰撞传感器,所述第一参数包括第一碰撞参数和第二碰撞参数,其中,所述第一碰撞参数用于表征所述机器人在第一方向上与边界发生碰撞,所述第二碰撞参数用于表征所述机器人未在第一方向上与边界发生碰撞。
    [0126]
    在本公开的一些实施例中,所述第二传感器包括距离传感器,所述第二参数包括机器人与第二方向上的边界间的距离值。
    [0127]
    在本公开的一些实施例中,所述状态模块具体用于:
    [0128]
    在所述第一参数表征所述机器人未在第一方向上与边界发生碰撞,且距离差值小于第一距离阈值的情况下,确定所述机器人的运动状态为沿边直行状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    [0129]
    在本公开的一些实施例中,所述运动模块具体用于:
    [0130]
    在所述机器人的运动状态为沿边直行状态的情况下,控制所述机器人沿第一方向运动,且在运动过程中与第二方向上的边界保持第一距离。
    [0131]
    在本公开的一些实施例中,所述状态模块具体用于:
    [0132]
    在所述第一参数表征所述机器人在第一方向上与边界发生碰撞,且所述距离差值小于第一距离阈值的情况下,确定所述机器人的运动状态为内角转弯状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    [0133]
    在本公开的一些实施例中,所述状态模块还用于:
    [0134]
    在所述机器人的运动状态为内角转弯状态的情况下,控制所述机器人通过执行下述运动将运动状态切换至沿边直行状态:
    [0135]
    沿第一方向的反方向运动第二距离后向第二方向的反方向旋转,并在所述距离传感器采集的距离值为第一距离时停止旋转。
    [0136]
    在本公开的一些实施例中,所述运动模块具体用于:
    [0137]
    在所述机器人向第二方向的反方向旋转至第一预设角度,且所述距离传感器未采集到第一距离的距离值的情况下,控制所述机器人停止旋转,并获取旋转过程中所述距离传感器采集到的最大距离值之后的最小距离值;
    [0138]
    在所述最小距离值与所述第一距离的差值小于预设误差值的情况下,控制所述机器人旋转至所述最小距离值对应的角度,将运动状态切换为沿边直行状态。
    [0139]
    在本公开的一些实施例中,所述状态模块还用于:在所述第一参数表征所述机器人未在第一方向上与边界发生碰撞,且所述距离差值大于第二距离阈值的情况下,确定所述机器人的运动状态为外角转弯状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。
    [0140]
    在本公开的一些实施例中,所述运动模块具体用于:
    [0141]
    在所述运动状态为外角转弯状态的情况下,控制所述机器人向第一方向运动第二距离后向第二方向旋转第二预设角度,获取所述距离传感器采集的距离值;
    [0142]
    在所述距离传感器采集的距离值依次包括无效值、有效值和无效值,且所述有效值区间内的距离值逐渐减小的情况下,控制所述机器人旋转至所述有效值区间内的最小距离值对应的角度,将运动状态切换为沿边直行状态;和/或,
    [0143]
    在所述距离传感器采集的距离值呈先逐渐减小后逐渐增大的情况下,控制所述机器人旋转至最小距离值对应的角度,将运动状态切换为沿边直行状态。
    [0144]
    在本公开的一些实施例中,所述第一方向和所述第二方向相互垂直。
    [0145]
    关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在第一方面有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
    [0146]
    第三方面,本公开至少一个实施例提供了一种设备,请参照附图10,其示出了该设备的结构,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时基于第一方面任一项所述的方法对图像进行处理。
    [0147]
    第四方面,本公开至少一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面任一项所述的方法。
    [0148]
    在本公开中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
    [0149]
    本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
    [0150]
    应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

    技术特征:
    1.一种机器人的运动控制方法,其特征在于,包括:获取所述机器人的第一传感器采集的第一参数,其中,所述第一参数用于表征所述机器人的第一方向的边界信息;获取所述机器人的第二传感器采集的第二参数,其中,所述第二参数用于表征所述机器人的第二方向的边界信息;根据所述第一参数和所述第二参数确定所述机器人的运动状态;控制所述机器人执行与所述运动状态相匹配的运动。2.根据权利要求1所述的机器人的运动控制方法,其特征在于,所述第一传感器包括碰撞传感器,所述第一参数包括第一碰撞参数和第二碰撞参数,其中,所述第一碰撞参数用于表征所述机器人在第一方向上与边界发生碰撞,所述第二碰撞参数用于表征所述机器人未在第一方向上与边界发生碰撞。3.根据权利要求1或2所述的机器人的运动控制方法,其特征在于,所述第二传感器包括距离传感器,所述第二参数包括机器人与第二方向上的边界间的距离值。4.根据权利要求3所述的机器人的运动控制方法,其特征在于,所述根据所述第一参数和所述第二参数确定所述机器人的运动状态,包括:在所述第一参数表征所述机器人未在第一方向上与边界发生碰撞,且距离差值小于第一距离阈值的情况下,确定所述机器人的运动状态为沿边直行状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。5.根据权利要求4所述的机器人的运动控制方法,其特征在于,所述控制所述机器人执行与所述运动状态相匹配的运动,包括:在所述机器人的运动状态为沿边直行状态的情况下,控制所述机器人沿第一方向运动,且在运动过程中与第二方向上的边界保持第一距离。6.根据权利要求3所述的机器人的运动控制方法,其特征在于,所述根据所述第一参数和所述第二参数确定所述机器人的运动状态,包括:在所述第一参数表征所述机器人在第一方向上与边界发生碰撞,且所述距离差值小于第一距离阈值的情况下,确定所述机器人的运动状态为内角转弯状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。7.根据权利要求6所述的机器人的运动控制方法,其特征在于,所述控制所述机器人执行与所述运动状态相匹配的运动,包括:在所述机器人的运动状态为内角转弯状态的情况下,控制所述机器人通过执行下述运动将运动状态切换至沿边直行状态:沿第一方向的反方向运动第二距离后向第二方向的反方向旋转,并在所述距离传感器采集的距离值为第一距离时停止旋转。8.根据权利要求7所述的机器人的运动控制方法,其特征在于,所述控制所述机器人执行与所述运动状态相匹配的运动,还包括:在所述机器人向第二方向的反方向旋转至第一预设角度,且所述距离传感器未采集到第一距离的距离值的情况下,控制所述机器人停止旋转,并获取旋转过程中所述距离传感器采集到的最大距离值之后的最小距离值;在所述最小距离值与所述第一距离的差值小于预设误差值的情况下,控制所述机器人
    旋转至所述最小距离值对应的角度,将运动状态切换为沿边直行状态。9.根据权利要求3所述的机器人的运动控制方法,其特征在于,所述根据所述第一参数和所述第二参数确定所述机器人的运动状态,包括:在所述第一参数表征所述机器人未在第一方向上与边界发生碰撞,且所述距离差值大于第二距离阈值的情况下,确定所述机器人的运动状态为外角转弯状态,其中,所述距离差值为所述距离传感器当前采集的距离值与所述距离传感器上一次采集的距离值间的差值。10.根据权利要求9所述的机器人的运动控制方法,其特征在于,所述控制所述机器人执行与所述运动状态相匹配的运动,包括:在所述运动状态为外角转弯状态的情况下,控制所述机器人向第一方向运动第二距离后向第二方向旋转第二预设角度,获取所述距离传感器采集的距离值;在所述距离传感器采集的距离值依次包括无效值、有效值和无效值,且所述有效值区间内的距离值逐渐减小的情况下,控制所述机器人旋转至所述有效值区间内的最小距离值对应的角度,将运动状态切换为沿边直行状态;和/或,在所述距离传感器采集的距离值呈先逐渐减小后逐渐增大的情况下,控制所述机器人旋转至最小距离值对应的角度,将运动状态切换为沿边直行状态。11.根据权利要求1至10任一项所述的机器人的运动控制方法,其特征在于,所述第一方向和所述第二方向相互垂直。12.一种机器人的运动控制装置,其特征在于,包括:第一获取模块,用于获取所述机器人的第一传感器采集的第一参数,其中,所述第一参数用于表征所述机器人的第一方向的边界信息;第二获取模块,用于获取所述机器人的第二传感器采集的第二参数,其中,所述第二参数用于表征所述机器人的第二方向的边界信息;状态模块,用于根据所述第一参数和所述第二参数确定所述机器人的运动状态;运动模块,用于控制所述机器人执行与所述运动状态相匹配的运动。13.一种电子设备,其特征在于,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现权利要求1至11任一项所述的方法。14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至11任一所述的方法。

    技术总结
    本公开涉及一种机器人的运动控制方法、装置、电子设备及存储介质,所述方法包括:获取所述机器人的第一传感器采集的第一参数,其中,所述第一参数用于表征所述机器人的第一方向的边界信息;获取所述机器人的第二传感器采集的第二参数,其中,所述第二参数用于表征所述机器人的第二方向的边界信息;根据所述第一参数和所述第二参数确定所述机器人的运动状态;控制所述机器人执行与所述运动状态相匹配的运动。运动。运动。


    技术研发人员:于行尧 龙有炼 邓文钧 张展鹏
    受保护的技术使用者:深圳市商汤科技有限公司
    技术研发日:2022.03.04
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-25666.html

    最新回复(0)