CN117008580A - 足式机器人的运动控制方法、装置、设备及存储介质 - Google Patents

足式机器人的运动控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117008580A
CN117008580A CN202210880649.1A CN202210880649A CN117008580A CN 117008580 A CN117008580 A CN 117008580A CN 202210880649 A CN202210880649 A CN 202210880649A CN 117008580 A CN117008580 A CN 117008580A
Authority
CN
China
Prior art keywords
foot
robot
jump
foot robot
unit area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210880649.1A
Other languages
English (en)
Inventor
迟万超
姜鑫洋
郑宇�
张育峰
向灵竹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210880649.1A priority Critical patent/CN117008580A/zh
Priority to PCT/CN2023/092651 priority patent/WO2024021749A1/zh
Priority to EP23844964.9A priority patent/EP4400930A1/en
Publication of CN117008580A publication Critical patent/CN117008580A/zh
Priority to US18/624,326 priority patent/US20240248488A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles
    • G05D2109/12Land vehicles with legs

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

本申请提供了一种足式机器人的运动控制方法、装置;足式机器人包括至少两个足端,方法包括:当足式机器人的各个足端分别立于相互独立的单元区域内时,接收到针对足式机器人的第一跳跃指令;其中,第一跳跃指令,用于指示足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;响应于跳跃指令,控制足式机器人跳跃至目标单元区域,使得所述足式机器人的各个足端收拢于所述目标单元区域,且在目标单元区域中,足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。通过本申请,能够提高足式机器人运动的动态性、难度以及观赏性,扩展足式机器人运动的多样性。

Description

足式机器人的运动控制方法、装置、设备及存储介质
技术领域
本申请涉及机器人运动控制技术领域,尤其涉及一种足式机器人的运动控制方法、装置、设备及计算机可读存储介质。
背景技术
足式机器人以其仿生、灵活等特点得到越来越多的关注。相关技术中已经实现的足式机器人步态非常多样,包括行走,对角慢跑,对角快跑,双足跳,四足跳,侧足走,飞奔等。
然而,针对足式机器人的跳跃步态,足式机器人能够实现的跳跃动作大都是在平地或具有大落脚面积的地形上实现的连续步态运动,并未实现落脚点受限或落脚点接触面面积小的约束情况下的跳跃动作。
发明内容
本申请实施例提供一种足式机器人的运动控制方法、装置及计算机可读存储介质,能够提高足式机器人运动的动态性、难度以及观赏性,扩展足式机器人运动的多样性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种足式机器人的运动控制方法,所述足式机器人包括至少两个足端,方法包括:
当足式机器人的各个足端分别立于相互独立的单元区域内时,接收到针对所述足式机器人的跳跃指令;
其中,所述跳跃指令,用于指示所述足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;
响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域、且在所述目标单元区域中,所述足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
本申请实施例提供一种足式机器人的运动控制装置,包括:
接收模块,用于当足式机器人的各个足端分别立于相互独立的单元区域内时,接收到针对所述足式机器人的跳跃指令;其中,所述跳跃指令,用于指示所述足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;
控制模块,用于响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域、且在所述目标单元区域中,所述足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
上述方案中,所述目标单元区域位于所述足式机器人前方,所述控制模块,还用于响应于所述跳跃指令,控制所述足式机器人经起跳阶段、腾空阶段及落地阶段,向前跳跃至所述目标单元区域。
上述方案中,所述控制模块,还用于在所述起跳阶段,所述足式机器人依次执行下蹲蓄力、足端蹬地及开始腾空的操作;
在所述腾空阶段,所述足式机器人依次执行空中收足收腿及空中伸腿的操作;
在所述落地阶段,所述足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。
上述方案中,所述控制模块,还用于在所述足式机器人进行所述下蹲蓄力的过程中,所述足式机器人的腿部弯曲,以将所述足式机器人的质心由初始高度降低至起跳高度;
在所述足式机器人进行所述足端蹬地的过程中,所述足式机器人增大腿部关节的力矩,以增大各足端与足端接触面的摩擦力;
在所述足式机器人进行所述开始腾空的过程中,所述足式机器人以目标俯仰角向前上方执行起跳动作,以增高膝关节的高度及所述质心的高度,所述质心的高度高于所述初始高度。
上述方案中,所述控制模块,还用于在所述足式机器人进行所述空中收足收腿的过程中,所述足式机器人控制各腿部带动相应足端向上收拢至身体中心下方;
在所述足式机器人进行所述空中伸腿的过程中,所述足式机器人控制前腿朝向所述目标单元区域伸展,以使所述足式机器人的各个足端能够落地于所述目标单元区域。
上述方案中,所述控制模块,还用于在所述足式机器人进行所述足端落地的过程中,所述足式机器人控制各个足端同时接触所述目标单元区域内的接触面;
在所述足式机器人进行所述曲腿缓冲的过程中,所述足式机器人执行各腿弯曲收缩的曲腿动作,并增大腿部关节的力矩,以减小所述足式机器人的速度;
在所述足式机器人进行所述身体平衡的过程中,所述足式机器人调整身体姿态,以将所述足式机器人的质心移动至所述目标单元区内。
上述方案中,所述足式机器人包括尾部,所述控制模块,还用于控制所述足式机器人基于至少一个自由度,在所述目标区域内连续执行以下操作至少之一:摇头动作、摆尾动作;
其中,所述自由度包括沿滚转、俯仰、偏转中至少之一。
上述方案中,所述目标单元区域位于所述足端所处的各所述单元区域的中心,所述控制模块,还用于响应于所述跳跃指令,控制所述足式机器人经起跳阶段、腾空阶段及落地阶段,向上跳跃至所述目标单元区域。
上述方案中,所述控制模块,还用于在所述起跳阶段,所述足式机器人依次执行下蹲蓄力及开始腾空的操作;
在所述腾空阶段,所述足式机器人执行空中收足收腿的操作;
在所述落地阶段,所述足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。
上述方案中,所述控制模块,还用于在所述足式机器人进行所述下蹲蓄力的过程中,所述足式机器人的腿部弯曲,以将所述足式机器人的质心由初始高度降低至起跳高度;
在所述足式机器人进行所述开始腾空的过程中,所述足式机器人向上进行弹跳,以增高膝关节的高度及所述质心的高度,所述质心的高度高于所述初始高度;
在所述足式机器人进行所述空中收足收腿的过程中,所述足式机器人控制躯干处于直立状态,所述足式机器人各腿部带动相应足端向上收拢至所述躯干下方。
上述方案中,所述足式机器人为四足机器人,所述控制模块,还用于响应于所述跳跃指令,当所述跳跃指令指示进行两足跳跃时,控制所述足式机器人交替使用两条前腿和两条后腿跳跃至所述目标单元区域。
上述方案中,所述控制模块,还用于所述足式机器人交替使用两条前腿和两条后腿进行跳跃的过程包括:蓄力阶段、四足蹬地阶段、前腿离地后腿蹬地阶段、腾空阶段及落地阶段。
上述方案中,所述单元区域及所述目标单元区域均为梅花桩中单桩的端面区域,所述单元区域与所述目标单元区域的形状及大小均相同。
上述方案中,所述控制模块,还用于对所述足式机器人的跳跃轨迹进行预测,得到参考跳跃轨迹;
获取所述跳跃指令对应的约束条件,所述约束条件用于对所述足式机器人的跳跃进行约束;
基于所述参考跳跃轨迹及所述约束条件,确定所述参考跳跃轨迹的至少两个关键点的状态参数。相应的,
所述控制模块,还用于响应于所述跳跃指令,基于各所述关键点的状态参数,控制所述足式机器人跳跃至所述目标单元区域。
上述方案中,所述控制模块,还用于获取所述参考跳跃轨迹中至少两个关键点;
其中,所述关键点包括以下至少之一:
所述参考跳跃轨迹的起始点、所述参考跳跃轨迹的顶点、所述参考跳跃轨迹的结束点。
本申请实施例提供一种足式机器人,所述足式机器人包括:
具有至少两个足端的机器人本体;
控制器,设置于所述机器人本体上,用于执行本申请实施例提供的足式机器人的运动控制方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的足式机器人的运动控制方法。
本申请实施例具有以下有益效果:
应用本申请实施例,根据接收到的跳跃指令,能够控制足式机器人从各个足端分别立于相互独立的单元区域内,跳跃至目标单元区域,且足式机器人的各足端收拢于目标单元区域内,如此,能够在落地的目标单元区域受限条件下,实现向目标单元区域跳跃的动作,提高了足式机器人运动的动态性、难度以及观赏性,并扩展了足式机器人运动的多样性。
附图说明
图1A-1B是本申请实施例提供的足式机器人的运动控制系统100的架构示意图;
图1C是本申请实施例提供的四足机器人结构示意图;
图1D是本申请实施例提供的控制设备结构示意图;
图2是本申请实施例提供的实施足式机器人的运动控制方法的电子设备500的结构示意图;
图3A-3B是本申请实施例提供的足式机器人的运动控制方法的流程示意图;
图4是本申请实施例提供的梅花桩式的地形区域示意图;
图5是本申请实施例提供的足式机器人的初始状态示意图;
图6是本申请实施例提供的状态参数获取流程示意图;
图7是本申请实施例提供的足式机器人起跳阶段示意图;
图8是本申请实施例提供的足式机器人腾空阶段示意图;
图9是本申请实施例提供的足式机器人落地阶段示意图;
图10是本申请实施例提供的基于自由度的足式机器人的角度实现示意图;
图11是本申请实施例提供的足式机器人的运动控制方法的另一流程图;
图12是本申请实施例提供的足式机器人起跳阶段的另一示意图;
图13是本申请实施例提供的足式机器人起跳阶段执行的操作示意图;
图14是本申请实施例提供的足式机器人落地阶段另一示意图;
图15是本申请实施例提供的足式机器人连续跳跃过程示意图;
图16是本申请实施例提供的足式机器人连续跳跃过程的另一示意图;
图17是本申请实施例提供的四足机器人平面模型示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)机器人(Robot):包括各类模拟人类行为或思想上模拟其他生物的机械(如机器狗,机器猫等)。在广义上某些电脑程序也被称为机器人。在当代工业中,机器人指能自动执行任务的人造机器人,用以取代或协助人类工作,可以是机电装置,或由电脑程序或电子电路控制。
2)足式机器人:泛指具有足端的机器人,足式机器人可以配置一个或多个腿,每个腿可以配置一个或多个关节,通常一只腿对应是三个关节,每条腿对应一个足端。足式机器人例如两足机器人、四足机器人或六足机器人等。四足机器人例如机器狗。由于足式机器人可能包括多个足端,而在不同时刻落足的足端可能是不同的,因此为了便于区分,可以将足式机器人的各个足端表示为第一足端、第二足端……第i足端等,在某个足端落脚时,也就对应机器人迈了该足端对应的腿。
3)落脚点:是指机器人足端与接触力接触的位置,用于泛指机器人的落脚点,可以是起始落脚点或候选落脚点,当候选落脚点被选中作为足端的落脚点时,则该候选落脚点又可以视为目标落脚点。其中起始落脚点是指起始时刻对应的足式机器人的落脚点。
4)广义坐标:能够确定质系(包括至少一个质点)位置的独立变量,如角度、面积等。极坐标、柱坐标、球坐标、曲线坐标等等,都属于广义坐标。也就是说,广义坐标不过就是一组坐标,对于一个三维空间中运动的质点,可以用三个直角坐标描述它的位置,也可以用三个球坐标描述它的位置,这些都叫广义坐标。在分析力学里,通常约定俗成地将广义坐标选取为一系列的独立的坐标,举例说明独立坐标:三维空间的自由质点必须要三个坐标才能确定它的位置,这三个坐标是独立的,缺一不可。
在三维空间中,1个质点拥有3个广义坐标,即可以用三个独立的变量来寻找三维空间中的任何一个位置。
5)自由度:单刚体拥有的独立坐标,称为自由度。三维空间中,1个非约束单刚体的自由度为6,包括3个平移的自由度、以及3个旋转的自由度。其中,三个旋转的自由度包括绕对应轴的俯仰、偏转及滚转。以三维空间中的右手笛卡尔坐标系为例,围绕X轴旋转称为滚转,可使用roll表示围绕X轴旋转的角度,即滚转角;使用pitch表示围绕Y轴旋转的角度,可称俯仰角;使用yaw表示围绕Z轴旋转,也称偏转角。
6)模型预测控制(MPC,Model Predictive Control):一种对受控对象进行预测的控制方法,模型预测控制实际上是以优化方法来求解控制问题,或者说是以优化问题的求解来给出控制器的动作,模型预测控制的运行描述如下:控制过程中,始终存在一条期望参考轨迹。以时刻作为当前时刻(坐标系纵轴所在位置)控制器结合当前的测量值和预测模型,预测系统未来一段时域内系统的输出,通过求解满足目标函数以及各种约束的优化问题,得到在控制时域内一系列的控制序列,并将该控制序列的第一个元素作为受控对象的实际控制量。当来到下一个时刻时,重复上述过程,如此滚动地完成一个个带约束的优化问题,以实现对被控对象的持续控制。模型预测控制属于反馈控制的一种,例如,过马路时,你脑子里会建立起一个此时此刻你的速度和边上过来的车行驶速度的模型,然后你每走一步,都会修正一下这个模型,调整自己的速度,以确定自己不会被撞上。
7)空间落脚约束条件:用于约束足式机器人在每次迈步后的足端均是处于该足端对应的工作空间中。该空间落脚约束条件可以用于约束机器人的质心位置变化系数、迈步次序和落脚点。
8)摩擦力约束条件:用于约束足端接触力位于摩擦锥内,以避免足式机器人与接触面之间出现打滑的情况,其中摩擦锥是根据足式机器人在候选落脚点的法向量和落脚的足端与接触面之间的摩擦系数确定的。
9)足端接触力约束条件:用于约束足端接触力在法线方向上的接触力小于或等于接触力上限,以避免足式机器人与接触面之间的作用力过大
基于上述对本申请实施例中涉及的名词和术语的解释,下面说明本申请实施例提供的足式机器人的运动控制系统。参见图1A-1B,图1A-1B是本申请实施例提供的足式机器人的运动控制系统100的架构示意图,为实现支撑一个示例性应用,系统包括足式机器人400和控制设备200,控制设备200与足式机器人400是相对独立的两个设备,足式机器人400包括至少两个足端(示例性的示出包括四个足端的足式机器人)在该情况下,足式机器人400通过网络300连接控制设备200,网络300可以是广域网或者局域网,又或者是二者的组合。足式机器人400和控制设备200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
足式机器人400用于,当足式机器人的各个足端分别立于相互独立的单元区域内时,接收到针对足式机器人的跳跃指令;其中,跳跃指令,用于指示足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;响应于跳跃指令,控制足式机器人跳跃至目标单元区域、且在目标单元区域中,足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
控制设备200用于,在控制设备200控制足式机器人400运动之前,控制设备200可以从上位机接收跳跃指令,或根据用户的输入操作以获得跳跃指令,该跳跃指令可以指示足式机器人400执行相应的跳跃动作。上位机可以为与控制设备200无线或有线连接的任意设备,上位机例如终端或服务器等。
控制设备200可以通过终端或服务器实现,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。服务器包括但不限于:独立的物理服务器、多个物理服务器构成的服务器集群、或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Cont ent Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,控制设备200为足式机器人400的一部分,控制设备200可以设置在足式机器人400的机体内,例如,控制设备200为足式机器人400中的内部处理器等。
以足式机器人为四足机器人为例,参见图1C,图1C是本申请实施例提供的四足机器人结构示意图,编号1示出的前腿、编号1-1示出的为前腿髋关节、编号1-2示出的为前大腿、编号1-3示出的为前腿膝关节、编号1-4示出的为前小腿、编号1-5示出的为前腿踝关节;编号2示出的后腿、编号2-1示出的为后腿髋关节、编号2-2示出的为后大腿、编号2-3示出的为后腿膝关节、编号2-4示出的为后小腿、编号2-5示出的为后腿踝关节;编号3示出的是足端、编号4示出的是躯干,编号5示出的是头部,大腿与小腿朝向头部的角度为膝关节的关节角度,在无特别说明的情况下,各个量均是在世界坐标系下的表示结果。
为了更清楚地介绍控制设备200的结构,参见图1D,图1D是本申请实施例提供的控制设备结构示意图,下面结合图1所示的足式机器人运动控制系统进行示例介绍,图1中是以控制设备200包括视觉感知单元210、轨迹生成单元220和运动控制单元230为例。其中,视觉感知单元210可以设置在足式机器人400上,例如搭载在足式机器人400的头部。视觉感知单元210例如包括摄像头、红外摄像头中的一种或多种。摄像头例如RGBD摄像头。视觉感知单元还包括用于实现即时定位与地图创建(Simultaneous Localizationand Mappin g)功能。视觉感知单元210采集足式机器人的状态数据。状态数据包括足式机器人400起始时刻的状态数据。另外,视觉感知单元210还可以采集足式机器人400所处的环境图像,获得足式机器人400每次落脚可能的目标单元区域(跳跃操作后的落脚点)。在获得状态数据、环境图像之后,视觉感知单元210可以将状态数据和环境图像发送至轨迹生成单元220。或者,轨迹生成单元220可以通过足式机器人400的内部传感器和外部传感器获得足式机器人400的状态数据。或者轨迹生成单元220可以将上一个规划周期的结束时刻的期望状态数据作为当前对应规划周期的起始时刻的状态数据。或者,轨迹生成单元220通过运动控制单元230的状态估计器获得足式机器人400的状态数据。轨迹生成单元220接收状态数据和目标单元区域(跳跃操作后的落脚点),确定足式机器人400在多个时刻的状态(状态是基于关节角度、质心高度、关节弯曲幅度、关节下降高度等状态数据确定的),并根据多个时刻的质心位置、目标单元区域的位置等获得该足式机器人400的质心运动轨迹,进而根据质心运动轨迹和目标单元区域(跳跃操作后的落脚点或称目标落脚点)确定足式机器人400的跳跃轨迹,将跳跃轨迹和目标落脚点发送给运动控制单元230。运动控制单元230可以根据跳跃轨迹和目标落脚点,确定该足式机器人230各个关节的关节力矩,按照各个关节力矩,控制足式机器人400的各个关节转动,从而实现足式机器人400的跳跃运动。
进一步地,运动控制单元230还可以监测足式机器人400跳跃过程的中实时的状态数据(各状态参数的值组成的状态数据,也可称控制数据),根据实时的状态数据,控制足式机器人400的跳跃,以保证足式机器人400能够稳定移动。
本申请实施例还可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
参见图2,图2是本申请实施例提供的实施足式机器人的运动控制方法的电子设备500的结构示意图。在实际应用中,电子设备500可以为图1示出的服务器或终端,以电子设备500为图1示出的终端为例,对实施本申请实施例的虚拟场景中的标记处理方法的电子设备进行说明,本申请实施例提供的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的足式机器人的运动控制装置可以采用软件方式实现,图2示出了存储在存储器550中的虚拟场景中的标记处理装置555,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块5551和控制模块5552,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的足式机器人的运动控制装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的足式机器人的运动控制装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的虚拟场景中的标记处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integra ted Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
将结合本申请实施例提供的足式机器人的示例性应用和实施,说明本申请实施例提供的足式机器人的运动控制方法。图3A-3B是本申请实施例提供的足式机器人的运动控制方法的流程示意图,参见图3A,将结合图3A示出的步骤进行说明。
在步骤101中,当足式机器人的各个足端分别立于相互独立的单元区域内时,足式机器人接收到针对足式机器人的跳跃指令。
其中,跳跃指令,用于指示足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域。
对单元区域进行说明,在一些实施例中,单元区域和目标单元区域可以是以下形式:单元区域及目标单元区域均为梅花桩中单桩的端面区域,单元区域与目标单元区域的形状及大小均相同。
在实际实施时,单元区域可以是足式机器人的控制设备通过对地形区域进行细化等面积分割离散的方式,得到的一系列多个分散独立的落脚点(单元区域),单元区域可以是类似于梅花桩中单桩的端面区域。足式机器人可以控制自身在梅花桩或能够离散化成梅花桩形式的地形区域中完成高动态高难度的跳跃动作,跳跃动作可以包括足式机器人从各足端分别立于梅花桩中各个单桩的端面区域跳跃至同一单桩的端面区域,以四足机器人为例,该跳跃动作可以是四足机器人从四脚分散站立状态开始的四桩跳单桩动作、且四脚收拢于落地平衡的单桩。跳跃动作还可以包括足式机器人各个足端立于梅花桩中一个单桩的端面区域跳跃至各单桩的端面区域,以四足机器人为例,该跳跃动作可以是四足机器人从四脚收拢状态开始的单桩跳四桩动作。目标单元区域主要是用于表征足式机器人的落脚点受限的区域,即足式机器人在目标单元区域内(目标落脚点)时,是以各足端收拢于身体下方的姿态保持平衡的,当各足端分散时,足式机器人容易踩空或跌倒。
示例性地,参见图4,图4是本申请实施例提供的梅花桩式的地形区域示意图,图中示出的梅花桩包括多个独立的、区域面积大小相同的单桩(单元区域)。在实际应用中,不同的地形也可以离散成包括多个高度不同、区域面积不同的单元区域。
在实际实施时,足式机器人的初始状态为足式机器人的各个足端分别立于相互独立的多个单元区域内,示例性地,参见图5,图5是本申请实施例提供的足式机器人的初始状态示意图,图中,以四足机器人为例,单元区域为梅花桩中的单桩的端面区域,四足机器人四足分别立于梅花桩中的四个单桩上。
对足式机器人接收跳跃指令的方式进行说明,在实际实施时,足式机器人可以接收到针对自身的跳跃指令,其中,跳跃指令的触发方式,可以是外部触发或内部触发,外部触发可以是足式机器人接收到用户输入的跳跃指令(输入形式可以是语音输入、文字输入)、或用户触发用于控制足式机器人进行跳跃的功能项触发的;内部触发可以是足式机器人根据自身携带的控制器发出的跳跃指令。另外跳跃指令可以包括向前跳跃指令、向上跳跃指令中至少之一,具体的,可以根据目标单元区域相对于单元区域的位置确定,当目标单元区域位于足式机器人的前方时,跳跃指令为向前跳跃指令;当目标单元区域位于各单元区域的中心时,跳跃指令为向后跳跃指令。后续在无特别说明的情况下,跳跃指令是指向前跳跃指令。不同形式的跳跃指令,对应的跳跃过程不同。
在步骤102中,响应于跳跃指令,控制足式机器人跳跃至目标单元区域,使得足式机器人的各个足端收拢于目标单元区域,且在目标单元区域中,足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
在实际实施时,足式机器人响应于跳跃指令,执行相应的跳跃动作。在执行跳跃动作之前,足式机器人可以采用模型预测控制(MPC)方法生成对应当前跳跃动作的参考跳跃轨迹,参考跳跃轨迹可以包括至少两个关键点的状态参数,每个阶段对应有相应的控制信息,足式机器人解析控制信息,得到在各个阶段对应的运动轨迹。
在一些实施例中,参见图6,图6是本申请实施例提供的状态参数获取流程示意图,结合图6示出的步骤说明基于参考跳跃轨迹执行的跳跃过程中各关键点对应的状态参数的获取方式:
步骤201,足式机器人对足式机器人的跳跃轨迹进行预测,得到参考跳跃轨迹。
在实际实施时,足式机器人接收到跳跃指令后,可以采用模型预测控制(M PC)方法获取与该跳跃指令对应的参考跳跃轨迹,该参考跳跃轨迹是求解优化问题(构建的非线性优化问题对当前跳跃指令对应的跳跃轨迹进行规划,以实现驱动力最小的优化目标)后得到满足约束条件的最省力参考轨迹,参考跳跃轨迹能够有效保证跳跃过程中足式机器人执行各动作的可行性,从而可以顺利对参考跳跃轨迹进行预测。在跳跃过程中,足式机器人控制自身的跳跃动作尽可能的与参考跳跃轨迹一致。
步骤202,获取跳跃指令对应的约束条件,约束条件用于对足式机器人的跳跃进行约束。
在实际实施时,不同的跳跃指令对应不同的参考跳跃轨迹,获取不同的参考跳跃轨迹时约束条件也不同。约束条件用于对足式机器人的跳跃进行约束。针对跳跃指令的约束条件可以为空间落脚点约束条件、摩擦力约束条件、足端约束力约束条件等。例如,针对本申请实施例中足式机器人在梅花桩上的跳跃动作,约束条件包括关节力矩限幅、足底摩擦锥、关节下降高度阈值、动力学约束及足端无滑动等。
步骤203,基于参考跳跃轨迹及约束条件,确定参考跳跃轨迹的至少两个关键点的状态参数。
在一些实施例中,在确定至少两个关键点的状态参数时,足式机器人先获取参考跳跃轨迹中至少两个关键点,其中,关键点包括以下至少之一:参考跳跃轨迹的起始点、参考跳跃轨迹的顶点、参考跳跃轨迹的结束点。
在实际实施时,关键点可以是跳跃过程中,各操作分段处的采样点,采样点处足式机器人对应的各状态参数的参数值,可以采用广义坐标的形式表征,为了便于描述,将各关键点对应的各状态参数的参数值称作控制信息,即一个关键点对应一条控制信息,足式机器人根据得到的各关键点的控制信息控制自身执行的相应操作可以尽可能的接近参考跳跃轨迹。其中,状态参数可以包括足式机器人的质心位置、各足端的位置、各关节的关节角度、关节角速度、关节角加速度、关节力矩、关节自由度等。对于广义坐标表示的控制数据将在后续以四足机器人为例进行详细描述。
在一些实施例中,足式机器人可以分以下阶段跳跃至位于足式机器人前方的目标单元区域:足式机器人响应于跳跃指令,控制足式机器人经起跳阶段、腾空阶段及落地阶段,向前跳跃至目标单元区域。
在实际实施时,足式机器人的各个足端从相对应的单元区域,向前跳跃至目标单元区域跳跃的整个过程,可以划分为起跳阶段、腾空阶段、落地阶段。足式机器人根据当前跳跃指令对应的参考跳跃轨迹中获取各关键点的控制信息,足式机器人解析控制信息,得到各个操作所对应的状态参数的参数值,从而呈现相应的形态。
在一些实施例中,足式机器人在跳跃过程的起跳阶段可以执行以下操作:在起跳阶段,足式机器人依次执行下蹲蓄力、足端蹬地及开始腾空的操作。
在实际实施时,在起跳阶段,足式机器人至少可以得到参考跳跃轨迹中以下关键点的控制信息:下蹲蓄力、足端蹬地及开始腾空。在整个跳跃过程的起跳阶段,足式机器人从正常立于相互独立的各单元区域的初始状态开始,依次执行下蹲蓄力、足端蹬地、开始腾空的操作,每个操作足式机器人根据相应的控制信息,控制足式机器人自身处于与操作相对应的状态。
示例性地,参见图7,图7是本申请实施例提供的足式机器人起跳阶段示意图,图中足式机器人为四足机器人,单元区域为梅花桩中单桩,图中编号1示出的是四足机器人的初始状态,图中编号2示出的是在跳跃过程的起跳阶段,足式机器人的下蹲蓄力操作,图中编号3示出的是在跳跃过程的起跳阶段,足式机器人的足端蹬地操作,图中编号4示出的是在跳跃过程的起跳阶段,足式机器人的开始腾空操作。
在一些实施例中,足式机器人在起跳阶段,足式机器人的各身体部位可以呈现以下形态变化:在足式机器人进行下蹲蓄力的过程中,足式机器人的腿部弯曲,以将足式机器人的质心由初始高度降低至起跳高度;在足式机器人进行足端蹬地的过程中,足式机器人增大腿部关节的力矩,以增大各足端与足端接触面的摩擦力;在足式机器人进行开始腾空的过程中,足式机器人以目标俯仰角向前上方执行起跳动作,以增高膝关节的高度及质心的高度,质心的高度高于初始高度。
在实际实施时,足式机器人获取下蹲蓄力操作完成后的第一控制信息,基于该控制信息,控制足式机器人的各关节的关节角度从初始状态时的关节角度弯曲至该控制信息中指定的关节角度,并控制质心由初始高度下降至起跳高度,这里的起跳高度是该控制信息中指定的质心高度,第一控制信息中指定的质心高度是在基于各关节不能与单元区域的接触面触碰、以及关机力矩限幅的约束条件确定的。下蹲蓄力操作执行完后,足式机器人开始进行足端蹬地操作,在蹬地过程中,解析足端蹬地时对应的第二控制信息,增大各关节的关节力矩至第二控制信息中相对应的关节力矩的值,增大足端与单桩端面的摩擦力,同时,控制足式机器人的头部扬起(调整足端机器人的俯仰角增大至第二控制信息中的仰角)、髋关节高度降低、身体躯干与大腿关节间的夹角增大,如呈180度、前腿关节的夹角增大,并使质心迁移。这里的第二控制信息至少是基于蹬地过程中足端不滑动的约束条件(摩擦力约束条件)确定的;在完成足端蹬地操作时,执行开始腾空操作,此时足端机器人获取与该时间点相对应的第三控制信息,调整质心的位置至第三控制信息中的质心位置,此时质心的高度高于初始高度,俯仰角相对于足端蹬地时减小至第三控制信息中的俯仰角,增加各关节的关节角度至第三控制信息中的关节角度,关节角度的变化速度要与第三控制信息的关节角速度保持一致。
承接上例,以足式机器人是四足机器人为例,参见图7中编号2示出的足式机器人的下蹲蓄力操作,相比参见图7中编号1示出的初始状态,控制足式机器人的各关节的关节角度从初始状态时的关节角度弯曲,并控制质心由初始高度下降至起跳高度。图中编号3示出的足式机器人的足端蹬地操作,相比参见图7中编号2示出的下蹲蓄力时的状态,控制足式机器人的头部扬起、后腿髋关节高度降低、身体躯干与后大腿处于一条直线。图中编号4示出的足式机器人的开始腾空操作,相比参见图7中编号3示出的足端蹬地时的状态,增大各关节的关节高度、控制质心的高度高于初始高度、质心向前上方移动,增大各关节的关节角度,躯干与桩面平行。
在一些实施例中,足式机器人在跳跃过程的腾空阶段可以执行以下操作:在腾空阶段,足式机器人依次执行空中收足收腿及空中伸腿的操作。
在实际实施时,在整个跳跃过程的腾空阶段,足式机器人从起跳阶段的开始腾空操作对应的姿态,依次执行空中收足收腿、空中伸腿的操作,并依据各操作对应的控制信息,动态变化执行各操作对应的足式机器人的状态变化(也可称姿态变化)。
示例性地,参见图8,图8是本申请实施例提供的足式机器人腾空阶段示意图,图中足式机器人为四足机器人,单元区域为梅花桩中单桩,图中编号1示出的是在跳跃过程的腾空阶段,足式机器人的空中收足收腿操作,图中编号2示出的是在跳跃过程的腾空阶段,足式机器人的足端蹬地操作,图中编号4示出的是在跳跃过程的起跳阶段,足式机器人的空中伸腿操作。
在一些实施例中,足式机器人在腾空阶段,足式机器人的各身体部位可以呈现以下形态变化:在足式机器人进行空中收足收腿的过程中,足式机器人控制各腿部带动相应足端向上收拢至身体中心下方;在足式机器人进行空中伸腿的过程中,足式机器人控制前腿朝向目标单元区域伸展,以使足式机器人的各个足端能够落地于目标单元区域。
在实际实施时,足式机器人获取空中收足收腿对应的第四控制信息,基于该第四控制信息,控制足式机器人在空中逐渐将各足端向身体质心下方靠拢,即控制足式机器人的各关节的关节角度从开始腾空操作完成时的关节角度按照第四控制信息中的关节角速度、关节加速度增加至第四控制信息中指定的关节角度,并增大质心的高度、质心沿X轴的分量增加(即质心向前移动);当质心高度开始降低时,获取在空中收足并伸腿的第五控制信息,基于第五控制信息,继续控制质心的X轴分量增加、降低质心高度、控制身体具有目标俯角(俯仰角中的俯视角度),继续缩小前腿各关节的关节角度至第四控制信息中的关节角度为落地做准备,同时由于目标单元区域的数量为1个,后腿向前伸的距离较远,此时,根据第五控制信息中的后腿膝关节的关节角度、髋关节的关节解角度等数据,控制后腿向目标单元区域伸展。
承接上例,以足式机器人是四足机器人为例,参见图8中编号1示出的足式机器人的空中收足收腿操作,相比参见图7中编号4示出的开始腾空操作的状态,控制足式机器人在空中逐渐将各足端向身体质心下方靠拢,并增大质心的高度、质心沿X轴的分量增加(即质心向前方移动)。图中编号2示出的足式机器人的空中伸腿操作,相比参见图8中编号1示出的空中收足收腿时的状态,继续控制质心的X轴分量增加、控制质心向前向下移动、降低质心高度,控制头部具有目标俯角。
在一些实施例中,足式机器人在跳跃过程的落地阶段可以执行以下操作:在落地阶段,足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。
在实际实施时,在整个跳跃过程的落地阶段,足式机器人从腾空阶段的向目标单元区域伸展操作时的姿态,开始依次执行足端落地、曲腿缓冲、身体平衡的操作,并依据各操作对应的控制信息,动态变化执行各操作对应的足式机器人的状态变化(也可称姿态变化)。
示例性地,参见图9,图9是本申请实施例提供的足式机器人落地阶段示意图,图中足式机器人为四足机器人,单元区域为梅花桩中单桩,图中编号1示出的是在跳跃过程的落地阶段,足式机器人的足端落地操作,图中编号2示出的是在跳跃过程的落地阶段,足式机器人的曲腿缓冲操作,图中编号4示出的是在跳跃过程的落地阶段,足式机器人的身体平衡操作。
在一些实施例中,足式机器人在落地阶段,足式机器人的各身体部位可以呈现以下形态变化:在足式机器人进行足端落地的过程中,足式机器人控制各个足端同时接触目标单元区域内的接触面;在足式机器人进行曲腿缓冲的过程中,足式机器人执行各腿弯曲收缩的曲腿动作,并增大腿部关节的力矩,以减小足式机器人的速度;在足式机器人进行身体平衡的过程中,足式机器人调整身体姿态,以将足式机器人的质心移动至目标单元区内。
在实际实施时,足式机器人获取足端落地时的第六控制信息,足式机器人的各个足端同时接触目标单元区域的接触面,此时,足式机器人后腿的膝关节仍然处于较大的关节角度,是由于后腿向目标单元区域伸展的距离相较与前腿向目标单元区域伸展的距离长,为保证同时足端的同时接触,相比与空中伸腿操作的关节角度更大。在足端同时接触目标单元区域的接触面之后,足式机器人开始根据曲腿缓冲对应的第七控制信息,控制各腿执行弯曲收缩的曲腿动作,同时为各关节施加力矩控制进行足式机器人的缓冲减速,将身体质心投影平顺移动到目标单元区域内,从而最终实现平衡。由于接触桩面时,后腿向前伸的距离较远(后退膝关节、髋关节的伸展距离大),在落地后缓冲的过程中后腿膝关节会倾向于向下方运动。同时为了避免膝关节低于目标单元区域的高度后,后腿小腿与目标单元区域的接触面产生碰撞,第七控制信息是基于摩擦力约束条件、空间落脚约束条件及足端接触力约束条件确定的,根据第七控制信息中各关节的关节角度、质心位置,等控制足式机器人的曲腿缓冲时后腿弯曲的收缩幅度不超过收缩幅度阈值、后腿膝关节的下降幅度不超过下降幅度阈值。另外还可以保证足端在接触桩面后不因冲击反弹,也不因腿部姿势和发力而发生滑动(第七控制信息是基于摩擦力约束条件确定的)。
承接上例,以足式机器人是四足机器人为例,参见图9中编号1示出的足式机器人的足端落地操作,相比参见图8中编号2示出的空中伸腿操作的状态,控制足式机器人各个足端同时接触桩面、质心下降、躯干与桩面平行、各关节弯曲、前腿髋关节与躯干近似处于同一条直线。图中编号2示出的足式机器人的曲腿缓冲操作,相比编号1示出的足端落地时的状态,继续控制膝关节弯曲、质心向后移动、后大腿与躯干和后小腿垂直、后小腿与桩面平行。图中编号3示出的足式机器人的身体平衡操作,相比编号2示出的曲腿缓冲时的状态,将身体质心投影平顺移动到单桩上。
在一些实施例中,目标单元区域位于足端所处的各单元区域的中心时,足式机器人可以通过以下方式实现向上跳跃:足式机器人响应于跳跃指令,控制足式机器人经起跳阶段、腾空阶段及落地阶段,向上跳跃至目标单元区域。
在实际实施时,足式机器人根据MPC预测得到向上跳跃的参考跳跃轨迹,以及该参考跳跃轨迹上各个关键点的控制信息(包括各个状态参数的参考值),实现足式机器人的向上跳跃至目标单元区域,向上跳跃的过程可以划分为起跳阶段、腾空阶段、落地阶段。
在一些实施例中,足式机器人在向上跳跃过程的各阶段可以依次执行以下操作:在起跳阶段,足式机器人依次执行下蹲蓄力及开始腾空的操作;在腾空阶段,足式机器人执行空中收足收腿的操作;在落地阶段,足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。其中,在足式机器人进行下蹲蓄力的过程中,足式机器人的腿部弯曲,以将足式机器人的质心由初始高度降低至起跳高度;在足式机器人进行开始腾空的过程中,足式机器人向上进行弹跳,以增高膝关节的高度及质心的高度,质心的高度高于初始高度;在足式机器人进行空中收足收腿的过程中,足式机器人控制躯干处于直立状态,足式机器人各腿部带动相应足端向上收拢至躯干下方。
在一些实施例中,足式机器人为四足机器人时,足式机器人还可以采用以下方式实现跳跃操作:足式机器人响应于跳跃指令,当跳跃指令指示进行两足跳跃时,控制足式机器人交替使用两条前腿和两条后腿跳跃至目标单元区域。
在实际实施时,四足机器人执行跳跃操作的跳跃步态可以包括两足跳、四足跳,其中,两足跳用于指示足式机器人交替使用两条前腿和两条后腿进行跳跃的跳跃方式。
在一些实施例中,足式机器人可以通过以下阶段实现两足跳的跳跃过程:足式机器人交替使用两条前腿和两条后腿进行跳跃的过程包括:蓄力阶段、四足蹬地阶段、前腿离地后腿蹬地阶段、腾空阶段及落地阶段。
在一些实施例中,参见图3B,足式机器人的各个足端立于目标单元区域内,且保持平衡后,还可以执行步骤103,对自身的姿态进行控制:
在步骤103中,控制足式机器人基于至少一个自由度,在目标区域内连续执行以下操作至少之一:摇头动作、摆尾动作;
在实际实施时,当足式机器人在目标区域内,接收到目标动作的指令时,控制机器人基于至少一个自由度,完成目标动作,其中,目标动作包括摇头动作、摆尾动作中至少之一。在实际应用中,足式机器人还可以包括尾部,尾部与足式机器人身体部位通过至少一个关节相连,每个关节可以对应至少一个自由度,自由度包括沿滚转、俯仰、偏转中至少之一。足式机器人可以基于自由度,实现摇头动作、摆尾动作、或摇头摆尾连贯性的动作。足式机器人的自由度是相对于空间坐标系而言,坐标系可以是世界坐标系、以足式机器人的身体质心为原点的身体坐标系等。在实际应用中,在世界坐标系中,采用右手规则的坐标系,以足式机器人的跳跃方向(足式机器人的身体前方)为X轴,以足式机器人的左侧与X轴垂直的方向为Y轴,与地面垂直向上的方向为Z轴。在足式机器人执行摇头摆尾动作时,可以控制足式机器人围绕X轴转动(X滚转),得到相应的滚转角;控制四足机器人围绕Y轴转动(Y俯仰),得到相应的俯仰角;控制四足机器人围绕Z转动,得到相应的偏转角(Z偏转),然后,基于俯仰角、偏转角、滚转角中至少之一,实现摇头操作、摆尾操作、或摇头摆尾操作。在技术实现层面,可以根据MPC的控制器规划足式机器人执行摇头动作(摆尾动作)时的动作参考轨迹、并结合足式机器人在当前状态下的状态数据,状态数据包括身体质心的质心位置、各关节的关节力矩、各关节的关节角度中至少之一,基于MPC预测得到足式机器人执行摇头或摆尾动作时的最优的目标状态数据。足式机器人接收到目标动作指令、及与目标动作相适配的目标状态数据,完成相应的目标动作(摇头操作、摆尾操作中至少之一)。
示例性地,参见图10,图10是本申请实施例提供的基于自由度的足式机器人的角度实现示意图,图中以四足机器人为例,四足机器人以四足收拢于一个单独的梅花桩桩面上(此时处于平衡状态),沿图中示出的坐标系的X轴转动,实现针对四足机器人的桩上滚转角度控制,沿图中示出的坐标系的Y轴转动,实现针对四足机器人的桩上俯仰角度控制,沿图中示出的坐标系的Z轴转动,实现针对四足机器人的桩上偏转角度控制。
上述针对足式机器人,基于自由度的角度控制方法,能够扩展机器人的运动能力,丰富足式机器人动作的多样性。
应用本申请实施例,足式机器人完成的跳跃动作,提高了足式机器人运动的动态性、难度以及观赏性,扩展了足式机器人运动的多样性,使得足式机器人不仅可以在平地,也可以在诸如梅花桩、小石墩等场景中完成高难度动作展示。
接下来,继续说明本申请实施例提供的足式机器人的运动控制方法。此时,足式机器人的初始状态是各足端以收拢姿态立于同一个初始单元区域内,跳跃动作完成后,各足端分别立于不同的目标单元区域内。参见图11,图11是本申请实施例提供的足式机器人的运动控制方法的另一流程图,将结合图11示出的步骤进行说明。
在步骤401中,当足式机器人的各个足端立于同一个初始单元区域内、且各足端收拢于初始单元区域时,足式机器人接收到针对足式机器人的跳跃指令。
其中,跳跃指令,用于指示足式机器人从当前的初始单元区域,跳跃至相互独立的第一目标单元区域(与前述进行区分),足端与目标单元区域存在一一对应的关系;足式机器人处于目标单元区域时任意两个足端间的距离,大于足式机器人在初始单元区域内时相应两个足端间的距离。目标单元区域可以位于足式机器人的前方,也可以以初始单元区域为中心分散的。
在实际实施时,足式机器人所处的地形区域包括至少两个单元区域(这与步骤101中的单元区域一致)。足式机器人的初始状态为足式机器人的各个足端立于同一个初始单元区域内、且各足端收拢于初始单元区域,可以理解的是,初始单元区域可以是受限制地形区域,足式机器人各足端同时立于该区域时,通常是以各足端向身体中心下方收拢的姿态站立;足式机器人处于目标单元区域时任意两个足端间的距离,大于足式机器人在初始单元区域内时相应两个足端间的距离。根据接收到跳跃指令(足式机器人接收跳跃指令的方式如前文所述),足式机器人可以控制自身在梅花桩或能够离散化成梅花桩形式的地形区域中完成高动态高难度的第一跳跃动作(与前述的跳跃动作区分),第一跳跃动作可以为足式机器人从上述以初始状态立于梅花桩中一个单桩的端面区域跳跃至各单桩的端面区域,以四足机器人为例,该跳跃动作可以是四足机器人从四脚收拢状态开始的单桩跳四桩动作。
在步骤402中,响应于跳跃指令,控制足式机器人跳跃至各目标单元区域。
在实际实施时,足式机器人响应于跳跃指令,执行相应的跳跃动作。在执行跳跃动作之前,足式机器人可以采用模型预测控制(MPC)方法生成对应当前跳跃动作的参考跳跃轨迹,参考跳跃轨迹可以包括至少两个关键点的状态参数,每个阶段对应有相应的控制信息,足式机器人解析控制信息,得到在各个阶段对应的运动轨迹。
在一些实施例中,足式机器人可以分以下阶段跳跃至位于足式机器人前方的各目标单元区域:各第一目标单元区域位于足式机器人的前方时,足式机器人响应于跳跃指令,控制自身经起跳阶段、腾空阶段及落地阶段,从初始单元区域向前跳跃至各目标单元区域。
在实际实施时,足式机器人从初始单元区域,跳跃至相互独立的目标单元区域的过程,至少可以包括起跳阶段、腾空阶段、落地阶段中至少之一。足式机器人根据当前跳跃指令对应的参考跳跃轨迹中获取各关键点的控制信息,足式机器人解析控制信息,得到各个操作所对应的状态参数的参数值,从而呈现相应的形态。
对足式机器人在跳跃过程的起跳阶段依次执行的操作进行说明。在一些实施例中,足式机器人在跳跃过程的起跳阶段可以执行以下操作:在起跳阶段,足式机器人依次执行足端蹬地、前足端离地的操作。
在实际实施时,在起跳阶段,足式机器人至少可以得到参考跳跃轨迹中以下关键点的控制信息:足端蹬地、前足端离地(此时后足端继续蹬地)。在整个跳跃过程的起跳阶段,足式机器人从初始状态开始,依次执行足端蹬地(各足端在初始单元区域中执行蹬地动作)、前足端离地(前足离地后足继续蹬地)的操作,每个操作足式机器人根据相应的控制信息,控制自身处于与操作相对应的状态。
示例性地,参见图12,图12是本申请实施例提供的足式机器人起跳阶段的另一示意图,图中足式机器人为四足机器人,单元区域为梅花桩中单桩,图中编号1示出的是四足机器人的初始状态,图中编号2示出的是在跳跃过程的起跳阶段,足式机器人的足端蹬地操作,图中编号3示出的是在跳跃过程的起跳阶段,足式机器人的前足端离地操作。
在一些实施例中,足式机器人在起跳阶段,足式机器人的各身体部位可以呈现以下形态变化:在足式机器人进行足端蹬地的过程中,足式机器人减小后腿膝关节的关节角度、并增大前腿膝关节的关节角度,以使后大腿与躯干处于同一直线、躯干以目标俯仰角度扬起、质心向前上方迁移。
在实际实施时,足式机器人获取参考跳跃轨迹中对应足端蹬地关键点的第一控制信息,并解析第一控制信息,调整各状态参数的值调整为第一控制信息中各状态参数的参考值,足式机器人的各腿部按照参考跳跃轨迹同时蹬地,使足式机器人以目标身体俯仰角度和质心位置向前上方加速运动。
承接上例,以足式机器人是四足机器人为例,参见图12中编号2示出的足式机器人的足端蹬地操作,相比参见图12中编号1示出的初始状态,足端蹬地时膝关节高度升高,四足机器人的躯干与后大腿处于一条直线上,前腿膝关节的关节角度接近180°,躯干以目标俯仰角度扬起。
在一些实施例中,在足式机器人进行前足端离地的过程中(前足离地后足继续蹬地),足式机器人减小足式机器人的前腿膝关节的关节角度至第一目标角度,并增大后腿膝关节的关节角度至第二目标角度,以增高各膝关节的高度及质心的高度;其中,前腿膝关节的高度高于质心的高度,后腿膝关节的高度低于质心的高度;第一目标角度,用于表征以足式机器人的前大腿与躯干呈处于同一直线上时的前腿膝关节的角度,第二目标角度,用于表征足式机器人的后小腿与接触面垂直、且后大腿与躯干处于同一条直线时的后腿膝关节的角度。
在实际实施时,足式机器人依据参考跳跃轨迹执行足端蹬地操作之后,接着执行前足端离地操作,此时各个后足端继续蹬地,足式机器人获取参考跳跃轨迹中对应前足端离地关键点的第二控制信息,并解析第二控制信息,调整足式机器人的各状态参数的值为第二控制信息中各状态参数的参考值,足式机器人根据相应的参考角度和位置向前上方继续加速运动进行起跳,同时前腿弯曲收缩。
承接上例,以足式机器人是四足机器人为例,参见图12中编号3示出的足式机器人的前足端离地操作,相比参见图12中编号2示出的足端蹬地时的状态,质心向前上方移动,前腿弯曲收缩,后小腿与单桩的桩面垂直、后大腿与躯干处于同一直线时,躯干以目标俯仰角度扬起。
对足式机器人在跳跃过程的腾空阶段依次执行的操作进行说明,在一些实施例中,在腾空阶段,足式机器人执行后足端离地的操作;在足式机器人进行后足端离地的过程中,足式机器人控制各前腿朝向相应目标单元区域伸展,并控制各后腿先收缩后朝向相应目标单元区域伸展,以使足式机器人的各个足端能够落地于相应各目标单元区域。
在实际实施时,足式机器人依据参考跳跃轨迹执行前足端离地操作之后,接着执行后足端离地操作,此时足式机器人开始腾空,足式机器人获取参考跳跃轨迹中对应后足端离地关键点的第三控制信息,并解析第三控制信息,调整足式机器人的各状态参数的值为第三控制信息中各状态参数的参考值,足式机器人完全腾空,前腿开始向相应足端对应的目标单元区域的位置伸展,后腿先收缩以提供摆脚落地高度,后续也开始向相应足端对应的目标单元区域的位置伸展,为落地做好准备。
承接上例,以足式机器人是四足机器人为例,参见图13,图13是本申请实施例提供的足式机器人起跳阶段执行的操作示意图,在腾空阶段,足式机器人执行后足端离地的操作,相比于图12中编号3示出的前足端离地时的状态,足式机器人控制后足端立桩,足式机器人完全腾空,其中,前腿开始向对应的目标单桩(图中编号1示出的单桩)的位置伸展,后腿先收缩以提供摆脚落地高度然后向对应的目标单桩(图中编号2示出的单桩)的位置伸展。
对足式机器人在跳跃过程的落地阶段依次执行的操作进行说明,在一些实施例中,在落地阶段,足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。
在实际实施时,在落地阶段,足式机器人至少可以得到参考跳跃轨迹中以下关键点的控制信息:足端落地、曲腿缓冲及身体平衡。在整个跳跃过程的落地阶段,足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作,每个操作足式机器人根据相应的控制信息,控制自身处于与操作相对应的状态。
示例性地,参见图14,图14是本申请实施例提供的足式机器人落地阶段另一示意图,图中足式机器人为四足机器人,单元区域为梅花桩中单桩,图中编号1示出的是四足机器人执行足端落地操作,图中编号2示出的是足式机器人执行的曲腿缓冲操作,图中编号3示出的是足式机器人的身体平衡操作。
在一些实施例中,在落地阶段,足式机器人的各身体部位可以呈现以下形态变化:在足式机器人进行足端落地的过程中,足式机器人控制各个足端同时接触相应目标单元区域内的接触面;在足式机器人进行曲腿缓冲的过程中,足式机器人执行各腿弯曲收缩的曲腿动作,并增大腿部关节的力矩,以减小足式机器人的速度;在足式机器人进行身体平衡的过程中,足式机器人调整身体姿态,以将足式机器人的质心移动至各目标单元区组成的区域范围内。
在实际实施时,足式机器人获取参考跳跃轨迹中对应后足端落地关键点的第四控制信息,并解析第四控制信息,调整足式机器人的各状态参数的值为第四控制信息中各状态参数的参考值,足式机器人各足端同时接触相应目标单元区域的接触面,此时,足式机器人前腿的膝关节仍然处于较大的关节角度,以式足式机器人的身体以目标俯仰角度扬起,后腿膝关节向下方运动直至后小腿与接触面接近平行,质心向后腿方向迁移,为后续曲腿缓冲做准备。足式机器人获取曲腿缓冲关键点的第五控制信息,执行曲腿缓冲的操作,足式机器人控制各腿弯曲收缩同时为各关节施加力矩控制,将身体质心投影平顺移动到四脚支撑区域内,此时,躯干以目标俯仰角度扬起,后大腿向后伸展与躯干处于一条直线上,膝关节下降至与相应目标区域的接触面处于一条直线上,实现在各目标单元区域内的平衡。
承接上例,以足式机器人是四足机器人为例,参见图14中编号1示出的足式机器人的足端落地操作,相比参见图13中足式机器人的腾空时的状态,四足机器人的四个足端同时接触桩面,后腿膝关节向下方运动直至后小腿与接触面接近平行,质心向后腿方向迁移,为后续曲腿缓冲做准备,躯干以目标俯仰角度扬起。图中编号2示出的足式机器人的曲腿缓冲操作,相比编号1示出的状态,四足机器人的后腿膝关节继续向下方运动,直至后大腿与躯干处于同一直线,后小腿与接触面接近平行,躯干以目标俯仰角度扬起。图中编号3示出的足式机器人的足端落地操作,相比编号2示出的状态,四足机器人的躯干与桩面平行,质心迁移躯干中心,后腿膝关节升高至前腿膝关节同等高度。
在实际实施时,足式机器人可以执行另一种连续跳跃动作,即足式机器人从各个足端分别立于相互独立的单元区域内时,可以结合步骤101-102及步骤401-步骤402实现足式机器人的连续稳定的跳跃动作。即足式机器人从各个足端分别立于相互独立的单元区域内的初始状态,经过上述步骤101-102步骤跳跃至中间单元区域(足式机器人的各个足端收拢于中间单元区域),然后又从单个中间单元区域,经过上述步骤401-402跳跃至与足端数量相同的多个中间单元区域。
示例性地,参见图15,图15是本申请实施例提供的足式机器人连续跳跃过程示意图,该连续跳跃过程包括第一跳跃及第二跳跃,其中,第一次跳跃为以四足机器人从梅花桩的四个单桩上,跳跃至前方的一个单桩上,第二次跳跃是在第一次跳跃的基础上,从一个单桩跳跃至另外四个单桩上。第一次跳跃的跳跃过程与上述步骤101-102示出的跳跃过程一致,第二次跳跃的跳跃过程与上述步骤401-402示出的跳跃过程一致。需要说明的是,两次跳跃过程可以连续交替执行,本申请实施例不做限制。
在实际实施时,足式机器人还可以连续执行跳跃动作,即足式机器人从初始单元区域跳跃至目标单元区域内时,可以结合步骤401-402及步骤101-102实现足式机器人的连续稳定的跳跃动作。即足式机器人从各个足端立于同一个初始单元区域内、且各个足端收拢于初始单元区域的初始状态,经过上述步骤401-402步骤跳跃至与足端数量相同的多个中间单元区域,然后又从各个中间单元区域(此时各个足端各自对应一个中间单元区域),经过上述步骤101-102跳跃至一个目标单元区域。
示例性地,参见图16,图16是本申请实施例提供的足式机器人连续跳跃过程的另一示意图,该连续跳跃过程包括第一跳跃及第二跳跃,其中,第一次跳跃为以四足机器人从位于梅花桩上的一个单桩上,跳跃至前方的四个单桩,第二次跳跃是在第一次跳跃的基础上,从四个单桩跳跃至另一个单桩上。第一次跳跃的跳跃过程与上述步骤401-402示出的跳跃过程一致,第二次跳跃的跳跃过程与上述步骤101-102示出的跳跃过程一致。需要说明的是,两次跳跃过程可以连续交替执行,本申请实施例不做限制。
应用本申请实施例实现的足式机器人的跳跃动作,能够同时结合落脚位置受限的约束条件,实现又远又高的起跳、腾空、准确落脚并平顺完成缓冲、平衡及姿态控制的动作,如此,可以控制足式机器人在梅花桩阵、块状垫脚石、平地等各类地形区域上完成该套跳跃动作,还可以扩展机器人的运动能力,展现出机器人优秀的运动规划和控制技术水平。同时,本申请实施例中足式机器人所实现的跳跃动作具备高动态高难度优势,并具有仿生的特性,能够提高足式机器人运动的动态性、难度以及观赏性,扩展足式机器人运动的多样性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。在该应用场景中,足式机器人为四足机器人,四足机器人所处场地为梅花桩,该应用场景中,四足机器人的跳跃动作的执行过程如下:四足机器人从四个足端各自立于梅花桩中一个桩面较小的高桩跳跃至位于四足机器人身体前方的一个桩面受限的目标桩面上,在该目标桩面上四足机器人以四个足端向身体下方收拢的状态站立并保持平衡。
相关技术中,四足机器人可以实现的跳跃动作大都是在平地或具有大落脚面积的地形上实现的连续步态(如bound或pronk)运动,并未实现落脚点受限的约束情况下的跳跃动作。
在平地或具有大落脚面积的地形上实现的跳跃动作,由于四个落脚点位置分散开,增加了支撑投影区域面积,更容易实现平衡。然而,但对于四个落脚点位置受限的情况,尤其是需要收拢四个落脚点到靠近身体正下方的情况,相关技术中的实现方式,是在原地连续Trot的步态下实现的,动态性相对不高,也无站定之后的动作。对于和高动态的跳跃动作(四足跳或双足跳)结合起来,实现在高落地冲击、落脚位置受限的条件下收拢四脚完成平顺缓冲、平衡及姿态控制的动作,尚不存在相关技术方案。
基于此,本申请实施例提供一种足式机器人的运动控制方法,该方法可以应用足式机器人在梅花桩上进行跳跃的场景,能够实现四足机器人从正常站立姿势以四足跳的跳跃方式实现腾空,然后收拢四足并平顺落在特定小面积区域内(单独一个梅花桩面)且保持平衡,并在目标姿势下完成原地摇头摆尾动作。
在实际实施时,本动作基于四足机器人设计,以挑战难度最高的梅花桩阵场景为例进行动作说明,参见图4,图中示出地形区域为梅花桩,梅花桩中每个桩面可看作地形区域中的相互独立的单元区域,控制四足机器人在梅花桩上实现当前场景中的跳跃动作,整个跳跃过程可以分为起跳阶段、腾空阶段、落地阶段。下面,依次从这三个阶段进行说明:
首先,在跳跃过程的起跳阶段,四足机器人依次经历如下的状态变化:初始状态->下蹲蓄力->开始四脚蹬地->开始腾空。四足机器人处于初始状态时,四足机器人的四个足端以正常站立姿势立于四个桩面上(参见图7编号1示出的四足机器人状态),在接收到跳跃指令时,主动降低身体高度至规划的起跳高度(即执行下蹲动作)(参见图7编号2示出的四足机器人状态);四足机器人处于下蹲蓄力状态时,四足机器人的四足按照规划阶段所输出的关节参考轨迹(预先规划的髋关节、膝关节的运动轨迹)同时蹬地,四足机器人以特定的身体俯仰角度(pitch)(参见图7编号3示出的下蹲蓄力状态),然后控制膝关节处的关节角度增大(朝前的锐角逐渐增大至朝前的钝角),身体质心的质心高度升高,向前上方加速运动进行起跳(即开始腾空),(参见图7编号4示出的开始腾空状态)。
其次,在跳跃过程的腾空阶段,四足机器人依次经历如下的状态变化:腾空收拢四足并收腿->腾空收拢四足并伸腿。四足机器人的四足完全离地,机器人完全腾空,在空中时,四足机器人收拢四足并收腿(参见图8编号1示出的状态),即在控制四足向身体中心下方收拢,同时还先向上收腿(膝关节的关节角度减小)、然后,四足机器人收拢四足并伸腿((参见图8编号2示出的状态),即在四足收拢的情况下,继续向前向下朝(规划的)落脚点伸展,为落地做好准备。
再次,在跳跃过程的落地阶段,四足机器人依次经历如下的状态变化:接触桩面->曲腿缓冲->保持平衡。四足机器人的四足同时接触桩面(参见图9编号1示出的状态),然后四腿开始弯曲收缩同时为各关节施加力矩控制进行缓冲减速(参见图9编号2示出的状态),将身体质心投影平顺移动到四足支撑区域内((参见图9编号3示出的状态),从而最终实现平衡。由于接触桩面时,后腿向前伸的距离较远(后腿膝关节、髋关节的伸展距离),且因四足机器人腿部的自由度构型,在落地后缓冲的过程中后腿膝关节会倾向于向下方运动。同时为了避免膝关节低于目标桩面的高度后,后腿小腿与桩面边缘产生碰撞,或者在其他地形例如平地上时膝关节与地面产生碰撞,进行缓冲运动控制时需要限制后腿弯曲的收缩幅度以及后腿膝关节的下降幅度。另外还需要保证足端在接触桩面后不因冲击反弹,也不因腿部姿势和发力而发生滑动。
在实际应用中,四足机器人经过上述跳跃过程中的三个阶段完成朝向目标桩面的跳跃动作,并在目标桩面上以四足收拢于身体下方的姿态保持平衡。
在实际实施时,四足机器人在目标桩面上保持平衡状态(此时是以小落脚点间距站立的状态)时,还可以接收到用于控制四足机器人摇头摆尾的指令,在目标桩面上以当前的平衡姿态进行四足机器人身体的姿态控制,沿滚转(参见图10编号1)、俯仰(参见图10编号3)和偏转(参见图10编号2)三个自由度中至少之一进行单独和复合的运动,实现摇头摆尾的仿生动作。
最后,需要说明的是,四足机器人在梅花桩等各类地形上完成该整套跳跃动作,可以扩展机器人的运动能力,展现出机器人优秀的运动规划和控制技术水平。
接下来,从技术侧说明本申请实施例提供的足式机器人的运动控制方法。在技术实现方面本申请实施例通过非线性优化方法规划最省力的跳跃轨迹,并基于MPC进行运动控制,实现四足机器人从正常站立的姿势开始,蓄力、蹬地、腾空、收拢四脚、以小落脚点间距触地、缓冲、平衡并摇头摆尾的一整套高动态高难度的跳跃动作。在当前场景中的整个跳跃过程中,四足机器人实现当前的跳跃动作的功能模块,主要包括跳跃轨迹规划模块、跳跃控制模块以及地形感知模块等。
首先,对跳跃轨迹规划模块执行的操作进行详细说明。整套跳跃动作需要保证向前的跳跃距离和向上的跳跃高度,同时需要在落地后的极短时间内实现缓冲平衡,因此对关节电机的输出力矩要求极高。参见图17,图17是本申请实施例提供的四足机器人平面模型示意图,基于图中所示的四足机器人平面模型,定义广义坐标为:
q=[x,z,pitch,qhip,front,qknee,front,qhip,hind,qknee,hind]T
其中,x表示质心的X轴分量、z表示质心的Z轴分量,pitch表示质心的俯仰角、qhip,front表示前腿髋关节的关节角度、qknee,front表示前腿膝关节的关节角度、qhip,hind表示后腿髋关节的关节角度、qknee,hind表示后腿膝关节的关节角度。并构建如下示出的非线性优化问题对动作轨迹进行规划,优化目标为使完成整套动作所需的驱动力总和最小:
s.t.
fmin≤fi≤fmax, (1)
|fi,x|≤μfi,z, (2)
0≤phip,z,0≤pknee,z, (3)
其中,fi为第i个采样点处的所有足端的接触力向量,W为权重参数矩阵,k为动作的采样点个数。约束条件包括(1)关节力矩和接触力限幅、(2)足底摩擦锥、(3)髋关节膝关节高于桩面高度以及(4)动力学约束以及足端无滑动,其中fmin,fmax为接触力最小最大值,fi,x,fi,z为第i个采样点的接触力在x和z方向上的分量,μ为摩擦系数,phip,z,pknee,z代表髋关节和膝关节的高度,H,S,C,G分别为广义质量矩阵、选择矩阵、摩擦力和科氏力相关项矩阵、重力项矩阵,Jfront,Jhind分别代表前后腿的雅可比矩阵。约束条件(4)中的第一行代表动力学约束,第二和第三行分别代表在接触状态下前脚和后脚无滑动。
为了加速优化问题求解并获得产品侧中设计的动作尽可能相近的轨迹,需给定动作分段处的广义坐标采样点,依次为初始状态qstart,四脚离桩时刻状态qlift-off,四脚落单桩时刻状态qlift-off,四脚落单桩时刻状态qtouchdown和单桩平衡站立状态qend。该动作中较为独特的点在于四脚收拢落于单桩,对应的采样点采用如下的形式给出:
qtouchdown=[xpole+xoffset,zpole+zoffset,pitchtouchdown,IK(ppole+poffset,front),IK(ppole+poffset,hind)]T,
其中,质心参考位置基于单桩的位置(xpole,zpole)加上根据动作设计的特定偏移量(xoffset,zoffset)给出,身体的参考俯仰角pitchtouchdown也是根据动作设计给定,ppole+poffset,front/hind代表各脚的期望桩上落脚点位置,即基于桩面中心位置ppole加上各脚的收拢偏移量poffset,front/hind,而腿部的参考关节角度则根据期望的桩上落脚点与质心参考位置进行逆运动学计算(IK(·))得到,通过poffset,front和poffset,hind的设置可以调整落桩时四脚收拢的落脚位置。
基于上述方式,求解优化问题后得到满足约束条件的最省力参考跳跃轨迹。参考跳跃轨迹可以有效地保证整套跳跃动作的可行性,使得控制模块可以顺利对参考轨迹进行预测。对于平衡完成后的摇头摆尾动作,可以通过预编程或者在线遥控指令的方法来实现。
其次,对跳跃控制模块的技术实现进行说明。对于起跳阶段,由于真机符合理论上的平面模型,因此可以直接将最优参考轨迹中的关节参考力矩τref作为前馈力矩τfeedforward,而基于关节参考角度qref和角速度来计算PD控制反馈力矩τfeedback,从而实现起跳动作的确定及预测,即:
其中,kp,kd分别为PD增益。
而在腾空阶段只通过关节PD控制来实现腿部动作控制。落地后由于真机上四腿在身体侧向的方向上也会向身体矢状面收拢,因此并不符合平面模型,无法直接获取最优关节参考力矩。另外由于腾空阶段身体的姿态、位置和落地时间等均存在与参考轨迹间的误差,因此通过MPC的控制器来实现缓冲、平衡及后续的摇头摆尾。基于规划得到的最优参考轨迹和机器人当前的状态构建MPC优化问题,求解得到最优的关节力矩。
最后,对地形感知模块执行的操作进行说明。整套动作在具备或不具备地形感知的情况下均可以实现。具备感知模块时根据对独立单桩的识别定位信息,即ppole进行在线的轨迹规划;不具备感知模块时则可以基于离线规划的动作轨迹进行预测及确定,前提是需要有关于地形的先验知识。
由于中间存在腾空阶段,而实际的腾空时间和腾空轨迹均会与规划的参考轨迹存在一定的误差,这导致实际的落地时刻与规划时刻存在差异。如果不具备足端触地感知能力的话四足机器人就无法及时切换MPC力控,从而导致足端碰撞反弹以及在桩面上滑动等问题。本申请实施例中基于关节力矩计算得到足端接触力,然后通过足底力感来判断是否接触了桩面,从而为控制算法切换提供及时的感知信息,具体计算式如下。
f=J-Tτ
其中,bcontact代表布尔类型的足底接触状态,fnormal为足底接触力在接触面法向上的分量,fthreshold为判断接触与否的阈值。足底力感的判断逻辑为如果足底接触力在接触面法向上的分量大于给定的阈值,则判定为接触状态(1),否则判定为非接触状态(0)。
需要说明的是,跳跃动作可以是四足跳,也可以是双足跳。对于双足跳,可以划分为蓄力、四足蹬地、前腿离地后腿蹬地和腾空四个阶段。对于轨迹规划算法,除了非线性优化,也可以使用其它诸如启发式、样条插值等简易方法,虽然无法保证轨迹最优性,但是同样可以实现类似的动作。控制方法上除了MPC,也可以基于QP控制器实现运动预测。
应用本申请实施例,完成的跳跃动作,提高了四足机器人运动的动态性、难度以及观赏性,扩展了四足机器人运动的多样性,使得四足机器人不仅可以在平地,也可以在诸如梅花桩、小石墩等场景中完成高难度动作展示。
下面继续说明本申请实施例提供的足式机器人的运动控制装置555的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器550的足式机器人的运动控制装置555中的软件模块可以包括:
在一些实施例中,所述目标单元区域位于所述足式机器人前方,所述控制模块,还用于响应于所述跳跃指令,控制所述足式机器人经起跳阶段、腾空阶段及落地阶段,向前跳跃至所述目标单元区域。
在一些实施例中,所述控制模块,还用于在所述起跳阶段,所述足式机器人依次执行下蹲蓄力、足端蹬地及开始腾空的操作;在所述腾空阶段,所述足式机器人依次执行空中收足收腿及空中伸腿的操作;在所述落地阶段,所述足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。
在一些实施例中,所述控制模块,还用于在所述足式机器人进行所述下蹲蓄力的过程中,所述足式机器人的腿部弯曲,以将所述足式机器人的质心由初始高度降低至起跳高度;在所述足式机器人进行所述足端蹬地的过程中,所述足式机器人增大腿部关节的力矩,以增大各足端与足端接触面的摩擦力;在所述足式机器人进行所述开始腾空的过程中,所述足式机器人以目标俯仰角向前上方执行起跳动作,以增高膝关节的高度及所述质心的高度,所述质心的高度高于所述初始高度。
在一些实施例中,所述控制模块,还用于在所述足式机器人进行所述空中收足收腿的过程中,所述足式机器人控制各腿部带动相应足端向上收拢至身体中心下方;在所述足式机器人进行所述空中伸腿的过程中,所述足式机器人控制前腿朝向所述目标单元区域伸展,以使所述足式机器人的各个足端能够落地于所述目标单元区域。
在一些实施例中,所述控制模块,还用于在所述足式机器人进行所述足端落地的过程中,所述足式机器人控制各个足端同时接触所述目标单元区域内的接触面;在所述足式机器人进行所述曲腿缓冲的过程中,所述足式机器人执行各腿弯曲收缩的曲腿动作,并增大腿部关节的力矩,以减小所述足式机器人的速度;在所述足式机器人进行所述身体平衡的过程中,所述足式机器人调整身体姿态,以将所述足式机器人的质心移动至所述目标单元区内。
在一些实施例中,所述足式机器人包括尾部,所述控制模块,还用于控制所述足式机器人基于至少一个自由度,在所述目标区域内连续执行以下操作至少之一:摇头动作、摆尾动作;其中,所述自由度包括沿滚转、俯仰、偏转中至少之一。
在一些实施例中,所述目标单元区域位于所述足端所处的各所述单元区域的中心,所述控制模块,还用于响应于所述跳跃指令,控制所述足式机器人经起跳阶段、腾空阶段及落地阶段,向上跳跃至所述目标单元区域。
在一些实施例中,所述控制模块,还用于在所述起跳阶段,所述足式机器人依次执行下蹲蓄力及开始腾空的操作;在所述腾空阶段,所述足式机器人执行空中收足收腿的操作;在所述落地阶段,所述足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。
在一些实施例中,所述控制模块,还用于在所述足式机器人进行所述下蹲蓄力的过程中,所述足式机器人的腿部弯曲,以将所述足式机器人的质心由初始高度降低至起跳高度;在所述足式机器人进行所述开始腾空的过程中,所述足式机器人向上进行弹跳,以增高膝关节的高度及所述质心的高度,所述质心的高度高于所述初始高度;在所述足式机器人进行所述空中收足收腿的过程中,所述足式机器人控制躯干处于直立状态,所述足式机器人各腿部带动相应足端向上收拢至所述躯干下方。
在一些实施例中,所述足式机器人为四足机器人,所述控制模块,还用于响应于所述跳跃指令,当所述跳跃指令指示进行两足跳跃时,控制所述足式机器人交替使用两条前腿和两条后腿跳跃至所述目标单元区域。
在一些实施例中,所述控制模块,还用于所述足式机器人交替使用两条前腿和两条后腿进行跳跃的过程包括:蓄力阶段、四足蹬地阶段、前腿离地后腿蹬地阶段、腾空阶段及落地阶段。
在一些实施例中,所述单元区域及所述目标单元区域均为梅花桩中单桩的端面区域,所述单元区域与所述目标单元区域的形状及大小均相同。
在一些实施例中,所述控制模块,还用于对所述足式机器人的跳跃轨迹进行预测,得到参考跳跃轨迹;获取所述跳跃指令对应的约束条件,所述约束条件用于对所述足式机器人的跳跃进行约束;基于所述参考跳跃轨迹及所述约束条件,确定所述参考跳跃轨迹的至少两个关键点的状态参数。相应的,所述控制模块,还用于响应于所述跳跃指令,基于各所述关键点的状态参数,控制所述足式机器人跳跃至所述目标单元区域。
在一些实施例中,所述控制模块,还用于获取所述参考跳跃轨迹中至少两个关键点;其中,所述关键点包括以下至少之一:所述参考跳跃轨迹的起始点、所述参考跳跃轨迹的顶点、所述参考跳跃轨迹的结束点。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的足式机器人的运动控制方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的足式机器人的运动控制方法,例如,如图3A-3B示出的足式机器人的运动控制方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例提高了四足机器人运动的动态性、难度以及观赏性,扩展了四足机器人运动的多样性,使得四足机器人不仅可以在平地,也可以在诸如梅花桩、小石墩等场景中完成高难度动作展示。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (18)

1.一种足式机器人的运动控制方法,其特征在于,所述足式机器人包括至少两个足端,所述方法包括:
当足式机器人的各个足端分别立于相互独立的单元区域内时,接收到针对所述足式机器人的跳跃指令;
其中,所述跳跃指令,用于指示所述足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;
响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,使得所述足式机器人的各个足端收拢于所述目标单元区域,且在所述目标单元区域中,所述足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
2.如权利要求1所述的方法,其特征在于,所述目标单元区域位于所述足式机器人前方,所述响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,包括:
响应于所述跳跃指令,控制所述足式机器人经起跳阶段、腾空阶段及落地阶段,向前跳跃至所述目标单元区域。
3.如权利要求2所述的方法,其特征在于,
在所述起跳阶段,所述足式机器人依次执行下蹲蓄力、足端蹬地及开始腾空的操作;
在所述腾空阶段,所述足式机器人依次执行空中收足收腿及空中伸腿的操作;
在所述落地阶段,所述足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。
4.如权利要求3所述的方法,其特征在于,
在所述足式机器人进行所述下蹲蓄力的过程中,所述足式机器人的腿部弯曲,以将所述足式机器人的质心由初始高度降低至起跳高度;
在所述足式机器人进行所述足端蹬地的过程中,所述足式机器人增大腿部关节的力矩,以增大各足端与足端接触面的摩擦力;
在所述足式机器人进行所述开始腾空的过程中,所述足式机器人以目标俯仰角向前上方执行起跳动作,以增高膝关节的高度及所述质心的高度,所述质心的高度高于所述初始高度。
5.如权利要求3所述的方法,其特征在于,所述足式机器人为四足机器人;
在所述足式机器人进行所述空中收足收腿的过程中,所述足式机器人控制各腿部带动相应足端向上收拢至身体中心下方;
在所述足式机器人进行所述空中伸腿的过程中,所述足式机器人控制前腿朝向所述目标单元区域伸展,以使所述足式机器人的各个足端能够落地于所述目标单元区域。
6.如权利要求3所述的方法,其特征在于,
在所述足式机器人进行所述足端落地的过程中,所述足式机器人控制各个足端同时接触所述目标单元区域内的接触面;
在所述足式机器人进行所述曲腿缓冲的过程中,所述足式机器人执行各腿弯曲收缩的曲腿动作,并增大腿部关节的力矩,以减小所述足式机器人的速度;
在所述足式机器人进行所述身体平衡的过程中,所述足式机器人调整身体姿态,以将所述足式机器人的质心移动至所述目标单元区内。
7.如权利要求1所述的方法,其特征在于,所述足式机器人包括尾部,所述控制所述足式机器人跳跃至所述目标单元区域之后,所述方法还包括:
控制所述足式机器人基于至少一个自由度,在所述目标区域内连续执行以下操作至少之一:摇头动作、摆尾动作;
其中,所述自由度包括沿滚转、俯仰、偏转中至少之一。
8.如权利要求1所述的方法,其特征在于,所述目标单元区域位于所述足端所处的各所述单元区域的中心,所述响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,包括:
响应于所述跳跃指令,控制所述足式机器人经起跳阶段、腾空阶段及落地阶段,向上跳跃至所述目标单元区域。
9.如权利要求8所述的方法,其特征在于,
在所述起跳阶段,所述足式机器人依次执行下蹲蓄力及开始腾空的操作;
在所述腾空阶段,所述足式机器人执行空中收足收腿的操作;
在所述落地阶段,所述足式机器人依次执行足端落地、曲腿缓冲及身体平衡的操作。
10.如权利要求9所述的方法,其特征在于,
在所述足式机器人进行所述下蹲蓄力的过程中,所述足式机器人的腿部弯曲,以将所述足式机器人的质心由初始高度降低至起跳高度;
在所述足式机器人进行所述开始腾空的过程中,所述足式机器人向上进行弹跳,以增高膝关节的高度及所述质心的高度,所述质心的高度高于所述初始高度;
在所述足式机器人进行所述空中收足收腿的过程中,所述足式机器人控制躯干处于直立状态,所述足式机器人各腿部带动相应足端向上收拢至所述躯干下方。
11.如权利要求1所述的方法,其特征在于,所述足式机器人为四足机器人,所述响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,包括:
响应于所述跳跃指令,当所述跳跃指令指示进行两足跳跃时,控制所述足式机器人交替使用两条前腿和两条后腿跳跃至所述目标单元区域。
12.如权利要求11所述的方法,其特征在于,
所述足式机器人交替使用两条前腿和两条后腿进行跳跃的过程包括:蓄力阶段、四足蹬地阶段、前腿离地后腿蹬地阶段、腾空阶段及落地阶段。
13.如权利要求1所述的方法,其特征在于,
所述单元区域及所述目标单元区域均为梅花桩中单桩的端面区域,所述单元区域与所述目标单元区域的形状及大小均相同。
14.如权利要求1所述的方法,其特征在于,在所述接收到针对所述足式机器人的跳跃指令之后,所述方法还包括:
对所述足式机器人的跳跃轨迹进行预测,得到参考跳跃轨迹;
获取所述跳跃指令对应的约束条件,所述约束条件用于对所述足式机器人的跳跃进行约束;
基于所述参考跳跃轨迹及所述约束条件,确定所述参考跳跃轨迹的至少两个关键点的状态参数;
所述响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,包括:
响应于所述跳跃指令,基于各所述关键点的状态参数,控制所述足式机器人跳跃至所述目标单元区域。
15.如权利要求14所述的方法,其特征在于,所述基于所述参考跳跃轨迹及所述约束条件,确定所述参考跳跃轨迹的至少两个关键时间点的状态参数之前,所述方法还包括:
获取所述参考跳跃轨迹中至少两个关键点;
其中,所述关键点包括以下至少之一:
所述参考跳跃轨迹的起始点、所述参考跳跃轨迹的顶点、所述参考跳跃轨迹的结束点。
16.一种足式机器人的运动控制装置,其特征在于,所述装置包括:
接收模块,用于当足式机器人的各个足端分别立于相互独立的单元区域内时,接收到针对所述足式机器人的跳跃指令;其中,所述足式机器人包括至少两个足端,所述跳跃指令,用于指示所述足式机器人从当前所处的至少两个单元区域,跳跃至目标单元区域;
控制模块,用于响应于所述跳跃指令,控制所述足式机器人跳跃至所述目标单元区域,使得所述足式机器人的各个足端收拢于所述目标单元区域,且在所述目标单元区域中,所述足式机器人的任意两个足端间的距离小于跳跃前相应两个足端间的距离。
17.一种足式机器人,其特征在于,所述足式机器人包括:
具有至少两个足端的机器人本体;
控制器,设置于所述机器人本体上,用于执行如权利要求1至15任一项所述的足式机器人的运动控制方法。
18.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至15任一项所述的足式机器人的运动控制方法。
CN202210880649.1A 2022-07-25 2022-07-25 足式机器人的运动控制方法、装置、设备及存储介质 Pending CN117008580A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202210880649.1A CN117008580A (zh) 2022-07-25 2022-07-25 足式机器人的运动控制方法、装置、设备及存储介质
PCT/CN2023/092651 WO2024021749A1 (zh) 2022-07-25 2023-05-08 足式机器人的运动控制方法、装置、足式机器人、存储介质及程序产品
EP23844964.9A EP4400930A1 (en) 2022-07-25 2023-05-08 Movement control method and apparatus for legged robot, and legged robot, storage medium and program product
US18/624,326 US20240248488A1 (en) 2022-07-25 2024-04-02 Motion control method, controller, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210880649.1A CN117008580A (zh) 2022-07-25 2022-07-25 足式机器人的运动控制方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117008580A true CN117008580A (zh) 2023-11-07

Family

ID=88562430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210880649.1A Pending CN117008580A (zh) 2022-07-25 2022-07-25 足式机器人的运动控制方法、装置、设备及存储介质

Country Status (4)

Country Link
US (1) US20240248488A1 (zh)
EP (1) EP4400930A1 (zh)
CN (1) CN117008580A (zh)
WO (1) WO2024021749A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9618937B1 (en) * 2014-08-25 2017-04-11 Google Inc. Slip detection using robotic limbs
CN108860360A (zh) * 2018-08-01 2018-11-23 清华大学深圳研究生院 一种四足机器人跳跃障碍的系统
CN111766885B (zh) * 2020-07-08 2023-08-11 清华大学深圳国际研究生院 一种四足机器人的静步态规划方法
CN112114589B (zh) * 2020-09-07 2024-02-09 腾讯科技(深圳)有限公司 足式机器人运动控制方法、装置、设备及介质
CN112650222B (zh) * 2020-12-10 2022-04-22 华南理工大学 一种多足机器人的跳跃步态规划方法
CN114248855B (zh) * 2021-12-20 2022-10-21 北京理工大学 双足机器人空间域步态规划与控制的方法

Also Published As

Publication number Publication date
EP4400930A1 (en) 2024-07-17
US20240248488A1 (en) 2024-07-25
WO2024021749A1 (zh) 2024-02-01

Similar Documents

Publication Publication Date Title
US20230055206A1 (en) Legged robot motion control method, apparatus, and device, and medium
US12054208B2 (en) Achieving a target gait behavior in a legged robot
US20240075998A1 (en) Control of robotic devices with non-constant body pitch
KR100977348B1 (ko) 다리식 이동 로봇의 동작 제어 장치 및 동작 제어 방법 및 로봇 장치
JP7324932B2 (ja) 動的計画コントローラ
EP4116782A1 (en) Legged robot movement control method, apparatus and device, and medium
Inaba et al. Two-armed bipedal robot that can walk, roll over and stand up
CN111506100A (zh) 多足机器人关节控制方法、装置和多足机器人
CN114474034B (zh) 足式机器人运动控制方法、装置、设备及介质
CN113524177B (zh) 一种足式机器人的控制方法
US20220143819A1 (en) System and methods for training robot policies in the real world
CN117008592A (zh) 足式机器人的运动控制方法、装置、设备及存储介质
Seiwald et al. Quintic spline collocation for real-time biped walking-pattern generation with variable torso height
CN114253281A (zh) 一种四足机器人运动控制方法、相关装置及存储介质
CN117008580A (zh) 足式机器人的运动控制方法、装置、设备及存储介质
Indrawati et al. Comparison of two fuzzy logic controller schemes for position control of AR. Drone
KR20240039182A (ko) 다리식 로봇을 제어하는 방법, 장치, 기기, 다리식 로봇, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 제품
CN116985110A (zh) 控制足式机器人的方法和装置及足式机器人
KR102664200B1 (ko) 가속도센서를 이용한 보행 로봇의 강화 학습 방법
CN116774713B (zh) 轮腿式机器人的控制方法、装置、机器人及存储介质
JP4457617B2 (ja) モーション生成システム及びロボットのモーション評価方法
CN116945151A (zh) 控制足式机器人的方法和装置及足式机器人
EP4378637A1 (en) Motion control method and apparatus, and readable storage medium
Pi et al. Jumping Locomotion of Quadruped Robot During Running Based on Multiple Model Fusion
CN116945168A (zh) 控制足式机器人的方法和装置、及足式机器人

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination