CN117784786A - 机器人移动控制方法及装置、仿人机器人和可读存储介质 - Google Patents

机器人移动控制方法及装置、仿人机器人和可读存储介质 Download PDF

Info

Publication number
CN117784786A
CN117784786A CN202311778673.5A CN202311778673A CN117784786A CN 117784786 A CN117784786 A CN 117784786A CN 202311778673 A CN202311778673 A CN 202311778673A CN 117784786 A CN117784786 A CN 117784786A
Authority
CN
China
Prior art keywords
humanoid robot
target
balance car
waist
robot
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
CN202311778673.5A
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.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
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 Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202311778673.5A priority Critical patent/CN117784786A/zh
Publication of CN117784786A publication Critical patent/CN117784786A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Motorcycle And Bicycle Frame (AREA)

Abstract

本申请提供一种机器人移动控制方法及装置、仿人机器人和可读存储介质,涉及机器人控制技术领域。本申请根据仿人机器人当前在平衡车前进方向上的实际骑行速度、期望骑行速度,以及仿人机器人当前的质心俯仰角度和质心俯仰角速度,计算仿人机器人驱动目标双轮平衡车在期望骑行速度下保持平衡所需的腰部期望位置,并基于仿人机器人在平衡车前进方向上的腰部实际位置和实际骑行速度,对腰部期望位置进行柔顺调整处理,得到仿人机器人在目标双轮平衡车上维持稳定站立状态所需的目标腰部位置,而后基于目标腰部位置控制仿人机器人进行位姿调整,来驱动双轮平衡车在前进方向上携带着仿人机器人实现稳定的前后运动效果或静止停留效果。

Description

机器人移动控制方法及装置、仿人机器人和可读存储介质
技术领域
本申请涉及机器人控制技术领域,具体而言,涉及一种机器人移动控制方法及装置、仿人机器人和可读存储介质。
背景技术
随着科学技术的不断发展,机器人技术因具有极大的研究价值及应用价值受到了各行各业的广泛重视,其中仿人机器人因其外观酷似人类且功能也类似人类(例如,上肢具备操作能力,下肢具备运动能力等),能够被人类广泛接受地融入人类社会,故而仿人机器人便是当今机器人技术的一项重要研究方向。而对仿人机器人来说,其具有与人类类似的腿部结构,可以像人类一样通过复杂地形,但无法像轮式机器人一样平稳快速的运动,因此提升仿人机器人的运动速度便是仿人机器人使用过程中的一个长期课题。
目前,可通过使仿人机器人像人类一样使用人类的交通工具,来提升仿人机器人的运动速度,并使仿人机器人更拟人化,有助于仿人机器人在功能和人类认知等方面的发展,其中双轮平衡车便是众多交通工具中较为常用的小型交通工具。因此,如何提高仿人机器人在双轮平衡车骑行过程中的骑行稳定性和骑行平衡性,便是当今仿人机器人控制技术的一项亟需解决的重要问题。
发明内容
有鉴于此,本申请的目的在于提供一种机器人移动控制方法及装置、仿人机器人和可读存储介质,能够通过控制仿人机器人在双轮平衡车上调整位姿,来保持双轮平衡车的骑行平衡,并驱动双轮平衡车在前进方向上携带着仿人机器人实现稳定的前后运动效果或静止停留效果,以有效提升仿人机器人在双轮平衡车骑行过程中的骑行稳定性和骑行平衡性,避免仿人机器人摔下双轮平衡车。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请提供一种机器人移动控制方法,应用于骑行在目标双轮平衡车上的仿人机器人,所述方法包括:
获取所述仿人机器人当前在平衡车前进方向上的实际骑行速度、腰部实际位置和期望骑行速度,以及所述仿人机器人当前的质心俯仰角度和质心俯仰角速度;
根据所述实际骑行速度、所述期望骑行速度、所述质心俯仰角度和所述质心俯仰角速度,计算所述仿人机器人驱动所述目标双轮平衡车在所述期望骑行速度下保持平衡所需的腰部期望位置;
根据所述腰部实际位置和所述实际骑行速度,对所述腰部期望位置进行柔顺调整处理,得到所述仿人机器人在所述目标双轮平衡车上维持稳定站立状态所需的目标腰部位置;
基于所述目标腰部位置进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制所述仿人机器人进行位姿调整。
在可选的实施方式中,所述根据所述实际骑行速度、所述期望骑行速度、所述质心俯仰角度和所述质心俯仰角速度,计算所述仿人机器人驱动所述目标双轮平衡车在所述期望骑行速度下保持平衡所需的腰部期望位置的步骤,包括:
获取所述仿人机器人和所述目标双轮平衡车保持骑行平衡所需的平衡控制律方程;
将所述实际骑行速度、所述期望骑行速度、所述质心俯仰角度和所述质心俯仰角速度代入所述平衡控制律方程中进行方程求解,得到所述仿人机器人在平衡车前进方向上保持骑行平衡所需的腰部期望加速度,其中所述腰部期望加速度与所述期望骑行速度对应;
对所述腰部期望加速度进行二次积分运算,得到所述仿人机器人在平衡车前进方向上的腰部期望位置。
在可选的实施方式中,所述平衡控制律方程采用如下式子进行表达:
其中,vdes用于表示所述仿人机器人在平衡车前进方向上的期望骑行速度,v用于表示所述仿人机器人在平衡车前进方向上的实际骑行速度,θ用于表示所述仿人机器人的质心俯仰角度,用于表示所述仿人机器人的质心俯仰角速度,/>用于表示所述仿人机器人在平衡车前进方向上的与所述期望骑行速度对应的腰部期望加速度,Kp用于表示与质心俯仰变化操作相关的角度控制参数,Kd用于表示与质心俯仰变化操作相关的角速度控制参数,Kv用于表示与平衡车移动速度变化操作相关的线速度控制参数。
在可选的实施方式中,所述根据所述腰部实际位置和所述实际骑行速度,对所述腰部期望位置进行柔顺调整处理,得到所述仿人机器人在所述目标双轮平衡车上维持稳定站立状态所需的目标腰部位置的步骤,包括:
获取所述仿人机器人当前在所述目标双轮平衡车上的零力矩点位置,以及所述仿人机器人在处于静止状态的所述目标双轮平衡车上稳定站立时于平衡车前进方向上的腰部初始位置;
将所述零力矩点位置、所述腰部实际位置、所述实际骑行速度和所述腰部期望位置代入到与稳定站立状态对应的腰部加速度修正方程中进行方程求解,得到所述仿人机器人当前维持稳定站立状态所需的目标腰部加速度;
根据所述仿人机器人在当前时刻的前一时刻于平衡车前进方向上的历史质心期望速度,以及与当前时刻对应的目标腰部加速度,基于与所述仿人机器人匹配的线性倒立摆模型进行腰部位置柔顺预测,得到所述仿人机器人在平衡车前进方向上的腰部修正位置;
对所述腰部初始位置和所述腰部修正位置进行位置叠加,得到所述仿人机器人在平衡车前进方向上的目标腰部位置。
在可选的实施方式中,所述腰部加速度修正方程采用如下式子进行表达:
其中,xdes用于表示所述仿人机器人在平衡车前进方向上的腰部期望位置,x用于表示所述仿人机器人在平衡车前进方向上的腰部实际位置,p用于表示所述零力矩点位置在平衡车前进方向上的位置分量,用于表示所述仿人机器人在平衡车前进方向上的实际骑行速度,/>用于表示所述仿人机器人在平衡车前进方向上的目标腰部加速度,Kxp用于表示与腰部位置变化操作相关的位置控制参数,Kxd用于表示与腰部位置变化操作相关的线速度控制参数,Kxz用于表示与零力矩点相关的位置控制参数。
在可选的实施方式中,在所述目标双轮平衡车属于存在腿控杆的双轮平衡车的情况下,所述方法还包括:
获取所述仿人机器人当前的期望转向角速度,并根据所述期望转向角速度计算所述仿人机器人当前在平衡车侧移方向上的腰部期望侧移位置;
基于与平衡车前进方向对应的目标腰部位置和与平衡车侧移方向对应的腰部期望侧移位置进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制所述仿人机器人进行位姿调整。
在可选的实施方式中,在所述目标双轮平衡车属于无腿控杆的双轮平衡车的情况下,所述方法还包括:
获取所述仿人机器人当前的期望转向角速度,并根据所述期望转向角速度计算所述仿人机器人的双腿踝关节各自的与所述期望转向角速度匹配的期望俯仰角度;
基于与平衡车前进方向对应的目标腰部位置和所述仿人机器人的双腿踝关节各自对应的期望俯仰角度进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制所述仿人机器人进行位姿调整。
在可选的实施方式中,所述方法还包括:
检测所述目标双轮平衡车施加到所述仿人机器人的机器人足底上的目标作用力是否满足接触面摩擦锥约束条件;
在检测到所述目标作用力不满足接触面摩擦锥约束条件的情况下,控制所述仿人机器人将所述腰部实际位置往指向所述目标双轮平衡车的目标方向进行调整,其中所述目标方向与所述平衡车前进方向相互平行。
第二方面,本申请提供一种机器人移动控制装置,应用于骑行在目标双轮平衡车上的仿人机器人,所述装置包括:
运动参数获取模块,用于获取所述仿人机器人当前在平衡车前进方向上的实际骑行速度、腰部实际位置和期望骑行速度,以及所述仿人机器人当前的质心俯仰角度和质心俯仰角速度;
腰部位置计算模块,用于根据所述实际骑行速度、所述期望骑行速度、所述质心俯仰角度和所述质心俯仰角速度,计算所述仿人机器人驱动所述目标双轮平衡车在所述期望骑行速度下保持平衡所需的腰部期望位置;
腰部位置调整模块,用于根据所述腰部实际位置和所述实际骑行速度,对所述腰部期望位置进行柔顺调整处理,得到所述仿人机器人在所述目标双轮平衡车上维持稳定站立状态所需的目标腰部位置;
机体位姿调整模块,用于基于所述目标腰部位置进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制所述仿人机器人进行位姿调整。
在可选的实施方式中,所述装置还包括转向参数计算模块;
所述转向参数计算模块,用于获取所述仿人机器人当前的期望转向角速度,并在所述目标双轮平衡车属于存在腿控杆的双轮平衡车时,根据所述期望转向角速度计算所述仿人机器人当前在平衡车侧移方向上的腰部期望侧移位置,或者在所述目标双轮平衡车属于无腿控杆的双轮平衡车时,根据所述期望转向角速度计算所述仿人机器人的双腿踝关节各自的与所述期望转向角速度匹配的期望俯仰角度;
所述机体位姿调整模块,还用于在所述目标双轮平衡车属于存在腿控杆的双轮平衡车时,基于与平衡车前进方向对应的目标腰部位置和与平衡车侧移方向对应的腰部期望侧移位置进行机器人逆运动学求解,或者在所述目标双轮平衡车属于无腿控杆的双轮平衡车时,基于与平衡车前进方向对应的目标腰部位置和所述仿人机器人的双腿踝关节各自对应的期望俯仰角度进行机器人逆运动学求解,接着根据对应得到的逆运动学求解结果控制所述仿人机器人进行位姿调整。
在可选的实施方式中,所述装置还包括摩擦约束检测模块;
所述摩擦约束检测模块,用于检测所述目标双轮平衡车施加到所述仿人机器人的机器人足底上的目标作用力是否满足接触面摩擦锥约束条件;
所述腰部位置调整模块,还用于在所述摩擦约束检测模块检测到所述目标作用力不满足接触面摩擦锥约束条件的情况下,控制所述仿人机器人将所述腰部实际位置往指向所述目标双轮平衡车的目标方向进行调整,其中所述目标方向与所述平衡车前进方向相互平行。
第三方面,本申请提供一种仿人机器人,所述仿人机器人骑行在目标双轮平衡车上,其中所述仿人机器人包括处理器和存储器;
所述存储器存储有可被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序,以实现前述实施方式中任意一项所述的机器人移动控制方法。
第四方面,本申请提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被骑行在目标双轮平衡车上的仿人机器人执行时,实现前述实施方式中任意一项所述的机器人移动控制方法。
在此情况下,本申请实施例的有益效果可以包括以下内容:
本申请根据仿人机器人当前在平衡车前进方向上的实际骑行速度、期望骑行速度,以及仿人机器人当前的质心俯仰角度和质心俯仰角速度,计算仿人机器人驱动目标双轮平衡车在期望骑行速度下保持平衡所需的腰部期望位置,并基于仿人机器人在平衡车前进方向上的腰部实际位置和实际骑行速度,对腰部期望位置进行柔顺调整处理,得到仿人机器人在目标双轮平衡车上维持稳定站立状态所需的目标腰部位置,而后基于目标腰部位置进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制仿人机器人进行位姿调整,来保持双轮平衡车的骑行平衡,并驱动双轮平衡车在前进方向上携带着仿人机器人实现稳定的前后运动效果或静止停留效果,从而有效提升仿人机器人在双轮平衡车骑行过程中的骑行稳定性和骑行平衡性,避免仿人机器人摔下双轮平衡车。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的仿人机器人骑行目标双轮平衡车的骑行示意图;
图2为本申请实施例提供的仿人机器人的组成示意图;
图3为存在腿控杆的双轮平衡车在平衡车前进方向的前后运动示意图;
图4为存在腿控杆的双轮平衡车的转向运动示意图;
图5为无腿控杆的双轮平衡车的工作原理示意图;
图6为本申请实施例提供的机器人移动控制方法的流程示意图之一;
图7为仿人机器人与目标双轮平衡车在平衡车前进方向的运动等效模型的模型示意图;
图8为本申请实施例提供的机器人移动控制方法的流程示意图之二;
图9为仿人机器人骑行存在腿控杆的双轮平衡车右转时的肢体交互示意图;
图10为本申请实施例提供的机器人移动控制方法的流程示意图之三;
图11为仿人机器人骑行无腿控杆的双轮平衡车右转时的脚掌姿态示意图;
图12为本申请实施例提供的机器人移动控制方法的流程示意图之四;
图13为本申请实施例提供的机器人移动控制装置的组成示意图之一;
图14为本申请实施例提供的机器人移动控制装置的组成示意图之二。
图标:10-仿人机器人;11-存储器;12-处理器;13-通信单元;14-传感单元;100-机器人移动控制装置;110-运动参数获取模块;120-腰部位置计算模块;130-腰部位置调整模块;140-机体位姿调整模块;150-转向参数计算模块;160-摩擦约束检测模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要理解的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
此外,在本申请的描述中,可以理解的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互结合。
请结合参照图1和图2,其中图1是本申请实施例提供的仿人机器人10骑行目标双轮平衡车的骑行示意图,图2是本申请实施例提供的仿人机器人10的组成示意图。在本申请实施例中,所述仿人机器人10可骑行在所述目标双轮平衡车上,并通过调整自身在所述目标双轮平衡车上的位姿,来驱动所述目标双轮平衡车携带着所述仿人机器人10实现稳定的前后运动效果、静止停留效果、原地转向效果、转弯移动效果等骑行运动效果中的任意一种骑行运动效果,同时有效保持所述目标双轮平衡车的骑行平衡,从而在通过所述目标双轮平衡车提升所述仿人机器人10的运动速度的同时,有效提升所述仿人机器人10在双轮平衡车骑行过程中的骑行稳定性和骑行平衡性,避免所述仿人机器人10摔下所述目标双轮平衡车。其中,所述仿人机器人10可以是位控、力控或力位混合控制的串/并联构型冗余机器人,所述目标双轮平衡车可以是存在腿控杆的双轮平衡车,也可以是无腿控杆的双轮平衡车。
在本申请实施例中,所述仿人机器人10可以包括机器人上身、髋关节驱动结构及两个机械腿结构,两个机械腿结构分别位于所述髋关节驱动结构两侧,并与该髋关节驱动结构连接,所述机器人上身与所述髋关节驱动结构连接,且所述髋关节驱动结构与所述机器人上身连接的位置处于两个机械腿结构之间。所述髋关节驱动结构的与每个机械腿结构连接的位置处可均设置有两个相互正交的可旋转驱动结构,用以实现两个机械腿结构之间的位置交替变换;每个机械腿结构的膝关节处设置有一个可旋转驱动结构,用于实现对应机械腿结构的屈膝操作;每个机械腿结构的踝关节处设置有一个可旋转驱动结构,用于实现对应机械腿结构的脚掌姿态变化操作。
此外,所述仿人机器人10还包括机器人移动控制装置100、存储器11、处理器12、通信单元13和传感单元14。所述存储器11、所述处理器12、所述通信单元13和所述传感单元14相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,所述存储器11、所述处理器12、所述通信单元13和所述传感单元14可通过一条或多条通讯总线或信号线实现电性连接。
在本实施例中,所述存储器11可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,所述存储器11用于存储计算机程序,所述处理器12在接收到执行指令后,可相应地执行所述计算机程序。
在本实施例中,所述处理器12可以是一种具有信号的处理能力的集成电路芯片。所述处理器12可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)及网络处理器(Network Processor,NP)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件中的至少一种。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
在本实施例中,所述通信单元13用于通过网络建立所述仿人机器人10与其他电子设备之间的通信连接,并通过所述网络收发数据,其中所述网络包括有线通信网络及无线通信网络。例如,所述仿人机器人10可以通过所述通信单元13获取移动控制指令,并根据所述移动控制指令调整自身在所述目标双轮平衡车上的位姿,以驱动所述目标双轮平衡车达到所述移动控制指令的预期运动效果。
在本实施例中,所述传感单元14用于对所述仿人机器人10的运动数据进行感知,比如对所述仿人机器人10在各个关节(包括机器人的真实关节以及虚拟关节)处的实际转动角度和/或实时角速度进行监测,对所述仿人机器人10的各个形体部位(例如,足底、质心及腰部)的运动位姿及运动速度进行监测。
在本实施例中,所述机器人移动控制装置100包括至少一个能够以软件或固件的形式存储于所述存储器11中或者固化在所述仿人机器人10的操作系统中的软件功能模块。所述处理器12可用于执行所述存储器11存储的可执行模块,例如所述机器人移动控制装置100所包括的软件功能模块及计算机程序等。所述仿人机器人10可通过所述机器人移动控制装置100调整自身在所述目标双轮平衡车上的位姿,来驱动所述目标双轮平衡车携带着所述仿人机器人10实现稳定的前后运动效果、静止停留效果、原地转向效果、转弯移动效果等骑行运动效果中的任意一种骑行运动效果,同时有效保持所述目标双轮平衡车的骑行平衡,从而在通过所述目标双轮平衡车提升所述仿人机器人10的运动速度的同时,有效提升所述仿人机器人10在双轮平衡车骑行过程中的骑行稳定性和骑行平衡性,避免所述仿人机器人10摔下所述目标双轮平衡车。
可以理解的是,图2所示的框图仅为所述仿人机器人10的一种组成示意图,所述仿人机器人10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
而对所述目标双轮平衡车来说,当所述仿人机器人10骑行在所述目标双轮平衡车上时,可将所述仿人机器人10和所述目标双轮平衡车同时面向的方向作为平衡车前进方向,而后基于右手定则建立可用于描述所述仿人机器人10的位姿的参考坐标系,此时该参考坐标系的X轴正方向即用于表示所述平衡车前进方向,该参考坐标系的Y轴正方向将对应指向所述仿人机器人10的机身左侧方向,以表征所述目标双轮平衡车的平衡车侧移方向,该参考坐标系的Z轴正方向即用于表示高度方向,此时绕着该参考坐标系的Z轴沿逆时针方向转动的左转方向即可作为该参考坐标系在的平衡车正转方向。其中,所述目标双轮平衡车的种类可以是存在腿控杆的双轮平衡车,也可以是无腿控杆的双轮平衡车。
请结合参照图3和图4,其中图3是存在腿控杆的双轮平衡车在平衡车前进方向的前后运动示意图,图4是存在腿控杆的双轮平衡车的转向运动示意图。当所述目标双轮平衡车属于存在腿控杆的双轮平衡车时,所述目标双轮平衡车将对应包括两个由电机驱动的车轮、一个用于操控转向的腿控杆,和一个供骑行者站立的脚踏板平台;骑行者与所述目标双轮平衡车(属于存在腿控杆的双轮平衡车)构成的整体系统在平衡车前进方向(即图3中的X轴正方向)上的前后运动原理和轮式倒立摆模型的控制原理类似,图3中的轮子用于表示所述目标双轮平衡车的车轮,图3中的杆用于表示骑行者的质心与脚底之间的位置关系。如图3(a)所示,当骑行者想要在平衡车前进方向上作前进运动时,身体需向前倾斜(θ>0),骑行者质心会压在前侧,使目标双轮平衡车的脚踏板平台跟随着向前倾斜。此时,目标双轮平衡车内置的平衡算法会使两轮向前加速运动,以期使所述目标双轮平衡车的脚踏板平台将骑行者恢复成竖直站立状态。在这个过程中,所述目标双轮平衡车实现了前进运动。若骑行者在目标双轮平衡车的作用下身体顺势恢复竖直站立状态(θ=0),目标双轮平衡车会相应地停止向前运动,此时目标双轮平衡车处于静止状态。若骑行者身体持续保持前倾,车轮会持续加速直到内部设置的速度上限,此时目标双轮平衡车会在平衡车前进方向上保持前进运动。
如图3(b)所示,当骑行者想要在平衡车前进方向上作后退运动时,身体需向后倾斜(θ<0),骑行者质心会压在后侧,使目标双轮平衡车的脚踏板平台跟随着向后倾斜。此时,目标双轮平衡车内置的平衡算法会使两轮向后加速运动,以期使所述目标双轮平衡车的脚踏板平台将骑行者恢复成竖直站立状态。在这个过程中,所述目标双轮平衡车实现了后退运动。若骑行者在目标双轮平衡车的作用下身体顺势恢复竖直站立状态(θ=0),目标双轮平衡车会相应地停止后退运动,此时目标双轮平衡车处于静止状态。若骑行者身体持续保持后倾,车轮会持续加速直到内部设置的速度上限,此时目标双轮平衡车会在平衡车前进方向上保持后退运动。
此外,骑行者操控所述目标双轮平衡车(属于存在腿控杆的双轮平衡车)实现转向功能时,可通过操控腿控杆相对于所述平衡车前进方向向左旋转(即控制腿控杆朝着图4所示的Y轴正方向偏转)来控制所述目标双轮平衡车向左转动,或者通过操控腿控杆相对于所述平衡车前进方向向右旋转(即控制腿控杆朝着远离图4所示的Y轴正方向偏转)来控制所述目标双轮平衡车向右转动。其中,如图4(a)所示,当骑行者想要相对于平衡车前进方向左转时,操控腿控杆向左旋转,此时平衡车右轮会在原有前后运动的加速度上叠加与所述平衡车前进方向同向的加速度(即右轮向前加速),而平衡车左轮会在原有前后运动的加速度上叠加与所述平衡车前进方向背向的加速度(即左轮向后加速),而两轮的加速度总和保持不变,此时可在保持前后运动的骑行平衡的同时,实现向左转向的效果;如图4(b)所示,当骑行者想要相对于平衡车前进方向右转时,操控腿控杆向右旋转,此时平衡车右轮会在原有前后运动的加速度上叠加与所述平衡车前进方向背向的加速度(即右轮向后加速),而平衡车左轮会在原有前后运动的加速度上叠加与所述平衡车前进方向同向的加速度(即左轮向前加速),而两轮的加速度总和保持不变,此时可在保持前后运动的骑行平衡的同时,实现向右转向的效果。
请参照图5,图5是无腿控杆的双轮平衡车的工作原理示意图。当所述目标双轮平衡车属于无腿控杆的双轮平衡车时,所述目标双轮平衡车将对应包括两个由电机驱动的车轮和一个供骑行者站立的脚踏板平台,其中该脚踏板平台可分为左脚踏板和右脚踏板,左脚踏板内部署有呈田字型分布的压力传感器1、2、3和4,右脚踏板内部署有呈田字型分布的压力传感器5、6、7和8,其中压力传感器1、2、5和6相对于压力传感器3、4、7和8更靠近平衡车前进方向。当压力传感器1和2检测到的压力大于压力传感器3和4检测到的压力时,平衡车左轮会向前加速;当压力传感器1和2检测到的压力等于压力传感器3和4检测到的压力时,平衡车左轮不加速;当压力传感器1和2检测到的压力小于压力传感器3和4检测到的压力时,平衡车左轮向后加速;当压力传感器5和6检测到的压力大于压力传感器7和8检测到的压力时,平衡车右轮会向前加速;当压力传感器5和6检测到的压力等于压力传感器7和8检测到的压力时,平衡车右轮不加速;当压力传感器5和6检测到的压力小于压力传感器7和8检测到的压力时,平衡车右轮向后加速。由此,骑行者可通过调整自身施加到所述目标双轮平衡车(即无腿控杆的双轮平衡车)包括的各个压力传感器的压力,从而驱动所述目标双轮平衡车在平衡车前进方向上作前进运动或后退运动,或者驱动所述目标双轮平衡车绕着Z轴向左(即图5中的方向yaw)转动或向右转动。
在本申请中,为确保所述仿人机器人10能够驱动不同类型的目标双轮平衡车在平衡车前进方向上实现稳定的前后运动效果或静止停留效果,并在双轮平衡车骑行过程中有效保持双轮平衡车的骑行平衡,防止所述仿人机器人10摔下所述目标双轮平衡车,本申请实施例通过提供第一种机器人移动控制方法实现前述目的,下面对本申请提供的第一种机器人移动控制方法进行详细描述。
请参照图6,图6是本申请实施例提供的机器人移动控制方法的流程示意图之一。在本申请实施例中,所述机器人移动控制方法可以包括步骤S210~步骤S240。
步骤S210,获取仿人机器人当前在平衡车前进方向上的实际骑行速度、腰部实际位置和期望骑行速度,以及仿人机器人当前的质心俯仰角度和质心俯仰角速度。
在本实施例中,请参照图7,所述仿人机器人10的机器人质心可视为与所述仿人机器人10的机器人腰部重合,所述仿人机器人10与目标双轮平衡车在平衡车前进方向的运动等效模型可视为轮式倒立摆模型,此时图7中的即可用于表示所述仿人机器人10在平衡车前进方向上的实际骑行速度,同时也可用于表示所述仿人机器人10在平衡车前进方向上的腰部移动速度(或质心移动速度),以及所述目标双轮平衡车在平衡车前进方向上的移动线速度,其中可通过所述传感单元14包括的安装于所述仿人机器人10腰部的IMU(InertialMeasurement Unit,惯性测量单元)单元测量所述平衡车前进方向上的腰部线加速度,而后通过对测量到的腰部线加速度进行一次积分后,再利用旋转矩阵预估得到所述实际骑行速度;图7中的/>即可用于表示所述仿人机器人10在平衡车前进方向上的实际骑行加速度,同时也可用于表示所述仿人机器人10在平衡车前进方向上的腰部移动加速度(或质心移动加速度),以及所述目标双轮平衡车在平衡车前进方向上的移动线加速度。在本实施例的一种实施方式中,可采用x表示所述仿人机器人10在平衡车前进方向上的腰部实际位置(即质心实际位置)。
同时,图7中的θ即可用于表示所述仿人机器人10的质心俯仰角度,同时也可用于表示所述目标双轮平衡车的脚踏板平台的俯仰角度,其中可利用上述IMU单元测量出的俯仰角度配合髋关节、膝关节和踝关节各自的俯仰角度进行角度叠加运算,得到所述质心俯仰角度;图7中的即可用于表示所述仿人机器人10的质心俯仰角速度,同时也可用于表示所述目标双轮平衡车的脚踏板平台的俯仰角速度。
而对图7所示的轮式倒立摆模型来说,所述期望骑行速度即为所述仿人机器人10和所述目标双轮平衡车在平衡车前进方向上期望达到的移动速度(包括数值相同的腰部移动速度、质心移动速度和平衡车线速度),其数值可以是0,也可以是不为0的正数,还可以是不为0的负数。
其中,若所述期望骑行速度为0,则表明当前希望所述仿人机器人10和所述目标双轮平衡车在平衡车前进方向上保持静止停留状态,对应期望的质心俯仰角度为0,对应期望的质心俯仰角速度为0,此时机器人质心应当处于所述目标双轮平衡车的正上方,所述仿人机器人10在所述目标双轮平衡车上对应处于竖直站立状态;若所述期望骑行速度为正数,则表明当前希望所述仿人机器人10和所述目标双轮平衡车在平衡车前进方向上保持前进运动状态,对应期望的质心俯仰角度和质心俯仰角速度大于0,此时机器人质心向前移动,所述目标双轮平衡车的两个车轮会在仿人机器人10的作用下向前加速,以期所述机器人质心恢复到所述目标双轮平衡车的正上方;若所述望骑行速度为负数,则表明当前希望所述仿人机器人10和所述目标双轮平衡车在平衡车前进方向上保持后退运动状态,对应期望的质心俯仰角度和质心俯仰角速度小于0,此时机器人质心向后移动,所述目标双轮平衡车的两个车轮会在仿人机器人10的作用下向后加速,以期所述机器人质心恢复到所述目标双轮平衡车的正上方。
其中,当所述目标双轮平衡车属于无腿控杆的双轮平衡车时,若所述机器人质心向前移动,则压力传感器1和2检测到的压力将大于压力传感器3和4检测到的压力,同时压力传感器5和6检测到的压力也将大于压力传感器7和8检测到的压力,来使两个车轮同时向前加速;若所述机器人质心向后移动,则压力传感器1和2检测到的压力将小于压力传感器3和4检测到的压力,同时压力传感器5和6检测到的压力也将小于压力传感器7和8检测到的压力,来使两个车轮同时向后加速。
步骤S220,根据实际骑行速度、期望骑行速度、质心俯仰角度和质心俯仰角速度,计算仿人机器人驱动目标双轮平衡车在期望骑行速度下保持平衡所需的腰部期望位置。
在本实施例中,为保证所述仿人机器人10驱动不同类型的目标双轮平衡车在期望骑行速度下保持平衡,需要将所述仿人机器人10和所述目标双轮平衡车视为一个整体系统,并使该整体系统在平衡车前进方向上的各种运动状态(例如,静止停留状态、前进运动状态或后退运动状态)下也维持良好的骑行平衡,由此可通过设置一个平衡控制律方程来描述所述仿人机器人10和所述目标双轮平衡车在平衡车前进方向上保持骑行平衡时的运动参数平衡。因此,当所述仿人机器人10在得到上述实际骑行速度、上述期望骑行速度、上述质心俯仰角度和上述质心俯仰角速度后,可通过调用该平衡控制律方程预测出所述仿人机器人10在平衡车前进方向上的腰部期望位置,以便通过所述腰部期望位置确保所述仿人机器人10和所述目标双轮平衡车之间的骑行平衡。
可选地,在本实施例的一种实施方式中,上述平衡控制律方程涉及到的运动参数可以包括所述实际骑行速度、所述期望骑行速度、所述质心俯仰角度、所述质心俯仰角速度以及腰部期望加速度,则所述步骤S220的具体步骤可以包括:
获取所述仿人机器人10和所述目标双轮平衡车保持骑行平衡所需的平衡控制律方程;
将所述实际骑行速度、所述期望骑行速度、所述质心俯仰角度和所述质心俯仰角速度代入所述平衡控制律方程中进行方程求解,得到所述仿人机器人10在平衡车前进方向上保持骑行平衡所需的腰部期望加速度,其中所述腰部期望加速度与所述期望骑行速度对应;
对所述腰部期望加速度进行二次积分运算,得到所述仿人机器人在平衡车前进方向上的腰部期望位置。
在此过程中,所述平衡控制律方程采用如下式子进行表达:
其中,vdes用于表示所述仿人机器人在平衡车前进方向上的期望骑行速度,v用于表示所述仿人机器人在平衡车前进方向上的实际骑行速度,θ用于表示所述仿人机器人的质心俯仰角度,用于表示所述仿人机器人的质心俯仰角速度,/>用于表示所述仿人机器人在平衡车前进方向上的与所述期望骑行速度对应的腰部期望加速度,Kp用于表示与质心俯仰变化操作相关的角度控制参数,Kd用于表示与质心俯仰变化操作相关的角速度控制参数,Kv用于表示与平衡车移动速度变化操作相关的线速度控制参数。
由此,本申请可通过执行上述步骤S220的具体步骤流程,确保所述仿人机器人10和不同类型的目标双轮平衡车均可在对应得到的腰部期望位置作用下保持骑行平衡,并驱动所述目标双轮平衡车尽量按照所述期望骑行速度进行运动。
步骤S230,根据腰部实际位置和实际骑行速度,对腰部期望位置进行柔顺调整处理,得到仿人机器人在目标双轮平衡车上维持稳定站立状态所需的目标腰部位置。
在本实施例中,因所述仿人机器人10确定出的腰部期望位置是直接基于腰部期望加速度进行二次积分运算得到的,实质因为考虑所述仿人机器人10本身在所述目标平衡车上的稳定站立需求,同时直接基于二次积分结果实现的腰部位姿调整操作并不柔顺,因此所述仿人机器人10在得到所述腰部期望位置后,会基于常规柔顺控制算法对得到的所述腰部期望位置进行柔顺调整处理,使最终得到的目标腰部位置能够在确保所述仿人机器人10和所述目标双轮平衡车之间的骑行平衡的基础上,确保所述仿人机器人10在所述目标双轮平衡车上维持稳定站立状态,避免所述仿人机器人10摔下所述目标双轮平衡车,同时使对应腰部位姿调整操作更加自然流畅。其中,所述常规柔顺控制算法可以是,但不限于,阻抗控制算法、导纳控制算法、力/位置混合控制算法、自适应控制算法、模糊柔顺控制算法等。
在本实施例的一种实施方式中,可采用考虑零力矩点的线性倒立摆算法实现柔顺调整操作,此时所述步骤S230的具体步骤可以包括:
获取所述仿人机器人10当前在所述目标双轮平衡车上的零力矩点位置,以及所述仿人机器人10在处于静止状态的所述目标双轮平衡车上稳定站立时于平衡车前进方向上的腰部初始位置;
将所述零力矩点位置、所述腰部实际位置、所述实际骑行速度和所述腰部期望位置代入到与稳定站立状态对应的腰部加速度修正方程中进行方程求解,得到所述仿人机器人10当前维持稳定站立状态所需的目标腰部加速度;
根据所述仿人机器人10在当前时刻的前一时刻于平衡车前进方向上的历史质心期望速度,以及与当前时刻对应的目标腰部加速度,基于与所述仿人机器人10匹配的线性倒立摆模型进行腰部位置柔顺预测,得到所述仿人机器人10在平衡车前进方向上的腰部修正位置;
对所述腰部初始位置和所述腰部修正位置进行位置叠加,得到所述仿人机器人10在平衡车前进方向上的目标腰部位置。
在此过程中,所述腰部加速度修正方程采用如下式子进行表达:
其中,xdes用于表示所述仿人机器人10在平衡车前进方向上的腰部期望位置,x用于表示所述仿人机器人10在平衡车前进方向上的腰部实际位置,p用于表示所述零力矩点位置在平衡车前进方向上的位置分量,用于表示所述仿人机器人10在平衡车前进方向上的实际骑行速度,/>用于表示所述仿人机器人10在平衡车前进方向上的目标腰部加速度,Kxp用于表示与腰部位置变化操作相关的位置控制参数,Kxd用于表示与腰部位置变化操作相关的线速度控制参数,Kxz用于表示与零力矩点相关的位置控制参数。
在此过程中,就所述腰部初始位置来说,可通过将质心俯仰角度和质心俯仰角速度均为零(即θ=0,),且所述仿人机器人10在所述目标双轮平衡车上竖直站立(即x=0)的状态,作为所述仿人机器人10和所述目标双轮平衡车的整体系统的一个平衡点,该结论是基于机器人竖直站立在平衡车上时,质心正好位于平衡车的车轮轴正上方的假设。但由于无法保证仿人机器人10每次踏在所述目标双轮平衡车上的位置保持一致,且机器人质心实际难以准确测量,因此上述假设往往难以实现。在此情况下,可在所述仿人机器人10每次踏在所述目标双轮平衡车上时,通过调整所述仿人机器人10的实际腰部位置,来确保所述仿人机器人10在所述目标双轮平衡车上稳定达到前述平衡点所对应的竖直站立状态,此时调整后的实际腰部位置即为所述腰部初始位置。
在此过程中,对与所述仿人机器人10匹配的线性倒立摆模型来说,所述线性倒立摆模型在考虑零力矩点位置时,针对当前时刻的质心速度预测方程可表示为:
针对当前时刻的质心位置预测方程可表示为:
其中,用于表示所述仿人机器人10在第t时刻于平衡车前进方向上的质心期望移动加速度,/>用于表示所述仿人机器人10在第t时刻于平衡车前进方向上的质心期望速度,/>用于表示所述仿人机器人10在第t-1时刻于平衡车前进方向上的历史质心期望速度,Δt用于表示相邻两个时刻之间的时间长度,z用于表示所述线性倒立摆模型所对应的质心高度,g用于表示重力加速度,x(t)用于表示所述仿人机器人10在第t时刻于平衡车前进方向上的质心期望位置。
因此,本申请可通过将得到的与当前时刻对应的目标腰部加速度作为所述质心期望移动加速度代入到上述两个预测方程中,并结合所述仿人机器人10在当前时刻的前一时刻于平衡车前进方向上的历史质心期望速度进行方程求解,得到所述仿人机器人10在当前时刻的质心期望速度和质心期望位置,并将得到的与当前时刻对应的质心期望位置作为所述腰部修正位置。
由此,本申请可通过执行上述步骤S230包括的具体步骤流程,确保最终得到的目标腰部位置能够在维持所述仿人机器人10和所述目标双轮平衡车之间的骑行平衡的基础上,使所述仿人机器人10在所述目标双轮平衡车上维持稳定站立状态,避免所述仿人机器人10摔下所述目标双轮平衡车,同时使对应腰部位姿调整操作更加自然流畅。
步骤S240,基于目标腰部位置进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制仿人机器人进行位姿调整。
在本实施例中,当所述仿人机器人10计算出所述目标腰部位置后,可基于所述目标腰部位置进行机器人逆运动学求解,得到对应的逆运动学求解结果,并根据所述逆运动学求解结果生成与所述仿人机器人10适配的关节控制指令,而后按照所述关节控制指令调整所述仿人机器人10包括的各个可驱动关节的关节状态,来调整所述仿人机器人10在所述目标双轮平衡车上的位姿,使所述仿人机器人10在平衡车前进方向上的实际腰部位置移动到所述目标腰部位置处,以驱动所述目标双轮平衡车在平衡车前进方向上实现稳定的前后运动效果或静止停留效果,并在双轮平衡车骑行过程中有效保持所述目标双轮平衡车与所述仿人机器人10之间的骑行平衡,防止所述仿人机器人10摔下所述目标双轮平衡车。
其中,若所述仿人机器人10属于力控冗余机器人,则对应逆运动学求解结果可采用关节加速度进行表征,可通过机器人动力学模型对所述逆运动学求解结果进行数据处理,得到针对关节力矩的关节控制指令;若所述仿人机器人10属于位控冗余机器人,对应逆运动学求解结果通常采用关节角速度进行表征,可通过对所述逆运动学求解结果进行积分处理,得到针对关节角度的关节控制指令。
由此,本申请可通过执行上述步骤S210~步骤S2140,确保所述仿人机器人10能够驱动不同类型的目标双轮平衡车在平衡车前进方向上实现稳定的前后运动效果或静止停留效果,并在双轮平衡车骑行过程中有效保持双轮平衡车的骑行平衡,防止所述仿人机器人10摔下所述目标双轮平衡车,以在通过所述目标双轮平衡车提升所述仿人机器人10的运动速度的同时,有效提升所述仿人机器人10在双轮平衡车骑行过程中的骑行稳定性和骑行平衡性。
在本申请中,当所述目标双轮平衡车属于存在腿控杆的双轮平衡车时,为确保所述仿人机器人10能够驱动所述目标双轮平衡车实现稳定的原地转向效果或转弯移动效果,并在双轮平衡车骑行过程中有效保持双轮平衡车的骑行平衡,防止所述仿人机器人10摔下所述目标双轮平衡车,本申请实施例通过提供第二种机器人移动控制方法实现前述目的,下面对本申请提供的第二种机器人移动控制方法进行详细描述,其中所述第二种机器人移动控制方法属于第一种机器人移动控制方法的进一步演变。
请参照图8,图8是本申请实施例提供的机器人移动控制方法的流程示意图之二。在本申请实施例中,与图6所示的机器人移动控制方法相比,图8所示的机器人移动控制方法还包括步骤S250~步骤S260。
步骤S250,获取仿人机器人当前的期望转向角速度,并根据期望转向角速度计算仿人机器人当前在平衡车侧移方向上的腰部期望侧移位置。
在本实施例中,对于存在腿控杆的双轮平衡车来说,可通过改变该双轮平衡车上的仿人机器人10在平衡车侧移方向上的腰部位置,使仿人机器人10的腿部结构触碰到腿控杆,来旋转所述腿控杆,从而实现所述双轮平衡车的转向动作。以图9为例,当仿人机器人10的腰部向着Y轴负方向(即图9中的右侧方向)移动时,仿人机器人10的左腿内侧将会触碰到腿控杆,并将腿控杆往Y轴负方向转动,此时平衡车右轮向后加速,平衡车左轮向前加速,所述目标双轮平衡车会向右侧转向。相反地,当仿人机器人10的腰部向着Y轴正方向(即图9中的左侧方向)移动时,仿人机器人10的右腿内侧将会触碰到腿控杆,并将腿控杆往Y轴正方向转动,此时平衡车右轮向前加速,平衡车左轮向后加速,所述目标双轮平衡车会向左侧转向。
由此,可根据上述平衡车转向原理,针对所述仿人机器人10设计出适配于存在腿控杆的双轮平衡车的转向控制律方程为:
其中,ydes用于表示所述仿人机器人10在平衡车侧移方向上的腰部期望侧移位置,用于表示所述仿人机器人10的期望转向角速度,K1用于表示与平衡车转向操作相关的第一控制参数。其中,若所述期望转向角速度为0,则所述目标双轮平衡车将无需执行转向操作;若所述期望转向角速度为正数,则所述目标双轮平衡车将向左转向(即绕着Z轴逆时针转动);若所述期望转向角速度为负数,则所述目标双轮平衡车将向右转向(即绕着Z轴顺时针转动)。
步骤S260,基于与平衡车前进方向对应的目标腰部位置和与平衡车侧移方向对应的腰部期望侧移位置进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制仿人机器人进行位姿调整。
其中,与所述平衡车前进方向对应的目标腰部位置可采用上述步骤S210~步骤S230计算得到;若所述目标腰部位置所对应的期望骑行速度为0,则所述仿人机器人10可参照执行上述步骤S240的内容,对应执行所述步骤S260,来确保所述目标双轮平衡车实现稳定的原地转向效果;若所述目标腰部位置所对应的期望骑行速度不为0,则所述仿人机器人10可参照执行上述步骤S240的内容,对应执行所述步骤S260,来确保所述目标双轮平衡车实现稳定的转弯移动效果。
由此,本申请可通过执行上述步骤S250~步骤S260,确保所述仿人机器人10能够驱动具有腿控杆的目标双轮平衡车实现稳定的原地转向效果或转弯移动效果,并在双轮平衡车骑行过程中有效保持双轮平衡车的骑行平衡,防止所述仿人机器人10摔下所述目标双轮平衡车,以在通过所述目标双轮平衡车提升所述仿人机器人10的运动灵活性的同时,有效提升所述仿人机器人10在双轮平衡车骑行过程中的骑行稳定性和骑行平衡性。
在本申请中,当所述目标双轮平衡车属于无腿控杆的双轮平衡车时,为确保所述仿人机器人10能够驱动所述目标双轮平衡车实现稳定的原地转向效果或转弯移动效果,并在双轮平衡车骑行过程中有效保持双轮平衡车的骑行平衡,防止所述仿人机器人10摔下所述目标双轮平衡车,本申请实施例通过提供第三种机器人移动控制方法实现前述目的,下面对本申请提供的第三种机器人移动控制方法进行详细描述,其中所述第三种机器人移动控制方法属于第一种机器人移动控制方法的进一步演变。
请参照图10,图10是本申请实施例提供的机器人移动控制方法的流程示意图之三。在本申请实施例中,与图6所示的机器人移动控制方法相比,图10所示的机器人移动控制方法还包括步骤S270~步骤S280。
步骤S270,获取仿人机器人当前的期望转向角速度,并根据期望转向角速度计算仿人机器人的双腿踝关节各自的与期望转向角速度匹配的期望俯仰角度。
在本实施例中,对于无腿控杆的双轮平衡车来说,可通过调整该双轮平衡车上的仿人机器人10的脚掌姿态,来实现所述双轮平衡车的转向动作。以图11为例,当仿人机器人10的机器人左脚俯仰角变大(即前脚尖向下,后脚跟抬起)时,压力传感器1和2所受到的压力大于压力传感器3和4所受到的压力,此时平衡车左轮会产生向前加速的加速度,同时当仿人机器人10的机器人右脚俯仰角变小(即前脚尖翘起,后脚跟向下),此时压力传感器5和6所受到的压力小于压力传感器7和8所受到的压力,此时平衡车右轮会产生向后加速的加速度,在此基础上综合左右脚姿态产生的两轮加速度差,所述双轮平衡车会向右转向。
相反地,当仿人机器人10的机器人左脚俯仰角变小(即前脚尖翘起,后脚跟向下)时,压力传感器1和2所受到的压力小于压力传感器3和4所受到的压力,此时平衡车左轮会产生向后加速的加速度,同时当仿人机器人10的机器人右脚俯仰角变小(即前脚尖向下,后脚跟抬起),此时压力传感器5和6所受到的压力大于压力传感器7和8所受到的压力,此时平衡车右轮会产生向前加速的加速度,在此基础上综合左右脚姿态产生的两轮加速度差,所述双轮平衡车会向左转向。
由此,可根据上述平衡车转向原理,针对所述仿人机器人10设计出适配于无腿控杆的双轮平衡车的转向控制律方程为:
其中,用于表示所述仿人机器人10的左腿踝关节的期望俯仰角度,其可用于调整所述仿人机器人10的左脚俯仰角;/>用于表示所述仿人机器人10的右腿踝关节的期望俯仰角度,其可用于调整所述仿人机器人10的右脚俯仰角,/>用于表示所述仿人机器人10的期望转向角速度,K2用于表示与平衡车转向操作相关的第二控制参数。其中,若所述期望转向角速度为0,则所述目标双轮平衡车将无需执行转向操作;若所述期望转向角速度为正数,则所述目标双轮平衡车将向左转向(即绕着Z轴逆时针转动);若所述期望转向角速度为负数,则所述目标双轮平衡车将向右转向(即绕着Z轴顺时针转动)。
步骤S280,基于与平衡车前进方向对应的目标腰部位置和仿人机器人的双腿踝关节各自对应的期望俯仰角度进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制仿人机器人进行位姿调整。
其中,与所述平衡车前进方向对应的目标腰部位置可采用上述步骤S210~步骤S230计算得到;若所述目标腰部位置所对应的期望骑行速度为0,则所述仿人机器人10可参照执行上述步骤S240的内容,对应执行所述步骤S280,来确保所述目标双轮平衡车实现稳定的原地转向效果;若所述目标腰部位置所对应的期望骑行速度不为0,则所述仿人机器人10可参照执行上述步骤S240的内容,对应执行所述步骤S280,来确保所述目标双轮平衡车实现稳定的转弯移动效果。
由此,本申请可通过执行上述步骤S270~步骤S280,确保所述仿人机器人10能够驱动无腿控杆的目标双轮平衡车实现稳定的原地转向效果或转弯移动效果,并在双轮平衡车骑行过程中有效保持双轮平衡车的骑行平衡,防止所述仿人机器人10摔下所述目标双轮平衡车,以在通过所述目标双轮平衡车提升所述仿人机器人10的运动灵活性的同时,有效提升所述仿人机器人10在双轮平衡车骑行过程中的骑行稳定性和骑行平衡性。
在本申请中,为确保所述仿人机器人10在平衡车骑行过程中不会滑下所述目标双轮平衡车,以有效维持所述仿人机器人10在所述目标双轮平衡车上的稳定站立状态,本申请实施例通过提供第四种机器人移动控制方法实现前述目的,下面对本申请提供的第四种机器人移动控制方法进行详细描述,其中所述第四种机器人移动控制方法属于第一种机器人移动控制方法、第二种机器人移动控制方法或第三种机器人移动控制方法的进一步演变。
请参照图12,图12是本申请实施例提供的机器人移动控制方法的流程示意图之四。在本申请实施例中,与图6、图8或图10所示的机器人移动控制方法相比,图12所示的机器人移动控制方法还可以包括步骤S290~步骤S2110。
步骤S290,检测目标双轮平衡车施加到仿人机器人的机器人足底上的目标作用力是否满足接触面摩擦锥约束条件。
在本实施例中,在图7所示的运动等效模型中,通常默认机器人足底与平衡车车座表面刚性连接在一起,不会发生相对运动,但在实际使用过程中,所述仿人机器人10只是站立在所述目标双轮平衡车的脚踏板平台上,并不会与所述脚踏板平台固定连接在一起。因此,为保证所述仿人机器人10不会滑下所述目标双轮平衡车,即等效为保证所述仿人机器人10的机器人足底与所述目标双轮平衡车的平衡车车座表面不发生相对运动,需要所述目标双轮平衡车施加到仿人机器人10的机器人足底上的目标作用力满足接触面摩擦锥约束条件。
其中,所述目标作用力可以包括所述目标双轮平衡车在水平方向上施加到机器人足底的水平作用力,和所述目标双轮平衡车在竖直方向上施加到机器人足底的竖直作用力,此时所述接触面摩擦锥约束条件可表示为:
其中,FN用于表示所述目标双轮平衡车施加到机器人足底的竖直作用力,FT用于表示所述目标双轮平衡车施加到机器人足底的水平作用力,μ用于表示所述仿人机器人10的机器人足底与所述目标双轮平衡车之间的静摩擦系数。
步骤S2110,在检测到目标作用力不满足接触面摩擦锥约束条件的情况下,控制仿人机器人将腰部实际位置往指向目标双轮平衡车的目标方向进行调整,其中目标方向与平衡车前进方向相互平行。
在本实施例中,当检测到所述目标作用力不满足上述接触面摩擦锥约束条件时,即表明所述仿人机器人10将滑下所述目标双轮平衡车,此时为避免所述仿人机器人10滑下所述目标双轮平衡车,需要将所述仿人机器人10的腰部实际位置往与机体倾斜方向相反的方向进行调整,以使所述仿人机器人10在所述目标双轮平衡车上稳定站立。
其中,可通过控制所述仿人机器人10将腰部实际位置往指向所述目标双轮平衡车且与所述平衡车前进方向相互平行的目标方向进行调整,得到所述仿人机器人10在对应时刻于所述平衡车前进方向上的腰部期望位置,并采用所述腰部期望位置替代所述步骤S240中的目标腰部位置,来执行所述步骤S240的具体步骤内容,以调整所述仿人机器人10的位姿,使仿人机器人10在所述目标双轮平衡车上稳定站立。在此过程中,若所述仿人机器人10的腰部实际位置相对于Z轴向前倾斜(如图7所示),则所述目标方向即为与所述平衡车前进方向背向的方向(即图7中的X轴负方向);若所述仿人机器人10的腰部实际位置相对于Z轴向后倾斜,则所述目标方向即为与所述平衡车前进方向同向的方向(即图7中的X轴正方向)。
由此,本申请可通过执行上述步骤S290~步骤S2110,确保所述仿人机器人10在平衡车骑行过程中不会滑下所述目标双轮平衡车,以有效维持所述仿人机器人10在所述目标双轮平衡车上的稳定站立状态。
在本申请中,为确保所述仿人机器人10能够有效执行上文任意一种机器人移动控制方法,本申请通过对存储在所述仿人机器人10中的机器人移动控制装置100进行功能模块划分的方式实现前述功能。下面对本申请提供的应用于上述仿人机器人10的机器人移动控制装置100的具体组成进行相应描述。
请参照图13,图13是本申请实施例提供的机器人移动控制装置100的组成示意图之一。在本申请实施例中,所述机器人移动控制装置100可以包括运动参数获取模块110、腰部位置计算模块120、腰部位置调整模块130和机体位姿调整模块140。
运动参数获取模块110,用于获取仿人机器人当前在平衡车前进方向上的实际骑行速度、腰部实际位置和期望骑行速度,以及仿人机器人当前的质心俯仰角度和质心俯仰角速度。
腰部位置计算模块120,用于根据实际骑行速度、期望骑行速度、质心俯仰角度和质心俯仰角速度,计算仿人机器人驱动目标双轮平衡车在期望骑行速度下保持平衡所需的腰部期望位置。
腰部位置调整模块130,用于根据腰部实际位置和实际骑行速度,对腰部期望位置进行柔顺调整处理,得到仿人机器人在目标双轮平衡车上维持稳定站立状态所需的目标腰部位置。
机体位姿调整模块140,用于基于目标腰部位置进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制仿人机器人进行位姿调整。
可选地,请参照图14,图14是本申请实施例提供的机器人移动控制装置100的组成示意图之二。在本申请实施例中,所述机器人移动控制装置100还可以包括转向参数计算模块150和摩擦约束检测模块160。
所述转向参数计算模块150,用于获取仿人机器人当前的期望转向角速度,并在目标双轮平衡车属于存在腿控杆的双轮平衡车时,根据期望转向角速度计算仿人机器人当前在平衡车侧移方向上的腰部期望侧移位置,或者在目标双轮平衡车属于无腿控杆的双轮平衡车时,根据期望转向角速度计算仿人机器人的双腿踝关节各自的与期望转向角速度匹配的期望俯仰角度。
所述机体位姿调整模块140,还用于在目标双轮平衡车属于存在腿控杆的双轮平衡车时,基于与平衡车前进方向对应的目标腰部位置和与平衡车侧移方向对应的腰部期望侧移位置进行机器人逆运动学求解,或者在目标双轮平衡车属于无腿控杆的双轮平衡车时,基于与平衡车前进方向对应的目标腰部位置和仿人机器人的双腿踝关节各自对应的期望俯仰角度进行机器人逆运动学求解,接着根据对应得到的逆运动学求解结果控制仿人机器人进行位姿调整。
所述摩擦约束检测模块160,用于检测目标双轮平衡车施加到仿人机器人的机器人足底上的目标作用力是否满足接触面摩擦锥约束条件。
所述腰部位置调整模块130,还用于在所述摩擦约束检测模块160检测到目标作用力不满足接触面摩擦锥约束条件的情况下,控制仿人机器人将腰部实际位置往指向目标双轮平衡车的目标方向进行调整,其中目标方向与平衡车前进方向相互平行。
需要说明的是,本申请实施例所提供的机器人移动控制装置100,其基本原理及产生的技术效果与前述的机器人移动控制方法相同。为简要描述,本实施例部分未提及之处,可参考上述的针对机器人移动控制方法的描述内容。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。本申请提供的各项功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得骑行在不同类型的目标双轮平衡车上的仿人机器人10执行本申请各个实施例记载方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,在本申请实施例提供的机器人移动控制方法及装置、仿人机器人和可读存储介质中,本申请在仿人机器人骑行在不同类型的目标双轮平衡车上时,通过调整仿人机器人在目标双轮平衡车上的位姿,来驱动目标双轮平衡车携带着仿人机器人实现稳定的前后运动效果、静止停留效果、原地转向效果、转弯移动效果等骑行运动效果中的任意一种骑行运动效果,同时有效保持目标双轮平衡车和仿人机器人之间的骑行平衡,从而在通过双轮平衡车提升仿人机器人的运动速度和运动灵活性的同时,有效提升仿人机器人在双轮平衡车骑行过程中的骑行稳定性和骑行平衡性,避免仿人机器人摔下目标双轮平衡车,保证仿人机器人在目标双轮平衡车上稳定站立。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应当以权利要求的保护范围为准。

Claims (11)

1.一种机器人移动控制方法,其特征在于,应用于骑行在目标双轮平衡车上的仿人机器人,所述方法包括:
获取所述仿人机器人当前在平衡车前进方向上的实际骑行速度、腰部实际位置和期望骑行速度,以及所述仿人机器人当前的质心俯仰角度和质心俯仰角速度;
根据所述实际骑行速度、所述期望骑行速度、所述质心俯仰角度和所述质心俯仰角速度,计算所述仿人机器人驱动所述目标双轮平衡车在所述期望骑行速度下保持平衡所需的腰部期望位置;
根据所述腰部实际位置和所述实际骑行速度,对所述腰部期望位置进行柔顺调整处理,得到所述仿人机器人在所述目标双轮平衡车上维持稳定站立状态所需的目标腰部位置;
基于所述目标腰部位置进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制所述仿人机器人进行位姿调整。
2.根据权利要求1所述的方法,其特征在于,所述根据所述实际骑行速度、所述期望骑行速度、所述质心俯仰角度和所述质心俯仰角速度,计算所述仿人机器人驱动所述目标双轮平衡车在所述期望骑行速度下保持平衡所需的腰部期望位置的步骤,包括:
获取所述仿人机器人和所述目标双轮平衡车保持骑行平衡所需的平衡控制律方程;
将所述实际骑行速度、所述期望骑行速度、所述质心俯仰角度和所述质心俯仰角速度代入所述平衡控制律方程中进行方程求解,得到所述仿人机器人在平衡车前进方向上保持骑行平衡所需的腰部期望加速度,其中所述腰部期望加速度与所述期望骑行速度对应;
对所述腰部期望加速度进行二次积分运算,得到所述仿人机器人在平衡车前进方向上的腰部期望位置。
3.根据权利要求2所述的方法,其特征在于,所述平衡控制律方程采用如下式子进行表达:
其中,vdes用于表示所述仿人机器人在平衡车前进方向上的期望骑行速度,v用于表示所述仿人机器人在平衡车前进方向上的实际骑行速度,θ用于表示所述仿人机器人的质心俯仰角度,用于表示所述仿人机器人的质心俯仰角速度,/>用于表示所述仿人机器人在平衡车前进方向上的与所述期望骑行速度对应的腰部期望加速度,Kp用于表示与质心俯仰变化操作相关的角度控制参数,Kd用于表示与质心俯仰变化操作相关的角速度控制参数,Kv用于表示与平衡车移动速度变化操作相关的线速度控制参数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述腰部实际位置和所述实际骑行速度,对所述腰部期望位置进行柔顺调整处理,得到所述仿人机器人在所述目标双轮平衡车上维持稳定站立状态所需的目标腰部位置的步骤,包括:
获取所述仿人机器人当前在所述目标双轮平衡车上的零力矩点位置,以及所述仿人机器人在处于静止状态的所述目标双轮平衡车上稳定站立时于平衡车前进方向上的腰部初始位置;
将所述零力矩点位置、所述腰部实际位置、所述实际骑行速度和所述腰部期望位置代入到与稳定站立状态对应的腰部加速度修正方程中进行方程求解,得到所述仿人机器人当前维持稳定站立状态所需的目标腰部加速度;
根据所述仿人机器人在当前时刻的前一时刻于平衡车前进方向上的历史质心期望速度,以及与当前时刻对应的目标腰部加速度,基于与所述仿人机器人匹配的线性倒立摆模型进行腰部位置柔顺预测,得到所述仿人机器人在平衡车前进方向上的腰部修正位置;
对所述腰部初始位置和所述腰部修正位置进行位置叠加,得到所述仿人机器人在平衡车前进方向上的目标腰部位置。
5.根据权利要求4所述的方法,其特征在于,所述腰部加速度修正方程采用如下式子进行表达:
其中,xdes用于表示所述仿人机器人在平衡车前进方向上的腰部期望位置,x用于表示所述仿人机器人在平衡车前进方向上的腰部实际位置,p用于表示所述零力矩点位置在平衡车前进方向上的位置分量,用于表示所述仿人机器人在平衡车前进方向上的实际骑行速度,/>用于表示所述仿人机器人在平衡车前进方向上的目标腰部加速度,Kxp用于表示与腰部位置变化操作相关的位置控制参数,Kxd用于表示与腰部位置变化操作相关的线速度控制参数,Kxz用于表示与零力矩点相关的位置控制参数。
6.根据权利要求1-5中任意一项所述的方法,其特征在于,在所述目标双轮平衡车属于存在腿控杆的双轮平衡车的情况下,所述方法还包括:
获取所述仿人机器人当前的期望转向角速度,并根据所述期望转向角速度计算所述仿人机器人当前在平衡车侧移方向上的腰部期望侧移位置;
基于与平衡车前进方向对应的目标腰部位置和与平衡车侧移方向对应的腰部期望侧移位置进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制所述仿人机器人进行位姿调整。
7.根据权利要求1-5中任意一项所述的方法,其特征在于,在所述目标双轮平衡车属于无腿控杆的双轮平衡车的情况下,所述方法还包括:
获取所述仿人机器人当前的期望转向角速度,并根据所述期望转向角速度计算所述仿人机器人的双腿踝关节各自的与所述期望转向角速度匹配的期望俯仰角度;
基于与平衡车前进方向对应的目标腰部位置和所述仿人机器人的双腿踝关节各自对应的期望俯仰角度进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制所述仿人机器人进行位姿调整。
8.根据权利要求1-5中任意一项所述的方法,其特征在于,所述方法还包括:
检测所述目标双轮平衡车施加到所述仿人机器人的机器人足底上的目标作用力是否满足接触面摩擦锥约束条件;
在检测到所述目标作用力不满足接触面摩擦锥约束条件的情况下,控制所述仿人机器人将所述腰部实际位置往指向所述目标双轮平衡车的目标方向进行调整,其中所述目标方向与所述平衡车前进方向相互平行。
9.一种机器人移动控制装置,其特征在于,应用于骑行在目标双轮平衡车上的仿人机器人,所述装置包括:
运动参数获取模块,用于获取所述仿人机器人当前在平衡车前进方向上的实际骑行速度、腰部实际位置和期望骑行速度,以及所述仿人机器人当前的质心俯仰角度和质心俯仰角速度;
腰部位置计算模块,用于根据所述实际骑行速度、所述期望骑行速度、所述质心俯仰角度和所述质心俯仰角速度,计算所述仿人机器人驱动所述目标双轮平衡车在所述期望骑行速度下保持平衡所需的腰部期望位置;
腰部位置调整模块,用于根据所述腰部实际位置和所述实际骑行速度,对所述腰部期望位置进行柔顺调整处理,得到所述仿人机器人在所述目标双轮平衡车上维持稳定站立状态所需的目标腰部位置;
机体位姿调整模块,用于基于所述目标腰部位置进行机器人逆运动学求解,并根据对应得到的逆运动学求解结果控制所述仿人机器人进行位姿调整。
10.一种仿人机器人,其特征在于,所述仿人机器人骑行在目标双轮平衡车上,其中所述仿人机器人包括处理器和存储器;
所述存储器存储有可被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序,以实现权利要求1-8中任意一项所述的机器人移动控制方法。
11.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被骑行在目标双轮平衡车上的仿人机器人执行时,实现权利要求1-8中任意一项所述的机器人移动控制方法。
CN202311778673.5A 2023-12-21 2023-12-21 机器人移动控制方法及装置、仿人机器人和可读存储介质 Pending CN117784786A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311778673.5A CN117784786A (zh) 2023-12-21 2023-12-21 机器人移动控制方法及装置、仿人机器人和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311778673.5A CN117784786A (zh) 2023-12-21 2023-12-21 机器人移动控制方法及装置、仿人机器人和可读存储介质

Publications (1)

Publication Number Publication Date
CN117784786A true CN117784786A (zh) 2024-03-29

Family

ID=90379213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311778673.5A Pending CN117784786A (zh) 2023-12-21 2023-12-21 机器人移动控制方法及装置、仿人机器人和可读存储介质

Country Status (1)

Country Link
CN (1) CN117784786A (zh)

Similar Documents

Publication Publication Date Title
JP5945477B2 (ja) 倒立振子型車両、及び倒立振子型車両の制御方法
KR101509884B1 (ko) 도립진자형 차량
JP5921950B2 (ja) 倒立振子型車両
JP6081271B2 (ja) 倒立振子型車両
JP5959928B2 (ja) 倒立振子型車両
US11975787B2 (en) Control device for mobile body
JP2014198501A (ja) 倒立振子型車両
EP2783958B1 (en) Inverted pendulum type vehicle
JP6062785B2 (ja) 倒立振子型車両
CN108725666B (zh) 倒立摆车
KR101478599B1 (ko) 도립진자형 차량
JP6095436B2 (ja) 倒立振子型車両
CN117784786A (zh) 机器人移动控制方法及装置、仿人机器人和可读存储介质
JP7391616B2 (ja) 移動体の姿勢推定装置
JP6081270B2 (ja) 倒立振子型車両
KR101445566B1 (ko) 도립진자형 차량
JP5808289B2 (ja) 倒立振子型車両
CN111770877B (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