脱困方法、设备及存储介质与流程

文档序号:17922953发布日期:2019-06-15 00:14阅读:258来源:国知局
脱困方法、设备及存储介质与流程

本申请涉及人工智能技术领域,尤其涉及一种脱困方法、设备及存储介质。



背景技术:

自移动设备在工作过程中,当行进路径上存在障碍物时,自移动设备可能陷入被困状态。

目前,随着人们生活水平的提高,家庭内部环境情况也越来越复杂,扫地自移动设备在应对复杂的家庭环境时,不光需要在环境检测上精益求精,也要在相对应的环境或障碍下做出行之有效的脱困动作。



技术实现要素:

本申请的多个方面提供一种脱困方法、设备及存储介质,在自移动设备处于单轮被困状态时,提高自移动设备脱困的成功率,而且无需增加额外硬件设备,成本低。

本申请实施例提供一种脱困方法,适用于自移动设备,所述方法包括:确定自移动设备处于单轮被困状态,控制自移动设备沿后退方向后退;所述后退方向为自移动设备在正常工作时的前进方向的反方向;控制自移动设备沿第一旋转方向旋转第一角度,第一旋转方向为朝向被困轮的方向;控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态;所述第一旋转方向和第二旋转方向相反,第二角度大于等于第一角度。

本申请实施例还提供一种自移动设备,包括:机械本体,一个或多个处理器,以及一个或多个存储计算机程序的存储器;所述一个或多个处理器,用于执行所述计算机程序,以用于:确定自移动设备处于单轮被困状态,控制自移动设备沿后退方向后退;所述后退方向为自移动设备在正常工作时的前进方向的反方向;控制自移动设备沿第一旋转方向旋转第一角度,第一旋转方向为朝向被困轮的方向;控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态;所述第一旋转方向和第二旋转方向相反,第二角度大于等于第一角度。

本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:确定自移动设备处于单轮被困状态,控制自移动设备沿后退方向后退;所述后退方向为自移动设备在正常工作时的前进方向的反方向;控制自移动设备沿第一旋转方向旋转第一角度,第一旋转方向为朝向被困轮的方向;控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态;所述第一旋转方向和第二旋转方向相反,第二角度大于等于第一角度。

在本申请一些示例性实施例中,自移动设备在工作过程中,当确定自移动设备处于单轮被困状态时,首先,控制自移动设备沿后退方向后退,以远离附近可能存在的障碍物;接着,控制自移动设备朝向被困轮的方向旋转第一角度,为被困轮脱困留出加速距离,最后,控制自移动设备向朝向被困轮的反方向旋转第二角度以使自移动设备脱离单轮被困状态;提高自移动设备脱困的成功率,且无需增加额外硬件设备,成本低。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请示例性实施例提供的一种脱困方法的方法流程图;

图2为本申请示例性实施例扫地机器人脱困动作的示意图;

图3为本申请示例性实施例扫地机器人脱困动作的另一示意图;

图4为本申请示例性实施例扫地机器人脱困动作的另一示意图;

图5为本申请示例性实施例扫地机器人脱困动作的另一示意图;

图6为本申请示例性实施例提供的一种更加详细的脱困方法的方法流程图;

图7为本申请示例性实施例提供的自移动设备的结构框图;

图8为本申请示例性实施例提供的机器人的结构框图。

具体实施方式

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

在日常复杂的家庭环境中,常常存在着不易通过的移门滑轨,较高的门槛,形状复杂的椅子、桌子,以及浴室和阳台的垂直台阶。扫地机器人在通过上述场景时,时常会发生单侧轮子通过,另一侧轮子被卡住的情况,有些时候还会发生单侧撞板的多次撞击。

目前,扫地机器人处于单侧轮子被障碍物卡住时,现有脱困方法仅仅是让扫地机器人在短暂后退后,作出与撞板撞击相反方向的快速旋转。但是,这个动作在障碍物较高或者轮子打滑时,并不能让机器人有效的脱困,还是会让机器人单侧轮子卡在障碍物上,无法通过,容易发生轮子在障碍物上反复摩擦的现象,非常容易磨损轮胎。扫地机器人的长时间被困,也容易造成定位信息的不准,对整体清扫逻辑影响很大。

针对上述地机器人处于单侧轮子被障碍物卡住时不易脱困的问题,在本申请一些示例性实施例中,自移动设备在工作过程中,当确定自移动设备处于单轮被困状态时,首先,控制自移动设备沿后退方向后退,以远离附近可能存在的障碍物;接着,控制自移动设备朝向被困轮的方向旋转第一角度,为被困轮脱困留出加速距离,最后,控制自移动设备向朝向被困轮的反方向旋转第二角度以使自移动设备脱离单轮被困状态;提高自移动设备脱困的成功率,且无需增加额外硬件设备,成本低。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本申请示例性实施例提供的一种脱困方法的方法流程图,如图1所示,该方法包括:

s101:确定自移动设备处于单轮被困状态,控制自移动设备沿后退方向后退;后退方向为自移动设备在正常工作时的前进方向的反方向;

s102:控制自移动设备沿第一旋转方向旋转第一角度,第一旋转方向为朝向被困轮的方向;

s103:控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态;第一旋转方向和第二旋转方向相反,第二角度大于等于第一角度。

本申请实施例的上述方法的执行主体可以为自移动设备,如无人车、机器人等,且对机器人、无人车的类型不作限定,机器人可以为扫地机器人,跟随机器人,迎宾机器人等。自移动设备上可设置不同类型的传感器,用于采集自移动设备在行进过程中与自身有关的数据和与其周围环境有关的数据。与自移动设备自身有关的数据包括但不限于自移动设备的行驶位置、行驶速度和行驶里程,与周围环境有关的数据包括但不限于与周围环境中的障碍物的距离,周围环境中的障碍物的三维数据,以及周围环境中的障碍物的运动状态。

可选地,传感器包括摄像头、三轴加速度计、陀螺仪、里程计、lds、超声传感器和红外传感器中的至少一种。本申请实施例对传感器的个数及设置的位置不作限定。

在本实施例中,自移动设备可根据传感器上传的数据,确定自移动设备的各种工作状态。自移动设备的工作状态可以包括:正常工作状态和非正常工作状态,其中,非正常工作状态包括但不限于障碍物阻碍状态、打滑状态、卡死状态和单轮被困状态。其中,单轮被困的情形可以为:自移动设备在翻越门槛时,被门槛卡住;自移动设备在穿过椅子底部的u型腿的时候,被椅子u型腿与地面接触的横杆所阻挡。

在本实施例中,确定自移动设备处于单轮被困状态,包括但不限于下列实施例:

实施例一:利用设置于自移动设备上的位姿传感器连续采集自移动设备的位姿信息;根据位姿信息,判断自移动设备是否处于倾斜状态;若自移动设备处于倾斜状态,采集自移动设备在动作过程中的两侧撞板连续撞击第二障碍物的次数;若一侧撞板连续撞击第二障碍物的次数大于设定第一次数阈值,则确定自移动设备处于单轮被困状态,且确定与一侧撞板同侧的驱动轮为被第一障碍物阻挡的被困轮。

实施例二:利用设置于自移动设备上的位姿传感器连续采集自移动设备的位姿信息;根据位姿信息,判断自移动设备是否处于倾斜状态;若自移动设备处于倾斜状态,计算自移动设备处于倾斜状态的时长;若自移动设备处于倾斜状态的时长大于第一预设时间,则确定自移动设备处于单轮被困状态,且确定自移动设备倾斜一侧的驱动轮为被第一障碍物阻挡的被困轮。

图2为本申请示例性实施例提供的一种扫地机器人处于单轮被困状态的示意图,结合图2所示的场景说明上述实施例一的确定自移动设备处于单轮被困状态的方式,如图2所示,扫地机器人的一个驱动轮被门槛(即第一障碍物)卡住,且机器人与门槛右侧的墙壁(即第二障碍物)发生碰撞,扫地机器人根据其上设置的三轴加速度计(即位姿传感器)采集扫地机器人的位姿信息,并基于采集到的扫地机器人当前的位姿信息,判断扫地机器人有无发生倾斜,若判断扫地机器人处于倾斜状态,那么扫地机器人很有可能处于单轮被困状态,若扫地机器人处于倾斜状态,则在扫地机器人正前方触碰传感器记录撞板发生撞击的次数,若扫地机器人一侧撞板连续撞击墙面的次数大于设定第一次数阈值,则确定扫地机器人处于单轮被困状态,且确定与该一侧撞板同侧的驱动轮为被第一障碍物阻挡的被困轮。需要说明的是,第二障碍物指自移动设备检测到的与自移动设备发生撞击的障碍物,第一障碍物和第二障碍物可以为同一实物,例如,椅子的u型腿的横杆和纵杆,也可以不同实物,例如,门槛和门槛两侧的墙壁。

在自移动设备的一侧驱动轮被第一障碍物卡住,且自移动设备的一侧与第二障碍物发生碰撞的场景下,可采用上述实施例一的方式来确定自移动设备处于单轮被困状态,在实际工作环境中,单轮被困状态的场景还可能为自移动设备只是被第一障碍物卡住,而在自移动设备的周围并无其他障碍物,在此种情形下,可采用上述实施例二的方式来确定自移动设备是否处于单轮被困状态。需要说明的是,针对上述确定自移动设备处于单轮被困状态的实施例一和实施例二,自移动设备可以单独采用某一种方式,或者采用实施例一和实施例二两种方式结合,以增加确定单轮被困状态的准确率。在实施例一和实施例二的结合方式上,可以先执行上述实施例二的方式,产生第一判断结果,再执行上述实施一的方式,产生第一判断结果,若第一判断结果和第二判断结果中至少存在一种确定自移动设备处于单轮被困状态,则自移动设备继续执行后续脱困动作。

需要说明的是,本申请对第一预设时间和第一次数阈值不作限定,第一预设时间和第一次数阈值可以根据实际情况作出调整,例如,第一预设时间可以为10s,第一次数阈值可以为3次。

在确定自移动设备处于单轮被困状态后,则自移动设备执行后续脱困动作。首先,控制自移动设备沿后退方向后退,以远离第二障碍物,接着,控制自移动设备沿第一旋转方向旋转第一角度,为被困轮脱困留出加速距离,第一旋转方向为朝向被困轮的方向,最后,控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态。

在上述实施例中,控制自移动设备沿后退方向后退,可以有下列三种方式:

方式一:自移动设备沿后退方向后退设定距离;

方式二:控制自移动设备以第一速度沿后退方向后退第二预设时间;

方式三:根据自移动设备与第一障碍物的距离,确定自移动设备可以后退的目标距离,控制自移动设备以第二速度沿后退方向后退目标距离。

在上述方式一中,在自移动设备出厂时,设置一固定的设定距离。本实施例对设定距离不作限定,用户可以根据实际情况,调整设定距离。

在上述方式二中,在自移动设备出厂时,设置第一速度和第二预设时间;第一速度和第二预设时间也可以通过用户进入自移动设备的脱困模式下,手动进行修改。本实施例对第一速度和第二预设时间不作限定,用户可以根据实际情况,调整第一速度和第二预设时间。

在上述方式三中,自移动设备可以在其机身底部设置距离传感器,用于采集驱动轮与第一障碍物之间的距离,根据自移设备与第一障碍物的距离,确定自移动设备可以后退的目标距离,控制自移动设备以第二速度沿后退方向后退目标距离,其中目标距离小于自移动设备与第一障碍物的距离。在此种方式中,自移动设备先通过计算获取目标距离,再进行后退动作,自移动设备的脱困动作更加精确,提升脱困的成功率。

如图3所示,扫地机器人沿后退方向(图3箭头所示方向)后退一定距离,可以远离右侧的墙壁。

在控制自移动设备沿后退方向后退后,控制自移动设备沿第一旋转方向旋转第一角度。可选地,第一角度可以为自移动设备出厂时预设的,也可以为用户后期手动设定。第一角度还可以为根据第一速度和第二预设时间计算获取,在控制自移动设备沿第一旋转方向旋转第一角度之前,需要先执行步骤:根据第一速度和第二预设时间,确定第一角度。如图4所示,在确定第一角度为30度后,扫地机器人顺时针旋转30度,为被困的右侧的驱动轮提供脱困的距离。图中正向旋转为第一旋转方向,即顺时针旋转。

在控制自移动设备沿第一旋转方向旋转第一角度后,控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态。可选地,第二角度可以为自移动设备出厂时预设的,也可以为用户后期手动设定。第二角度也可以根据自移动设备的位姿信息,确定第二角度,在该情形下,在控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态,需要先执行步骤:根据自移动设备的位姿信息,确定第二角度。如图5所示,在确定第二角度为40度后,扫地机器人逆时针旋转40度,以使自移动设备脱离单轮被困状态。图中反向旋转为第二旋转方向,即逆时针旋转。

需要说明的是,本申请实施例中的脱困速度可以是自移动设备正常行走速度,也可以大于自移动设备正常行走速度,也可以小于自移动设备正常行走速度。优选地,脱困速度设置为自移动设备所能达到的最大速度,以增加被困轮脱困的成功率。

在控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态之后,在自移动设备执行完脱困动作后,自移动设备可能脱困成功,也可能脱困不成功,因此,需要进一步检测自移动设备是否脱离单轮被困状态,若自移动设备未脱离单轮被困状态,则继续执行后续脱困动作,控制自移动设备以第一旋转方向旋转第三角度;控制自移动设备以第二旋转方向旋转第四角度以使自移动设备脱离单轮被困状态;第四角度大于等于第三角度。其中,第三角度可以等于第一角度,第四角度等于第二角度。显而易见,第三角度和第四角度可以为其他角度,关于第三角度和第四角度的计算方式,可以参照第一角度和第二角度的计算方式,在此不再赘述,本申请也对第三角度和第四角度作出限定,用户也可以根据实际情况调整第三角度和第四角度。

在上述实施例中,检测自移动设备是否脱离单轮被困状态,一种可选实施例为,基于自移动设备的行驶数据和位置,判断自移动设备是否处于正常工作状态;若自移动设备处于正常工作状态,则确定自移动设备脱离单轮被困状态;若自移动设备未处于正常工作状态,则确定自移动设备未脱离单轮被困状态。其中,判断自移动设备是否处于正常工作状态的方式可以采用多种方式,其中一种实施例为,通过自移动设备机身上的里程计获取驱动轮的行驶里程,通过自移动设备机身上的位置传感器获取自移动设备的位移,当驱动轮的行驶里程超过预定范围时,自移动设备的位置应该发生相应距离的位移变化,若实际上自移动设备的位置并未发生变化,则确定自移动设备未处于正常工作状态;若驱动轮的行驶里程的变化,自移动设备的位置也发生相应距离的位移变化,则确定自移动设备处于正常工作状态。

在自移动设备执行脱困动作多次之后仍然被困轮仍然未脱困,说明第一障碍物为自移动设备较难跨越的障碍物,则在自移动设备执行脱困动作大于第二次数阈值后,控制自移动设备停止执行脱困动作。一种可选实施例为,若自移动设备未脱离单轮被困状态,将自移动设备对应的脱困次数加1;若脱困次数大于第二次数阈值,则控制自移动设备停止执行脱困动作;若脱困次数小于等于第二次数阈值,则执行控制自移动设备以第一旋转方向旋转第三角度的操作。在自移动设备执行脱困动作大于第二次数阈值后,控制自移动设备停止执行脱困动作,节省自移动设备的电能。其中,本申请对第二次数阈值不作限定,用户可以根据实际情况对第二次数阈值作出调整。

在自移动设备无法脱离单轮被困状态,停止执行脱困动作之后,自移动设备可以发出提醒事件,以通知用户协助脱困。一种实施例为,向终端设备发出脱困失败指令,以供终端设备执行提醒动作,终端设备的提醒动作包括但不限于下列方式:振动、灯光闪烁和警示音。另一种实施例为,发出报警提示音,以提示用户采用手动方式帮自移动设备脱困。

在本申请上述脱困方法实施例中,自移动设备在工作过程中,当确定自移动设备处于单轮被困状态时,首先,控制自移动设备沿后退方向后退,以远离附近可能存在的障碍物;接着,控制自移动设备沿第一旋转方向旋转第一角度,其中,第一旋转方向为朝向被困轮的方向,为被困轮脱困留出加速距离,最后,控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态;其中,第一旋转方向和第二旋转方向相反,第二角度大于等于第一角度,提高自移动设备脱困的成功率,且无需增加额外硬件设备,成本低。

基于上述脱困方法的各实施例的描述,图6为本申请提供的另一种更加详细的脱困方法的方法流程图,如图6所示,该脱困方法,包括:

s601:确定自移动设备处于单轮被困状态,控制自移动设备沿后退方向后退;后退方向为自移动设备在正常工作时的前进方向的反方向;

s602:控制自移动设备沿第一旋转方向旋转第一角度,第一旋转方向为朝向被困轮的方向;

s603:控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态;第一旋转方向和第二旋转方向相反,第二角度大于等于第一角度;

s604:判断自移动设备是否脱离单轮被困状态;若否,执行步骤s606,若是,则执行步骤s605;

s605:自移动设备进入正常工作状态,结束此次脱困操作;

s606:将自移动设备对应的脱困次数加1,并转去执行步骤s602以及后续步骤;

s607:判断脱困次数是否大于第二次数阈值,若是,则执行s608,若否,转去执行s602及后续步骤;

s608:控制自移动设备停止执行脱困动作,并执行s609;

s609:向终端设备发出脱困失败指令,或者发出报警提示音。

需要说明的是,本申请对步骤s606与步骤s602的执行顺序不做限定,可以顺序执行,例如图6所示的方式执行顺序,也可以先执行步骤602的操作,再执行步骤606的操作,步骤s606与步骤s602也可以并行执行。

在本申请上述脱困方法实施例中,自移动设备在工作过程中,当确定自移动设备处于单轮被困状态时,首先,控制自移动设备沿后退方向后退,以远离附近可能存在的障碍物;接着,控制自移动设备朝向被困轮的方向旋转第一角度,为被困轮脱困留出加速距离,最后,控制自移动设备向朝向被困轮的反方向旋转第二角度以使自移动设备脱离单轮被困状态;提高自移动设备脱困的成功率,且无需增加额外硬件设备,成本低。在自移动设备执行脱困动作后,进行脱困是否成功的判断,在判断自移动设备并未脱困后,继续再次执行脱困动作;在自移动设备执行脱困动作的次数大于第二次数阈值后,控制自移动设备停止执行脱困动作,节省自移动设备的电能。

下面结合不同场景的实施例对本申请脱困方法作出说明。

应用场景1:在扫地机器人一侧的驱动轮被门槛卡住,且扫地机器人与门槛一侧的墙壁发生碰撞的场景中,扫地机器人利用设置于扫地机器人上的位姿传感器连续采集扫地机器人的位姿信息;根据位姿信息,判断扫地机器人是否处于倾斜状态;若扫地机器人处于倾斜状态,采集扫地机器人在动作过程中的两侧撞板连续撞击墙壁的次数;若一侧撞板连续撞击墙壁的次数大于设定第一次数阈值,则确定扫地机器人处于单轮被困状态,且确定与一侧撞板同侧的驱动轮为被门槛阻挡的被困轮。在确定扫地机器人处于单轮被困状态后,扫地机器人执行脱困动作,控制扫地机器人沿后退方向后退;后退方向为扫地机器人在正常工作时的前进方向的反方向;控制扫地机器人沿第一旋转方向旋转第一角度,第一旋转方向为朝向被困轮的方向;控制扫地机器人沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态;第一旋转方向和第二旋转方向相反,第二角度大于等于第一角度;在执行完一轮脱困动作后,扫地机器人判断扫地机器人是否脱离单轮被困状态;若否,则继续执行下一轮的脱困动作,若是,机器人恢复正常工作状态;同时,在执行完一轮脱困动作后,判断脱困次数是否大于第二次数阈值,若是,则执行控制扫地机器人停止执行脱困动作,若否,则执行下一轮脱困动作;当扫地机器人停止执行脱困动作,发出报警提示音。

应用场景2:在扫地机器人在一侧的驱动轮卡入椅子的u型腿的中间位置的场景中,利用设置于扫地机器人上的位姿传感器连续采集扫地机器人的位姿信息;根据位姿信息,判断扫地机器人是否处于倾斜状态;若扫地机器人处于倾斜状态,计算扫地机器人处于倾斜状态的时长;若扫地机器人处于倾斜状态的时长大于第一预设时间,则确定扫地机器人处于单轮被困状态,且确定扫地机器人倾斜一侧的驱动轮为被u型腿与地面接触的横杆阻挡的被困轮。在确定扫地机器人处于单轮被困状态后,扫地机器人执行脱困动作,控制扫地机器人沿后退方向后退;后退方向为扫地机器人在正常工作时的前进方向的反方向;控制扫地机器人沿第一旋转方向旋转第一角度,第一旋转方向为朝向被困轮的方向;控制扫地机器人沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态;第一旋转方向和第二旋转方向相反,第二角度大于等于第一角度;在执行完一轮脱困动作后,扫地机器人判断扫地机器人是否脱离单轮被困状态;若否,则继续执行下一轮的脱困动作,若是,机器人恢复正常工作状态;同时,在执行完一轮脱困动作后,判断脱困次数是否大于第二次数阈值,若是,则执行控制扫地机器人停止执行脱困动作,若否,则执行下一轮脱困动作;当扫地机器人停止执行脱困动作,向终端设备发出脱困失败指令,终端设备接收失败指令产生振动提醒用户协助脱困。

应用场景3:在商场导购机器人一侧的驱动轮被障碍物卡住的场景中,在确定商场导购机器人处于单轮被困状态后,商场导购机器人执行脱困动作,控制商场导购机器人沿后退方向后退;后退方向为商场导购机器人在正常工作时的前进方向的反方向;控制商场导购机器人沿第一旋转方向旋转第一角度,第一旋转方向为朝向被困轮的方向;控制商场导购机器人沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态;第一旋转方向和第二旋转方向相反,第二角度大于等于第一角度;在执行完一轮脱困动作后,商场导购机器人判断商场导购机器人是否脱离单轮被困状态;若否,则继续执行下一轮的脱困动作,若是,机器人恢复正常工作状态;同时,在执行完一轮脱困动作后,判断脱困次数是否大于第二次数阈值,若是,则执行控制商场导购机器人停止执行脱困动作,若否,则执行下一轮脱困动作;当商场导购机器人停止执行脱困动作,发出报警提示音。

图7为本申请示例性实施例提供的一种自移动设备的结构框图。该自移动设备包括一个或多个处理器702和一个或多个存储计算机程序的存储器703和一个或多个传感器705。一个或多个传感器705用于采集自移动设备在行进过程中与自身有关的数据和与其周围环境有关的数据;还可以包括音频组件701、电源组件704等必要组件。一个或多个处理器702,用于执行计算机程序,以用于:确定自移动设备处于单轮被困状态,控制自移动设备沿后退方向后退;后退方向为自移动设备在正常工作时的前进方向的反方向;控制自移动设备沿第一旋转方向旋转第一角度,第一旋转方向为朝向被困轮的方向;控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态;第一旋转方向和第二旋转方向相反,第二角度大于等于第一角度。

可选地,一个或多个处理器702,确定自移动设备处于单轮被困状态,以用于:利用设置于自移动设备上的位姿传感器连续采集自移动设备的位姿信息;根据位姿信息,判断自移动设备是否处于倾斜状态;若自移动设备处于倾斜状态,采集自移动设备在动作过程中的两侧撞板连续撞击第二障碍物的次数;若一侧撞板连续撞击第二障碍物的次数大于设定第一次数阈值,则确定自移动设备处于单轮被困状态,且确定与一侧撞板同侧的驱动轮为被第一障碍物阻挡的被困轮。

可选地,一个或多个处理器702,确定自移动设备处于单轮被困状态自移动设备,以用于:利用设置于自移动设备上的位姿传感器连续采集自移动设备的位姿信息;根据位姿信息,判断自移动设备是否处于倾斜状态;若自移动设备处于倾斜状态,计算自移动设备处于倾斜状态的时长;若自移动设备处于倾斜状态的时长大于第一预设时间,则确定自移动设备处于单轮被困状态,且确定自移动设备倾斜一侧的驱动轮为被第一障碍物阻挡的被困轮。

可选地,一个或多个处理器702,控制自移动设备沿后退方向后退,以用于:控制自移动设备以第二速度沿后退方向后退第二预设时间;或者,根据自移动设备与第一障碍物的距离,确定自移动设备可以后退的目标距离,控制自移动设备以第二速度沿后退方向后退目标距离。

可选地,一个或多个处理器702,在控制自移动设备沿第一旋转方向旋转第一角度之前,还可用于:根据第一速度和第二预设时间,确定第一角度;第二预设时间是自移动设备沿后退方向后退的时间。

可选地,一个或多个处理器702,在控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态之前,还可用于:根据自移动设备的位姿信息,确定第二角度。

可选地,一个或多个处理器702,在控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态之后,还可用于:检测自移动设备是否脱离单轮被困状态;若自移动设备未脱离单轮被困状态,控制自移动设备以第一旋转方向旋转第三角度;控制自移动设备以第二旋转方向旋转第四角度以使自移动设备脱离单轮被困状态;第四角度大于等于第三角度。

可选地,一个或多个处理器702,检测自移动设备是否脱离单轮被困状态,可用于:基于自移动设备的行驶数据和位置,判断自移动设备是否处于正常工作状态;若自移动设备处于正常工作状态,则确定自移动设备脱离单轮被困状态;若自移动设备未处于正常工作状态,则确定自移动设备未脱离单轮被困状态。

可选地,一个或多个处理器702,还可用于:若自移动设备未脱离单轮被困状态,将自移动设备对应的脱困次数加1;若脱困次数大于第二次数阈值,则控制自移动设备停止执行脱困动作;若脱困次数小于等于第二次数阈值,则执行控制自移动设备以第一旋转方向旋转第三角度的操作。

可选地,自移动设备停止执行脱困动作之后,还可用于:向终端设备发出脱困失败指令,以供终端设备执行提醒动作;或者发出报警提示音,以提示用户采用手动方式帮自移动设备脱困。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器702执行时,致使一个或多个处理器702执行相应图1所示方法实施例中的各步骤。

在本申请上述自移动设备实施例中,自移动设备在工作过程中,当确定自移动设备处于单轮被困状态时,首先,控制自移动设备沿后退方向后退,以远离附近可能存在的障碍物;接着,控制自移动设备朝向被困轮的方向旋转第一角度,为被困轮脱困留出加速距离,最后,控制自移动设备向朝向被困轮的反方向旋转第二角度以使自移动设备脱离单轮被困状态;提高自移动设备脱困的成功率,且无需增加额外硬件设备,成本低。

上述自移动设备可以为机器人、无人车等。图8为本申请示例性实施例提供的一种机器人的结构框图。如图8所示,该机器人包括:机械本体801;机械本体801上设有一个或多个处理器803和一个或多个存储计算机指令的存储器804。除此之外,机械本体801上还设有一个或多个传感器802,用于采集自移动设备在行进过程中与自身有关的数据和与其周围环境有关的数据;

机械本体801上除了设有一个或多个处理器803以及一个或多个存储器804之外,还设置有机器人的一些基本组件,例如音频组件、电源组件、里程计、驱动组件等等。音频组件,该音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(mic),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。可选地,驱动组件可以包括驱动轮、驱动电机、万向轮等。可选地,清扫组件可以包括清扫电机、清扫刷、起尘刷、吸尘风机等。不同机器人所包含的这些基本组件以及基本组件的构成均会有所不同,本申请实施例仅是部分示例。

值得说明的是,音频组件、传感器802、一个或多个处理器803、一个或多个存储器804可设置于机械本体801内部,也可以设置于机械本体801的表面。

机械本体801是机器人赖以完成作业任务的执行机构,可以在确定的环境中执行处理器803指定的操作。其中,机械本体一定程度上体现了机器人的外观形态。在本实施例中,并不限定机器人的外观形态,例如可以是圆形、椭圆形、三角形、凸多边形等。

一个或多个存储器804,主要用于存储计算机程序,该计算机程序可被一个或多个处理器803执行,致使一个或多个处理器804可以对机器人进行行进控制操作。除了存计算机程序之外,一个或多个存储器804还可被配置为存储其它各种数据以支持在机器人上的操作。

一个或多个处理器803,可以看作是机器人的控制系统,可用于执行一个或多个存储器804中存储的计算机程序,以对机器人进行行进控制操作。

处理器803例如,一个或多个存储器804中存储计算机程序,一个或多个处理器803可以执行计算机程序,可用于:确定自移动设备处于单轮被困状态,控制自移动设备沿后退方向后退;后退方向为自移动设备在正常工作时的前进方向的反方向;控制自移动设备沿第一旋转方向旋转第一角度,第一旋转方向为朝向被困轮的方向;控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态;第一旋转方向和第二旋转方向相反,第二角度大于等于第一角度。

可选地,一个或多个处理器803,确定自移动设备处于单轮被困状态,以用于:利用设置于自移动设备上的位姿传感器连续采集自移动设备的位姿信息;根据位姿信息,判断自移动设备是否处于倾斜状态;若自移动设备处于倾斜状态,采集自移动设备在动作过程中的两侧撞板连续撞击第二障碍物的次数;若一侧撞板连续撞击第二障碍物的次数大于设定第一次数阈值,则确定自移动设备处于单轮被困状态,且确定与一侧撞板同侧的驱动轮为被第一障碍物阻挡的被困轮。

可选地,一个或多个处理器803,确定自移动设备处于单轮被困状态自移动设备,以用于:利用设置于自移动设备上的位姿传感器连续采集自移动设备的位姿信息;根据位姿信息,判断自移动设备是否处于倾斜状态;若自移动设备处于倾斜状态,计算自移动设备处于倾斜状态的时长;若自移动设备处于倾斜状态的时长大于第一预设时间,则确定自移动设备处于单轮被困状态,且确定自移动设备倾斜一侧的驱动轮为被第一障碍物阻挡的被困轮。

可选地,一个或多个处理器803,控制自移动设备沿后退方向后退,以用于:控制自移动设备以第二速度沿后退方向后退第二预设时间;或者,根据自移动设备与第一障碍物的距离,确定自移动设备可以后退的目标距离,控制自移动设备以第二速度沿后退方向后退目标距离。

可选地,一个或多个处理器803,在控制自移动设备沿第一旋转方向旋转第一角度之前,还可用于:根据第一速度和第二预设时间,确定第一角度;第二预设时间是自移动设备沿后退方向后退的时间。

可选地,一个或多个处理器803,在控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态之前,还可用于:根据自移动设备的位姿信息,确定第二角度。

可选地,一个或多个处理器803,在控制自移动设备沿第二旋转方向以脱困速度旋转第二角度以使被困轮脱离被困状态之后,还可用于:检测自移动设备是否脱离单轮被困状态;若自移动设备未脱离单轮被困状态,控制自移动设备以第一旋转方向旋转第三角度;控制自移动设备以第二旋转方向旋转第四角度以使自移动设备脱离单轮被困状态;第四角度大于等于第三角度。

可选地,一个或多个处理器803,检测自移动设备是否脱离单轮被困状态,可用于:基于自移动设备的行驶数据和位置,判断自移动设备是否处于正常工作状态;若自移动设备处于正常工作状态,则确定自移动设备脱离单轮被困状态;若自移动设备未处于正常工作状态,则确定自移动设备未脱离单轮被困状态。

可选地,一个或多个处理器803,还可用于:若自移动设备未脱离单轮被困状态,将自移动设备对应的脱困次数加1;若脱困次数大于第二次数阈值,则控制自移动设备停止执行脱困动作;若脱困次数小于等于第二次数阈值,则执行控制自移动设备以第一旋转方向旋转第三角度的操作。

可选地,自移动设备停止执行脱困动作之后,还可用于:向终端设备发出脱困失败指令,以供终端设备执行提醒动作;或者发出报警提示音,以提示用户采用手动方式帮自移动设备脱困。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器803执行时,致使一个或多个处理器803执行相应图1所示方法实施例中的各步骤。

在本申请上述机器人实施例中,自移动设备在工作过程中,当确定自移动设备处于单轮被困状态时,首先,控制自移动设备沿后退方向后退,以远离附近可能存在的障碍物;接着,控制自移动设备朝向被困轮的方向旋转第一角度,为被困轮脱困留出加速距离,最后,控制自移动设备向朝向被困轮的反方向旋转第二角度以使自移动设备脱离单轮被困状态;提高自移动设备脱困的成功率,且无需增加额外硬件设备,成本低。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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