一种机器人越障容错方法及装置与流程

文档序号:20007489发布日期:2020-02-22 03:44阅读:201来源:国知局
一种机器人越障容错方法及装置与流程

本申请涉及机器人技术领域,具体而言,涉及一种机器人越障容错方法及装置。



背景技术:

现有的机器人在移动过程中的难点之一为越障,对于地面上的障碍不是所有的机器人均能越过,当机器人无法越过当前障碍时,现有的处理方法中,其中一种是尝试一次,如果没有越障成功即通报故障,该方法大大增加了机器人报障的几率和次数;另外一种是机器人一直不断尝试越障,如果当前障碍已经超过了机器人的越障能力,若不断进行尝试,直至机器人电量耗尽,则容易对机器人造成损伤。



技术实现要素:

本申请实施例的目的在于提供一种机器人越障容错方法及装置,通过设置合理的机器人的越障次数,使得机器人能够充分发挥其越障能力,解决了现有的方法增加了机器人报障几率和次数以及容易造成机器人损伤的问题。

本申请实施例提供了一种机器人越障容错方法,应用于机器人控制器,该方法包括以下步骤:

接收机器人的状态数据;

根据所述状态数据判断机器人是否处于越障状态;

若是,则记录所述机器人的越障次数;

当所述越障次数达到预设越障次数时,判定越障失败;

根据判定结果发送故障通报指令至服务器。

在上述实现过程中,当机器人越障时,由于每次越障时的工况不一样,机器人第一次越障不一定成功,如果当前障碍的高度处于机器人越障能力边缘时,机器人可能通过多次尝试,越障成功,因此,通过预先设置合理的越障次数,有利于充分发挥机器人的越障能力,减小报障几率;同时,当达到预设越障次数而机器人扔没有通过障碍时,进行报障,避免机器人一直不断尝试越障,造成对机器人的损坏,从而解决了现有的方法增加了机器人保障几率以及容易造成机器人损伤的问题。

进一步地,所述状态数据包括机器人的移动速度和驱动电流,所述根据所述状态数据判断机器人是否处于越障状态包括:

当所述机器人的移动速度小于预设的速度值且驱动电流达到预设的电流值时,判定所述机器人处于越障状态。

在上述实现过程中,通过移动速度和驱动电流两个参数来判定机器人是否处于越障状态,当机器人处于越障状态时,机器人的移动速度接近为0,驱动电流达到设定的最大电流值,此时判定机器人处于越障状态。

进一步地,所述若是,则记录所述机器人的越障次数,包括:

记录所述越障状态的持续时间,当所述越障状态的持续时间达到预设的第一预设时间时,判定为越障一次,并记录当前的越障次数。

在上述实现过程中,当机器人进入越障状态后开始计时,当计时器的时间达到预设的第一预设时间时,即越战状态持续的时间达到第一预设时间时,可以判定机器人尝试越障一次,并机器人机器人当前越障的次数。

进一步地,所述当所述越障次数达到预设越障次数时,判定越障失败,包括:

接收由计数器记录的机器人的越障次数;

根据所述越障状态的持续时间、所述预设越障次数和预设的前次越障结束到下次进入越障状态之前的时间间隔计算机器人的越障总时间;

当所述机器人的越障时间达到越障总时间时,计数器的当前数值达到预设越障次数,判定越障失败,将所述计数器复位为初始值。

在上述实现过程中,利用计数器记录机器人的越障次数,利用计时器记录机器人的越障状态的持续时间和两次越障之间的间隔时间,当达到该间隔时间则进入越障状态,当越障状态持续时间达到第一预设时间时,计数器记录的越障次数增加一次,直至计时器记录的时间达到机器人进行预设越障次数所需要的总时间时,说明此时机器人的越障次数已达到预设越障次数,越障结束,将计数器复位为初始值,以便机器人下次越障时进行计数。

本申请实施例还提供一种机器人越障容错装置,该装置包括:

数据接收模块,用于接收机器人的状态数据;

越障状态判定模块,用于根据所述状态数据判断机器人是否处于越障状态;

越障次数记录模块,用于若机器人处于越障状态时,记录所述机器人的越障次数;

越障终止模块,用于当所述越障次数达到预设值时,判定越障失败;

故障通报模块,用于根据判定结果发送故障通报指令至服务器。

在上述实现过程中,通过限定机器人的越障次数,即合理设置机器人的越障次数,有利于机器人充分发挥其越障能力,降低报障几率;又能够防止机器人持续进行越障直至电量耗尽,从而造成对机器人的损坏,解决了现有的方法增加了机器人保障几率以及容易造成机器人损伤的问题。

进一步地,所述状态数据包括机器人的移动速度和驱动电流,所述越障状态判定模块包括:

状态数据判定模块,用于当所述机器人的移动速度小于预设的速度值且驱动电流达到预设的电流值时,判定所述机器人处于越障状态。

在上述实现过程中,状态数据判定模块根据接收到的机器人的状态数据如移动速度和驱动电流判定机器人是否处于越障状态,机器人在处于越障状态时,移动速度接近于0但驱动电流达到最大值,可以根据这些状态数据判定机器人是否处于越障状态。

进一步地,越障次数记录模块包括:

持续时间记录模块,用于记录所述越障状态的持续时间,当所述越障状态的持续时间达到预设的第一预设时间时,判定为越障一次,并记录当前的越障次数。

在上述实现过程中,通过持续时间记录模块记录越障状态的持续时间,以根据持续时间判定是否完成一次越障。

进一步地,所述越障终止模块包括:

计数器模块,用于利用计数器记录机器人的越障次数;

越障总时间计算模块,用于根据所述越障状态的持续时间、所述预设越障次数和预设的前次越障结束到下次进入越障状态之前的时间间隔计算机器人的越障总时间;

计数器复位模块,用于当所述机器人的越障时间达到越障总时间时,计数器的当前数值达到预设越障次数,判定越障失败,将所述计数器复位为初始值。

在上述实现过程中,通过计数器记录越障次数,通过计时器记录越障时间,当越障时间达到预设的越障总时间时,判定为机器人的越障次数已用完,将计数器复位,以便下次越障时进行记录越障次数。

本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述计算机设备执行上述任一项所述的机器人越障容错方法。

本申请实施例还提供一种可读存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一项所述的机器人越障容错方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种机器人越障容错方法的流程示意图;

图2为本申请实施例提供的为越障次数达到预设越障次数的判定过程的流程示意图;

图3为本申请实施例提供的机器人越障判定过程的时间轴示意图;

图4为本申请实施例提供的一种机器人越障容错装置的结构框图;

图5为本申请实施例提供的一种机器人越障容错装置的整体结构框图。

图标:

100-数据接收模块;200-越障状态判定模块;201-状态数据判定模块;300-越障次数记录模块;301-持续时间记录模块;400-越障终止模块;401-计数器模块;402-越障总时间计算模块;403-计数器复位模块;500-故障通报模块。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

实施例1

请参看图1,图1为本申请实施例提供的一种机器人越障容错方法的流程示意图。该方法通过设置合理的越障尝试次数,便于机器人进行合理次数的越障尝试,对于有大概率越障成功的障碍,通过机器人的多次尝试,有助于机器人越障成功,以便机器人能充分发挥其越障能力,减少报障次数,提高机器人的工作效率;如果通过合理次数的越障尝试,扔无法越障成功,说明当前障碍超出机器人的越障能力范围,机器人无法跨越当前障碍,则进行报障,从而避免机器人一直不断尝试越障直至电量耗尽,造成对机器人的损坏。该方法应用于机器人控制器端,具体可以包括以下步骤:

步骤s100:接收机器人的状态数据;

在上述实现过程中,此处的机器人的状态数据指的是可以用于判定机器人是否处于越障状态的状态数据,例如机器人的移动速度和驱动电流,在通常情况下,机器人处于越障或爬坡状态时,机器人的移动速度很低甚至于接近为0,此时驱动电流达到最大值,因此可以根据机器人处于越障状态时的状态数据特征判定机器人是否处于越障状态。

步骤s200:根据状态数据判断机器人是否处于越障状态;

在该步骤的具体实现过程中,具体可以包括:

当机器人的移动速度小于预设的速度值且驱动电流达到预设的电流值时,判定所述机器人处于越障状态。

通常情况下,机器人处于越障或爬坡状态时,机器人的移动速度很低甚至于接近为0,此时驱动电流达到最大值imax,可以根据该特性并参考机器人的运动参数预先设置移动速度和驱动电流的阈值,以便根据移动速度和驱动电流的阈值准确判定机器人是否处于越障状态。

示例的,采用速度传感器监测机器人的移动速度v,并将机器人的移动速度v发送给机器人控制器;使用电流传感器检测机器人驱动电流i,并将机器人的驱动电流i发送给机器人控制器,并通过机器人控制器启动内部计时器来记录越障状态的持续时间,当机器人控制器检测到移动速度v等于0或接近为0(小于预设的速度值)、驱动电流i大于或等于预设的电流值imax时,判定机器人进入越障状态,计时器开始计时。

步骤s300:若是,则记录机器人的越障次数;

如果判定结果为机器人进入了越障状态,则在该步骤的具体实现过程中,可以包括:

记录越障状态的持续时间,当越障状态的持续时间达到预设的第一预设时间时,判定为越障一次,并记录当前的越障次数。

在上述实现过程中,通过越障状态的持续时间判定当次越障是否完成,示例的,可以使用控制器中的计数器记录当前的越障次数。

示例的,在上述的判定机器人进入越障状态后,计时器开始计时,当时间达到预设的第一预设时间时,判定为尝试越障一次,使用计数器记录当前的越障次数,计数器的数值加一。

步骤s400:当越障次数达到预设越障次数时,判定越障失败;

示例的,将越障次数设置为4次,在机器人跨越某一障碍时,由于路况的随机性,当机器人跨越障碍的几率为50%时,称之为达到机器人越障能力的边缘,即如果有两次越障机会的话,可能有一次能越过障碍,一次越不过,基于此,如果按照现有的方法机器人越障没有成功即通报故障即机器人仅有一次尝试越障的机会,如果机器人在该次越障尝试中没有跨越障碍,就立即通报故障,将无法充分发挥机器人的越障能力,因此,基于50%的越障成功的几率,将越障次数设置为4次,即当机器人跨越障碍时,将有4次尝试机会,如果当前故障处于机器人能够通过障碍的边缘,即有可能通过,也有可能通不过,在此情形下,通过多次尝试越障,有利于增加机器人越障成功的几率,这样能够充分发挥机器人的越障能力,提高机器人的工作效率,降低机器人的报障几率;但是,如果机器人没有通过当前故障的几率,通过设置尝试越障次数为4次,如果无法通过即报障,避免了机器人不断尝试越障直至电量耗尽以及对机器人造成的损坏。

示例的,如图2所示,为越障次数达到预设越障次数的判定过程的流程示意图。该步骤具体可以包括:

步骤s401:利用计数器记录机器人的越障次数;

步骤s402:根据越障状态的持续时间、预设越障次数和预设的前次越障结束到下次进入越障状态之前的时间间隔计算机器人的越障总时间;

步骤s403:当所述机器人的越障时间达到越障总时间时,计数器的当前数值达到预设越障次数,判定越障失败,将计数器复位为初始值。

步骤s500:根据判定结果发送故障通报指令至服务器。

示例的,如果尝试4次越障,仍然越障失败,则发送故障通报指令至服务器,以便及时处理,避免了机器人尝试多次越障直至电量耗尽或对机器人造成的损坏。

如果在处于某次尝试越障的越障状态时,此时越障时间小于越障状态的持续时间,但移动速度大于预设的判定值,同时驱动电流小于预设的驱动电流值,说明机器人处于正常行驶状态,判定机器人越障成功,机器人恢复正常行驶,计数器扔然回复至初始值,以便下次进行越障时,用于记录越障尝试次数。

设置4次尝试越障的机会,如果机器人在4次尝试中越障成功,则有利于充分发挥机器人的越障能力,减少故障通报次数,提高机器人的工作效率;如果无法越障成功,则进行报障,避免机器人一直不断尝试越障所带来的机器人电量对的损耗和对机器人的损伤。

示例的,本申请实施例给出了一种越障尝试是的判定过程,如图3所示,为机器人越障判定过程的时间轴示意图。将表示越障状态的持续时间的预设的第一预设时间表示为tc;将预设的前次越障结束到下次进入越障状态之前的时间间隔表示为tj;预设越障次数n=4次,则机器人的越障总时间可以表示为4tc+3tj。

具体越障过程如下:

当机器人控制器检测到机器人的移动速度v等于0、驱动电流i等于预设的imax时,判定机器人进入越障状态,计时器t1开始计时;

当计时器t1的值达到tc时,即:v=0、i=imax的越障状态的持续时间为tc后,判定机器人尝试越障一次,此时计数器n的值等于1;

第一次越障结束到第二次越障开始之前的时间间隔为tj,即当计时器t1的值达到(tc+tj),即第一次尝试后经过时间tj后,继续尝试第二次越障,同第一次尝试一样,当v=0、i=imax的状态持续时间tc后,此时计时器t1的值为(2tc+tj),则判定尝试越障二次,n=2;依次类推;

当n=4时,则判定越障失败,根据判定结果发送故障通报指令至服务器;

另一个需要处理的是次数n,如图3所示,可以计算出4次尝试的理论越障总时间为(4tc+3tj),当计时器t1的值为(4tc+3tj)时,n=4,此时判定越障失败,将n复位为初始值0,本次尝试越障结束,下一个越障将重新获得4次的越障尝试机会。

实施例2

本申请实施例还提供一种机器人越障容错装置,如图4所示,为本申请实施例提供的一种机器人越障容错装置的结构框图。该装置具体可以包括但不限于:

数据接收模块100,用于接收机器人的状态数据;

越障状态判定模块200,用于根据所述状态数据判断机器人是否处于越障状态;

示例的,如图5所示,为本申请实施例提供的一种机器人越障容错装置的整体结构框图。其中,状态数据包括机器人的移动速度和驱动电流,越障状态判定模块200可以包括但不限于:

状态数据判定模块201,用于当机器人的移动速度小于预设的速度值且驱动电流达到预设的电流值时,判定机器人处于越障状态。

通过机器人处于越障状态时,机器人的移动速度和驱动电流的变化状态作为判断机器人是否处于越障状态的判定依据。状态数据判定模块201根据接收到的机器人的状态数据如移动速度和驱动电流判定机器人是否处于越障状态,机器人在处于越障状态时,移动速度接近于0但驱动电流达到最大值,可以根据这些状态数据判定机器人是否处于越障状态,因此示例的,可以将预设的速度值设置为趋近于0的值,将预设的电流值设置为机器人爬坡时的最大值。

越障次数记录模块300,用于若机器人处于越障状态时,记录所述机器人的越障次数;

在上述实现过程中,通过持续时间记录模块300记录越障状态的持续时间,以根据持续时间判定是否完成一次越障尝试。

越障次数记录模块300可以包括但不限于:

持续时间记录模块301,用于记录所述越障状态的持续时间,当所述越障状态的持续时间达到预设的第一预设时间时,判定为越障一次,并记录当前的越障次数。

越障终止模块400,用于当所述越障次数达到预设值时,判定越障失败;

越障终止模块400可以包括但不限于:

计数器模块401,用于利用计数器记录机器人的越障次数;

越障总时间计算模块402,用于根据所述越障状态的持续时间、所述预设越障次数和预设的前次越障结束到下次进入越障状态之前的时间间隔计算机器人的越障总时间;

计数器复位模块403,用于当所述机器人的越障时间达到越障总时间时,计数器的当前数值达到预设越障次数,判定越障失败,将所述计数器复位为初始值。

在上述实现过程中,通过计数器记录越障次数,通过计时器记录越障时间,当越障时间达到预设的越障总时间时,判定为机器人的越障次数已用完,将计数器复位,以便下次越障时进行记录越障次数。

故障通报模块500,用于根据判定结果发送故障通报指令至服务器。

在上述实现过程中,如果通过4次尝试越障,扔没有越障成功,说明当前障碍的高度超出了机器人的越障能力范围,机器人无法越过该障碍,可以通过故障通报模块500向服务器发送故障通报指令,以解决当前障碍无法通过的问题,避免了机器人一直不断尝试越障,直至电量耗尽,甚至对机器人造成损坏的情况发生,对机器人起到保护作用。

由上述可知,如果当前障碍处于机器人越障能力的边缘,即通过尝试有可能越过障碍,通过设置合理的越障尝试次数,有利于机器人越过该障碍,在此情况下,如果利用现有的方法尝试一次没有通过即通报故障,不利于充分发挥机器人的越障能力,增加了机器人的报障次数,导致机器人的工作效率降低;另外一种情况是,当前故障远远超过了机器人的越障能力,如果利用现有方法中机器人不断尝试越障,直至电量耗尽,则容易造成机器人的损坏,因此,通过本方法中设置合理的越障次数,有利于机器人充分发挥机器人的越障能力,减少报障次数,提高机器人的工作效率,减少对机器人的损坏,对机器人起到保护作用,从而解决现有方法增加了机器人报障次数以及容易造成机器人损伤的问题。

本申请实施例还提供一种电子设备,该电子设备包括存储器以及处理器,该存储器用于存储计算机程序,该处理器运行该计算机程序以使计算机设备执行实施例1中任一项所述的机器人越障容错方法。

本申请实施例还提供一种可读存储介质,可读取存储介质中存储有计算机程序指令,该计算机程序指令被一处理器读取并运行时,执行实施例1中任一项所述的机器人越障容错方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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