MULTI-LEGGED ROBOT GAIT CONTROL METHOD AND APPARATUS, AND ROBOT
多足机器人的步态控制方法、 装置和机器人 技术领域 本发明涉及机器人领域, 具体而言, 涉及一种多足机器人的步态控制方法、 装 置和机器人。 背景技术 双足机器人具备仿人的外形和运动特征, 有较好的亲和力, 更加适合作为服务 机器人与人完成任务合作, 进行人机交互。 双足的运动控制技术可以很好的移 植到多足机器人平台, 有利于多足机器人的研究, 而足式机器人离散交替、 方 便调整的落脚点可以更好的适应不同的地面, 运动更加灵活, 有利于完成复杂 未知环境下的工作任务。 双足机器人的单边约束性以及欠驱动性容易导致其行 走不稳定而摔倒, 因此, 有效的步态规划和稳定的运动控制是双足机器人研究 领域中的关键技术和难点。 技术问题 目前, 针对双足机器人的运动规划通常采用离线设计的方法, 即提前设计双足 机器人的步态, 计算各个关节的运动轨迹, 通过试错的方法得到稳定的步态, 这种方法相对繁琐, 得到的步态重复性差, 抗干扰性差。 [0004] 针对现有技术中, 双足机器人的运行规划采用离线设计, 导致抗干扰性差的问 题, 目前尚未提出有效的解决方案。 问题的解决方案 技术解决方案 本发明实施例提供了一种多足机器人的步态控制方法、 装置和机器人, 以至少 解决现有技术中, 双足机器人的运行规划采用离线设计, 导致抗干扰性差的技 术问题。 根据本发明实施例的一个方面, 提供了一种多足机器人的步态控制方法, 包括 : 将机器人的每个步态划分为具有预设顺序的多个动作单元, 并获取机器人的 足端运动轨迹和与足端运动轨迹对应的目标零力矩点; 在机器人以预设步态行
走的情况下, 根据实吋获取到的机器人的当前零力矩点和目标零力矩点, 得到 机器人的质心运动轨迹; 根据足端运动轨迹和质心运动轨迹确定机器人的部件 连接节点的轨迹信息; 控制机器人以预设步态中动作单元的顺序, 按照动作单 元对应的部件连接节点的轨迹信息运动。 根据本发明实施例的另一方面, 还提供了一种多足机器人的步态控制装置, 包 括: 第一获取模块, 用于将机器人的每个步态划分为具有预设顺序的多个动作 单元, 并获取机器人的足端运动轨迹和与足端运动轨迹对应的目标零力矩点; 第二获取模块, 用于在机器人以预设步态行走的情况下, 根据实吋获取到的机 器人的当前零力矩点和目标零力矩点, 得到机器人的质心运动轨迹; 第一确定 模块, 用于根据足端运动轨迹和质心运动轨迹确定机器人的部件连接节点的轨 迹信息; 动作模块, 用于控制机器人以预设步态中动作单元的顺序, 按照动作 单元对应的部件连接节点的轨迹信息运动。 根据本发明实施例的另一方面, 还提供了一种机器人, 包括上述任意一种多足 机器人的步态控制装置。 发明的有益效果 有益效果 在本发明实施例中, 将机器人的每个步态划分为具有预设顺序的多个动作单元 , 并获取所述机器人的足端运动轨迹和对应的目标零力矩点, 在机器人以预设 步态行走的情况下, 根据实吋获取到的机器人的当前零力矩点和目标零力矩点 , 得到机器人的质心运动轨迹; 根据足端运动轨迹和质心运动轨迹确定机器人 的部件连接节点的轨迹信息; 控制机器人以预设步态中动作单元的顺序, 按照 动作单元对应的部件连接节点的轨迹信息运动。 上述方案通过将步态划分为动 作单元, 当机器人执行步态中的动作单元吋, 再根据动作单元中的信息 (足端 运动轨迹和目标零力矩点) 和机器人的动作信息 (当前零力矩点) 确定机器人 的其他部件的连接节点运动轨迹, 从而控制机器人执行预定的步态, 解决了现 有技术中, 双足机器人的运行规划采用离线设计, 导致抗干扰性差的问题, 实 现了实吋规划机器人步态的技术效果。 对附图的简要说明
附图说明 此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部分, 本 发明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的不当限定 。 在附图中: 图 1是根据本发明实施例的多足机器人的步态控制方法的流程图; [0012] 图 2是根据本发明实施例的一种小车 -桌子模型示意图; [0013] 图 3是根据本发明实施例的一种小车 -桌子模型的受力分析图; [0014] 图 4是根据本发明实施例的一种控制多足机器人行走的示意图; [0015] 图 5是根据本发明实施例的一种更换步态的示意图; 以及 [0016] 图 6是根据本发明实施例的多足机器人的步态控制装置的示意图。 本发明的实施方式 为了使本技术领域的人员更好地理解本发明方案, 下面将结合本发明实施例中 的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述 的实施例仅仅是本发明一部分的实施例, 而不是全部的实施例。 基于本发明中 的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其 他实施例, 都应当属于本发明保护的范围。 需要说明的是, 本发明的说明书和权利要求书及上述附图中的术语"第一"、 " 第二"等是用于区别类似的对象, 而不必用于描述特定的顺序或先后次序。 应该 理解这样使用的数据在适当情况下可以互换, 以便这里描述的本发明的实施例 能够以除了在这里图示或描述的那些以外的顺序实施。 此外, 术语"包括"和"具 有"以及他们的任何变形, 意图在于覆盖不排他的包含, 例如, 包含了一系列步 骤或单元的过程、 方法、 系统、 产品或设备不必限于清楚地列出的那些步骤或 单元, 而是可包括没有清楚地列出的或对于这些过程、 方法、 产品或设备固有 的其它步骤或单元。 实施例 1 根据本发明实施例, 提供了一种多足机器人的步态控制方法的实施例, 需要说 明的是, 在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算
机系统中执行, 并且, 虽然在流程图中示出了逻辑顺序, 但是在某些情况下, 可以以不同于此处的顺序执行所示出或描述的步骤。 [0021] 图 1是根据本发明实施例的多足机器人的步态控制方法的流程图, 如图 1所示, 该方法包括如下步骤: 步骤 S102, 将机器人的每个步态划分为具有预设顺序的多个动作单元, 并获取 所述机器人的足端运动轨迹和与足端运动轨迹对应的目标零力矩点。 具体的, 步态可以包括: 启动、 停止、 正常行走、 左转、 右转、 加速、 减速等 , 每个步态都由多个动作单元组成, 当机器人接收到执行某一步态的指令吋, 按照这一步态中预设顺序的动作单元进行动作即可完成该步态。 上述足端运行轨迹可以由机器人收到的指令进行确定, 进一步地, 可以由指令 所指示的具体任务确定, 例如, 指令所指示的任务为拿取桌子上的一个水杯, 则足端运动轨迹为机器人所处位置至桌子附近的位置的轨迹。 零力矩点为地面 对支撑面的反作用力关于该点在水平方向上的分力矩为零, 上述目标零力矩点 为不同吋刻的目标零力矩点, 对于机器人执行任务的整个过程中, 目标零力矩 点也能够构成一定的轨迹。 [0025] 步骤 S104, 在机器人以预设步态行走的情况下, 根据实吋获取到的机器人的当 前零力矩点和目标零力矩点, 得到机器人的质心运动轨迹。 [0026] 具体的, 机器人是当前零力矩点可以通过部署在机器人足端的传感器获取。 [0027] 在一种可选的实施例中, 以双足机器人为例, 可以在双足机器人的每个足端与 地面接触的足面设置至少四个压力传感器, 实吋获取机器人的对足端的垂直压 力, 并将机器人对足端的垂直压力传输至机器人的计算装置, 计算得到实吋的 零力矩点。 步骤 S106, 根据足端运动轨迹和质心运动轨迹确定机器人的部件连接节点的轨 迹信息。 具体的, 上述部件的连接节点可以为机器人的关节, 关节的轨迹信息中可以包 括每一吋刻关节的角度。 [0030] 步骤 S108, 控制机器人以预设步态中动作单元的顺序, 按照动作单元对应的部 件连接节点的轨迹信息运动。
此处需要说明的是, 上述步态的控制方案是"在线"规划的过程, 即在机器人的 运行过程中变控制机器人按照预定的步态运行, 边对机器人的步态进行规划的 过程, 与现有技术中预先对机器人的步态进行规划相比, 具有如下优势: 首先 , 在规划的过程中实吋的以机器人的运动状态作为参数进行规划, 因此抗干扰 性强; 其次, 由于将步态划分为多个动作单元, 因此具有较强的重复性; 最后 , 无需试错得到稳定步态的规划, 提高步态的规划效率。 [0032] 由上可知, 本申请上述方案将机器人的每个步态划分为具有预设顺序的多个动 作单元, 并获取所述机器人的足端运动轨迹和对应的目标零力矩点, 在机器人 以预设步态行走的情况下, 根据实吋获取到的机器人的当前零力矩点和目标零 力矩点, 得到机器人的质心运动轨迹; 根据足端运动轨迹和质心运动轨迹确定 机器人的部件连接节点的轨迹信息; 控制机器人以预设步态中动作单元的顺序 , 按照动作单元对应的部件连接节点的轨迹信息动作。 上述方案通过将步态划 分为动作单元, 当机器人执行步态中的动作单元吋, 再根据动作单元中的信息 (足端运动轨迹和目标零力矩点) 和机器人的动作信息 (当前零力矩点) 确定 机器人的其他部件的连接节点运动轨迹, 从而控制机器人执行预定的步态, 解 决了现有技术中, 双足机器人的运行规划采用离线设计, 导致抗干扰性差的问 题, 实现了实吋规划机器人步态的技术效果。 可选的, 根据本申请上述实施例, 步骤 S102, 获取所述机器人的足端运动轨迹 和与足端运动轨迹对应的目标零力矩点, 包括: 步骤 S1021 , 获取机器人的足端运动轨迹。 步骤 S1023 , 根据预设的判断依据和机器人的足端运动轨迹确定目标零力矩点 , 其中, 预设的判断依据用于确定机器人的零力矩点处于机器人的多足组成的 支撑面中, 支撑面由足端运动轨迹确定。 具体的, 上述预设的判断依据可以为 ZMP (Zero Moment Point, 零力矩点) 判 据。 预设的判断依据用于为确定目标零力矩点设置约束条件, 在目标零力矩点 符合预设的判断依据的情况下, 机器人在水平方向上的受力是均衡的, 因此能 够保证机器人处于平稳的状态, 在确定了机器人的足端构成的支撑面的情况下 , 目标零力矩点可以为支撑面的中心。
图 2是根据本发明实施例的一种小车 -桌子模型示意图, 结合图 2所示, 在该模 型中桌子包括支撑面 1和桌面 2, 质量可以忽略不计, 将小车等价位一个在桌面 运动的质点, 即将双足机器人的行走问题抽象为小车在桌面上的运动轨迹, 使 小车 -桌子这样一个上中下轻, 且支撑面小的系统保持稳定。 为了解决图 2中所示 模型的问题, 采用 ZMP判据, 正如图 3所示, 使得能够在支撑面 1上找到一点, 该点对支撑面的反作用在水平方向上的分力矩为零, 等价于双足机器人质心处 所受重力和惯性力的合力的延长线与地面的交点, 即重力和惯性力的合力关于 该点力矩为零。 可选的, 根据本申请上述实施例, 步骤 S1021 , 获取机器人的足端运动轨迹, 包括: 步骤 S10211 , 获取触发机器人运动的指令。 具体的, 上述指令可以是机器人通过语音传感器接收到的语音, 在经过语音识 别装置后获取到的语音指令, 也可以是用户通过在遥控器或机器人面板中上的 控件像机器人发出的指令, 对于具有无线功能机器人, 还可以是用户采用授权 后的设备 (例如: 接入与机器人同一网段并与机器人进行过配对的手机、 平板 等移动终端) 通过无线网络对机器人发出的指令。 [0041] 步骤 S10213 , 根据指令中的任务确定机器人的足端运动轨迹。 [0042] 由上可知, 本申请上述步骤实现了确定机器人的足端轨迹的目的。 [0043] 可选的, 根据本申请上述实施例, 步骤 S1023 , 根据预设的判断依据和机器人 的足端运动轨迹确定目标零力矩点, 包括: [0044] 步骤 S10231 , 根据足端运动轨迹确定机器人的多足组成的支撑面。 [0045] 步骤 S10232, 使用预设的判断依据确定机器人的零力矩点处于所述机器人的多 足组成的支撑面中。 [0046] 步骤 S10233 , 确定支撑面中心为目标零力矩点。 在一种可选的实施例中, 仍以双足机器人作为示例, 指令中指示机器人完成的 步态吋左转, 左转步态可以分为至少如下四个动作单元: 抬起左足、 左足左转 、 抬起右足、 右足右转。 以抬起左足作为示例, 此吋机器人的支撑面仅为右足 , 因此该动作单元中包含的目标零力矩点在右足与地面接触面的中心; 再以左
足左转作为示例, 左足左转后与右足之间构成的支撑面为两足以及两足之间的 封闭区域。 由上可知, 本申请上述步骤根据足端运动轨迹确定多足组成的支撑面, 确定支 撑面中心为目标零力矩点。 由于上述方案的目标零力矩点由足端运动轨迹的支 撑面得到, 在机器人的运动过程中, 不同的运动过程会对应不同的目标零力矩 点, 因此目标零力矩点为实吋的目标零力矩点, 从而能够实现实吋控制机器人 运动。 可选的, 根据本申请上述实施例, 步骤 S104, 根据实吋获取到的机器人的当前 零力矩点和目标零力矩点, 得到机器人的质心运动轨迹, 包括: [0050] 步骤 S1041 , 实吋获取机器人的当前目标零力矩点。 [0051] 具体的, 上述目标零力矩点, 步骤 S1043 , 将当前零力矩点和目标零力矩点的误差输入到预观测控制模型, 得到机器人的质心运动轨迹。 [0053] 由上可知, 本申请上述步骤实吋获取机器人的当前目标零力矩点, 通过当前零 力矩点和目标零力矩点的误差通过预观测控制方法得到机器人的质心运动轨迹 [0054] 可选的, 根据本申请上述实施例, 步骤 S1043 , 将当前零力矩点和目标零力矩 点的误差输入到预观测控制模型, 得到机器人的质心运动轨迹, 包括: [0055] 步骤 S10431 , 根据每个吋刻当前零力矩点和目标零力矩点的误差得到起始吋刻 至当前吋刻的目标零力矩点的累积误差, 并获取当前质心位置以及未来预设吋 间内的目标零力矩点。 步骤 S10433 , 通过预观测模型获取目标零力矩点的累积误差、 当前质心位置和 未来预设吋间内的目标零力矩点对应的增益矩阵。 [0057] 步骤 S10435 , 将目标零力矩点的累积误差、 当前质心位置和未来预设吋间内的 目标零力矩点分别与对应的增益矩阵相乘得到的数值累加, 得到当前吋刻质心 的加加速度。 步骤 S10437 , 根据每个吋刻质心的加加速度确定机器人的质心运动轨迹。 [0059] 在上述步骤中, 累计误差可以为一个数值; 当前质心位置可以为 1*3的行向量
; 三个数值分别为位置、 速度和加速度, 未来预设吋间内的目标零力矩点可以 为 1*N的行向量, 每个数值分别为不同吋刻的目标零力矩点的位置。 在分别与对 应的增益矩阵相乘后, 将相乘得到的三个数值累加, 则得到当前吋刻质心的加 加速度, 通过上述方式能够得到每一吋刻质心的加加速度后, 则能够确定质心 的运动轨迹。 可选的, 根据本申请上述实施例, 根据足端运动轨迹和质心运动轨迹通过逆向 运动学方法获取机器人的部件连接节点的轨迹信息, 包括: 根据逆向运动学方 法获取机器人的部件连接节点的轨迹信息, 其中, 根据足端运动轨迹和质心运 动轨迹通过逆向运动学方法获取机器人的部件连接节点的轨迹信息, 包括: [0061] 通过足端运动轨迹和质心运动轨迹确定当前末端部件连接节点的位置, 其中, 末端部件连接节点用于表示执行动作中最后一个动作的部件连接节点。 根据当前末端部件连接节点的位置逆向得到节点链上其他部件连接节点的位置 , 其中, 节点链用于表示在动作中具有连接关系的部件连接节点构成的链状关 系。 根据部件连接节点的位置确定机器人的部件连接节点的轨迹信息。 可选的, 根据本申请上述实施例, 在控制机器人以预设步态中动作单元的顺序 , 按照动作单元对应的部件连接节点的轨迹信息运动之前, 上述方法还包括: 步骤 S1081 , 实吋检测机器人的多足在与接触面接触的瞬吋产生的压力。 [0066] 在上述步骤中, 可以通过部署与多足机器人足部的压力传感器来获取多足与接 触面的瞬吋压力。 步骤 S1083 , 在压力大于预设压力的情况下, 通过阻抗控制方法重新确定部件 连接节点的角度。 具体的, 上述部件连接节点可以是机器人的关节, 部件连接节点的角度可以是 连接构成关节的部件构成的角度, 机器人可以根据足端运动轨迹、 质心运动轨 迹以及部件连接节点的运动轨迹 (由每一吋刻的部件连接节点的角度构成) 对 机器人进行行走的控制。 可选的, 根据本申请上述实施例, 在压力大于预设压力的情况下, 通过阻抗控 制方法重新确定部件连接节点的角度, 包括:
步骤 S10831 , 在压力大于预设压力的情况下, 将压力输入至预设的阻抗模型, 其中, 阻抗模型用于输出位置修正量。 步骤 S10833 , 根据阻抗模型输出的位置修正量对部件连接节点进行修正, 以重 新确定部件连接节点的角度。 在上述步骤中, 通过阻抗控制方法重新确定部件连接节点的角度可以通过在机 器人的关节处加入旋转弹簧和旋转阻尼器来实现, 通过旋转弹簧和旋转阻尼器 使机器人的关节具有恢复力和阻尼, 例如, 在构成关节的两个部件之间设置阻 尼弹簧, 如果机器人的足端与地面的冲击力大于预设压力, 则阻尼弹簧就会偏 离目标位置, 则会产生恢复力使之退回, 阻尼弹簧的偏移量越大, 使之恢复的 恢复力就绝大, 恢复力对两个部件产生了修正量, 从而使得两个部件构成了新 的关节角度。 例如: 根据足端运动轨迹和质心运动轨迹获得部件连接节点的角 度应该为 ocl, 但在机器人的足端与地面接触吋产生的瞬吋压力大于预设压力, 因此产生修正量将部件连接的角度调整为 οι2, 此处对 oil和 οι2之间的大小关系不 做限定, OC2相对于 ocl能够减小机器人足端对点的冲击力即可。 值得注意的是, 由于上述步骤在机器人的多足与接触面接触的瞬吋产生的压力 大于预设压力的情况下, 重新计算了部件连接点的角度, 则能够起到减震的作 用, 从而能够延长机器人的寿命。 图 4是根据本发明实施例的一种控制多足机器人行走的示意图, 结合图 4所述的 示例, 根据机器人接收的指令确定足端运动轨迹, 并根据足端运动轨迹确定目 标 ZMP, 同吋, 获取机器人的实吋 ZMP, 将机器人的实吋 ZMP和目标 ZMP以及 足端运动轨迹输入至小车 -桌子模型, 通过预观测控制方法得到机器人的质心运 动轨迹, 在根据机器人的足端运动轨迹和质心运动轨迹通过逆向运动学获得第 一关节运动轨迹, 可以直接使用第一关节运动轨迹对机器人进行行走的控制, 但为了起到减震的作用, 还可以使用阻抗控制方法将第一关节角度调整为第二 关节角度, 在使用第二关节角度对双足机器人进行行走的控制。 可选的, 根据本申请上述实施例, 在机器人接收到更换步态的指令吋, 获取机 器人的当前步态与目标步态的衔接步态; 控制机器人执行衔接步态后, 执行目 标步态。
通常一个指令中包含的任务需要多种步态来完成, 此吋则需要机器人按照指令 更换步态。 图 5是根据本发明实施例的一种更换步态的示意图, 结合图 5所示, 在一种可选 的实施例中, 步态 1中包含动作单元 11、 动作单元 12......动作单元 1N; 步态 n中 包含动作单元 nl、 动作单元 n2......动作单元 nN; 衔接动作中包含: 动作单元 nl 、 动作单元 n2......动作单元 nN, 机器人根据接收到的指令以及当前的运动状态 控制机器人在不同的步态中进行切换, 例如, 机器人在停止的状态下接收到指 令为按照步态 1行走, 则从单元 11幵始执行步态 1, 当机器人当前的运动状态为 动作单元 12吋, 接收到的指令为切换至步态 n, 则在衔接动作中査找动作单元 12 与步态 n的衔接动作 12n, 然后执行步态 n中的第一个动作单元 nl, 从而完成了步 态的切换。 实施例 2 根据本发明实施例, 提供了一种多足机器人的步态控制装置的实施例, 图 6是 根据本发明实施例的多足机器人的步态控制装置的示意图, 如图 6所示, 该装置 包括: 第一获取模块 60, 用于将机器人的每个步态划分为具有预设顺序的多个动作单 元, 并获取机器人的足端运动轨迹和与足端运动轨迹对应的目标零力矩点。 具体的, 步态可以包括: 启动、 停止、 正常行走、 左转、 右转、 加速、 减速等 , 每个步态都由多个动作单元组成, 当机器人接收到执行某一步态的指令吋, 按照这一步态中预设顺序的动作单元进行动作即可完成该步态。 上述足端运行轨迹可以由机器人收到的指令进行确定, 进一步地, 可以由指令 所指示的具体任务确定, 例如, 指令所指示的任务为拿取桌子上的一个水杯, 则足端运动轨迹为机器人所处位置至桌子附近的位置的轨迹。 零力矩点为地面 对支撑面的反作用力关于该点在水平方向上的分力矩为零, 上述目标零力矩点 为不同吋刻的目标零力矩点, 对于机器人执行任务的整个过程中, 目标零力矩 点也能够构成一定的轨迹。 [0084] 第二获取模块 62, 用于在机器人以预设步态行走的情况下, 根据实吋获取到的
机器人的当前零力矩点和目标零力矩点, 得到机器人的质心运动轨迹。 具体的, 机器人是当前零力矩点可以通过部署在机器人足端的传感器获取。 [0086] 第一确定模块 64, 用于根据足端运动轨迹和质心运动轨迹确定机器人的部件连 接节点的轨迹信息。 具体的, 上述部件的连接节点可以为机器人的关节, 关节的轨迹信息中可以包 括每一吋刻关节的角度。 [0088] 动作模块 66, 用于控制机器人以预设步态中动作单元的顺序, 按照动作单元对 应的部件连接节点的轨迹信息运动。 [0089] 此处需要说明的是, 上述步态的控制方案是"在线"规划的过程, 即在机器人的 运行过程中变控制机器人按照预定的步态运行, 边对机器人的步态进行规划的 过程, 与现有技术中预先对机器人的步态进行规划相比, 具有如下优势: 首先 , 在规划的过程中实吋的以机器人的运动状态作为参数进行规划, 因此抗干扰 性强; 其次, 由于将步态划分为多个动作单元, 因此具有较强的重复性; 最后 , 无需试错得到稳定步态的规划, 提高步态的规划效率。 由上可知, 本申请上述方案通过第一获取模块将机器人的每个步态划分为具有 预设顺序的多个动作单元, 并获取所述机器人的足端运动轨迹和对应的目标零 力矩点, 通过第二获取模块在机器人以预设步态行走的情况下, 根据实吋获取 到的机器人的当前零力矩点和目标零力矩点, 得到机器人的质心运动轨迹; 通 过第一确定模块根据足端运动轨迹和质心运动轨迹确定机器人的部件连接节点 的轨迹信息; 通过动作模块控制机器人以预设步态中动作单元的顺序, 按照动 作单元对应的部件连接节点的轨迹信息动作。 上述方案通过将步态划分为动作 单元, 当机器人执行步态中的动作单元吋, 再根据动作单元中的信息 (足端运 动轨迹和目标零力矩点) 和机器人的动作信息 (当前零力矩点) 确定机器人的 其他部件的连接节点运动轨迹, 从而控制机器人执行预定的步态, 解决了现有 技术中, 双足机器人的运行规划采用离线设计, 导致抗干扰性差的问题, 实现 了实吋规划机器人步态的技术效果。 可选的, 根据本申请上述实施例, 第一获取模块包括: 第一获取子模块, 用于获取机器人的足端运动轨迹。
确定子模块, 用于根据预设判断依据和机器人的足端运动轨迹确定目标零力矩 点, 其中, 预设的判断依据用于确定机器人的零力矩点处于机器人的多足组成 的支撑面中, 支撑面由足端运动轨迹端确定。 [0094] 可选的, 根据本申请上述实施例, 第一获取子模块包括: [0095] 第一获取单元, 用于获取触发机器人运动的指令。 [0096] 第一确定单元, 用于根据指令中的任务确定机器人的足端运动轨迹。 [0097] 可选的, 根据本申请上述实施例, 确定子模块包括: [0098] 第二确定单元, 用于根据足端运动轨迹确定机器人的多足组成的支撑面。 [0099] 第三确定单元, 用于使用预设的判断依据确定机器人的零力矩点处于机器人的 多足组成的支撑面中。 [0100] 第四确定单元, 用于确定支撑面中心为目标零力矩点。 [0101] 可选的, 根据本申请上述实施例, 第二获取模块包括: [0102] 第二获取单元, 用于实吋获取机器人的当前目标零力矩点。 [0103] 第三获取单元, 用于将当前零力矩点和目标零力矩点的误差输入到预观测控制 模型, 得到机器人的质心运动轨迹。 [0104] 可选的, 根据本申请上述实施例, 第三获取单元包括: 第一获取子单元, 用于根据每个吋刻当前零力矩点和目标零力矩点的误差得到 起始吋刻至当前吋刻的目标零力矩点的累积误差, 并获取当前质心位置以及未 来预设吋间内的目标零力矩点。 [0106] 第二获取子单元, 用于通过预观测模型获取目标零力矩点的累积误差、 当前质 心位置和未来预设吋间内的目标零力矩点对应的增益矩阵。 [0107] 计算子单元, 用于将目标零力矩点的累积误差、 当前质心位置和未来预设吋间 内的目标零力矩点分别与对应的增益矩阵相乘得到的数值累加, 得到当前吋刻 质心的加加速度。 确定子单元, 用于根据每个吋刻质心的加加速度确定机器人的质心运动轨迹。 [0109] 可选的, 根据本申请上述实施例, 第一确定模块包括: 第二获取子模块, 用于 根据所述足端运动轨迹和所述质心运动轨迹通过逆向运动学方法获取机器人的 部件连接节点的轨迹信息, 其中, 第二获取子模块包括:
第五确定单元, 用于根据所述足端运动轨迹和所述质心运动轨迹通过足端运动 轨迹和质心运动轨迹确定当前末端部件连接节点的位置, 其中, 末端部件连接 节点用于表示执行动作中最后一个动作的部件连接节点。 第三获取单元, 用于根据当前末端部件连接节点的位置逆向得到节点链上其他 部件连接节点的位置, 其中, 节点链用于表示在动作中具有连接关系的部件连 接节点构成的链状关系。 第六确定单元, 用于根据部件连接节点的位置确定机器人的部件连接节点的轨 迹信息。 可选的, 根据本申请上述实施例, 装置还包括: 检测模块, 用于在根据机器人的部件连接节点的轨迹信息控制机器人运动之前 , 实吋检测机器人的多足在与接触面接触的瞬吋产生的压力。 [0115] 第二确定模块, 用于在压力大于预设压力的情况下, 通过阻抗控制方法重新确 定部件连接节点的角度。 [0116] 可选的, 根据本申请上述实施例, 所述第二确定模块包括: [0117] 输入单元, 用于在所述压力大于预设压力的情况下, 将所述压力输入至预设的 阻抗模型, 其中, 所述阻抗模型用于输出位置修正量。 [0118] 修正单元, 用于根据所述阻抗模型输出的位置修正量对所述部件连接节点进行 修正, 以重新确定所述部件连接节点的角度。 [0119] 可选的, 根据本申请上述实施例, 机器人的步态控制装置还包括: [0120] 第三获取模块, 用于在机器人接收到更换步态的指令吋, 获取机器人的当前步 态与目标步态的衔接步态。 [0121] 控制模块, 用于控制机器人执行衔接步态后, 执行目标步态。 [0122] 实施例 3 根据本发明实施例, 提供了一种机器人, 包括实施例 2中的任意一种多足机器 人的步态控制装置。 本申请上述机器人中包括的多组机器人的步态控制装置通过第一获取模块将机 器人的每个步态划分为具有预设顺序的多个动作单元, 并获取所述机器人的足 端运动轨迹和对应的目标零力矩点, 通过第二获取模块在机器人以预设步态行
走的情况下, 根据实吋获取到的机器人的当前零力矩点和目标零力矩点, 得到 机器人的质心运动轨迹; 通过第一确定模块根据足端运动轨迹和质心运动轨迹 确定机器人的部件连接节点的轨迹信息; 通过动作模块控制机器人以预设步态 中动作单元的顺序, 按照动作单元对应的部件连接节点的轨迹信息动作。 上述 方案通过将步态划分为动作单元, 当机器人执行步态中的动作单元吋, 再根据 动作单元中的信息 (足端运动轨迹和目标零力矩点) 和机器人的动作信息 (当 前零力矩点) 确定机器人的其他部件的连接节点运动轨迹, 从而控制机器人执 行预定的步态, 解决了现有技术中, 双足机器人的运行规划采用离线设计, 导 致抗干扰性差的问题, 实现了实吋规划机器人步态的技术效果。 [0125] 上述本发明实施例序号仅仅为了描述, 不代表实施例的优劣。 [0126] 在本发明的上述实施例中, 对各个实施例的描述都各有侧重, 某个实施例中没 有详述的部分, 可以参见其他实施例的相关描述。 [0127] 在本申请所提供的几个实施例中, 应该理解到, 所揭露的技术内容, 可通过其 它的方式实现。 其中, 以上所描述的装置实施例仅仅是示意性的, 例如所述单 元的划分, 可以为一种逻辑功能划分, 实际实现吋可以有另外的划分方式, 例 如多个单元或组件可以结合或者可以集成到另一个系统, 或一些特征可以忽略 , 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦合或通信连接 可以是通过一些接口, 单元或模块的间接耦合或通信连接, 可以是电性或其它 的形式。 所述作为分离部件说明的单元可以是或者也可以不是物理上分幵的, 作为单元 显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者也可 以分布到多个单元上。 可以根据实际的需要选择其中的部分或者全部单元来实 现本实施例方案的目的。 另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可 以是各个单元单独物理存在, 也可以两个或两个以上单元集成在一个单元中。 上述集成的单元既可以采用硬件的形式实现, 也可以采用软件功能单元的形式 实现。 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
吋, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本发明的技 术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分 可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中, 包括若干指令用以使得一台计算机设备 (可为个人计算机、 服务器或者网络设 备等) 执行本发明各个实施例所述方法的全部或部分步骤。 而前述的存储介质 包括: U盘、 只读存储器 (ROM, Read-Only Memory) 、 随机存取存储器 (RAM, Random Access Memory) 、 移动硬盘、 磁 碟或者光盘等各种可以存储程序代码的介质。 以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技术 人员来说, 在不脱离本发明原理的前提下, 还可以做出若干改进和润饰, 这些 改进和润饰也应视为本发明的保护范围。
Provided is a multi-legged robot gait control method, comprising: dividing each gait of a robot into a plurality of action units having a pre-set order, acquiring a foot end motion trajectory of the robot and a target zero moment point corresponding thereto; where the robot is walking with a pre-set gait, according to a current zero moment point acquired in real time and the target zero moment point, obtaining a centre of mass motion trajectory of the robot; according to the foot end motion trajectory and the centre of mass motion trajectory, determining trajectory information about a component connection point of the robot; and controlling the robot to move in the order of the action units in a pre-set gait and according to the trajectory information about the component connection points corresponding to the action units. The method above solves the problem of using an offline design to plan the travel of a bi-legged robot, which causes poor anti-interference performance, and realizes the technical effect of real-time planning of a robot gait. Further provided are a multi-legged robot gait control apparatus, and a robot. 权利要求书 一种多足机器人的步态控制方法, 其特征在于, 包括: 将机器人的每个步态划分为具有预设顺序的多个动作单元, 并获取所 述机器人的足端运动轨迹和与所述足端运动轨迹对应的目标零力矩点 在所述机器人以预设步态行走的情况下, 根据实吋获取到的所述机器 人的当前零力矩点和所述目标零力矩点, 得到所述机器人的质心运动 轨迹; 根据所述足端运动轨迹和所述质心运动轨迹确定所述机器人的部件连 接节点的轨迹信息; 控制所述机器人以所述预设步态中动作单元的顺序, 按照所述动作单 元对应的部件连接节点的轨迹信息运动。 根据权利要求 1所述的方法, 其特征在于, 获取所述机器人的足端运 动轨迹和与所述足端运动轨迹对应的目标零力矩点, 包括: 获取所述机器人的足端运动轨迹; 根据预设的判断依据和所述机器人的足端运动轨迹确定目标零力矩点 , 其中, 所述预设的判断依据用于确定所述机器人的零力矩点处于所 述机器人的多足组成的支撑面中, 所述支撑面由所述足端运动轨迹确 定。 根据权利要求 2所述的方法, 其特征在于, 获取所述机器人的足端运 动轨迹, 包括: 获取触发所述机器人运动的指令; 根据所述指令中的任务确定所述机器人的足端运动轨迹。 根据权利要求 2所述的方法, 其特征在于, 根据预设的判断依据和所 述机器人的足端运动轨迹确定目标零力矩点, 包括: 根据所述足端运动轨迹确定所述机器人的多足组成的支撑面; 使用预设的判断依据确定所述机器人的零力矩点处于所述机器人的多 足组成的支撑面中;
确定所述支撑面中心为所述目标零力矩点。 根据权利要求 1所述的方法, 其特征在于, 根据实吋获取到的所述机 器人的当前零力矩点和所述目标零力矩点, 得到所述机器人的质心运 动轨迹, 包括: 实吋获取所述机器人的当前目标零力矩点; 将所述当前零力矩点和所述目标零力矩点的误差输入到预观测控制模 型, 得到所述机器人的质心运动轨迹。 根据权利要求 5所述的方法, 其特征在于, 将所述当前零力矩点和所 述目标零力矩点的误差输入到所述预观测控制模型, 得到所述机器人 的质心运动轨迹, 包括: 根据每个吋刻所述当前零力矩点和所述目标零力矩点的误差得到起始 吋刻至当前吋刻的目标零力矩点的累积误差, 并获取当前质心位置以 及未来预设吋间内的目标零力矩点; 通过预观测模型获取所述目标零力矩点的累积误差、 所述当前质心位 置和所述未来预设吋间内的目标零力矩点对应的增益矩阵; 将所述目标零力矩点的累积误差、 所述当前质心位置和所述未来预设 吋间内的目标零力矩点分别与对应的增益矩阵相乘得到的数值累加, 得到当前吋刻质心的加加速度; 根据每个吋刻质心的加加速度确定所述机器人的质心运动轨迹。 根据权利要求 1所述的方法, 其特征在于, 根据所述足端运动轨迹和 所述质心运动轨迹确定所述机器人的部件连接节点的轨迹信息, 包括 : 根据所述足端运动轨迹和所述质心运动轨迹通过逆向运动学方法获 取所述机器人的部件连接节点的轨迹信息。 根据权利要求 7所述的方法, 其特征在于, 其中, 根据所述足端运动 轨迹和所述质心运动轨迹通过逆向运动学方法获取所述机器人的部件 连接节点的轨迹信息, 包括: 通过所述足端运动轨迹和所述质心运动轨迹确定当前末端部件连接节 点的位置, 其中, 所述末端部件连接节点用于表示执行动作中最后一
个动作的部件连接节点; 根据所述当前末端部件连接节点的位置逆向得到节点链上其他部件连 接节点的位置, 其中, 所述节点链用于表示在动作中具有连接关系的 部件连接节点构成的链状关系; 根据部件连接节点的位置确定所述机器人的部件连接节点的轨迹信息 根据权利要求 1至 8中任意一项所述的方法, 其特征在于, 在控制所述 机器人以所述预设步态中动作单元的顺序, 按照所述动作单元对应的 部件连接节点的轨迹信息运动之前, 所述方法还包括: 实吋检测所述机器人的多足在与接触面接触的瞬吋产生的压力; 在所述压力大于预设压力的情况下, 通过阻抗控制方法重新确定所述 部件连接节点的角度。 根据权利要求 9所述的方法, 其特征在于, 在所述压力大于预设压力 的情况下, 通过阻抗控制方法重新确定所述部件连接节点的角度, 包 括: 在所述压力大于预设压力的情况下, 将所述压力输入至预设的阻抗模 型, 其中, 所述阻抗模型用于输出位置修正量; 根据所述阻抗模型输出的位置修正量对所述部件连接节点进行修正, 以重新确定所述部件连接节点的角度。 根据权利要求 1所述的方法, 其特征在于, 在所述机器人接收到更换 步态的指令吋, 获取所述机器人的当前步态与目标步态的衔接步态; 控制所述机器人执行所述衔接步态后, 执行所述目标步态。 一种多足机器人的步态控制装置, 其特征在于, 包括: 第一获取模块, 用于将机器人的每个步态划分为具有预设顺序的多个 动作单元, 并获取所述机器人的足端运动轨迹和与所述足端运动轨迹 对应的目标零力矩点; 第二获取模块, 用于在所述机器人以预设步态行走的情况下, 根据实 吋获取到的所述机器人的当前零力矩点和所述目标零力矩点, 得到所
述机器人的质心运动轨迹; 第一确定模块, 用于根据所述足端运动轨迹和所述质心运动轨迹确定 所述机器人的部件连接节点的轨迹信息; 动作模块, 用于控制所述机器人以所述预设步态中动作单元的顺序, 按照所述动作单元对应的部件连接节点的轨迹信息运动。 根据权利要求 12所述的装置, 其特征在于, 所述第一获取模块包括: 第一获取子模块, 用于获取所述机器人的足端运动轨迹; 确定子模块, 用于根据预设判断依据和所述机器人的足端运动轨迹确 定目标零力矩点, 其中, 所述预设的判断依据用于确定所述机器人的 零力矩点处于所述机器人的多足组成的支撑面中, 所述支撑面由所述 足端运动轨迹确定。 根据权利要求 13所述的装置, 其特征在于, 所述第一获取子模块包括 第一获取单元, 用于获取触发所述机器人运动的指令; 第一确定单元, 用于根据所述指令中的任务确定所述机器人的足端运 动轨迹。 根据权利要求 13所述的装置, 其特征在于, 所述确定子模块包括: 第二确定单元, 用于根据所述足端运动轨迹确定所述机器人的多足组 成的支撑面; 第三确定单元, 用于使用预设的判断依据确定所述机器人的零力矩点 处于所述机器人的多足组成的支撑面中; 第四确定单元, 用于确定所述支撑面中心为所述目标零力矩点。 根据权利要求 12所述的装置, 其特征在于, 所述第二获取模块包括: 第二获取单元, 用于实吋获取所述机器人的当前目标零力矩点; 第三获取单元, 用于将所述当前零力矩点和所述目标零力矩点的误差 输入到预观测控制模型, 得到所述机器人的质心运动轨迹。 根据权利要求 16所述的装置, 其特征在于, 所述第三获取单元包括: 第一获取子单元, 用于根据每个吋刻所述当前零力矩点和所述目标零
力矩点的误差得到起始吋刻至当前吋刻的目标零力矩点的累积误差, 并获取当前质心位置以及未来预设吋间内的目标零力矩点; 第二获取子单元, 用于通过预观测模型获取所述目标零力矩点的累积 误差、 所述当前质心位置和所述未来预设吋间内的目标零力矩点对应 的增益矩阵; 计算子单元, 用于将所述目标零力矩点的累积误差、 所述当前质心位 置和所述未来预设吋间内的目标零力矩点分别与对应的增益矩阵相乘 得到的数值累加, 得到当前吋刻质心的加加速度; 确定子单元, 用于根据每个吋刻质心的加加速度确定所述机器人的质 心运动轨迹。 [权利要求 18] 根据权利要求 12所述的装置, 其特征在于, 所述第一确定模块包括: 第二获取子模块, 用于根据所述足端运动轨迹和所述质心运动轨迹通 过逆向运动学方法获取所述机器人的部件连接节点的轨迹信息。 [权利要求 19] 根据权利要求 18所述的装置, 其特征在于, 所述第二获取子模块包括 第五确定单元, 用于通过所述足端运动轨迹和所述质心运动轨迹确定 当前末端部件连接节点的位置, 其中, 所述末端部件连接节点用于表 示执行动作中最后一个动作的部件连接节点; 第三获取单元, 用于根据所述当前末端部件连接节点的位置逆向得到 节点链上其他部件连接节点的位置, 其中, 所述节点链用于表示在动 作中具有连接关系的部件连接节点构成的链状关系; 第六确定单元, 用于根据部件连接节点的位置确定所述机器人的部件 连接节点的轨迹信息。 [权利要求 20] 根据权利要求 12至 19中任意一项所述的装置, 其特征在于, 所述装置 还包括: 检测模块, 用于在根据所述机器人的部件连接节点的轨迹信息控制所 述机器人运动之前, 实吋检测所述机器人的多足在与接触面接触的瞬 吋产生的压力;
第二确定模块, 用于在所述压力大于预设压力的情况下, 通过阻抗控 制方法重新确定所述部件连接节点的角度。 [权利要求 21] 根据权利要求 20所述的装置, 其特征在于, 所述第二确定模块包括: 输入单元, 用于在所述压力大于预设压力的情况下, 将所述压力输入 至预设的阻抗模型, 其中, 所述阻抗模型用于输出位置修正量; 修正单元, 用于根据所述阻抗模型输出的位置修正量对所述部件连接 节点进行修正, 以重新确定所述部件连接节点的角度。 [权利要求 22] 根据权利要求 12所述的装置, 其特征在于, 所述装置还包括: 第三获取模块, 用于在所述机器人接收到更换步态的指令吋, 获取所 述机器人的当前步态与目标步态的衔接步态; 控制模块, 用于控制所述机器人执行所述衔接步态后, 执行所述目标 步态。 [权利要求 23] 一种机器人, 其特征在于, 包括权利要求 12至 22中任意一项所述的多 足机器人的步态控制装置。