掌桥专利:专业的专利平台
掌桥专利
首页

步态轨迹规划方法、装置、计算机可读存储介质及机器人

文献发布时间:2023-06-19 11:49:09


步态轨迹规划方法、装置、计算机可读存储介质及机器人

技术领域

本申请属于机器人技术领域,尤其涉及一种步态轨迹规划方法、装置、计算机可读存储介质及机器人。

背景技术

仿人机器人是具有多自由度的复杂系统,目前在对仿人机器人进行步态轨迹规划时,可以使用机器人的全动力学模型结合模型预测控制等优化方法,综合考虑机器人的多自由度、约束等进行步态轨迹规划,理论上来说,这是步态轨迹规划非常完美的解决方案,既可以考虑机器人的所有动力学,又可针对未来信息实时进行反馈和重规划。但由于这种方法产生的优化问题往往高度非线性且不能保证凸性,实时计算时不一定能够找到可行解,目前计算机算力虽有很快的发展,但仍不能满足这类方法的高实时性需求。

发明内容

有鉴于此,本申请实施例提供了一种步态轨迹规划方法、装置、计算机可读存储介质及机器人,以解决现有技术无法进行高实时性的步态轨迹规划的问题。

本申请实施例的第一方面提供了一种步态轨迹规划方法,可以包括:

获取机器人的标准步态轨迹库;所述标准步态轨迹库中包括若干个标准步态轨迹,且每个标准步态轨迹均对应于一种预设的标准行进速度;

确定机器人的当前行进速度;

根据所述当前行进速度在所述标准步态轨迹库的标准步态轨迹中进行插值计算,得到与所述当前行进速度对应的目标步态轨迹。

进一步地,所述根据所述当前行进速度在所述标准步态轨迹库的标准步态轨迹中进行插值计算,得到与所述当前行进速度对应的目标步态轨迹,可以包括:

根据下式在所述标准步态轨迹库的标准步态轨迹中进行插值计算:

其中,n为标准行进速度的序号,1≤n≤N,N为标准行进速度的数目,v

进一步地,在得到与所述当前行进速度对应的目标步态轨迹之后,所述步态轨迹规划方法还可以包括:

确定机器人的当前步态轨迹;

根据所述当前步态轨迹和所述目标步态轨迹进行轨迹拟合,得到从所述当前步态轨迹平滑过渡至所述目标步态轨迹的拟合步态轨迹。

进一步地,所述根据所述当前步态轨迹和所述目标步态轨迹进行轨迹拟合,可以包括:

构建与所述拟合步态轨迹对应的系数待定的拟合轨迹表达式;

根据所述当前步态轨迹和所述目标步态轨迹确定所述拟合轨迹表达式的边界约束条件;

在预设的轨迹拟合时段内选取若干个指定时间点,并计算所述目标步态轨迹在各个指定时间点的取值;

根据所述目标步态轨迹在各个指定时间点的取值构建与所述拟合轨迹表达式对应的优化目标;

根据所述优化目标和所述边界约束条件确定所述拟合轨迹表达式的各个待定系数,以得到所述拟合步态轨迹。

进一步地,所述构建与所述拟合步态轨迹对应的系数待定的拟合轨迹表达式,可以包括:

构建如下式所示的拟合轨迹表达式:

其中,t为时间变量,

进一步地,所述根据所述当前步态轨迹和所述目标步态轨迹确定所述拟合轨迹表达式的边界约束条件,可以包括:

确定如下式所示的边界约束条件:

其中,

进一步地,所述根据所述目标步态轨迹在各个指定时间点的取值构建与所述拟合轨迹表达式对应的优化目标,可以包括:

构建如下式所示的优化目标:

其中,t

本申请实施例的第二方面提供了一种步态轨迹规划装置,可以包括:

步态轨迹库获取模块,用于获取机器人的标准步态轨迹库;所述标准步态轨迹库中包括若干个标准步态轨迹,且每个标准步态轨迹均对应于一种预设的标准行进速度;

速度确定模块,用于确定机器人的当前行进速度;

插值计算模块,用于根据所述当前行进速度在所述标准步态轨迹库的标准步态轨迹中进行插值计算,得到与所述当前行进速度对应的目标步态轨迹。

进一步地,所述插值计算模块具体用于根据下式在所述标准步态轨迹库的标准步态轨迹中进行插值计算:

其中,n为标准行进速度的序号,1≤n≤N,N为标准行进速度的数目,v

进一步地,所述步态轨迹规划装置还可以包括:

当前步态轨迹确定模块,用于确定机器人的当前步态轨迹;

轨迹拟合模块,用于根据所述当前步态轨迹和所述目标步态轨迹进行轨迹拟合,得到从所述当前步态轨迹平滑过渡至所述目标步态轨迹的拟合步态轨迹。

进一步地,所述轨迹拟合模块可以包括:

拟合轨迹表达式构建单元,用于构建与所述拟合步态轨迹对应的系数待定的拟合轨迹表达式;

边界约束条件确定单元,用于根据所述当前步态轨迹和所述目标步态轨迹确定所述拟合轨迹表达式的边界约束条件;

指定时间点选取单元,用于在预设的轨迹拟合时段内选取若干个指定时间点,并计算所述目标步态轨迹在各个指定时间点的取值;

优化目标构建单元,用于根据所述目标步态轨迹在各个指定时间点的取值构建与所述拟合轨迹表达式对应的优化目标;

待定系数求解单元,用于根据所述优化目标和所述边界约束条件确定所述拟合轨迹表达式的各个待定系数,以得到所述拟合步态轨迹。

进一步地,所述拟合轨迹表达式构建单元具体用于构建如下式所示的拟合轨迹表达式:

其中,t为时间变量,

进一步地,所述边界约束条件确定单元具体用于确定如下式所示的边界约束条件:

其中,

进一步地,所述优化目标构建单元具体用于构建如下式所示的优化目标:

其中,t为时间变量,

本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种步态轨迹规划方法的步骤。

本申请实施例的第四方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种步态轨迹规划方法的步骤。

本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述任一种步态轨迹规划方法的步骤。

本申请实施例与现有技术相比存在的有益效果是:本申请实施例获取机器人的标准步态轨迹库;所述标准步态轨迹库中包括若干个标准步态轨迹,且每个标准步态轨迹均对应于一种预设的标准行进速度;确定机器人的当前行进速度;根据所述当前行进速度在所述标准步态轨迹库的标准步态轨迹中进行插值计算,得到与所述当前行进速度对应的目标步态轨迹。通过本申请实施例,仅通过对标准步态轨迹的插值计算即可得到与当前行进速度对应的目标步态轨迹,有效保证了步态轨迹规划的高实时性。

附图说明

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

图1为本申请实施例中一种步态轨迹规划方法的一个实施例流程图;

图2为机器人工作空间的状态轨迹的示意图;

图3为步态轨迹发生突变的示意图;

图4为根据当前步态轨迹和目标步态轨迹进行轨迹拟合的示意流程图;

图5为拟合步态轨迹的示意图;

图6为本申请实施例中一种步态轨迹规划装置的一个实施例结构图;

图7为本申请实施例中一种机器人的示意框图。

具体实施方式

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

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

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

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

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

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

请参阅图1,本申请实施例中一种步态轨迹规划方法的一个实施例可以包括:

步骤S101、获取机器人的标准步态轨迹库。

其中,所述标准步态轨迹库中包括若干个标准步态轨迹,且每个标准步态轨迹均对应于一种预设的标准行进速度。

本申请实施例中的步态轨迹可以是指某种单一的状态轨迹,也可以是指多种状态轨迹的组合。图2所示即为一些机器人工作空间的状态轨迹的示意图,包括但不限于上身姿态的俯仰角θ

gait(t)=[θ

对于任意一种标准行进速度而言,可以预先通过机器人的全动力学模型生成预设的步态周期(记为T)下的步态轨迹,将这一步态轨迹作为与该标准行进速度对应的标准步态轨迹。

设置多少种标准行进速度,以及每种标准行进速度的具体取值均可以根据实际情况进行设置,本申请实施例对此不作具体限定。

步骤S102、确定机器人的当前行进速度。

对于机器人行进过程中的某个时刻t,可以将此时机器人腰的前向速度实测值作为当前行进速度,将其记为

步骤S103、根据所述当前行进速度在所述标准步态轨迹库的标准步态轨迹中进行插值计算,得到与所述当前行进速度对应的目标步态轨迹。

具体地,可以根据下式在所述标准步态轨迹库的标准步态轨迹中进行插值计算:

其中,n为标准行进速度的序号,1≤n≤N,N为标准行进速度的数目,v

例如,假设标准行进速度的数目为4,分别为0m/s、0.3m/s、0.6m/s和0.9m/s,对应的标准步态轨迹分别为gait

在这种方式下,机器人在行进过程中即使受到速度扰动也可以实时选择最适合当前速度的步态轨迹,保证自身的稳定。

但是,当机器人受到扰动时,往往会有速度的突变,因此通过上述方式进行步态轨迹规划时,也会带来步态轨迹的突变,这也会造成机器人行走的不稳定。图3所示即为步态轨迹发生突变的示意图,图中是以摆动脚相对于腰的前向位置x

针对这一问题,本申请实施例中可以在确定机器人的当前步态轨迹以及计算得到所述目标步态轨迹的前提下,根据所述当前步态轨迹和所述目标步态轨迹进行轨迹拟合,得到从所述当前步态轨迹平滑过渡至所述目标步态轨迹的拟合步态轨迹。

如图4所示,轨迹拟合的过程具体可以包括如下步骤:

步骤S401、构建与所述拟合步态轨迹对应的系数待定的拟合轨迹表达式。

具体使用何种表达式可以根据实际情况进行设置,包括但不限于高阶多项式和贝塞尔曲线等。例如,若使用6阶多项式,则可以构建如下式所示的拟合轨迹表达式:

其中,

对其求导则可得到相应的速度表达式,即:

步骤S402、根据所述当前步态轨迹和所述目标步态轨迹确定所述拟合轨迹表达式的边界约束条件。

在一个步态周期下的时间范围为[0,T],所述拟合步态轨迹需要连接当前时刻t

其中,

例如,若使用6阶多项式,则对应的边界约束条件为:

步骤S403、在预设的轨迹拟合时段内选取若干个指定时间点,并计算所述目标步态轨迹在各个指定时间点的取值。

所述轨迹拟合时段即为[t

在选取指定时间点之后,则可以分别计算所述目标步态轨迹在各个指定时间点的取值,即

步骤S404、根据所述目标步态轨迹在各个指定时间点的取值构建与所述拟合轨迹表达式对应的优化目标。

具体地,可以构建如下式所示的优化目标:

也即使得所述拟合轨迹尽量接近于所述目标步态轨迹,两者之间的偏差最小化,其中,t

例如,若使用6阶多项式,且仅选取两个指定时间点t

步骤S405、根据所述优化目标和所述边界约束条件确定所述拟合轨迹表达式的各个待定系数,以得到所述拟合步态轨迹。

例如,可以使用qpOASES等常见优化工具对这一优化问题进行分析,求解出所述拟合轨迹表达式的各个待定系数,从而得到所述拟合步态轨迹。图5所示即为与图3中的例子所对应的拟合步态轨迹,通过这一拟合步态轨迹,实现了从当前轨迹到新轨迹的平滑连续切换。在每一时刻都会重复上述轨迹拟合过程,即进行滚动式的轨迹拟合。

需要注意的是,以上叙述中只是以摆动脚相对于腰的前向位置x

综上所述,本申请实施例获取机器人的标准步态轨迹库;所述标准步态轨迹库中包括若干个标准步态轨迹,且每个标准步态轨迹均对应于一种预设的标准行进速度;确定机器人的当前行进速度;根据所述当前行进速度在所述标准步态轨迹库的标准步态轨迹中进行插值计算,得到与所述当前行进速度对应的目标步态轨迹。通过本申请实施例,仅通过对标准步态轨迹的插值计算即可得到与当前行进速度对应的目标步态轨迹,有效保证了步态轨迹规划的高实时性。

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

对应于上文实施例所述的一种步态轨迹规划方法,图6示出了本申请实施例提供的一种步态轨迹规划装置的一个实施例结构图。

本实施例中,一种步态轨迹规划装置可以包括:

步态轨迹库获取模块601,用于获取机器人的标准步态轨迹库;所述标准步态轨迹库中包括若干个标准步态轨迹,且每个标准步态轨迹均对应于一种预设的标准行进速度;

速度确定模块602,用于确定机器人的当前行进速度;

插值计算模块603,用于根据所述当前行进速度在所述标准步态轨迹库的标准步态轨迹中进行插值计算,得到与所述当前行进速度对应的目标步态轨迹。

进一步地,所述插值计算模块具体用于根据下式在所述标准步态轨迹库的标准步态轨迹中进行插值计算:

其中,n为标准行进速度的序号,1≤n≤N,N为标准行进速度的数目,v

进一步地,所述步态轨迹规划装置还可以包括:

当前步态轨迹确定模块,用于确定机器人的当前步态轨迹;

轨迹拟合模块,用于根据所述当前步态轨迹和所述目标步态轨迹进行轨迹拟合,得到从所述当前步态轨迹平滑过渡至所述目标步态轨迹的拟合步态轨迹。

进一步地,所述轨迹拟合模块可以包括:

拟合轨迹表达式构建单元,用于构建与所述拟合步态轨迹对应的系数待定的拟合轨迹表达式;

边界约束条件确定单元,用于根据所述当前步态轨迹和所述目标步态轨迹确定所述拟合轨迹表达式的边界约束条件;

指定时间点选取单元,用于在预设的轨迹拟合时段内选取若干个指定时间点,并计算所述目标步态轨迹在各个指定时间点的取值;

优化目标构建单元,用于根据所述目标步态轨迹在各个指定时间点的取值构建与所述拟合轨迹表达式对应的优化目标;

待定系数求解单元,用于根据所述优化目标和所述边界约束条件确定所述拟合轨迹表达式的各个待定系数,以得到所述拟合步态轨迹。

进一步地,所述拟合轨迹表达式构建单元具体用于构建如下式所示的拟合轨迹表达式:

其中,t为时间变量,

进一步地,所述边界约束条件确定单元具体用于确定如下式所示的边界约束条件:

其中,

进一步地,所述优化目标构建单元具体用于构建如下式所示的优化目标:

其中,t

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

图7示出了本申请实施例提供的一种机器人的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。

如图7所示,该实施例的机器人7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各个步态轨迹规划方法实施例中的步骤,例如图1所示的步骤S101至步骤S103。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至模块603的功能。

示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述机器人7中的执行过程。

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

所述处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器71可以是所述机器人7的内部存储单元,例如机器人7的硬盘或内存。所述存储器71也可以是所述机器人7的外部存储设备,例如所述机器人7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述机器人7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述机器人7所需的其它程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

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

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

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。

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

相关技术
  • 步态轨迹规划方法、装置、计算机可读存储介质及机器人
  • 轴式机器人轨迹规划方法、装置与计算机可读存储介质
技术分类

06120113067482