首页> 中国专利> 机器人的有限状态机的建立方法、有限状态机和机器人

机器人的有限状态机的建立方法、有限状态机和机器人

摘要

本发明涉及机器人的有限状态机的建立方法、有限状态机和机器人,该建立方法包括:将每种机器人状态分别划分为规划进入阶段、实际进入阶段、状态持续阶段以及状态结束与跳转阶段;其中,加速相和减速相各自的规划进入阶段与对应的实际进入阶段分别相重合;对机器人在加速相、腾空相和减速相中各个不同阶段之间进行的状态切换进行检测,得到对应的状态检测结果;根据状态检测结果,更新机器人对应的状态信息;根据更新后的状态信息,控制机器人在加速相、腾空相和减速相中各个不同的阶段进行切换以控制机器人进行连续跳跃。上述机器人的有限状态机的建立方法,大大提高了机器人连续跳跃的稳定性。

著录项

  • 公开/公告号CN113156926A

    专利类型发明专利

  • 公开/公告日2021-07-23

    原文格式PDF

  • 申请/专利权人 深圳市优必选科技股份有限公司;

    申请/专利号CN202010073668.4

  • 申请日2020-01-22

  • 分类号G05D1/02(20200101);

  • 代理机构11463 北京超凡宏宇专利代理事务所(特殊普通合伙);

  • 代理人梁韬

  • 地址 518000 广东省深圳市南山区学苑大道1001号南山智园C1栋16、22楼

  • 入库时间 2023-06-19 11:57:35

说明书

技术领域

本发明涉及机器人控制领域,尤其涉及一种机器人的有限状态机的建立方法、有限状态机和机器人。

背景技术

在机器人的行走理论中,主要是通过控制零力矩点的位置,产生机器人水平方向的质心运动轨迹,同时保证机器人运动中的平衡问题。由于腾空状态中,机器人与地面没有力作用,机器人处于自由落体状态,着地时的运动模型和动力学方程完全不适用,上述方法不适用于机器人的连续跳跃和奔跑。因此,在处理机器人跳跃和奔跑运动控制时,急需建立一种判定机器人所处状态的方法或模型,以决定机器人所处的状态,从而确定该时刻下机器人执行的行为。

发明内容

鉴于此,本发明提供一种机器人的有限状态机的建立方法、有限状态机和机器人,能够通过将连续跳跃模型中每种机器人状态划分为规划进入阶段、实际进入阶段、状态持续阶段以及状态结束与跳转阶段,进而建立有限状态机,能够在机器人跳跃过程中实时获取下一时刻机器人的更新状态信息,进而输出机器人各关节的运动控制指令,使机器人根据上述运动指令在加速相、腾空相和减速相中各个不同阶段之间进行状态切换,最终实现机器人的可变高度跳跃、可变腾空时间跳跃、可变跳跃轨迹跳跃以及连续跳跃,大大提高了机器人连续跳跃的稳定性。

一种机器人的有限状态机的建立方法,应用于机器人的连续跳跃模型,连续跳跃模型中机器人状态包括加速相、腾空相和减速相,建立方法包括:

将每种机器人状态分别划分为规划进入阶段、实际进入阶段、状态持续阶段以及状态结束与跳转阶段;其中,加速相和减速相各自的规划进入阶段与对应的实际进入阶段分别相重合;

对机器人在加速相、腾空相和减速相中各个不同阶段之间进行的状态切换进行检测,得到对应的状态检测结果;

根据状态检测结果,更新机器人对应的状态信息;

根据更新后的状态信息,控制机器人在加速相、腾空相和减速相中各个不同的阶段进行切换以控制机器人进行连续跳跃。

在一个实施例中,对机器人在加速相、腾空相和减速相之间进行的循环状态切换进行检测,得到对应的状态检测结果的步骤包括:

计算机器人的质心竖直方向速度并获取对应的速度方向和速度变化方向,判断质心竖直方向速度的大小是否大于预设速度阈值;

当质心竖直方向速度大于预设速度阈值且速度方向和对应的速度变化方向向上时,判断机器人处于加速相中的状态持续阶段;

根据质心加速度规划轨迹获取机器人从加速相进入腾空相的规划切换时刻并判断规划切换时刻是否到来,当规划切换时刻到来时,判断机器人进入加速相的状态结束与跳转阶段,并在下一控制周期进入腾空相的规划进入阶段;

计算机器人足底与地面之间的竖直方向作用力并获取对应的作用力变化方向,判断竖直方向作用力是否小于或等于第一预设作用力阈值;

当作用力变化方向为逐渐变小且竖直方向作用力小于或等于第一预设作用力阈值时,判断机器人进入腾空相的实际进入阶段,并在下一控制周期处于腾空相中的状态持续阶段;

当所述竖直方向作用力小于或等于所述第一预设作用力阈值且保持不变时时,判断所述机器人处于所述腾空相中的状态持续阶段;

当作用力变化方向为逐渐变大且竖直方向作用力大于或等于第二预设作用力阈值时,判断机器人进入腾空相的状态结束与跳转阶段,并在下一控制周期进入减速相的规划进入阶段和实际进入阶段;

当速度方向向下、对应的速度变化方向向上且质心竖直方向速度大于预设速度阈值时,判断机器人处于减速相中的状态持续阶段;

当速度方向向下直至质心竖直方向速度小于或等于预设速度阈值时,判断机器人进入减速相中的状态结束与跳转阶段,并在下一控制周期进入加速相的规划进入阶段和实际进入阶段。

在一个实施例中,机器人足底设置有压力传感器,计算机器人足底与地面之间的竖直方向作用力的步骤中对应的计算公式为:

其中,R

在一个实施例中,机器人的各关节末端设置有转矩传感器,计算机器人足底与地面之间的竖直方向作用力的步骤中对应的计算公式为:

其中,J

在一个实施例中,计算机器人的质心竖直方向速度的步骤中对应的计算公式为:

其中,

在一个实施例中,状态信息包括状态名称、规划进入标志位、实际进入标志位、状态持续标志位以及状态结束与跳转标志位,根据状态检测结果,更新机器人对应的状态信息的步骤包括:

当所述状态检测结果为所述机器人处于所述加速相对应的状态持续阶段时,当且仅当将对应的状态持续标志位置为有效;

当所述状态检测结果为所述机器人进入所述加速相的状态结束与跳转阶段时,将对应的状态结束与跳转标志位置为有效,并在下一控制周期所述机器人进入所述腾空相的规划进入阶段时,将对应的状态结束与跳转标志位置为无效,并将对应的规划进入标志位置为有效;

当所述状态检测结果为所述机器人进入所述腾空相的实际进入阶段时,将对应的规划进入标志位置为无效,并将对应的实际进入标志位置为有效,并在下一控制周期所述机器人处于所述腾空相的状态持续阶段时,将对应的实际进入标志位置为无效;

当所述状态检测结果为所述机器人进入所述腾空相的状态结束与跳转阶段时,将对应的状态结束与跳转标志位置为有效,并在下一控制周期所述机器人进入所述减速相的规划进入阶段和实际进入阶段时,将对应的状态结束与跳转标志位置为无效,并将对应的规划进入标志位置和实际进入标志位置为有效,并在所述机器人处于所述减速相的状态持续阶段时,将对应的规划进入标志位置和实际进入标志位置为无效,且将对应的状态持续标志位置为有效;

当所述状态检测结果为所述机器人进入所述减速相的状态结束与跳转阶段时,将对应的状态结束与跳转标志位置为有效,并在下一控制周期所述机器人进入所述加速相的规划进入阶段和实际进入阶段时,将对应的状态结束与跳转标志位置为无效,并将对应的规划进入标志位置和实际进入标志位置为有效。

在一个实施例中,根据更新后的状态信息,控制机器人在加速相、腾空相和减速相中各个不同的阶段进行切换的步骤包括:

当更新后的规划进入标志位有效时,结合更新后的状态名称,控制机器人进入对应的规划进入阶段,重置计时器,并生成初始质心规划轨迹;

当更新后的实际进入标志位有效时,结合更新后的状态名称,控制机器人进入对应的实际进入阶段,计算并记录机器人对应的运动参数信息;

当更新后的状态持续标志位有效时,结合更新后的状态名称,控制机器人进入对应的状态持续阶段,根据初始质心规划轨迹和运动参数信息进行质心轨迹规划和质心速度控制;

当更新后的状态结束与跳转标志位有效时,结合更新后的状态名称,控制机器人进入对应的状态结束与跳转阶段。

一种机器人的有限状态机,应用于机器人的连续跳跃模型,连续跳跃模型中机器人状态包括加速相、腾空相和减速相,有限状态机包括状态划分单元、事件检测单元、状态变更单元和行为处理单元,机器人的有限状态机包括:

状态划分单元,用于将每种机器人状态分别划分为规划进入阶段、实际进入阶段、状态持续阶段以及状态结束与跳转阶段;其中,加速相和减速相各自的规划进入阶段与对应的实际进入阶段分别相重合;

事件检测单元,用于对机器人在加速相、腾空相和减速相中各个不同阶段之间进行的状态切换进行检测,得到对应的状态检测结果;

状态变更单元,用于根据状态检测结果,更新机器人对应的状态信息;

行为处理单元,用于根据更新后的状态信息,控制机器人在加速相、腾空相和减速相中各个不同的阶段进行切换以控制机器人进行连续跳跃。

此外,还提供一种机器人,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使机器人执行上述建立方法。

此外,还提供一种可读存储介质,可读存储介质存储有计算机程序,计算机程序在被处理器运行时执行上述建立方法。

上述机器人的有限状态机的建立方法,应用于机器人的连续跳跃模型,连续跳跃模型中机器人状态包括加速相、腾空相和减速相,将每种机器人状态分别划分为规划进入阶段、实际进入阶段、状态持续阶段以及状态结束与跳转阶段;其中,加速相和减速相各自的规划进入阶段与对应的实际进入阶段分别相重合,对机器人在加速相、腾空相和减速相中各个不同阶段之间进行的状态切换进行检测,得到对应的状态检测结果,根据状态检测结果,更新机器人对应的状态信息,根据更新后的状态信息,控制机器人在加速相、腾空相和减速相中各个不同的阶段进行切换以控制机器人进行连续跳跃,能够通过将连续跳跃模型中每种机器人状态划分为规划进入阶段、实际进入阶段、状态持续阶段以及状态结束与跳转阶段,进而建立有限状态机,能够在机器人跳跃过程中实时获取下一时刻机器人的更新状态信息,进而输出机器人各关节的运动控制指令,使机器人根据上述运动指令在加速相、腾空相和减速相中各个不同阶段之间进行状态切换,把机器人状态的检测判定和状态切换的功能从机器人的控制算法中提取出来,作为一项单独的算法模块,与其它算法解耦,这使得机器人整体算法维护容易,对应的控制过程更为精确,最终实现机器人的可变高度跳跃、可变腾空时间跳跃、可变跳跃轨迹跳跃以及连续跳跃,大大提高了机器人连续跳跃的稳定性。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。

图1为一个实施例中提供的一种机器人的有限状态机的建立方法的流程示意图;

图2为一个实施例中提供的一种单腿机器人的结构示意图;

图3为一个实施例中提供的一种单腿机器人进行不同高度的连续跳跃过程示意图;

图4为一个实施例中在机器人足底突然加入未知高度木块时,单腿机器人对应的连续跳跃过程示意图;

图5为一个实施例中在机器人足底突然撤出未知高度木块时,单腿机器人对应的连续跳跃过程示意图;

图6为一个实施例中提供的一种机器人的有限状态机的结构框图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本公开的各种实施例限于在此公开的特定实施例的意图,而是应将本公开理解为涵盖落入本公开的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。

在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。

此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。

图1为一个实施例中提供的一种机器人的有限状态机的建立方法,应用于机器人的连续跳跃模型,连续跳跃模型中机器人状态包括加速相、腾空相和减速相,该机器人的有限状态机的建立方法包括:

步骤S110,将每种机器人状态分别划分为规划进入阶段、实际进入阶段、状态持续阶段以及状态结束与跳转阶段;其中,加速相和减速相各自的规划进入阶段与对应的实际进入阶段分别相重合。

其中,机器人在连续跳跃奔跑时,机器人状态通常包括加速相、腾空相和减速相,为更好的对机器人连续跳跃进行控制,这里将每一相分别划分为规划进入阶段、实际进入阶段、状态持续阶段以及状态结束与跳转阶段,这是基于机器人的运动特点和控制方面的需要所决定的。

其中,机器人在规划的离地时刻和机器人真实的离地时刻很可能不同,这是由于机器人系统和电机控制会产生的必不可少的误差和延误,而机器人真实离地时,需要记录机器人的高度、质心线速度和角速度等关键信息,因此,针对机器人由加速相到腾空相的切换状态,需要进一步区分,因而将上述机器人由加速相到腾空相的切换状态进一步区分为规划进入阶段和实际进入阶段,而对于加速相或减速相,为使得处理过程方便,机器人规划进入阶段和实际进入阶段的过程可认为相重合。

步骤S120,对机器人在加速相、腾空相和减速相中各个不同阶段之间进行的状态切换进行检测,得到对应的状态检测结果。

其中,机器人在每一相的四个阶段以及相邻相之间进行切换时,机器人对应的状态均不同,此时需要对机器人在加速相、腾空相和减速相中各个不同阶段之间进行的状态切换进行检测,得到对应的状态检测结果。

步骤S130,根据状态检测结果,更新机器人对应的状态信息。

其中,当获取到上述状态检测结果后,机器人的控制系统就需要及时的更新机器人对应的状态信息,及时的对机器人的跳跃过程做出控制。

其中,上述状态信息通常包括机器人在每个阶段所对应的状态标志位信息、状态计时信息以及状态名称。

步骤S140,根据更新后的状态信息,控制机器人在加速相、腾空相和减速相中各个不同的阶段进行切换以控制机器人进行连续跳跃。

其中,机器人在获取到更新后的状态信息后,能够进一步在对应的控制周期内生成对应的控制命令,以控制机器人在加速相、腾空相和减速相中各个不同的阶段进行切换,从而控制机器人进行连续跳跃。

在一个实施例中,如图2所示,提供了一种由两个串联弹性驱动器并联组成的单腿机器人100,每个串联弹性驱动器的关节位置、速度和关节末端转矩均可直接测量,其中,图2中110表示竖直导轨,120表示单个串联弹性驱动器,130表示试验地面,140表示压力传感器。

其中,实验地面130下的压力传感器主要用于客观测量单腿机器人100与实验地面之间作用力,从而计算单腿机器人100处于腾空相的腾空跳跃时间。

其中,单腿机器人100采用上述机器人的有限状态机的建立方法所建立的有限状态机,将每种机器人状态划分为规划进入阶段、实际进入阶段、状态持续阶段以及状态结束与跳转阶段,能够在单腿机器人100跳跃过程中实时获取下一时刻单腿机器人100的更新状态信息,进而输出单腿机器人100各关节的运动控制指令,使单腿机器人100根据上述运动指令在加速相、腾空相和减速相中各个不同阶段之间进行状态切换,进而能够对单腿机器人100的不同高度的连续跳跃,如图3中所示机器人在标号6-10过程中,相对于标号1-5过程实现了不同高度的连续跳。

其中,由于每一种机器人状态划分为多个阶段,单腿机器人100能够根据上述运动指令在加速相、腾空相和减速相中各个不同阶段之间进行状态切换,进而能够对机器人的跳跃高度、腾空时间和跳跃轨迹进行单独控制,连续跳跃过程中的抗干扰能力大大加强。

在一个实施例中,单腿机器人100腾空过程中,在机器人足底突然加入未知高度木块,这会导致单腿机器人100提前落地,然后在机器人足底突然撤出未知高度木块,这会导致单腿机器人100滞后落地,总之,单腿机器人100连续跳跃的动作会失控。

当使用上述有限状态机后,单腿机器人100会对腾空相中状态持续阶段与腾空相的结束与跳转阶段的切换时刻一直检测,当机器人足底与实验地面之间接触时,首先会进入腾空相的结束与跳转阶段,并在下一控制周期进入减速相中的规划进入阶段和实际进入阶段,然后执行后续的控制过程,整个机器人跳跃过程中的跳跃稳定性大大加强。

其中,图4中标号1-6为在机器人足底突然加入未知高度木块时对应的各个跳跃过程示意图,图5中标号1-6为在机器人足底突然撤出未知高度木块时对应的各个跳跃过程示意图。

上述机器人的有限状态机的建立方法,能够通过将连续跳跃模型中每种机器人状态划分为规划进入阶段、实际进入阶段、状态持续阶段以及状态结束与跳转阶段,进而建立有限状态机,能够在机器人跳跃过程中实时获取下一时刻机器人的更新状态信息,进而输出机器人各关节的运动控制指令,使机器人根据上述运动指令在加速相、腾空相和减速相中各个不同阶段之间进行状态切换,进而能够对机器人的跳跃高度、腾空时间和跳跃轨迹进行单独控制,把机器人状态的检测判定和状态切换的功能从机器人的控制算法中提取出来,作为一项单独的算法模块,与其它算法解耦,这使得机器人整体算法维护成本大大降低,对应的控制过程也更为精确简洁,在上述有限状态机的处理下,最终实现机器人的可变高度跳跃、可变腾空时间跳跃、可变跳跃轨迹跳跃以及连续跳跃,大大提高了机器人连续跳跃的稳定性,为双足和四足机器人的更多更复杂的跳跃奔跑实验提供了一个可靠的状态机模块框架。

在一个实施例中,步骤S120包括:

1)计算机器人的质心竖直方向速度并获取对应的速度方向和速度变化方向,判断质心竖直方向速度的大小是否大于预设速度阈值。

其中,在判断机器人是否处于加速相的状态持续阶段时,需要通过获取机器人的质心竖直方向速度并进行判断。

在一个实施例中,上述预设速度阈值取零,判断上述机器人的质心竖直方向速度是否大于零。

2)当质心竖直方向速度大于预设速度阈值且速度方向和对应的速度变化方向向上时,判断机器人处于加速相中的状态持续阶段。

其中,上述预设速度阈值理论上取值为零值,但实际应用过程中预设速度阈值取值可取值为接近零值附近的数值,换言之,当质心竖直方向速度大于上述预设速度阈值且速度方向和速度变化方向向上时,即可认为机器人处于加速相中的状态持续阶段。

在一个实施例中,预设速度阈值为零,当质心竖直方向速度大于零且速度方向和速度变化方向向上时,判断机器人处于加速相中的状态持续阶段。

其中,在加速相时,机器人开始向上加速,每一时刻,按照质心规划的位置(comp),速度(comv),加速度(coma),通过逆动力学(Inverse Dynamics)和逆运动学(InverseKinematics),计算得到各关节电机的指令。若是位置电机,计算出相应的关节角度,角速度,若是力控电机,则计算出关节转矩发送给电机。

3)根据质心加速度规划轨迹获取机器人从加速相进入腾空相的规划切换时刻并判断规划切换时刻是否到来,当规划切换时刻到来时,判断机器人进入加速相的状态结束与跳转阶段,并在下一控制周期进入腾空相的规划进入阶段。

其中,加速相的状态持续阶段下,机器人会一直进行离地检测,从加速相进入到腾空相,由于机器人的运动存在追踪误差,机器人存在规划离地时刻以及实际离地时刻,两者对应的时间往往不同,通常机器人的真实离地时间往往更晚。机器人首先按照质心加速度规划轨迹从加速相进入到腾空相,根据质心加速度规划轨迹能够获取机器人从加速相进入腾空相的规划切换时刻,并判断规划切换时刻是否到来,当规划切换时刻到来时,判断机器人进入加速相的状态结束与跳转阶段,当机器人的加速相的状态结束与跳转阶段结束后,在下一控制周期进入腾空相的规划进入阶段。

4)计算机器人足底与地面之间的竖直方向作用力并获取对应的作用力变化方向,判断竖直方向作用力是否小于或等于第一预设作用力阈值。

其中,机器人在实际进入腾空相时,机器人足底与地面之间的竖直方向作用力理论值为零且逐渐变小,但在实际处理中,上述第一预设作用力阈值取值可取值为接近零值的数值。

因此,通过计算机器人足底与地面之间的竖直方向作用力并获取对应的作用力变化方向,可判断机器人是否实际进入腾空相。

其中,上述机器人足底与地面之间的竖直方向作用力的测量通过安装的传感器进行测量。

5)当作用力变化方向为逐渐变小且竖直方向作用力小于或等于第一预设作用力阈值时,判断机器人进入腾空相的实际进入阶段。

在一个实施例中,上述第一预设作用力阈值取零值,上述作用力变化方向为逐渐变小且竖直方向作用力等于零时,判定机器人进入腾空相的实际进入阶段。

在一个实施例中,上述第一预设作用力阈值取接近零值的数值例如0.0001N,当作用力变化方向为逐渐变小且竖直方向作用力小于或等于0.0001N时,判断机器人进入腾空相的实际进入阶段。

6)当竖直方向作用力小于或等于第一预设作用力阈值且保持不变时,判断机器人处于腾空相的状态持续阶段。

7)当作用力变化方向为逐渐变大且竖直方向作用力大于或等于第二预设作用力阈值时,判断机器人进入腾空相的状态结束与跳转阶段,并在下一控制周期进入减速相的规划进入阶段和实际进入阶段。

其中,上述第二预设作用力阈值的理论值取零值,也可取接近零值的数值例如0.0001N,当作用力变化方向为逐渐变大且竖直方向作用力大于或等于0.0001N时,判断机进入腾空相的状态结束与跳转阶段,并在下一控制周期进入减速相的规划进入阶段和实际进入阶段。

其中,上述第一预设作用力阈值和第二预设作用力阈值的大小可取值相同。

其中,减速相的规划进入阶段和实际进入阶段可认为基本重合或相同,机器人进入腾空相的状态结束与跳转阶段后,在下一控制周期同时进入减速相的规划进入阶段和实际进入阶段。

8)当速度方向向下、对应的速度变化方向向上且质心竖直方向速度大于预设速度阈值时,判断机器人处于减速相中的状态持续阶段;

其中,机器人在由腾空相进入到减速相后,对应的质心竖直速度越来越小,而此时对应的速度变化方向处于向上状态,机器人处于减速状态,此时,只要质心竖直方向速度大于预设速度阈值时,可判断机器人仍然处于减速相中的状态持续阶段。

其中,上述预设速度阈值理论取值通常为零值,也可取接近零值的数值例如0.0001m/s。

9)当速度方向向下直至质心竖直方向速度小于或等于预设速度阈值时,判断机器人进入减速相中的状态结束与跳转阶段,并在下一控制周期进入加速相的规划进入阶段和实际进入阶段。

其中,加速相的规划进入阶段和实际进入阶段重合,机器人在进入减速相中的状态结束与跳转阶段后的下一控制周期同时进入加速相的规划进入阶段和实际进入阶段。

上述步骤展示的是按照机器人从加速相的状态持续阶段开始,对机器人在加速相、腾空相和减速相中各个不同阶段之间进行的状态切换进行检测以得到对应的状态检测结果的一种描述,按照以上顺序描述仅仅是为了符合逻辑习惯,实际检测过程中对于各个不同的阶段之间的切换检测也可同时进行,并行不悖,不以上述步骤顺序为限制。

在一个实施例中,机器人足底设置有压力传感器,步骤S124中计算机器人足底与地面之间的竖直方向作用力对应的计算公式为:

其中,R

在一个实施例中,机器人的各关节末端设置有转矩传感器,步骤S124中计算机器人足底与地面之间的竖直方向作用力对应的计算公式为:

其中,J

在一个实施例中,步骤S124中计算机器人的质心竖直方向速度对应的计算公式为:

其中,

其中,按照质心规划的位置(comp)、速度(comv)和加速度(coma),通过逆动力学(Inverse Dynamics)和逆运动学(Inverse Kinematics),计算得到各关节电机的指令,然后进一步得到机器人关节各自对应的角速度Θ。

在一个实施例中,状态信息包括状态名称、规划进入标志位、实际进入标志位、状态持续标志位以及状态结束与跳转标志位,步骤S130包括:

当状态检测结果为机器人处于加速相对应的状态持续阶段时,当且仅当将对应的状态持续标志位置为有效。

其中,在机器人处于所述加速相对应的状态持续阶段时,将规划进入标志位、实际进入标志位以及状态结束与跳转标志位均置为无效(清零),当且仅当将对应的状态持续标志位置为有效。

当状态检测结果为机器人进入加速相的状态结束与跳转阶段时,将对应的状态结束与跳转标志位置为有效,并在下一控制周期机器人进入腾空相的规划进入阶段时,将对应的状态结束与跳转标志位置为无效,并将对应的规划进入标志位置为有效。

其中,状态结束与跳转阶段结束后,机器人在下一控制周期内进入腾空相的规划进入阶段,此时需要将对应的状态结束与跳转标志位置为无效,并将对应的规划进入标志位置为有效。

当状态检测结果为机器人进入腾空相的实际进入阶段时,将对应的规划进入标志位置为无效,并将对应的实际进入标志位置为有效,并在下一控制周期机器人处于腾空相的状态持续阶段时,将对应的实际进入标志位置为无效。

其中,在腾空相的实际进入阶段结束后,需要将实际进入标志置为无效,机器人进而在下一控制周期处于腾空相的状态持续阶段时,当且仅当将状态持续标志置为有效。

当状态检测结果为机器人进入腾空相的状态结束与跳转阶段时,将对应的状态结束与跳转标志位置为有效,并在下一控制周期机器人进入减速相的规划进入阶段和实际进入阶段时,将对应的状态结束与跳转标志位置为无效,并将对应的规划进入标志位置和实际进入标志位置为有效,并在机器人处于减速相的状态持续阶段时,将对应的规划进入标志位置和实际进入标志位置为无效,且将对应的状态持续标志位置为有效。

当状态检测结果为机器人进入减速相的状态结束与跳转阶段时,将对应的状态结束与跳转标志位置为有效,并在下一控制周期机器人进入加速相的规划进入阶段和实际进入阶段时,将对应的状态结束与跳转标志位置为无效,并将对应的规划进入标志位置和实际进入标志位置为有效。

在一个实施例中,步骤S140包括:

当更新后的规划进入标志位有效时,结合更新后的状态名称,控制机器人进入对应的规划进入阶段,重置计时器,并生成初始质心规划轨迹。

其中,机器人实时获取更新后的状态信息,当获取到更新后的规划进入标志位有效时,需要结合更新后的状态名称,控制机器人进入对应的规划进入阶段,重置计时器,并生成初始质心规划轨迹。

当对应的规划进入阶段结束后,将对应的规划进入标志置为无效。

当更新后的实际进入标志位有效时,结合更新后的状态名称,控制机器人进入对应的实际进入阶段,计算并记录机器人对应的运动参数信息。

其中,当控制机器人进入对应的实际进入阶段时,计算并记录机器人对应的运动参数信息,在控制机器人进入对应的实际进入阶段结束后,需要进一步将该实际进入标志位清零。

上述运动参数信息通常包括机器人进入对应的实际进入阶段时对应的质心高度信息以及质心速度信息。

当更新后的状态持续标志位有效时,结合更新后的状态名称,控制机器人进入对应的状态持续阶段,根据初始质心规划轨迹和运动参数信息进行质心轨迹规划和质心速度控制。

其中,当腾空相更新后的状态持续标志位有效时,结合更新后的状态名称,控制机器人进入对应的状态持续阶段,机器人进入腾空相的状态持续阶段,此时可根据初始质心规划轨迹和运动参数信息进行腾空相的质心轨迹规划和质心速度控制。

当更新后的状态结束与跳转标志位有效时,结合更新后的状态名称,控制机器人进入对应的状态结束与跳转阶段。

此外,如图6所示,还提供一种机器人的有限状态机200,应用于机器人的连续跳跃模型,连续跳跃模型中机器人状态包括加速相、腾空相和减速相,有限状态机200包括状态划分单元210、事件检测单元220、状态变更单元230和行为处理单元240,机器人的有限状态机200包括:

状态划分单元210用于将每种机器人状态分别划分为规划进入阶段、实际进入阶段、状态持续阶段以及状态结束与跳转阶段;其中,加速相和减速相各自的规划进入阶段与对应的实际进入阶段分别相重合;

事件检测单元220用于对机器人在加速相、腾空相和减速相中各个不同阶段之间进行的状态切换进行检测,得到对应的状态检测结果;

状态变更单元230用于根据状态检测结果,更新机器人对应的状态信息;

行为处理单元240用于根据更新后的状态信息,控制机器人在加速相、腾空相和减速相中各个不同的阶段进行切换以控制机器人进行连续跳跃。

此外,还提供一种机器人,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使机器人执行上述建立方法。

此外,还提供一种可读存储介质,可读存储介质存储有计算机程序,计算机程序在被处理器运行时执行上述建立方法。

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

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

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

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号