本公开涉及机器人,具体涉及一种机器人及其控制方法、装置。
背景技术:
1、仿生机器人是指模仿人类、动物等运动模式的足式机器人,仿生机器人能够智能且稳定地代替人类工作,而服务人类生活的前提之一是机器人具有足够强大的高动态运动能力,例如连续跳跃、奔跑、旋转跳跃、空翻等。
2、相关技术中,为了提高求解效率,保证机器人控制的实时性,传统的开源算法都对机器人的动力学做了大量简化,导致机器人运动性能较差,难以实现跳跃、空翻等高动态运动行为。
技术实现思路
1、为提高机器人高动态运动性能和控制效率,本公开实施方式提供了一种机器人控制方法、装置、机器人及存储介质。
2、第一方面,本公开实施方式提供了一种机器人控制方法,包括:
3、基于控制指令从预先建立的动作库中确定与所述控制指令相对应的目标轨迹,所述目标轨迹包括机器人运动过程中的运动参数;
4、在机器人执行所述目标轨迹过程中,基于所述运动参数实时确定机器人动力学模型包括的非线性变量所对应的常量值;
5、基于所述常量值和所述动力学模型,对所述机器人进行实时控制。
6、在一些实施方式中,预先建立所述动作库中的目标轨迹的过程,包括:
7、基于机器人的动力学模型确定所述运动参数包括的状态量和控制量;
8、对于所述目标轨迹包括的每个时间节点,基于所述动力学模型对机器人运动状态进行优化求解,得到每个时间节点对应的最优状态量和最优控制量;
9、基于每个时间节点对应的最优状态量和最优控制量,得到机器人在执行所述目标轨迹时对应的所述运动参数。
10、在一些实施方式中,所述对于所述目标轨迹包括的每个时间节点,基于所述动力学模型对机器人运动状态进行优化求解,得到每个时间节点对应的最优状态量和最优控制量,包括:
11、对于所述目标轨迹包括的每个时间节点,以最小化代价函数为优化目标,以预设约束条件为优化约束,基于所述动力学模型对机器人在每个时间节点上的运动状态进行优化求解,得到机器人在每个时间节点对应的最优状态量和最优控制量。
12、在一些实施方式中,所述动力学模型包括单刚体动力学模型,所述状态量包括机体位置、机体线速度、机体欧拉角以及机体角速度,所述控制量包括机器人足底力。
13、在一些实施方式中,所述代价函数包括机器人运动过程中的路径代价和/或运动结束状态的终末代价。
14、在一些实施方式中,所述动力学模型包括单刚体动力学模型,所述非线性变量包括机体角速度与机体欧拉角之间的转换矩阵、机器人质心到足端的目标向量以及机器人受到的科里奥利力;
15、所述在机器人执行所述目标轨迹过程中,基于所述运动参数实时确定机器人动力学模型包括的非线性变量所对应的常量值,包括:
16、对于机器人运动过程中的每个时间节点,获取所述运动参数中包括的每个时间节点对应的机体欧拉角,并根据所述机体欧拉角确定每个时间节点上对应的所述转换矩阵的常量值;
17、对于机器人运动过程中的每个时间节点,获取所述运动参数中包括的每个时间节点对应机体位置,并根据所述机体位置确定每个时间节点上对应的所述目标向量的常量值;
18、对于机器人运动过程中的每个时间节点,获取所述运动参数中包括的每个时间节点对应机体角速度,并根据所述机体角速度确定每个时间节点上对应的所述科里奥利力的常量值。
19、在一些实施方式中,所述基于所述常量值和所述动力学模型,对所述机器人进行实时控制,包括:
20、对于机器人运动过程中的每个时间节点,基于所述目标轨迹的所述运动参数,确定每个时间节点对应的优化参考值;
21、基于所述常量值和所述动力学模型对所述优化参考值进行迭代优化,直至满足收敛条件,得到机器人在每个时间节点上对应的最优控制参数;
22、基于所述最优控制参数控制所述机器人运动。
23、在一些实施方式中,所述基于控制指令从预先建立的动作库中确定与所述控制指令相对应的目标轨迹,包括:
24、接收用户输入的控制指令,并读取所述控制指令中包括的动作标识;
25、基于所述动作标识,从所述动作库中包括的多个轨迹中确定对应的所述目标轨迹。
26、第二方面,本公开实施方式提供了一种机器人控制装置,包括:
27、轨迹确定模块,被配置为基于控制指令从预先建立的动作库中确定与所述控制指令相对应的目标轨迹,所述目标轨迹包括机器人运动过程中的运动参数;
28、非线性变量模块,被配置为在机器人执行所述目标轨迹过程中,基于所述运动参数实时确定机器人动力学模型包括的非线性变量所对应的常量值;
29、运动控制模块,被配置为基于所述常量值和所述动力学模型,对所述机器人进行实时控制。
30、在一些实施方式中,所述轨迹确定模块被配置为:
31、基于机器人的动力学模型确定所述运动参数包括的状态量和控制量;
32、对于所述目标轨迹包括的每个时间节点,基于所述动力学模型对机器人运动状态进行优化求解,得到每个时间节点对应的最优状态量和最优控制量;
33、基于每个时间节点对应的最优状态量和最优控制量,得到机器人在执行所述目标轨迹时对应的所述运动参数。
34、在一些实施方式中,所述轨迹确定模块被配置为:
35、对于所述目标轨迹包括的每个时间节点,以最小化代价函数为优化目标,以预设约束条件为优化约束,基于所述动力学模型对机器人在每个时间节点上的运动状态进行优化求解,得到机器人在每个时间节点对应的最优状态量和最优控制量。
36、在一些实施方式中,所述动力学模型包括单刚体动力学模型,所述状态量包括机体位置、机体线速度、机体欧拉角以及机体角速度,所述控制量包括机器人足底力。
37、在一些实施方式中,所述代价函数包括机器人运动过程中的路径代价和运动结束状态的终末代价。
38、在一些实施方式中,所述动力学模型包括单刚体动力学模型,所述非线性变量包括机体角速度与机体欧拉角之间的转换矩阵、机器人质心到足端的目标向量以及机器人受到的科里奥利力;所述非线性变量模块被配置为:
39、对于机器人运动过程中的每个时间节点,获取所述运动参数中包括的每个时间节点对应的机体欧拉角,并根据所述机体欧拉角确定每个时间节点上对应的所述转换矩阵的常量值;
40、对于机器人运动过程中的每个时间节点,获取所述运动参数中包括的每个时间节点对应机体位置,并根据所述机体位置确定每个时间节点上对应的所述目标向量的常量值;
41、对于机器人运动过程中的每个时间节点,获取所述运动参数中包括的每个时间节点对应机体角速度,并根据所述机体角速度确定每个时间节点上对应的所述科里奥利力的常量值。
42、在一些实施方式中,所述运动控制模块被配置为:
43、对于机器人运动过程中的每个时间节点,基于所述目标轨迹的所述运动参数,确定每个时间节点对应的优化参考值;
44、基于所述常量值和所述动力学模型对所述优化参考值进行迭代优化,直至满足收敛条件,得到机器人在每个时间节点上对应的最优控制参数;
45、基于所述最优控制参数控制所述机器人运动。
46、在一些实施方式中,所述轨迹确定模块被配置为:
47、接收用户输入的控制指令,并读取所述控制指令中包括的动作标识;
48、基于所述动作标识,从所述动作库中包括的多个轨迹中确定对应的所述目标轨迹。
49、第三方面,本公开实施方式提供了一种机器人,包括:
50、控制器;和
51、存储器,存储有计算机指令,所述计算机指令用于使机器人的控制器执行根据第一方面任意实施方式所述的方法。
52、第四方面,本公开实施方式提供了一种存储介质,存储有计算机指令,所述计算机指令用于使机器人执行根据第一方面任意实施方式所述的方法。
53、本公开实施方式的机器人控制方法,包括基于控制指令从预先建立的动作库中确定目标轨迹,在机器人执行目标轨迹过程中,基于运动参数实时确定机器人动力学模型包括的非线性变量所对应的常量值,基于常量值和动力学模型对机器人进行实时控制。本公开实施方式中,利用离线轨迹将动力学模型中的非线性变量转换为常量值,从而将原本复杂的非线性优化问题转换为线性优化问题,加速实时求解效率,保证机器人控制的实时性,而且无需对动力学模型进行大量简化,在保证实时性的基础上,提高机器人的高动态运动性能,另外通过实时轨迹计算控制机器人运动,提高机器人抗扰动能力。
1.一种机器人控制方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,预先建立所述动作库中的目标轨迹的过程,包括:
3.根据权利要求2所述的方法,其特征在于,所述对于所述目标轨迹包括的每个时间节点,基于所述动力学模型对机器人运动状态进行优化求解,得到每个时间节点对应的最优状态量和最优控制量,包括:
4.根据权利要求2或3所述的方法,其特征在于,
5.根据权利要求3所述的方法,其特征在于,
6.根据权利要求1所述的方法,其特征在于,所述动力学模型包括单刚体动力学模型,所述非线性变量包括机体角速度与机体欧拉角之间的转换矩阵、机器人质心到足端的目标向量以及机器人受到的科里奥利力;
7.根据权利要求1所述的方法,其特征在于,所述基于所述常量值和所述动力学模型,对所述机器人进行实时控制,包括:
8.根据权利要求1所述的方法,其特征在于,所述基于控制指令从预先建立的动作库中确定与所述控制指令相对应的目标轨迹,包括:
9.一种机器人控制装置,其特征在于,包括:
10.一种机器人,其特征在于,包括:
11.一种存储介质,其特征在于,存储有计算机指令,所述计算机指令用于使机器人执行根据权利要求1至8任一项所述的方法。