一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

四足机器人运动控制方法及装置、电子设备、存储介质与流程

2022-12-10 00:48:25 来源:中国专利 TAG:


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.本技术具有以下优点:
59.在本技术实施例中,通过获取机器人在目标运动方式下的各个脚的第一位置数据和机器人的第一姿态数据;根据各个脚的第一位置数据和第一姿态数据生成机器人的目标
状态空间方程;根据目标运动方式下的目标姿态数据和目标状态空间方程,确定机器人的各个脚的目标位置数据;基于各个脚的目标位置数据控制机器人运动,使得机器人在目标运动方式下,各个脚按照相应的目标位置数据运动,可以实现与目标姿态数据一致的运动效果;其中,目标姿态数据是指机器人在目标运动方式下稳定运行时的姿态数据。
附图说明
60.为了更清楚地说明本技术的技术方案,下面将对本技术的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
61.图1为本技术实施例的一种四足机器人运动控制方法的步骤流程图;
62.图2为本技术一示例中构建目标状态空间方程的逻辑示意图;
63.图3为本技术一示例中构建目标状态空间方程的流程示意图;
64.图4为本技术一示例中采集到的第一位置数据的图像示意图;
65.图5为本技术一示例中采集到的第一姿态数据的图像示意图;
66.图6为本技术一示例中统识别窗口的示意图;
67.图7为本技术一示例中验证目标状态空间方程的合理性的仿真环境示意图;
68.图8为图7所示的仿真验证差值示意图;
69.图9为本技术一示例中运动控制优化的逻辑示意图;
70.图10为本技术一示例中运动控制优化的流程示意图;
71.图11为本技术一示例中运动控制优化的仿真环境示意图;
72.图12为图11所示的仿真验证差值示意图;
73.图13为本技术实施例的一种四足机器人运动控制装置的结构框图。
具体实施方式
74.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
75.对于通信行业,通信运营商面临着从传统运营企业向创新科技型企业转型,而四足仿生机器人是目前国内外机器人研究比较热门也比较前沿的话题。发明人发现,四足机器人本身的应用场景与运营商也可以做到很好的结合,如园区巡检、特殊环境探测、数据采集等。所以,研究四足机器人也是科技创新中重要的一环。
76.现有仿生四足机器人实现了机器人的站立,行走等最基本的动作,并且可以在一定条件下有一定的稳定性。但是在一些更加复杂的情况下,如受到较大的外力冲击、上下坡、地形改变等,四足机器人的运动不能表现出良好的稳定性。由于目前四足机器人产品在交付时,商家并不会提供完整的运动控制程序,因此,购买四足机器人的所有者并不能知道四足机器人内部的运动方程,很难实现对机器人的运行进行调试或改进,进而导致机器人在交付之后,无法再对不同条件下的稳定性进行优化。
77.鉴于此,本技术实施例提出了一种四足机器人运动控制方法及装置、电子设备、存储介质。本技术实施例的主要技术构思之一在于,当机器人在目标运动方式下无法稳定运动时,通过获取机器人在目标运动方式下实际运动过程中各个脚的第一位置数据和机器人的第一姿态数据,然后根据获取到的各个脚的第一位置数据和第一姿态数据对机器人进行运动建模,生成机器人的目标状态空间方程;接着,根据期望机器人在目标运动方式下稳定运动时的目标姿态数据,以及已生成的目标状态空间方程,计算出机器人在目标运动方式下稳定运动时各个脚的目标位置数据;最后,根据计算出的各个脚的目标位置数据控制机器人运动,使机器人各个脚按照相应的目标位置数据运动,来实现在目标运动方式下稳定运动;实现了在不知道机器人原始运动方程的限制条件下,对机器人的运动进行优化控制。
78.本技术实施例提供的四足机器人运动控制方法可以应用于电子设备中,可以用于对已投入使用的四足机器人进行运动建模和优化,实现对四足机器人运动控制;也可以用于为四足机器人运动控制的研究,提供新的研究思路。其中,电子设备可以是硬件,也可以是软件。当电子设备为硬件时,可以实现成多个服务器或终端设备组成的集群,也可以实现单个服务器或单个终端设备。当电子设备是软件时,可以安装在上述列举的硬件设备中。
79.示例性地,本技术实施例提供的四足机器人运动控制方法可以以软件的形式安装在在机器人的控制模块中,或者,也可以以软件的形式安装在可以与机器人通信连接的电子设备中,例如,机器人的遥控设备。
80.参照图1,示出了本技术一实施例提供的一种四足机器人运动控制方法的步骤流程图,在本技术实施例中,该方法可以包括如下步骤:
81.步骤101,获取机器人在目标运动方式下的各个脚的第一位置数据和索书号机器人的第一姿态数据。
82.在本技术实施例中,通过控制机器人按照目标运动方式运动,可以获取机器人在实际运动过程中,各个脚随时间变化的第一位置数据和机器人整体随时间变化的第一姿态数据。
83.步骤102,根据所述各个脚的第一位置数据和所述第一姿态数据生成所述机器人的目标状态空间方程。
84.通过采集多组第一位置数据和第一姿态数据,可以通过拟合或者构建机器人动力学模型等方式,计算得到机器人的目标状态空间方程。
85.步骤103,根据所述目标运动方式下的目标姿态数据和所述目标状态空间方程,确定所述机器人的各个脚的目标位置数据。
86.目标姿态数据是指机器人在目标运动方式下稳定运动时整体随时间变化的姿态数据。在得到机器人的状态空间方程后,结合目标姿态数据,可以计算出机器人在目标运动方式下与目标姿态数据对应的各个脚的目标位置数据;也就是说,当机器人的各个脚按照目标位置数据运动时,可以实现在目标运动方式下稳定地运动。
87.步骤104,基于所述各个脚的目标位置数据控制所述机器人运动。
88.在确定机器人与目标姿态数据对应的各个脚的目标位置数据后,通过控制机器人的各个脚按照目标位置数据运动,即可实现机器人在目标运动方式下稳定地运动,从而优化机器人的运动控制。
89.本技术实施例通过获取机器人在目标运动方式下的各个脚的第一位置数据和机
器人的第一姿态数据;根据各个脚的第一位置数据和第一姿态数据生成机器人的目标状态空间方程;根据目标运动方式下的目标姿态数据和目标状态空间方程,确定机器人的各个脚的目标位置数据;基于各个脚的目标位置数据控制机器人运动,使得机器人在目标运动方式下,各个脚按照相应的目标位置数据运动,可以实现与目标姿态数据一致的运动效果;其中,目标姿态数据是指机器人在目标运动方式下稳定运行时的姿态数据。
90.利用本技术实施例,当机器人在目标运动方式下运动不稳定且不知道机器人的运动方程的限制条件下,可以通过获取机器人在目标运动方式下的实际运动状态来生成机器人的目标状态空间方程,进而基于目标状态空间方程和目标运动方式下稳定运动时的目标姿态数据,得到机器人要实现目标运动方式下稳定运动时各个腿的目标位置数据,进而通过控制机器人的各个腿按照目标位置数据运动,即可实现机器人在目标运动方式下稳定运动。
91.下面,将对本示例性实施例中四足机器人运动控制方法作进一步地说明。
92.在步骤101中,获取机器人在目标运动方式下的各个脚的第一位置数据和所述机器人的第一姿态数据。
93.在本技术实施例中,目标运动方式可以由用户按照实际需求进行设定。当本技术实施例用于在不知道机器人内部运动方程且发现机器人无法稳定运动的情况下,对机器人运动进行优化控制的场景时,目标运动方式一般选择机器人无法按照预期稳定运动时的运动方式。
94.示例性地,机器人的运动方式可以包括直线运动方式、曲线运动方式、上坡运动方式等;当机器人在执行直线运动方式时,出现了偏移,无法稳定地执行直线运动,此时,为了对机器人直线运动进行优化控制,可以将直线运动方式确定为目标运动方式。
95.第一位置数据和第一姿态数据均与时间相关,也就是说,在本技术实施例中,可以按照指定的时间间隔,获取机器人在目标运动方式实际运动时各个脚的第一位置数据和机器人的第一姿态数据。
96.其中,第一姿态数据用于表示机器人整体的运动状态,而机器人整体的运动状态与机器人各个脚的运动情况存在关联关系,也就是说,第一姿态数据可以通过各个脚的第一位置数据和预设的对应关系计算得到。在一示例中,可以用机器人身体上的一个部位(目标部位)的运动状态来表示机器人整体的运动状态,例如,目标部位可以是机器人的重心。
97.在本技术一可选实施例中,上述获取机器人在目标运动方式下的各个脚的第一位置数据和机器人的第一姿态数据,可以包括:
98.控制所述机器人按照目标运动方式进行运动;
99.在所述机器人运动过程中,测量所述机器人的各个脚的位置和所述机器人目标部位的位置,以获得所述机器人在所述目标运动方式下的各个脚的第一位置数据和所述机器人的第一姿态数据。
100.机器人可以由遥控设备进行控制,即机器人可以与遥控设备通信连接,以接收遥控设备的指令,然后按照接收的指令执行相应的运动。示例性地,遥控设备中可以预先存储有与不同运动方式一一对应的指令,在确定目标运动方式后,可以通过遥控设备向机器人发送与目标运动方式对应的目标指令,以使机器人按照目标运动方式进行运动。
101.在机器人运动过程中,按照指定的时间间隔持续测量机器人的各个脚的位置和目
标部位的位置,以获得机器人在目标运动方式下的各个脚的第一位置数据和机器人的第一姿态数据。
102.示例性地,执行本技术四足机器人运动控制方法的设备可以通过与机器人内部的传感器进行通信,由机器人内部的传感器采集机器人运动过程各个脚的位置和目标部位的位置,得到机器人在目标运动方式下的各个脚的第一位置数据和机器人的第一姿态数据。
103.在步骤102中,根据所述各个脚的第一位置数据和所述第一姿态数据生成所述机器人的目标状态空间方程。
104.在采集到机器人在目标运动方式下各个脚的第一位置数据和机器人的第一姿态数据后,可以通过数据拟合的方式来得到对应的状态空间方程。
105.示例性地,上述根据所述各个脚的第一位置数据和所述第一姿态数据生成所述机器人的目标状态空间方程,可以包括:
106.以所述各个脚的第一位置数据作为输入,以所述第一姿态数据作为输出,采用多种拟合方式分别进行拟合,得到多个初始状态空间方程;
107.从所述多个初始状态空间方程中确定所述机器人的目标状态空间方程。
108.在本实施例中,可以采用多种拟合方式对采集到的第一位置数据和第一姿态数据进行拟合,得到多个初始状态空间方程,进而从多个初始状态空间方程中选择一个,作为机器人的目标状态空间方程,从而提高得到的目标状态空间方程的合理性。
109.示例性地,上述从所述多个初始状态空间方程中确定所述机器人的目标状态空间方程,可以包括:
110.获取所述机器人在所述目标运动方式下的各个脚的第二位置数据和所述机器人的第二姿态数据;
111.获取各个所述初始状态空间以所述第二位置数据作为输入时,输出的初始姿态数据;
112.计算各个所述初始状态空间输出的初始姿态数据和所述第二姿态数据之间的差值,并确定最小差值;
113.将所述最小差值对应的初始状态空间方程确定为所述机器人的目标状态空间方程。
114.在本实施例中,第一位置数据和第一姿态数据可以理解为用于构建初始状态空间方程的测试数据集,或称训练数据集,而第二位置数据和第二姿态数据可以理解为用于验证已构建的初始状态空间方程合理性的验证数据集。其中,获取第二位置数据和第二姿态数据的方式与获取第一位置数据和第一姿态数据的方式相同,此处不再赘述。
115.通过获取机器人在目标运动方式下的各个脚的第二位置数据和机器人的第二姿态数据,以第二位置数据作为已构建的初始状态空间方程的输入,计算出初始状态空间方程对应的输出(即初始姿态数据),进而将初始状态空间方程的输出与对应的第二姿态数据进行比较,根据比较结果来验证初始空间方程的合理性。
116.由于本实施例生成的初始状态空间方程可能有多个,因此,可以计算各个初始状态空间方程输出的初始姿态数据与对应的第二姿态数据之间的差值,差值越小说明拟合结果越准确;然后从各个初始状态空间方程对应的差值中确定出最小差值;最后将最小差值对应的初始状态空间方程确定为机器人的目标状态空间方程。
117.需要说明的是,也可以通过可视化的形式,比较各个初始状态空间方程与第一位置数据和第一姿态数据之间的偏差,从多个初始状态空间方程中确定出偏差最小的目标状态空间方程。或者,还可以直接以第一位置数据作为各个初始状态空间方程的输入,计算各个初始状态空间方程输出的预测姿态数据,将预测姿态数据与对应的第一姿态数据进行做差,将整体差值最小的初始状态空间方程确定为目标状态空间方程。
118.为了进一步提高目标状态空间方程的合理性,在将所述最小差值对应的初始状态空间方程确定为所述机器人的目标状态空间方程的过程中,还可以包括:
119.当所述最小差值小于预设差值阈值时,将所述最小差值对应的初始状态空间方程确定为所述机器人的目标状态空间方程。
120.在本实施例中,可以先从多个初始状态空间方程中确定出最小差值的初始状态空间方程,即候选状态空间方程,进而判断候选状态空间方程对应的差值是否小于预设差值阈值,若是,说明该候选状态空间方程可以合理地表示出机器人当前执行目标运动方式的运动状态,因此将该候选状态空间方程确定为机器人的目标状态空间方程。若否,则需要重新执行上述采集数据、进行数据拟合以及筛选状态空间方程的过程。。
121.在步骤103中,根据所述目标运动方式下的目标姿态数据和所述目标状态空间方程,确定所述机器人的各个脚的目标位置数据。
122.在确定出机器人在目标运动方式下的目标状态空间方程后,以目标姿态数据作为目标状态空间方程的输出,可以计算出目标状态空间方程对应的输入,即机器人的各个脚的目标位置数据。可以理解,目标姿态数据是机器人在目标运动方式下稳定运动的标志,计算出的目标位置数据是机器人实现在目标运动方式下稳定运动的前提,也就是说,当机器人的各个脚按照相应的目标位置数据运动时,可以实现在目标运动方式下稳定运动。
123.在本技术一可选实施例中,上述根据所述目标运动方式下的目标姿态数据和所述目标状态空间方程,确定所述机器人的各个脚的目标位置数据,可以包括:
124.将所述目标状态空间方程转换成对应的传递函数;
125.对所述传递函数进行优化,得到目标传递函数;
126.根据所述目标姿态数据和所述目标传递函数,确定所述机器人的各个脚的目标位置数据。
127.为了方便计算和对机器人运动优化控制,在得到机器人的目标状态空间方程后,可以将目标状态空间方程转换成相应的传递函数的形式;然后对传递函数进行优化,得到目标传递函数;最后根据目标姿态数据和目标传递函数,确定机器人的各个脚的目标位置数据。
128.在一可选实施例中,对传递函数进行优化,得到目标传递函数的过程可以包括:
129.通过极点配置法得到所述传递函数的反馈增益矩阵;
130.根据所述反馈增益矩阵对所述传递函数进行优化,得到目标传递函数。
131.在对传递函数进行优化的过程中,本实施例使用极点配置法求反馈增益矩阵来对传递函数进行优化与其他反馈控制方式相比,更加方便和简单,并且能够取得较好的效果。
132.在步骤104中,基于所述各个脚的目标位置数据控制所述机器人运动。
133.当机器人的各个脚按照相应的目标位置数据运动时,可以确保机器人在目标运动方式下稳定运动。以目标运动方式是直线运动方式为例,当机器人的各个脚按照相应的目
标位置数据运动时,可以确保机器人在直线运动方式下保持直线行走。因此,在确定出各个脚的目标位置数据后,根据目标位置数据控制机器人运动,可以实现机器人在目标运动方式下稳定运动,即实现了对机器人的运动进行优化控制。
134.为了使机器人的各个脚按照相应的目标位置数据运动,在一示例中,在确定各个脚的目标位置数据后,可以根据驱动机器人运动的电机的电机参数与各个脚的位置数据之间的关系,确定目标位置数据对应的目标电机参数,进而根据目标电机参数控制电机驱动机器人运动,使机器人的各个脚按照相应的目标位置数据运动。
135.利用本技术实施例,当机器人在目标运动方式下运动不稳定且不知道机器人的运动方程的限制条件下,可以通过获取机器人在目标运动方式下的实际运动状态来生成机器人的目标状态空间方程,进而基于目标状态空间方程和目标运动方式下稳定运动时的目标姿态数据,得到机器人要实现目标运动方式下稳定运动时各个腿的目标位置数据,进而通过控制机器人的各个腿按照目标位置数据运动,即可实现机器人在目标运动方式下稳定运动。
136.为了方便本领域技术人员理解本方案,下面将结合图2-图12对本技术一实施例提供的四足机器人的运动控制方法进行示例性描述、说明。
137.本实施例针对由于软件或硬件的限制条件,无法获知其内部运动方程的四足机器人进行运动优化控制。当四足机器人在目标运动方式下无法稳定运动时,可以通过采集数据、构建四足机器人的目标状态空间方程、基于目标状态空间方程使用运动控制方法优化四足机器人运动,从而实现在四足机器人的算法和控制方法被厂家限制时,仍可以实现对四足机器人的运动进行优化控制。
138.因此,本实施例涉及的四足机器人的运动控制方法主要包含两大模块:构建目标状态空间方程和运动控制优化。
139.如图2-图3所示,构建目标状态空间方程逻辑如图2所示,将采集数据分为测试数据集和验证数据集,基于测试数据集生成状态空间方程,将验证数据集的输入数据输入到状态空间方程中,进行仿真,得到相应的仿真输出,通过比较仿真输出与验证数据集中的数据来评价生成的状态空间方程的合理性。具体包括如图3所示的步骤301-303:
140.步骤301,采集数据。
141.在本步骤中,采集的数据包括用于构建四足机器人的状态空间方程的测试数据集和用于验证已构建的状态空间方程合理性的验证数据集。其中,测试数据集和验证数据集均是在四足机器人执行目标运动方式的运动过程中采集得到的,包括四只脚相对于四足机器人身体的位置数据(即第一位置数据和第二位置数据),以及机器人的姿态数据(即第一姿态数据和第二姿态数据)。其中,第一位置数据和第一姿态数据构成测试数据集,第二位置数据和第二姿态数据构成验证数据集。
142.具体地,可以使用遥控器控制四足机器人按照目标运动方式进行运动,为方便理解,下面以目标运动方式是直线运动方式为例进行描述,采集到的数据填入表1中。
143.表1
144.列1列2列3列4列5列6列7列8列9列10列11列12列13列14列15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
145.表1中,每一行用于记录按照指定时间间隔,采集到的一组数据。一组数据中包括
15个数据,将采集到的机器人四个脚的位置数据,每个脚的位置数据包括三个方向,即将采集到的四足机器人四个脚三个方向的位置的数据分别填入到表1的列1-列12对应的列中,将采集到的机器人姿态数据,姿态数据包括三个方向,即将采集到的四足机器人的三个方向的姿态数据记录到表1的列13-列15对应的列中。
146.在一示例中,可以将采集到的数据作为矩阵输出到matlab的workspace中,则输入u为一个n*12的矩阵,输出y为一个n*3的矩阵,n为数据组数。
147.例如,当控制四足机器人按照直线运动方式运动时,采集到的第一位置数据的图像如图4所示;采集到的第一姿态数据的图像如图5所示。图4中,横坐标表示数据的个数,纵坐标表示各个脚相对于身体的位置,即各个脚的第一位置数据,其中,线1表示:左前脚x方向;线2表示:右前脚x方向;线3表示:右后脚y方向;线4表示:右前脚y方向;线5表示:左后脚y方向;线6表示:左前脚y方向;线7表示:右后脚x方向;线8表示:左后脚x方向;线9表示:左前脚z方向;线10表示:右后脚z方向;线11表示:右前脚z方向;线12表示:左后脚方向。图5中,横坐标表示数据的个数,纵坐标表示四足机器人的姿态,即第一姿态数据,其中,线1表示x方向,线2表示y方向,线3表示z方向。
148.步骤302,状态空间方程参数拟合。
149.状态空间方程的一般表示形式如下:
[0150][0151]
y=cx(t) du(t);
[0152]
其中u(t)为输入,x(t)为状态量,y为输出,a,b,c,d为所需要确定的参数。
[0153]
针对于四足机器人,由于输入和输出需要有直接或间接地关联,因此,输入、状态量和输出分别表示如下含义:
[0154]
输入u(t):目标运行状态下四足机器人的四个脚的位置数据,即四个脚相对于身体的位置(即相对于主坐标系的距离,包括x,y,z三个方向),是随时间t变化的函数。共12个,表示每个脚在三个方向上的位置。
[0155]
状态量x(t):四足机器人的姿态数据,在建立状态空间方程时不考虑噪声的情况下等于y。
[0156]
输出y:四足机器人的姿态数据(包括x,y,z三个方向),是随时间t变化的函数。共3个,表示四足机器人在空间中整体位置。
[0157]
在一示例中,可以将采集到的第一位置数据和第一姿态数据输入到matlab软件中,利用matlab软件提供的“systemidentification(系统识别)”命令打开系统识别窗口,“systemidentification”窗口如图6所示。将采集到的第一位置数据和第一姿态数据导入到该功能中计算出状态空间方程的参数a,b,c,d,从而得到机器人在目标运行状态中的状态空间方程。
[0158]
由于不同拟合方式计算出来的状态空间方程的参数一般不同,因此,可以得到多组参数a,b,c,d,即得到多个初始状态空间方程。根据各个初始状态空间方程的数据拟合程序,从中确定出数据拟合程度最好的目标状态空间方程。
[0159]
步骤303,仿真验证目标状态空间方程的合理性。
[0160]
将目标状态空间方程的参数和验证数据集的输入(即第二位置数据)放入可视化
仿真工具(如simulink)中搭建仿真环境,通过目标状态空间方程算出输出(即初始姿态数据),最后与验证数据集的输出(即第二姿态数据)比较,评价方程的合理性。
[0161]
以simulink为例,搭建的仿真环境如图7所示。其中,u_为验证数据集的输入,y_为验证数据集的输出。将验证数据集的输入作为目标状态空间方程的输入,采用示波器1显示目标状态空间方程基于验证数据集的输入处理得到的仿真输出,采用示波器2显示验证数据集的输出,采用作差的方法评价方程的合理性,采用示波器3显示验证数据集的输出与仿真输出的差值。在一示例中,得到的差值图像如图8所示。图8中,横坐标表示时间,纵坐标表示差值;线1表示x方向,线2表示y方向,线3表示z方向。由图8可以对比看出仿真输出与验证数据集的输出的差基本在0附近,说明建立的目标状态空间方程基本符合实际运动轨迹。
[0162]
在构建好四足机器人的目标状态空间方程后,进一步基于目标状态空间方程对四足机器人运动进行优化控制。为了使方程的输出更加准确,采用基本的反馈控制。反馈控制逻辑如图9所示,反馈控制的基本思想为:通过极点配置法得到反馈增益矩阵k,将目标状态空间方程的输出与期待值的差与反馈增益矩阵k和c相乘反馈回目标状态空间方程的输入,从而修正目标状态空间方程的输入以修正目标状态空间方程的输出使其与实际输出的差最小。
[0163]
运动控制优化流程即反馈控制流程具体包括如图10所示的步骤1001-1003
[0164]
步骤1001,基于目标状态空间方程推导传递函数。
[0165]
在确定目标状态空间方程后,可以将目标状态空间方程转换成传递函数的形式。在一示例中,可以由matlab中“[num,den]=ss2tf(a,b,c,d,j)”命令实现。其中,num是传递函数的分子参数,den是传递函数的分母参数,a、b、c、d为空间状态方程的参数,j为输入个数:12。在一例子中,通过matlab计算出的传递函数如下所示:
[0166][0167]
步骤1002,通过极点配置法得到输出反馈增益矩阵。
[0168]
为了进一步提高目标状态空间方程的准确性,需要对传递函数进行优化,具体可以采用反馈控制方法对传递函数进行优化,而使用极点配置法求反馈增益矩阵更加方便和简单,并且能取得较好的效果,因此,在本示例中,通过极点配置法得到输出反馈增益矩阵;当然,在其他示例中,也可以通过其他的反馈控制方式对传递函数进行优化。
[0169]
在一示例中,可以通过matlab中的命令“k=place(a,b,p)”实现,其中k为反馈增益矩阵,a、b为空间状态方程的参数,p为极点向量。通过matlab计算出的k如下所示:
[0170][0171]
步骤1003,仿真验证。
[0172]
将反馈增益矩阵、目标状态空间方程和验证数据集的输入(即第二位置数据)放入可视化仿真工具(如simulink)中搭建仿真环境,目标状态空间方程的输入由验证数据集的输入和反馈增益矩阵控制的反馈输入共同决定,通过目标状态空间方程算出仿真输出,最后根据仿真输出与验证数据集的输出(即第二姿态数据)比较,对目标状态空间方程进行优化,也即对传递函数进行优化,得到目标传递函数。
[0173]
以simulink为例,搭建的仿真环境如图11所示。其中u_为验证数据的输入,y_为验证数据的输出,通过示波器4显示目标状态空间方程计算出的仿真输出;通过示波器5显示验证数据的输出,通过示波器6显示仿真输出与验证数据的输出的差值;通过示波器7显示反馈输入。在一示例中,得到的差值图像如图12所示。图中,横坐标表示时间,纵坐标表示差值;线1表示x方向,线2表示y方向,线3表示z方向。
[0174]
从图12可以看出,通过反馈控制,使得目标状态空间方程的输出更加趋进于实际输出。其中,线1和线3的差值几乎为0,说明在反馈控制下,目标状态空间方程在x方向和z方向的输出基本与实际输出一致,可以根据实际的输出反馈修正四足机器人的姿态。
[0175]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术实施例并不受所描述的动作顺序的限制,因为依据本技术实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本技术实施例所必须的。
[0176]
参照图13,示出了本技术的一种四足机器人运动控制装置实施例的结构框图,与上述四足机器人运动控制方法实施例相对应,在本技术实施例中,该装置可以包括如下模块:
[0177]
数据获取模块1301,用于获取机器人在目标运动方式下的各个脚的第一位置数据和所述机器人的第一姿态数据;
[0178]
方程生成模块1302,用于根据所述各个脚的第一位置数据和所述第一姿态数据生成所述机器人的目标状态空间方程;
[0179]
数据确定模块1303,用于根据所述目标运动方式下的目标姿态数据和所述目标状态空间方程,确定所述机器人的各个脚的目标位置数据;
[0180]
运动控制模块1304,用于基于所述各个脚的目标位置数据控制所述机器人运动。
[0181]
可选地,所述数据获取模块1301,可以包括:
[0182]
第一控制子模块,用于控制所述机器人按照目标运动方式进行运动;
[0183]
第一获取子模块,用于在所述机器人运动过程中,测量所述机器人的各个脚的位置和所述机器人目标部位的位置,以获得所述机器人在所述目标运动方式下的各个脚的第一位置数据和所述机器人的第一姿态数据。
[0184]
可选地,所述方程生成模块1302,可以包括:
[0185]
数据拟合子模块,用于以所述各个脚的第一位置数据作为输入,以所述第一姿态数据作为输出,采用多种拟合方式分别进行拟合,得到多个初始状态空间方程;
[0186]
目标选择模块,用于从所述多个初始状态空间方程中确定所述机器人的目标状态空间方程。
[0187]
可选地,所述目标选择模块可以包括:
[0188]
验证数据获取子模块,用于获取所述机器人在所述目标运动方式下的各个脚的第二位置数据和所述机器人的第二姿态数据;
[0189]
仿真输出确定子模块,用于获取各个所述初始状态空间以所述第二位置数据作为输入时,输出的初始姿态数据;
[0190]
差值计算子模块,用于计算各个所述初始状态空间输出的初始姿态数据和所述第二姿态数据之间的差值,并确定最小差值;
[0191]
目标方程确定子模块,用于将所述最小差值对应的初始状态空间方程确定为所述机器人的目标状态空间方程。
[0192]
可选地,所述目标方程确定子模块具体用于当所述最小差值小于预设差值阈值时,将所述最小差值对应的初始状态空间方程确定为所述机器人的目标状态空间方程。
[0193]
可选地,所述数据确定模块1303,可以包括:
[0194]
转换子模块,用于将所述目标状态空间方程转换成对应的传递函数;
[0195]
优化子模块,用于对所述传递函数进行优化,得到目标传递函数;
[0196]
位置确定子模块,用于根据所述目标姿态数据和所述目标传递函数,确定所述机器人的各个脚的目标位置数据。
[0197]
可选地,所述优化子模块,可以包括:
[0198]
反馈确定单元,用于通过极点配置法得到所述传递函数的反馈增益矩阵;
[0199]
基于反馈优化单元,用于根据所述反馈增益矩阵对所述传递函数进行优化,得到目标传递函数。
[0200]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0201]
本技术实施例还公开了电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的四足机器人运动控制方法的步骤。
[0202]
本技术实施例还公开了计算机可读存储介质,所述计算机可读存储介质上存储计
算机程序,所述计算机程序被处理器执行时实现如上所述的四足机器人运动控制方法的步骤。
[0203]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0204]
本领域内的技术人员应明白,本技术实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本技术实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0205]
本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0206]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0207]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0208]
尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
[0209]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0210]
以上对本技术所提供的一种四足机器人运动控制方法及装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献