本技术涉及机器人平衡控制,尤其涉及一种双足机器人控制方法、装置、双足机器人和可读存储介质。
背景技术:
1、虽然人形机器人的腿部结构可以使机器人像人类一样通过复杂地形,但也无法像轮式机器人一样平稳快速的运动,为了提升人形机器人的运动速度,因此有人提出让人形机器人自主骑行双轮平衡车,如图1所示。而目前公开的技术方案中并没有针对双足的人形机器人驾驶双轮平衡车这一应用场景的有效控制策略。一般来讲,对于一个被控对象,线性控制器往往是最常用的控制方法,其中有包括基于模型的线性控制器,如传统的lqr(linear quadratic regulator)和mpc(model predictive control),以及无模型的控制器,如传统的pid(proportional-integrative-derivative)控制器等。对于基于模型的控制器,当机器人动态发生变化时,若无法实时更新精准的模型,控制器无法实现其最优效果,甚至失稳。而对于无模型的pid控制器,当机器人动态发生变化时,需要通过手动或其他方法调整控制器的参数,否则控制效果也会变差,甚至失稳。
2、对于双足机器人驾驶平衡车这一整体系统,由于自身为不稳定系统,若没有稳定控制器,系统无法保持平衡。但设计稳定的控制器需要对系统建模,或通过工程经验实现,这类对不稳定系统的控制需要一定的控制基础或工程经验。尤其是在稳定的基础上,若要实现最优控制,更需要对系统进行精确的建模。但是由于双足机器人复杂的机械结构,很难为双足机器人驾驶平衡车这一整体系统的平衡问题建立一个精确的模型,因此也无法直接采用基于模型的线性控制器来进行平衡控制。
技术实现思路
1、有鉴于此,本技术实施例提供一种双足机器人控制方法、装置、双足机器人和可读存储介质。
2、第一方面,本技术实施例提供一种双足机器人控制方法,应用于双足机器人-双轮平台系统,所述方法包括:
3、获取任意一组使所述双足机器人短时间驾驶所述双轮平台的初始力矩输入量;
4、根据所述初始力矩输入量,通过基于数据驱动的值迭代自适应动态规划算法进行训练,以得到使所述双足机器人持续驾驶所述双轮平台的稳定控制器;
5、利用所述稳定控制器对所述双足机器人和所述双轮平台进行力矩控制,以使得所述双足机器人在所述双轮平台上保持平衡且能够跟踪期望速度。
6、在一些实施例中,该双足机器人控制方法还包括:
7、在所述进行力矩控制过程中,实时检测所述双足机器人与所述双轮平台之间是否满足不产相对运动的摩擦锥约束;
8、当不满足所述摩擦锥约束的状态时,对所述稳定控制器输出的力矩输入量中的机器人腿部俯仰关节的电机力矩进行调整,以使所述双足机器人重新满足所述摩擦锥约束的状态。
9、在一些实施例中,所述根据所述初始力矩输入量,通过基于数据驱动的值迭代自适应动态规划算法进行迭代求解,之前包括:
10、对所述双足机器人-双轮平台系统进行系统模型简化,并根据所述双足机器人的平衡控制目标,以确定用于构建所述稳定控制器的系统状态变量和系统输入量;
11、其中,所述系统输入量包括:所述双轮平台的车轮电机力矩以及所述双足机器人的腿部俯仰关节的电机力矩;
12、所述系统状态变量包括:所述双足机器人的腿部等效倾角及对应的角速度、上半身等效倾角及对应的角速度、和所述双轮平台的线速度。
13、在一些实施例中,所述对所述双足机器人-双轮平台系统进行系统模型简化,包括:
14、将所述双轮平台简化为近似二级轮式倒立摆模型中的滚动轮,将所述双足机器人的腿部简化为与所述滚动轮连接的第一根连杆,以及将所述双足机器人的上半身简化为与所述第一根连杆连接的第二根连杆。
15、在一些实施例中,所述根据所述初始力矩输入量,通过基于数据驱动的值迭代自适应动态规划算法进行迭代求解,包括:
16、向所述双足机器人-双轮平台系统施加所述初始力矩输入量;
17、沿所述双足机器人的运动轨迹,按照采样时间间隔采集多个系统状态变量数据和对应时刻的力矩输入量数据,以构建得到迭代函数;其中,所述迭代函数与平衡参数矩阵相关;
18、对所述迭代函数进行数值迭代,直到达到收敛条件时停止迭代;
19、利用收敛时的所述迭代函数的值,计算使所述双足机器人稳定的平衡参数矩阵,并根据所述平衡参数矩阵构建出所述稳定控制器。
20、在一些实施例中,所述对所述迭代函数进行数值迭代,包括:
21、设置所述迭代函数的初始值、迭代步长和偏差阈值;
22、当第k次和第k-1次的所述迭代函数的值之间的偏差绝对值大于等于所述偏差阈值,则依据所述迭代函数的迭代方程继续迭代,直至计算到的最新偏差绝对值小于所述偏差阈值时,停止迭代。
23、在一些实施例中,所述迭代函数的迭代方程如下:
24、y(sf-kh)=y(sf-(k-1)h)-hf(y(sf-(k-1)h));
25、式中,y(sf-kh)和y(sf-(k-1)h)分别代表第k次和第k-1次迭代时的迭代函数的值,其中,当k=0时,令y(sf)=0;h为所述迭代步长;sf表示算法迭代对应的虚拟时间上限值;f(y)表示所述迭代函数y的一阶导数。
26、在一些实施例中,所述摩擦锥约束包括:
27、所述双轮平台表面对所述双足机器人足底的水平作用力和竖直作用力之比的绝对值小于或等于所述双足机器人足底与所述双轮平台表面的摩擦系数。
28、在一些实施例中,所述对所述双足机器人-双轮平台系统进行系统模型简化,包括:
29、将所述双轮平台简化为近似二级轮式倒立摆模型中的滚动轮,将所述双足机器人的腿部简化为与所述滚动轮连接的第一根连杆,以及将所述双足机器人的上半身简化为与所述第一根连杆连接的第二根连杆。
30、第二方面,本技术实施例提供一种双足机器人控制装置,应用于双足机器人-双轮平台系统,所述装置包括:
31、初始值获取模块,用于获取任意一组使所述双足机器人短时间驾驶所述双轮平台的初始力矩输入量;
32、控制器求解模块,用于根据所述初始力矩输入量,通过基于数据驱动的值迭代自适应动态规划算法进行训练,以得到使所述双足机器人持续驾驶所述双轮平台的稳定控制器;
33、力矩控制模块,用于利用所述稳定控制器对所述双足机器人和所述双轮平台进行力矩控制,以使得所述双足机器人在所述双轮平台上保持平衡且能够跟踪期望速度。
34、第三方面,本技术实施例提供一种双足机器人,所述双足机器人包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施所述的双足机器人控制方法。
35、第四方面,本技术实施例提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上执行时,实施所述的双足机器人控制方法。
36、本技术的实施例具有如下有益效果:
37、本技术实施例提出一种双足机器人控制方法,对于双足机器人-双轮平台系统(也称双足机器人-双轮平台系统),只需要输入一个可以让系统保持短时间正常驾驶(不摔倒)的初始力矩输入量,然后使用基于数据驱动的值迭代自适应动态规划策略(valueiteration adaptive dynamic programming,vi-adp)进行数据训练,即可以得到一个稳定且最优的控制器,该方法并不需要系统的精准建模和初始稳定控制器。