本公开涉及智能机器人,具体涉及一种机器人及其控制方法、装置、存储介质。
背景技术:
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、根据所述期望角加速度和所述目标足底力,确定每个关节的所述目标力矩。
54、第三方面,本公开实施方式提供了一种机器人,包括:
55、处理器;和
56、存储器,存储有计算机指令,所述计算机指令用于使处理器执行根据第一方面任意实施方式所述的方法。
57、第四方面,本公开实施方式提供了一种存储介质,存储有计算机指令,所述计算机指令用于使计算机执行根据第一方面任意实施方式所述的方法。
58、本公开实施方式的机器人控制方法,包括获取机器人的第一姿态信息并根据第一姿态信息确定站立面的第二姿态信息,根据机器人的动力学方程和站立面的动力学方程确定目标动力学方程,基于目标动力学方程建立机器人的控制优化任务,并基于第一姿态信息、第二姿态信息及控制优化任务得到机器人各个关节的目标力矩,根据目标力矩控制机器人的各个关节运动。本公开实施方式中,通过对机器人姿态及站立面姿态的动力学分析和优化控制,解决机器人在动态站立面上的平衡问题,实现机器人在动态站立面上的平衡控制,扩展机器人的应用场景,例如机器人滑板、机器人仿人运动等,提高机器人控制稳定性。